1 denyhost 简介及ssh安全

对外提供的服务器,每天都会被恶意扫描,试图暴力穷举密码,达到***的目的。从而控***务器,占用资源、网页挂马、垃圾广告、更会影响我们业务的正常使用和数据的安全。

所以:

第一 设置一个强密码是很有必要的(基于字典和纯数字是十分不理智的)

第二当有人恶意扫描是使用denyhost此类软件拒绝服务;

         第三 使用其他技术手段,如虚拟IP等;

         第四 有些硬件防火墙也有此类功能;

         第五 关闭不必要的服务和端口


denyhost是python写的一个开源程序,当发现重复***时会被自动记录到/etc/hosts.deny中,达到自动屏蔽IP的功能(忘记密码多次登陆,也会被拒绝登陆。在此登陆只能确定密码,更换IP)。目前只支持支持tcp wrapper的协议

dengyhost官网:http://denyhosts.sourceforge.net/

下载地址:

http://nchc.dl.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz

2 安装denyhost并配置开机启动

2.1环境介绍:centos 6.4 x64_86 python 2.6.6 denyhost-2.6

2.2 下载denyhost

  #wget http://nchc.dl.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz

2.3 解压安装

#tar zxvf DenyHosts-2.6.tar.gz
#cd DenyHosts-2.6
#pythonsetup.py install


2.4 配置开机启动

#cd cd/usr/share/denyhosts/
#cp daemon-control-dist daemon-control –a
#chown root daemon-control
#chmod 755 daemon-control
#ln –s /usr/share/denyhosts/daemon-control/etc/init.d/denyhost
#chkconfig denyhost on


3 配置及启动

  denyhost的配置还是比较简单的,参数在配置文档中也有详细的说明。官方提供的REDME,也不错

# cd cd /usr/share/denyhosts/
#cp denyhosts.cfg-dist denyhosts.cfg -a
#cat denyhosts.cfg



  SECURE_LOG = /var/log/secure

 系统登陆日志,BSD和suse不要用默认


  HOSTS_DENY = /etc/hosts.deny

 拒绝IP登陆配置文件,所以这个工具只支持 支持tcp wrapper的协议


  PURGE_DENY = 5d

 拒绝时间,当一个ip地址被认定为恶意IP时,拒绝再次登陆的时间


  PURGE_THRESHOLD = 5

   主机被清除的次数既当一个主机被拒绝登陆后,系统清除,再次恶意***,在此拒绝登陆。如初反复拒绝后,不在清除此IP的次数


  BLOCK_SERVICE = sshd

  协议类型,默认SSHD


  DENY_THRESHOLD_INVALID = 5

  允许无效用户登录的次数


  DENY_THRESHOLD_VALID = 10

  允许其他用户登陆的次数


  DENY_THRESHOLD_root = 6

  允许其他ROOT用户登录的次数


  DENY_THRESHOLD_RESTRICTED = 20

  拒绝主机的次数,


  HOSTNAME_LOOKUP=YES

   是否做域名解析



  配置完成后,启动服务

  # service denyhost restar