DenyHosts官方网站为:http://denyhosts.sourceforge.net

DenyHosts可以阻止试图猜测SSH登录口令,它会分析/var/log/secure等日志文件,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。

PURGE_DENY: removed HOSTS_DENY entries that are older than this time
            when DenyHosts is invoked with the --purge flag

format is: i[dhwmy]

Where 'i' is an integer (eg. 7) 
            'm' = minutes
            'h' = hours
            'd' = days
            'w' = weeks
            'y' = years

# yum install denyhosts -y
# cp denyhosts.cfg denyhosts.cfg.bak
# vi denyhosts.cfg

############ THESE SETTINGS ARE REQUIRED ############
SECURE_LOG = /var/log/secure    #sshd的日志文件
HOSTS_DENY = /etc/hosts.deny   #将阻止IP写入到hosts.deny,所以这个工具只支持 支持tcp wrapper的协议
PURGE_DENY = 4w   #过多久后清除已阻止的IP,即阻断恶意IP的时长  (4周)
BLOCK_SERVICE  = sshd   #阻止服务名
DENY_THRESHOLD_INVALID = 5   #允许无效用户登录失败的次数
DENY_THRESHOLD_VALID = 10   #允许普通有效用户登录失败的次数
DENY_THRESHOLD_ROOT = 1    #允许root登录失败的次数
DENY_THRESHOLD_RESTRICTED = 1    #设定 deny host 写入到该资料夹
WORK_DIR = /var/lib/denyhosts    #将deny的host或ip记录到work_dir中
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES    #是否做域名反解
LOCK_FILE = /var/lock/subsys/denyhosts    #将DenyHost启动的pid记录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务

############ THESE SETTINGS ARE OPTIONAL ############
ADMIN_EMAIL = root   #设置管理员邮件地址
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts <nobody@localhost>
SMTP_SUBJECT = DenyHosts Report from $[HOSTNAME]
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d

######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########
DAEMON_LOG = /var/log/denyhosts   #denyhost服务日志文件
 
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h      #该项与PURGE_DENY 设置成一样,也是清除hosts.deniedssh 用户的时间

--------------------------------------------------------------------------------------------------------------

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

1、停止DenyHosts服务:

$sudo service denyhosts stop

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

3、编辑 DenyHosts 工作目录的所有文件,通过

$ sudo grep 192.168.1.191 /usr/share/denyhosts/data/*

然后一个个删除文件中你想取消的主机IP所在的行:

*/usr/share/denyhosts/data/hosts

*/usr/share/denyhosts/data/hosts-restricted

*/usr/share/denyhosts/data/hosts-root

*/usr/share/denyhosts/data/hosts-valid

*/usr/share/denyhosts/data/users-hosts

4、添加你想允许的主机IP地址到 /var/lib/denyhosts/allowed-hosts

vi  /usr/share/denyhosts/data/allowed-hostsps

# We mustn't block localhost

127.0.0.1

192.168.1.*

5、启动DenyHosts服务: service denyhosts start

------------------------------------------------------------------------------------------------------------

denyhosts配置详解的更多相关文章

  1. Log4j配置详解(转)

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  2. logback 常用配置详解<appender>

    logback 常用配置详解 <appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的 ...

  3. [转]阿里巴巴数据库连接池 druid配置详解

    一.背景 java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池.数据库连接池有很多选择,c3p.dhcp.proxool等,druid作为一名后起之秀,凭借其出色 ...

  4. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  5. logback配置详解3<filter>

    logback 常用配置详解(三) <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一.返回DENY ...

  6. logback配置详解2<appender>

    logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写 ...

  7. log4j.properties配置详解

    1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN < ...

  8. Log4J日志配置详解

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  9. Windows下Nginx Virtual Host多站点配置详解

    Windows下Nginx Virtual Host多站点配置详解 此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学. 如果您还未搭建WNMP环境,请查看 window ...

随机推荐

  1. 使用Oracle PROFILE控制会话空闲时间

    客户想实现对会话空闲时间的控制,下面是做的一个例子.Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation.保留所有权利 ...

  2. Spark机器配置计算

    ● Based on the recommendations mentioned above, Let's assign 5 core per executors => --executor-c ...

  3. MapReduce-朴素贝叶斯

    朴素贝叶斯(Native Bayes),贝叶斯在现实使用中是怎么玩的?不是根据A|B的概率获得B|A的概率,在现实中的玩法是: 首先要明白贝叶斯是一种分类算法,因为是概率所以,他的应用领域其实是比较, ...

  4. postman获取请求响应值

    获取所有请求响应代码  var data = JSON.parse(responseBody);    把data的data值设置到token中  postman.setEnvironmentVari ...

  5. IE8下部分方法失效的解决方法

    1.IE8下String的Trim()方法失效的解决方法 用jquery的trim()方法,$.trim(str)就可以了: 例:_id.trim() !='' 改为  $.trim(_id) != ...

  6. 退出循环break,在while、for、do...while、循环中使用break语句退出当前循环,直接执行后面的代码。

    在while.for.do...while循环中使用break语句退出当前循环,直接执行后面的代码. 格式如下: for(初始条件;判断条件;循环后条件值更新) { if(特殊情况) {break;} ...

  7. ASP.NET Web Pages:帮助器

    ylbtech-.Net-ASP.NET Web Pages:帮助器 1.返回顶部 1. ASP.NET Web Pages - 帮助器 Web 帮助器大大简化了 Web 开发和常见的编程任务. AS ...

  8. 关于attr("checked")的输出

    同样的一段代码,在不同的文件输出不同的答案,好神奇. console.log($("#never").attr("checked")); 一个输出checked ...

  9. shell脚本判断语句和循环语句

    if判断语句 exit跳出判读语句 不加exit的结果 read -n(不换行) 判断是否输入的是数字 read age[[ $age =~ ^[0-9]+$ ]]if [ $? -ne 0 ]; t ...

  10. [UE4]Pawn和Controller,第一人称和第三人称切换

    一. Pawn 可以被控制的Actor,可以被Controller持有控制,并且从Controller中接受输入.例如:玩家.NPC(Not Player Character) 二.Controlle ...