首页 > 代码库 > centos6.8部署denyhosts设置sshd黑名单

centos6.8部署denyhosts设置sshd黑名单

DenyHosts是Python语言写的一个程序,它会分析sshd的日志文件(/var/log/secure),当发现重 复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。

参考文档:

  http://www.cnblogs.com/suihui/p/3899381.html

鉴于阿里云已经是部署了epel镜像源,所以直接使用yum安装即可: 

yum install denyhosts -y

配置文件/etc/denyhosts.cfg:

#日志文件存放位置(直接用默认即可)
SECURE_LOG = /var/log/secure
#系统控制用户登录文件  
HOSTS_DENY = /etc/hosts.deny
#过多久后清除已经禁止的
PURGE_DENY = 
#禁止服务名称
BLOCK_SERVICE  = sshd
#无效用户登录失败次数(/etc/passwd文件中没有的用户)
DENY_THRESHOLD_INVALID = 1
#普通用户登录失败次数(/etc/passwd文件中有的用户
DENY_THRESHOLD_VALID = 10
#root登录失败次数 
DENY_THRESHOLD_ROOT = 3
DENY_THRESHOLD_RESTRICTED = 1
 #存放denyhosts信息的位置,可以从这里看到被攻击的情况
WORK_DIR = /usr/share/denyhosts/data 
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
#禁止做逆向域名解析
HOSTNAME_LOOKUP=NO 
LOCK_FILE = /var/lock/subsys/denyhosts
#denyhosts自己的日志文件
DAEMON_LOG = /var/log/denyhosts  
#设置邮件报警
ADMIN_EMAIL = #mail1.apicloud.com,mail2.apicloud.com 
SMTP_HOST = mail.163.com
SMTP_PORT = 25
SMTP_USERNAME=gitlab2015@163.com
SMTP_PASSWORD=nxgfvizafijytymx
SMTP_FROM = DenyHosts <gitlab2015@163.com>
SMTP_SUBJECT = DenyHosts Report
#重置设置
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h

设置白名单:

echo "10.*.*.*" >> /var/lib/denyhosts/allowed-hosts #相当于将10.0.0.0/8整个内网网段加到白名单

删除黑名单中的IP:

如果想删除一个已经禁止的主机IP,并加入到允许主机例表,只在 /etc/hosts.deny 删除是没用的。需要进入 /var/lib/denyhosts 目录,进入以下操作:

1、停止DenyHosts服务:$service denyhosts stop

2、在 /etc/hosts.deny 中删除你想取消的主机IP

3、编辑 DenyHosts 工作目录的所有文件,通过 
$grep 192.168.1.191 /var/lib/denyhosts/*

然后一个个删除文件中你想取消的主机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 
4、添加你想允许的主机IP地址到 
/var/lib/denyhosts/allowed-hosts

vi /var/lib/denyhosts/allowed-hostsps 
# We mustn‘t block localhost 
127.0.0.1 
192.168.1.*

5、启动DenyHosts服务: service denyhosts start

  

  

  

 

centos6.8部署denyhosts设置sshd黑名单