Denyhost安装:
wget https://netix.dl.sourceforge.net/project/denyhosts/denyhosts/2.10/denyhosts-2.10.tar.gz
tar -xzf DenyHosts-2.10.tar.gz
cd DenyHosts-2.10
python setup.py install
Denyhost配置及运行:
生成配置文件副本
cp denyhosts.cfg-dist denyhosts.cfg
生成执行文件副本
cp daemon-control-dist daemon-control
chmod 700 daemon-control
自定义配置文件/etc/denyhosts
SECURE_LOG = /var/log/secure #SSH log路径
HOSTS_DENY = /etc/hosts.deny #存储SSH拒止host信息的配置文件路径
PURGE_DENY = 10m #过多久后清除已阻止IP
BLOCK_SERVICE = sshd #阻止服务名
DENY_THRESHOLD_INVALID = 3 #无效用户登录重试次数限制
DENY_THRESHOLD_VALID = 5 #有效用户登录重试次数限制
DENY_THRESHOLD_ROOT = 3 #ROOT用户登录重试次数限制
WORK_DIR = /data/denyhosts-data #将deny的host或ip纪录到Work_dir中
启动运行daemon-control 文件修改
DENYHOSTS_BIN = "/usr/bin/denyhosts.py"
DENYHOSTS_LOCK = "/var/run/denyhosts.pid"
DENYHOSTS_CFG = "/etc/denyhosts.conf"
./daemon-control start
Denyhost效果:
从Denyhost的运行日志中看出,对目标主机的多次SSH密码试错触发了Denyhost的防御功能。攻击者的IP被添加至hosts.deny文件,该IP下的SSH访问也被拒止。
ping不通,ssh不上!!!!效果刚刚的!!
恢复过程:
1.关闭停止denyhost
/data/software/denyhosts-2.10/daemon-control stop
2.将
/var/log/secure
/etc/hosts.deny
/data/denyhosts-data/* 这个3个下的所有文件的相关ip清除掉
3.清空防火墙规则:
iptables -F
4.重启rsyslog
systemctl restart rsyslog
5.启动denyhost
/data/software/denyhosts-2.10/daemon-control start