Linux主机使用DenyHosts阻止SSH暴力密码穷举攻击
现今很多朋友都在用国外的VPS,国外由于LINUX是免费开源,相比微软的高额的Windows费用,Linux就有很大的优势。从而有很多朋友都采用LINUX来做系统 ;但是网上有很多无聊的人经常在扫描SSH端口,试图连接ssh端口进行暴力破解(穷举扫描),所以建议vps主机的空间,尽量设置复杂的ssh登录密码,还有就是可以使用denyhosts这款软件,它会分析/var/log/secure(redhat,Fedora Core)等日志文件,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件.
DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件,当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。
DenyHosts官方网站为:http://denyhosts.sourceforge.net/
以下是安装记录 (以centos 5.6为例)
1、安装前准备:
首先判断系统安装的sshd是否支持tcp_wrappers(默认都支持)
# ldd /usr/sbin/sshd
libwrap.so.0 => /usr/lib/libwrap.so.0 (0x0046e000)
2、判断默认安装的Python版本
# python -V
Python 2.3.4
确认系统已安装Python2.3以上版本后正式进入安装步骤
1、下载DenyHosts 并解压
# wget http://umn.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
# tar zxvf DenyHosts-2.6.tar.gz
# cd DenyHosts-2.6
2、安装、配置和启动
# python setup.py install
程序脚本自动安装到/usr/share/denyhosts
库文件自动安装到/usr/lib/python2.3/site-packages/DenyHosts
denyhosts.py自动安装到/usr/bin
设置启动脚本
# cd /usr/share/denyhosts/
# cp daemon-control-dist daemon-control
# chown root daemon-control
# chmod 700 daemon-control
# grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
# vi denyhosts.cfg
根据自己需要进行相应的修改
----------------denyhosts.cfg------------------------
SECURE_LOG = /var/log/secure
#RedHat/Fedora Core分析该日志文件
#其它版本linux根据denyhosts.cfg-dist内提示选择。
PURGE_DENY = 30m
#过多久后清除
DENY_THRESHOLD_INVALID = 1
#允许无效用户(/etc/passwd未列出)登录失败的次数
DENY_THRESHOLD_VALID = 5
#允许有效(普通)用户登录失败的次数
DENY_THRESHOLD_ROOT = 3
#允许root登录失败的次数
HOSTNAME_LOOKUP=NO
#是否做域名反解
----------------denyhosts.cfg------------------------
如果需要DenyHosts随系统重启而自动启动,还需做如下设置:
# vi /etc/rc.local
加入下面这条命令
/usr/share/denyhosts/daemon-control start
3、启动
# /usr/share/denyhosts/daemon-control start
三、未安装Python2.3以上版本的情况(以RedHat AS3、Python2.2为例)
1、安装Python最新版本的源码包,不必卸载原有低版本Python
# cd /usr/local/src
# wget http://www.python.org/ftp/python/2.5.1/Python-2.5.1.tar.bz2
# tar jxf Python-2.5.1.tar.bz2
# cd Python-2.5.1
# ./configure --prefix=/usr/local/python
# make
# make install
2、安装DenyHosts
# cd /usr/local/src
# wget http://umn.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz
# tar zxf DenyHosts-2.6.tar.gz
# cd DenyHosts-2.6
# vi setup.py
将"/usr/bin/env python"替换为"/usr/local/python/bin/python",在第一行
# vi daemon-control-dist
将"/usr/bin/env python"替换为"/usr/local/python/bin/python",注意有两处
# /usr/local/python/bin/python setup.py install
程序脚本自动安装到/usr/share/denyhosts
库文件自动安装到/usr/local/python/lib/python2.5/site-packages/DenyHosts
denyhosts.py自动安装到/usr/local/python/bin
# ln -s /usr/local/python/bin/denyhosts.py /usr/bin
以下步骤同二(2)以后一样。
更多的说明请查看自带的README文本文件,好了以后维护VPS就会省一些心了,但是各位朋友们注意了安全都是相对的哦,没有绝对安全,请定期或不定期的检查你的VPS主机,而且要定时备份你的数据哦。
- 最新评论