简介
DenyHosts是一个旨在由Linux系统管理员运行的脚本,用于帮助阻止SSH服务器攻击(也称为基于字典的攻击和暴力攻击)。
环境
第一步:下载和安装
1.下载和安装
wget https://nchc.dl.sourceforge.net/project/denyhosts/denyhosts/2.6/DenyHosts-2.6.tar.gz
tar vxzf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6/
python setup.py install
默认安装目录:/usr/share/denyhosts
默认日志目录:/var/log/denyhosts
2.编辑配置文件:
cd /usr/share/denyhosts
cp denyhosts.cfg-dist denyhosts.cfg
vim denyhosts.cfg
## 取消注释(禁止所有协议连接本服务器)
BLOCK_SERVICE = ALL
## 本行注释(本行意思是指仅禁止sshd登录)
BLOCK_SERVICE = sshd
## 以下值保留默认
## 此值适用于无效的用户登录尝试(例如,不存在的用户帐户)超过此阈值加入黑名单
DENY_THRESHOLD_INVALID = 5
## 此值适用于有效用户登录尝试(例如,etc / passwd中存在的用户帐户),“root”用户除外
DENY_THRESHOLD_VALID = 10
## 是否做域名反解
HOSTNAME_LOOKUP=YES
## 修改以下值
## 如果是 root 用户失败几次后加入黑名单
DENY_THRESHOLD_ROOT = 5
## 超过此时间段的失败错误将清零(不包括root用户)
AGE_RESET_VALID=1d
## 超过此时间段的失败错误将清零(仅root用户)
AGE_RESET_ROOT=1d
## 允许 /etc/hosts.allow 设置白名单
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=NO
3.准备启动脚本
cd /usr/share/denyhosts
cp daemon-control-dist daemon-control
chmod 700 daemon-control
## 使用命令启动
/usr/share/denyhosts/daemon-control start
/usr/share/denyhosts/daemon-control status
4.设置自动启动
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts
/usr/share/denyhosts/daemon-control start
/usr/share/denyhosts/daemon-control status
5.相关命令
## 查看运行日志
tailf /var/log/denyhosts
## 查看黑名单
cat /etc/hosts.deny