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黑名单的更多相关文章

  1. CentOS6.6部署OpenStack Havana(Nova-Network版)

    CentOS6.4部署OpenStack Havana(Nova-Network版) 一 基本设备介绍 测试环境 CentOS6.4 x64 OpenStack 服务 介绍 计算 (Compute) ...

  2. [svc]centos6上部署openvpn+gg二步认证

    最近又发现个新的vpn: wireguard 为了满足员工在家办公的需求.需要 openvpn+gg方案 在centos6上部署openvpn 参考 1.安装前准备 wget -O /etc/yum. ...

  3. 【Linux学习笔记1】-centos6.9部署django

    一,centos6.9部署django ​ 部署套件:centos6.9+nginx+mysql+uwsgi+python3+django ​ 首先还是要明白这几个部分之间的关系(自己也是初学者,希望 ...

  4. centos6 Cacti部署文档

    centos6 Cacti部署文档 1.安装依赖 yum -y install mysql mysql-server mysql-devel httpd php php-pdo php-snmp ph ...

  5. Centos6.6部署Redis集群

    Centos6.6部署Redis集群 1环境准备 1环境安装redis 1安装ruby 2配置redis主从环境 3部署redis sentinel服务器 5集群使用 13当前集群环境说明 13测试功 ...

  6. Zookeeper分布式过程协同技术 - 部署及设置

    Zookeeper分布式过程协同技术 -  部署及设置 Zookeeper支持单机模式.伪集群模式.集群模式三种部署方式.演示部署环境为CentOS.jdk版本为1.8.Zookeeper版本为3.4 ...

  7. CDH5部署三部曲之二:部署和设置

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. Flink on Yarn三部曲之二:部署和设置

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. CDH+Kylin三部曲之二:部署和设置

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

随机推荐

  1. webapi框架搭建-安全机制(三)-简单的基于角色的权限控制

    webapi框架搭建系列博客 上一篇已经完成了“身份验证”,如果只是想简单的实现基于角色的权限管理,我们基本上不用写代码,微软已经提供了authorize特性,直接用就行. Authorize特性的使 ...

  2. CSS3实战之content

    为元素添加内容 content属性术语内容生成和替换模块,该属性能够为指定元素添加内容. 取值如下 normal:默认值 string:文本内容 attr():插入元素的属性值 uri():插入一个外 ...

  3. SharePoint 项目的死法(二)

    说实话, 做SharePoint项目或者任何信息化项目并不是个容易的事情, 但成功的IT项目对于一个企业来说也许意味着很多, 从我的观察来看, 大部分的成功的信息化项目给企业所带来的回报都远远超过其所 ...

  4. Java容器Set接口

    Set接口的实现,可以方便地将指定的类型以集合类型保存在一个变量中.Set是一个不包含重复元素的Collection,更确切地讲,Set 不包含满足 e1.equals(e2) 的元素对,并且最多包含 ...

  5. HDU 1994 利息计算 数学题

    解题报告:算利息的,不过一开始格式控制符里面少写了一个%lf,一直没看到,愣是没找到错误,唉! #include<cstdio> int main() { int T; scanf(&qu ...

  6. Python练习-短小精干版三级"片儿"

    经过今天Alex大神的指点,终于打通任督二脉了!将昨天比较复杂的代码优化至此:(代码注释后期添加) # 编辑者:闫龙 #三级目录 menu = { '北京':{ '海淀':{ '五道口':{'soho ...

  7. Linux基础-awk使用

    打印uid在30~40范围内的用户名:awk -F: '$3>=30&&$3<040{print $1}' passwd 打印第5-10行的行号和用户名:awk -F: ' ...

  8. 【译】第七篇 SQL Server代理作业活动监视器

    本篇文章是SQL Server代理系列的第七篇,详细内容请参考原文 在这一系列的上一篇,你创建并配置SQL Server代理作业.每个作业有一个或多个步骤,可能包含大量的工作流.在这篇文章中,将查看作 ...

  9. 浏览器断点调试js

    说了一些 Chrome 开发者工具的技巧,其实并没有涉及到开发者工具最核心的功能之一:断点调试.断点可以让程序运行到某一行的时候,把程序的整个运行状态进行冻结.你可以清晰地看到到这一行的所有的作用域变 ...

  10. J - Borg Maze +getchar 的使用注意(二维字符数组的输入)

    题目链接: https://vjudge.net/contest/66965#problem/J 具体思路: 首先将每个点之间的最短距离求出(bfs),A 或者 S作为起点跑bfs,这样最短距离就求出 ...