DenyHosts让你的linux服务器少受点攻击
DenyHosts 是 Python 语言写的一个程序软件,运行于 Linux 上预防 SSH 暴力破解的,它会分析 sshd 的日志文件(/var/log/secure),当发现重复的攻击时就会记录 IP 到/etc/hosts.deny 文件,从而达到自动屏 IP 的功能。使用 安装 我的 Linux 版本:CentOS 7,编写这篇博客时,DenyHosts 的版本为:denyhosts-2.9-4.el7.noarch
如何查看 DenyHosts 的版本?使用命令 $ rpm -qa | grep denyhosts 即可查看。
使用以下命令即可安装 DenyHosts:
yum install -y denyhosts配置和使用
[*]打开配置文件
vim /etc/denyhosts.conf
[*]然后配置 DenyHosts(有默认配置,可以按需修改)
SECURE_LOG = /var/log/secure#ssh日志文件
HOSTS_DENY = /etc/hosts.deny#将阻止IP写入到hosts.deny
PURGE_DENY = 4w#过多久后清除已经禁止的IP,其中w代表周,d代表天,h代表小时,s代表秒,m代表分钟
BLOCK_SERVICE= sshd#阻止服务名
DENY_THRESHOLD_INVALID = 5#无效用户名限制登陆次数。 // --> 主要
DENY_THRESHOLD_VALID = 10#有效用户名限制登陆次数。 // --> 主要
DENY_THRESHOLD_ROOT = 5#root限制登陆次数。// --> 主要
DENY_THRESHOLD_RESTRICTED = 1#受限用户限制登录次数。// --> 主要
WORK_DIR = /var/lib/denyhosts#将deny的host或ip纪录到Work_dir中(限制过的ip和host存下案底,列入受限名单)
HOSTNAME_LOOKUP=YES#是否做域名反解
LOCK_FILE = /var/lock/subsys/denyhosts#将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。
ADMIN_EMAIL = denyhosts@163.com#设置管理员邮件地址
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts
SMTP_SUBJECT = DenyHosts Report
AGE_RESET_ROOT = 1d#root用户登录失败计数归零的时间(1d:1天)
AGE_RESET_RESTRICTED=25d#受限用户的失败登录计数归零的时间
AGE_RESET_VALID=1d #有效用户登录失败计数归零的时间
AGE_RESET_INVALID=10d#无效用户登录失败计数归零的时间
DAEMON_LOG = /var/log/denyhosts#自己的日志文件
[*]查看和配置 IP 黑名单、白名单
vi /etc/hosts.deny //黑名单(拦截记录)
vii /etc/hosts.allow //白名单想要解禁一个已经被禁止掉的 IP,并加入到允许主机列表,只在 /etc/hosts.deny 删除是没用的。需要进入 /var/lib/denyhosts 目录,进入以下操作:
[*]1、停止 DenyHosts 服务:$ sudo service denyhosts stop
[*]2、在 /etc/hosts.deny 中删除你想取消禁止的主机 IP
[*]3、编辑 DenyHosts 工作目录(配置文件中 WORK_DIR)的所有文件,一个个删除文件中你想取消的主机 IP 所在的行
/var/lib/denyhosts/hosts
/var/lib/denyhosts/hosts-restricted
/var/lib/denyhosts/hosts-root
/var/lib/denyhosts/hosts-valid
/var/lib/denyhosts/users-hosts
[*]不知道有哪些文件包含了这个 IP 地址,可以使用以下命令:
$ sudo grep *.*.*.*(IP地址) /var/lib/denyhosts/*
搜索结果可能有
/var/lib/denyhosts/hosts
/var/lib/denyhosts/hosts-restricted
/var/lib/denyhosts/hosts-root
/var/lib/denyhosts/hosts-valid
/var/lib/denyhosts/users-hosts
[*]4、添加你想允许的主机 IP 地址到
/var/lib/denyhosts/allowed-hosts
[*]在文件中的位置大概在这段代码下方:
# We mustn’t block localhost 127.0.0.1 *.*.*.* //你想添加允许的IP地址
[*]5、启动 DenyHosts 服务: service denyhosts start
[*]6、如果不想自己解禁,可以等到一个重置周期后,自动解禁
临时记录
https://www.cnblogs.com/l-hh/p/11204251.html 另外Centos7以上版本可以使用Fail2ban
页:
[1]