DenyHosts
是用
Python2.3
写的一个程序,它会分析
/var/log/secure
(
redhat
,
Fedora Core,Centos
)等日志文件,当发现同一
IP
在进行多次
SSH
密
EqRLinux
联盟
EqRLinux 联盟
码尝试时就会记录 IP 到 /etc/hosts.deny 文件,从而达到自动屏蔽该 IP 的目的。 EqRLinux 联盟
EqRLinux 联盟
DenyHosts 官方网站为: [url]http://denyhosts.sourceforge.net[/url]
EqRLinux 联盟
码尝试时就会记录 IP 到 /etc/hosts.deny 文件,从而达到自动屏蔽该 IP 的目的。 EqRLinux 联盟
EqRLinux 联盟
DenyHosts 官方网站为: [url]http://denyhosts.sourceforge.net[/url]
一:
检查安装要求
首选检查
Sshd
是否支持
Tcpwrap
,只有支持
Tcpwrap
才可以安装
Denyhost
50
ldd /usr/sbin/sshd |grep wrap
再检查Python
的版本,
Python2.3
以上版本可以直接安装
51
python –V
二:
安装Denyhost
先从Sourceforge.net
上下载
进行解压,再进入到源目录
49
tar -xzvf DenyHosts-2.6.tar.gz
52
cd DenyHosts-2.6
执行Python
脚本进行安装,
53
python setup.py install
程序脚本自动安装到
/usr/share/denyhostsEqRLinux
联盟
库文件自动安装到 /usr/lib/python2.3/site-packages/DenyHostsEqRLinux 联盟
denyhosts.py 自动安装到 /usr/bin
库文件自动安装到 /usr/lib/python2.3/site-packages/DenyHostsEqRLinux 联盟
denyhosts.py 自动安装到 /usr/bin
三:
设置启动脚
本
54
cd /usr/share/denyhosts/
拷贝模板文件
55
cp daemon-control-dist daemon-control
设置好启动脚本的所属用户和权限
56
chown root daemon-control
57
chmod 700 daemon-control
生成Denyhost
的主配置文件,(将模板文件中开头是#
的过滤后再导入到Denyhost.cfg
)
58
grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg
编辑Denyhost.cfg
文件
59
vi denyhosts.cfg
根据自己需要进行相应的修改
EqRLinux
联盟
----------------denyhosts.cfg------------------------EqRLinux 联盟
SECURE_LOG = /var/log/secure EqRLinux 联盟
#RedHat/Fedora Core 分析该日志文件 EqRLinux 联盟
# 其它版本 linux 根据 denyhosts.cfg-dist 内提示选择。 EqRLinux 联盟
EqRLinux 联盟
PURGE_DENY = 30mEqRLinux 联盟
# 过多久后清除 EqRLinux 联盟
EqRLinux 联盟
DENY_THRESHOLD_INVALID = 1EqRLinux 联盟
# 允许无效用户( /etc/passwd 未列出)登录失败的次数 EqRLinux 联盟
EqRLinux 联盟
DENY_THRESHOLD_VALID = 5EqRLinux 联盟
# 允许有效(普通)用户登录失败的次数 EqRLinux 联盟
EqRLinux 联盟
DENY_THRESHOLD_ROOT = 3EqRLinux 联盟
# 允许 root 登录失败的次数 EqRLinux 联盟
EqRLinux 联盟
HOSTNAME_LOOKUP=NOEqRLinux 联盟
# 是否做域名反解 EqRLinux 联盟
----------------denyhosts.cfg------------------------
----------------denyhosts.cfg------------------------EqRLinux 联盟
SECURE_LOG = /var/log/secure EqRLinux 联盟
#RedHat/Fedora Core 分析该日志文件 EqRLinux 联盟
# 其它版本 linux 根据 denyhosts.cfg-dist 内提示选择。 EqRLinux 联盟
EqRLinux 联盟
PURGE_DENY = 30mEqRLinux 联盟
# 过多久后清除 EqRLinux 联盟
EqRLinux 联盟
DENY_THRESHOLD_INVALID = 1EqRLinux 联盟
# 允许无效用户( /etc/passwd 未列出)登录失败的次数 EqRLinux 联盟
EqRLinux 联盟
DENY_THRESHOLD_VALID = 5EqRLinux 联盟
# 允许有效(普通)用户登录失败的次数 EqRLinux 联盟
EqRLinux 联盟
DENY_THRESHOLD_ROOT = 3EqRLinux 联盟
# 允许 root 登录失败的次数 EqRLinux 联盟
EqRLinux 联盟
HOSTNAME_LOOKUP=NOEqRLinux 联盟
# 是否做域名反解 EqRLinux 联盟
----------------denyhosts.cfg------------------------
将
Denyhost
启动脚本添加到自动启动中
60
echo '/usr/share/denyhosts/daemon-control start'>>/etc/rc.d/rc.local
启动Denyhost
的进程
61
/usr/share/denyhosts/daemon-control start
可以查看到Denyhost
在运行中
62
ps -ef |grep deny
在另外一台机器上使用Ssh
进行连接,当在连续几次输入错误的密码后,会被自动阻止掉,在一定时内不可以再连接
Ssh
连接记录的日志文件
66
tail /var/log/secure –f
Denyhost
日志文件
67
tail /var/log/denyhosts –f
Denyhost
将恶意连接的
IP
记录到
Hosts.deny
文件中,过一定时间后再从该文件中清除(
Denyhost.cfg
中设定的时间)
68
vi /etc/hosts.deny
转载于:https://blog.51cto.com/gzmaster/79370