首页 > 代码库 > denyhost

denyhost

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 /usr/share/denyhosts/
#cp daemon-control-dist daemon-control –a
#chown root daemon-control
#chmod 755daemon-control
#ln –s /usr/share/denyhosts/daemon-control /etc/init.d/denyhost
#chkconfig denyhost on

3 配置及启动

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

#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 restart