使用DenyHosts 阻止SSH暴力破解
2012-04-17 16:44
483 查看
把服务器挂上公网,不可避免的有病毒或无聊的人会尝试攻击SSH。DenyHosts 就是通过分析secure日志,把满足一定要求的IP记录到/etc/hosts.deny中,达到屏蔽这些有害IP的目的。
一、安装
官网:http://denyhosts.sourceforge.net
版本比较老,最新的是2.6,但还可用。
我修改了其提供的src.rpm,直接把系统服务/etc/init.d/denyhosts和默认配置文件denyhosts.cfg都加到rpm中:
本地下载:
下载文件
点击这里下载文件
(适用于Asianux 3.0 python 2.4的版本,其他版本请用源码自行编译吧)
源码:
下载文件
点击这里下载文件
直接安装即可:
# rpm -ivh /usr/src/asianux/RPMS/noarch/DenyHosts-2.6-2.qk.python2.4.noarch.rpm
启动:
引用
# service denyhosts start
starting DenyHosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
日志:
引用
# tail /var/log/denyhosts
2011-07-07 16:03:37,390 - denyhosts : INFO launching DenyHosts daemon (version 2.6)...
2011-07-07 16:03:37,395 - denyhosts : INFO DenyHosts daemon is now running, pid: 21872
2011-07-07 16:03:37,396 - denyhosts : INFO send daemon process a TERM signal to terminate cleanly
2011-07-07 16:03:37,396 - denyhosts : INFO eg. kill -TERM 21872
2011-07-07 16:03:37,399 - denyhosts : INFO monitoring log: /var/log/secure
2011-07-07 16:03:37,399 - denyhosts : INFO sync_time: 3600
2011-07-07 16:03:37,399 - denyhosts : INFO daemon_purge: 3600
2011-07-07 16:03:37,399 - denyhosts : INFO daemon_sleep: 30
2011-07-07 16:03:37,400 - denyhosts : INFO purge_sleep_ratio: 120
2011-07-07 16:03:37,400 - denyhosts : INFO denyhosts synchronization disabled
二、配置
配置文件在/usr/share/denyhosts/denyhosts.cfg,文件中有很详细的注释,自己看文档吧。这里转一份扶凯的说明(做点补充吧):
引用
SECURE_LOG = /var/log/secure #ssh 日志文件,它是根据这个文件来判断的。
HOSTS_DENY = /etc/hosts.deny #控制用户登陆的文件
PURGE_DENY = 30m #过多久后清除已经禁止的IP,若留空,表示不清除任何HOSTS_DENY记录
BLOCK_SERVICE = sshd #禁止的服务名
DENY_THRESHOLD_INVALID = 1 #允许无效用户失败的次数
DENY_THRESHOLD_VALID = 3 #允许有效用户(除root外)登陆失败的次数
DENY_THRESHOLD_ROOT = 5 #允许root登陆失败的次数
HOSTNAME_LOOKUP=NO #是否做域名反解,默认是YES,最好改为NO
ADMIN_EMAIL = #管理员邮件地址,它会给管理员发邮件
DAEMON_LOG = /var/log/denyhosts #自己的日志文件
三、测试
找台机器,用ssh工具连接这台已打开DenyHosts服务的机器,用错误的密码尝试几次,即可在/var/log/denyhosts中看到类似的日志:
引用
2011-07-07 16:09:07,358 - denyhosts : INFO new denied hosts: ['192.168.228.135']
同时,/etc/hosts.deny中也会加入该IP:
引用
# tail -f /etc/hosts.deny
# DenyHosts: Thu Jul 7 16:09:07 2011 | sshd: 192.168.228.135
sshd: 192.168.228.135
若要手动允许该IP通过ssh访问,请把对应的IP从/etc/hosts.deny中删掉,然后,重启denyhosts服务即可。
四、其他方法
sshfilter http://www.csc.liv.ac.uk/~greg/sshdfilter/
Fail2Ban http://fail2ban.sourceforge.net/
使用pam_abl防止SSH遭暴力破解攻击
http://www.linuxfly.org/post/610/
一、安装
官网:http://denyhosts.sourceforge.net
版本比较老,最新的是2.6,但还可用。
我修改了其提供的src.rpm,直接把系统服务/etc/init.d/denyhosts和默认配置文件denyhosts.cfg都加到rpm中:
本地下载:
下载文件
点击这里下载文件
(适用于Asianux 3.0 python 2.4的版本,其他版本请用源码自行编译吧)
源码:
下载文件
点击这里下载文件
直接安装即可:
# rpm -ivh /usr/src/asianux/RPMS/noarch/DenyHosts-2.6-2.qk.python2.4.noarch.rpm
启动:
引用
# service denyhosts start
starting DenyHosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg
日志:
引用
# tail /var/log/denyhosts
2011-07-07 16:03:37,390 - denyhosts : INFO launching DenyHosts daemon (version 2.6)...
2011-07-07 16:03:37,395 - denyhosts : INFO DenyHosts daemon is now running, pid: 21872
2011-07-07 16:03:37,396 - denyhosts : INFO send daemon process a TERM signal to terminate cleanly
2011-07-07 16:03:37,396 - denyhosts : INFO eg. kill -TERM 21872
2011-07-07 16:03:37,399 - denyhosts : INFO monitoring log: /var/log/secure
2011-07-07 16:03:37,399 - denyhosts : INFO sync_time: 3600
2011-07-07 16:03:37,399 - denyhosts : INFO daemon_purge: 3600
2011-07-07 16:03:37,399 - denyhosts : INFO daemon_sleep: 30
2011-07-07 16:03:37,400 - denyhosts : INFO purge_sleep_ratio: 120
2011-07-07 16:03:37,400 - denyhosts : INFO denyhosts synchronization disabled
二、配置
配置文件在/usr/share/denyhosts/denyhosts.cfg,文件中有很详细的注释,自己看文档吧。这里转一份扶凯的说明(做点补充吧):
引用
SECURE_LOG = /var/log/secure #ssh 日志文件,它是根据这个文件来判断的。
HOSTS_DENY = /etc/hosts.deny #控制用户登陆的文件
PURGE_DENY = 30m #过多久后清除已经禁止的IP,若留空,表示不清除任何HOSTS_DENY记录
BLOCK_SERVICE = sshd #禁止的服务名
DENY_THRESHOLD_INVALID = 1 #允许无效用户失败的次数
DENY_THRESHOLD_VALID = 3 #允许有效用户(除root外)登陆失败的次数
DENY_THRESHOLD_ROOT = 5 #允许root登陆失败的次数
HOSTNAME_LOOKUP=NO #是否做域名反解,默认是YES,最好改为NO
ADMIN_EMAIL = #管理员邮件地址,它会给管理员发邮件
DAEMON_LOG = /var/log/denyhosts #自己的日志文件
三、测试
找台机器,用ssh工具连接这台已打开DenyHosts服务的机器,用错误的密码尝试几次,即可在/var/log/denyhosts中看到类似的日志:
引用
2011-07-07 16:09:07,358 - denyhosts : INFO new denied hosts: ['192.168.228.135']
同时,/etc/hosts.deny中也会加入该IP:
引用
# tail -f /etc/hosts.deny
# DenyHosts: Thu Jul 7 16:09:07 2011 | sshd: 192.168.228.135
sshd: 192.168.228.135
若要手动允许该IP通过ssh访问,请把对应的IP从/etc/hosts.deny中删掉,然后,重启denyhosts服务即可。
四、其他方法
sshfilter http://www.csc.liv.ac.uk/~greg/sshdfilter/
Fail2Ban http://fail2ban.sourceforge.net/
使用pam_abl防止SSH遭暴力破解攻击
http://www.linuxfly.org/post/610/
相关文章推荐
- 使用DenyHosts阻止SSH暴力破解
- Linux下使用DenyHosts,阻止SSH暴力破解
- 使用DenyHosts阻止SSH暴力破解
- 使用DenyHost工具有效阻止ssh暴力破解 推荐
- 最好的阻止SSH暴力破解的方法(DenyHosts)
- DenyHosts 阻止SSH暴力破解最好的方法
- DenyHosts阻止SSH暴力破解
- linux下使用denyhosts防止ssh暴力破解
- Debian vps使用DenyHosts防止SSH密码暴力破解
- DenyHosts 阻止SSH暴力破解最好的方法
- linux使用denyhosts防ssh暴力破解
- 使用DenyHosts阻止SSH暴力攻击
- 使用DenyHosts阻止SSH暴力攻击
- 安装DenyHosts阻止SSH暴力破解
- 最好的阻止SSH暴力破解的方法(DenyHosts)
- 转载:linux服务器不得不注意的安全问题--ssh暴力破解--denyhosts解决
- 利用fail2ban阻止ssh暴力破解密码
- CentOS 7 使用denyhosts防范暴力破解
- 利用denyhosts防止ssh暴力破解+脚本防破解
- linux服务器不得不注意的安全问题--ssh暴力破解--denyhosts解决