上一篇 下一篇 分享链接 返回 返回顶部

云服务器怎么防止暴力破解?SSH和RDP安全加固

发布人:百脉云计算 发布时间:5小时前 阅读量:0

服务器开通后,默认的SSH端口22和RDP端口3389会很快被扫描到。如果密码简单,几小时内就可能被暴力破解,植入木马或挖矿程序。暴力破解是服务器被入侵的最常见原因之一。本文针对SSH和RDP,给出具体的加固方法。

一、暴力破解的原理和风险

暴力破解是通过自动化工具,尝试大量用户名和密码组合,直到找到正确的凭证。攻击者常用的工具包括Hydra、Medusa、Ncrack等。

攻击者通常先扫描全网IP,寻找开放22或3389端口的服务器。然后尝试常见用户名(root、admin、administrator)和弱密码(123456、password、服务器IP)。如果服务器使用弱密码,很容易被攻破。

被攻破的后果包括:植入挖矿程序,CPU跑满;植入木马,成为僵尸网络的一部分;窃取数据,包括用户信息、数据库、配置文件;作为跳板攻击其他服务器。

防御暴力破解的核心思路是:增加攻击成本、减少攻击面、监控异常登录。

二、SSH加固方法

SSH是Linux服务器的远程管理协议,默认端口22。加固方法包括。

第一是修改默认端口。把22改为非标准端口,比如22222。攻击者扫描22端口时找不到目标,减少被爆破的概率。配置:修改/etc/ssh/sshd_config中的Port 22222,重启SSH服务。

第二是禁用root远程登录。攻击者常尝试root账号,禁用后需要先登录普通账号再提权。配置:PermitRootLogin no。新建一个普通管理账号,需要提权时用sudo。

第三是启用密钥登录。用SSH密钥替代密码登录,攻击者没有私钥无法登录,彻底杜绝暴力破解。配置:PubkeyAuthentication yes,PasswordAuthentication no。生成密钥对,公钥放到服务器,私钥保存在本地。

第四是限制登录来源IP。只允许可信IP访问SSH端口,其他IP拒绝。可以用防火墙规则实现:iptables -A INPUT -p tcp --dport 22222 -s 可信IP -j ACCEPT,iptables -A INPUT -p tcp --dport 22222 -j DROP。

第五是配置失败锁定。多次密码错误后锁定账号或IP。可以用fail2ban实现,配置/etc/fail2ban/jail.local,设置maxretry = 5,bantime = 3600。5次失败后封禁IP一小时。

第六是限制登录时间。如果服务器不需要7x24小时管理,可以限制SSH登录时间,非工作时间拒绝登录。用pam_time模块实现。

需要查看各机房的配置和实时价格,可以访问西安电信云服务器产品页结合账号情况查看,该机房提供100G防御和高防秒解特性。

三、RDP加固方法

RDP是Windows服务器的远程桌面协议,默认端口3389。加固方法与SSH类似。

第一是修改默认端口。把3389改为非标准端口,减少被扫描的概率。在注册表中修改PortNumber,重启远程桌面服务。

第二是重命名管理员账号。Windows默认管理员账号是administrator,攻击者常尝试这个账号。重命名为其他名称,减少被爆破的概率。

第三是设置强密码。密码长度不少于12位,包含大小写字母、数字、特殊符号。避免使用123456、password等弱密码。

第四是启用账户锁定策略。多次密码错误后锁定账号。在本地安全策略中设置:账户锁定阈值 = 5,账户锁定时间 = 30分钟。

第五是启用网络级别身份验证(NLA)。NLA要求用户在建立远程桌面连接前先认证,减少未认证的连接。在系统属性中开启。

第六是限制登录来源IP。只允许可信IP访问RDP端口,其他IP拒绝。用Windows防火墙的入站规则实现。

第七是启用多因素认证。如果条件允许,启用MFA,登录时需要额外验证(短信、令牌)。即使密码泄露,攻击者也无法登录。

四、SSH和RDP加固对照

加固项 SSH(Linux) RDP(Windows)
修改默认端口 22改为22222 3389改为其他端口
重命名管理员 禁用root远程登录 重命名administrator
强密码 12位以上,复杂组合 12位以上,复杂组合
密钥/多因素 启用SSH密钥登录 启用NLA或多因素认证
失败锁定 fail2ban,5次失败封禁 账户锁定策略,5次失败锁定
IP白名单 防火墙限制来源IP 防火墙限制来源IP

五、监控和告警

加固之外,监控异常登录也很重要。即使加固做得好,也要监控是否有漏网之鱼。

SSH登录日志在/var/log/secure(CentOS/Rocky/AlmaLinux)或/var/log/auth.log(Ubuntu/Debian)。关注失败登录次数、非工作时间登录、陌生IP登录。

RDP登录日志在Windows事件查看器的安全日志中,事件ID 4624(登录成功)、4625(登录失败)。关注失败登录次数、异常时间登录。

告警配置建议:5分钟内失败登录超过10次时告警,非工作时间登录时告警,陌生IP登录时告警。可以用脚本分析日志,也可以用集中日志管理工具。关于服务器监控的更多细节,可以参考云服务器怎么监控一文中关于日志审计的说明。

六、被爆破后的处理

如果发现服务器被爆破,立即处理。

第一步,修改所有密码。包括SSH/RDP密码、数据库密码、应用密码。

第二步,检查异常进程。用ps aux查看进程列表,发现可疑进程立即杀掉。ls -l /proc/进程ID/exe查看可执行文件路径。

第三步,检查定时任务。用crontab -l查看定时任务,发现可疑任务删除。

第四步,检查启动项。Linux查看/etc/rc.local、/etc/init.d/;Windows查看注册表启动项、任务计划程序。

第五步,检查文件变更。用find / -mtime -1查找最近修改的文件,发现可疑文件删除。

第六步,重装系统。如果不确定是否清理干净,建议备份数据后重装系统。重装后按加固方法配置,避免再次被爆破。关于安全加固的完整清单,可以参考云服务器安全加固一文中关于账号、端口、补丁、日志的说明。

七、小结

云服务器防暴力破解的核心是增加攻击成本、减少攻击面、监控异常登录。SSH加固包括修改端口、禁用root、密钥登录、IP白名单、失败锁定;RDP加固包括修改端口、重命名管理员、强密码、NLA、账户锁定。加固之外配置监控告警,发现异常及时处理。被爆破后立即修改密码、清理木马、必要时重装系统。西安电信100G防御机房适合对安全有要求的业务,配合系统层加固可以形成完整防护。

目录结构
全文