快捷搜索:   服务器  PHP  安全  IIS  linux 安全

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主机,而且要定时备份你的数据哦。


顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论