远程服务器总被黑?教你三招锁死SSH登录权限,如何彻底锁定SSH登录,三招守护远程服务器安全
最近是不是总在技术论坛看到"服务器被挖矿"的帖子?上个月我朋友公司的数据库就被不明IP爆破了,损失了十几万——就因为他们家运维小哥没做SSH登录IP限制。今天咱们就来唠唠这个保命技能,手把手教你用三套方案把黑客挡在门外。
一、为啥要限制登录IP?你家服务器不是公共厕所!
这事儿得从去年我帮学校机房加固服务器说起。当时有学生用爆破工具扫遍了全校服务器,最后在食堂POS机上找到了突破口。限制SSH登录IP就像给服务器装防盗门,只给正经人配钥匙。
三个必须锁IP的场景:
- 业务服务器:比如电商平台数据库,只允许运维部IP访问
- 敏感数据机:财务系统的服务器,限制财务总监办公室IP段
- 老旧设备:那种跑着Windows XP的工控机,根本扛不住暴力破解
二、手把手教你三招保命术
方案A:配置文件大法(适合Linux老油条)

打开/etc/ssh/sshd_config
这个文件,就跟改微信设置一样简单:
bash复制AllowUsers admin@192.168.1.100 #只允许admin账号从192.168.1.100登录DenyUsers hacker* #封禁所有名字带hacker的账号
改完记得敲这行咒语重启服务:
bash复制systemctl restart sshd
优点:精准到用户+IP,像小区门禁刷卡
缺点:改错配置可能把自己锁外边(建议开着两个终端窗口操作)
方案B:防火墙护体(推荐给强迫症患者)
用firewalld做IP过滤,就跟地铁安检似的:
bash复制# 放行技术部整个网段firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=10.10.1.0/24 port port=22 protocol=tcp accept"# 封杀所有其他IPfirewall-cmd --permanent --remove-service=ssh
改完别忘了刷新规则:
bash复制firewall-cmd --reload
防坑指南:
- 别直接关22端口!有些自动化工具会抽风
- 办公网络动态IP?可以绑定MAC地址+IP白名单
方案C:第三方神器加持(适合懒人包)
装个fail2ban就像雇了保安队长:
- 先安装这宝贝:
bash复制yum install fail2ban -y
- 在
/etc/fail2ban/jail.local
里加这几行:
ini复制[sshd]enabled = truemaxretry = 3 #输错3次密码就封IPfindtime = 10m #10分钟内bantime = 24h #封24小时
现在只要有陌生IP连续输错密码,自动拉黑名单。上周有黑客撞库,结果被封了200多个IP段。
三、灵魂拷问时间
Q:限制IP后运维咋远程办公?
A:搞个跳板机啊!就像小区门卫室,所有运维先连跳板机,再从跳板机访问业务服务器。我们公司用这方案三年了,运维小哥在家穿睡衣都能处理故障。
Q:云服务器怎么搞?
A:阿里云/腾讯云自带安全组功能,比防火墙还方便。但要注意——去年有哥们儿设了安全组却忘了关公网IP,结果被薅了50G流量。
Q:IP白名单影响业务吗?
看这个对比表你就懂:
场景 | 开白名单 | 不开白名单 |
---|---|---|
数据库查询 | 20ms | 15ms(但有风险) |
文件传输 | 无影响 | 可能被劫持 |
系统稳定性 | 99.99% | 看运气 |
四、小编踩坑实录
去年给客户做等保,非要用hosts.allow
方案。结果他们服务器升级到OpenSSH 8.0之后,这招直接失效——因为新版移除了TCP Wrappers支持!最后还是连夜换成firewalld才过关。所以啊,技术选型别偷懒,多查文档少拍脑门。
现在新型勒索病毒都带SSH爆破功能了,咱不能总当待宰羔羊。这三套方案就像三道防盗门,黑客想破门得先过安检、再撬锁、最后还得对付保安队长。当然啦,也别矫枉过正——上次见过有个公司把IP限制精确到工位,结果运维半夜处理故障还得打车回公司,这就本末倒置喽~