[转]Centos7使用DenyHosts防止ssh暴力破解
2021-07-15 21:33:15 Author: blog.csdn.net(查看原文) 阅读量:88 收藏

mr_raptor 2021-07-15 20:33:15 7 收藏

DenyHosts是用python2.3编写的一个程序,会分析/var/log/secure等文件,当发现同一个ip进行多次ssh登录失败时会将其写入/etc/hosts.dengy文件,达到屏蔽该ip的目的。

Centos7使用DenyHosts防止ssh暴力破解Centos7使用DenyHosts防止ssh暴力破解

下载DenyHosts包

[root@localhost ~]# wget http://jaist.dl.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz

安装DenyHosts

[root@localhost ~]# tar xf DenyHosts-2.6.tar.gz
[root@localhost ~]# cd DenyHosts-2.6
[root@localhost DenyHosts-2.6]# python setup.py install

制作配置文件

[root@localhost DenyHosts-2.6]# cp denyhosts.cfg-dist /etc/denyhosts.cfg
[root@localhost DenyHosts-2.6]# cp daemon-control-dist daemon-control
[root@localhost DenyHosts-2.6]# chown root daemon-control
[root@localhost DenyHosts-2.6]# chmod 700 daemon-control

修改配置文件

将daemon-control中的#DENYHOSTS_CFG = "/usr/share/denyhosts/denyhosts.cfg"改为 DENYHOSTS_CFG = "/etc/denyhosts.cfg"
Centos7使用DenyHosts防止ssh暴力破解Centos7使用DenyHosts防止ssh暴力破解

启动

[root@localhost DenyHosts-2.6]# ./daemon-control start(注意相对路径)

测试另外一台服务器远程连接172.16.1.16

默认允许五次,测试发现登陆失败五次之后不允许登陆

[root@localhost ~]# ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
[root@localhost ~]# 
[root@localhost ~]# ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
[root@localhost ~]# ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
[root@localhost ~]# ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
[root@localhost ~]# ssh [email protected]
ssh_exchange_identification: read: Connection reset by peer

查看hosts.deny文件

登陆连续失败之后就会把ip地址写在hosts.deny文件
Centos7使用DenyHosts防止ssh暴力破解Centos7使用DenyHosts防止ssh暴力破解

如果要使DenyHosts每次重起后自动启动还需做如下设置:
# ln -sf /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts
# chkconfig --add denyhosts
# chkconfig --level 2345 denyhosts on
或者执行下面的命令加入开机启动,将会修改/etc/rc.local文件:
# echo "/usr/share/denyhosts/daemon-control start" >> /etc/rc.local

DenyHosts配置文件/usr/share/denyhosts/denyhosts.cfg说明:

SECURE_LOG = /var/log/secure
#sshd日志文件,它是根据这个文件来判断的,不同的操作系统,文件名稍有不同。

HOSTS_DENY = /etc/hosts.deny


文章来源: https://blog.csdn.net/mr_raptor/article/details/118768203
如有侵权请联系:admin#unsafe.sh