如何防止SSH暴力破解?暴力破解最直接的做法就是利用密码字典去猜,如果对方的密码非常长,猜密码的过程就会无限延长,但总有一天会被猜中,面对可能出现的问题,我们可以使用以下方法来应对。
如何防止SSH暴力破解?
1、密码足够的复杂
密码的长度要大于8位最好大于20位。密码的复杂度是密码要尽可能有数字、大小写字母和特殊符号混合组成。
暴力破解是有位数限制的 当前的密码字典好像最高支持破解20位的密码 ,但也有可能更高。
总之通过设置复杂密码 和 定期更换密码能够有效的防止暴力破解。
2、修改默认端口号
SSH的默认端口是22 黑客想要入侵别人时需要先使用端口扫描工具 扫描外网当中那些服务器是开启了22端口。
然后再进行暴力破解,因此改端口也是个不二的选择。
3、不允许Root账号直接登陆
添加普通账号,授予Root的权限。也许你会说为何不直接把Root账号禁用了,那是因为有些程序需要使用Root身份登录并运行。
4、不允许密码登陆,只能通过认证的秘钥来登陆系统
认证登录是内部的机子可以无密码直接登录,非常方便省事,他的原理是采用RSA加密算法。
生成秘钥:
将公钥发送给对方 让其加密:
然后测试认证登录 直接免密码:
当然这招防的了外人 防不了内鬼。
5、借助第三方工具fail2ban防御
这个工具原理很简单 ,他可以检测我们认证日志,如果发现了有暴力破解的迹象
他就会对相应IP采取动作 比如ban掉IP
工具下载地址:
http://www.fail2ban.org
解压安装 记得要把/files/reha-initdt文件 移动到/etc/init.d/下。
编辑配置文件 /etc/fail2ban/jail.conf 。
启动后查看是否生成规则链。
现在我尝试使用112客户机 去暴力破解一下 113服务器。
如果在此之前设置过无密码认证登录吗,该怎么取消?
01> /Root/.SSH/authorized_keys复制代码> /Root/.SSH/authorized_keys
现在开始使用看看是否能够有效禁用暴力破解的IP。
如上图 连续5次输错密码后 就无法继续下一次登录了。
此时我们可以看到113服务器的IP规则新加了一条:
以上方法便是防止SSH暴力破解的一些措施,一般来说超过16位的密码(数字+字母+特殊字符)就已经很难破解了,在不考虑冷却时间的情况下,不间断破解需要20年...