如何阻止暴力破解
所谓的暴力破解,简单来说就是用不同的密码对一个服务器进行多次或无数次的登陆尝试,直到登陆成功为止。
暴力破解的步骤一般为:找到对应的服务器ip地址 → 扫描端口号 → 用root或其他用户开始暴力破解服务器的密码
那么如何阻止暴力破解呢?
1、在/etc/ssh/sshd_config中修改默认端口 2、在/etc/ssh/sshd_config中限制登录的用户或组 (AllowUsers、 AllowGroups) 3、在/etc/hosts.allow中设置允许的IP访问,例如sshd:192.168.106.167 4、安装DenyHosts软件,使用该软件自动统计,并将其加入到/etc/hosts.deny 或者可以自行编写脚本去检查/var/log/secure日志文件,通过统计日志文件中的登陆失败的ip,并将达到阈值的ip添加到/etc/hosts.deny来拒绝某个ip的再次访问。 5、基于PAM实现登录限制: 模块:pam_tally2.so 功能:登录统计 示例:实现防止对sshd暴力破解 [root@tianyun ~]# vim /etc/pam.d/sshd auth required pam_tally2.so deny=2 even_deny_root root_unlock_time=60 unlock_time=60 [root@tianyun ~]# pam_tally2 --reset -u root #通过该命令可以看到用户root登陆的信息pam_tally/pam_tally2模块参数:
AUTH选项
deny=n 失败登录次数超过n次后拒绝访问
lock_time=n 失败登录后锁定的时间(秒数)
unlock_time=n 超出失败登录次数限制后,解锁的时间
no_lock_time 不在日志文件/var/log/faillog 中记录.fail_locktime字段
magic_root root用户(uid=0)调用该模块时,计数器不会递增
even_deny_root root用户失败登录次数超过deny=n次后拒绝访问
root_unlock_time=n 与even_deny_root相对应的选项,如果配置该选项,则root用户在登录失败次数超出限制后被锁定指定时间