zoukankan      html  css  js  c++  java
  • DenyHosts 安装及配置详解

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

    下面进入主题。

    1。安装脚本
    要求安装服务器能上网,并建立 /workspace目录

    #############################1##################################
    #!/bin/bash

    wget http://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz
    #下载软件

    tar -zxvf DenyHosts-2.6.tar.gz
    #解压

    mv DenyHosts-2.6 denyhost
    #为了方便改个名

    cd denyhost/
    #进入目录

    yum install python -y
    #安装python

    python setup.py install
    #安装denyhost,脚本

    cd /usr/share/denyhosts/
    #进入配置目录

    cp daemon-control-dist daemon-control
    #为了方便改变配置文件名称

    cp denyhosts.cfg-dist denyhosts.cfg
    #修改服务文件名称

    chown root daemon-control
    chmod 700 daemon-control
    #提高安全级别,修改权限

    ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts
    #创建启动服务连接

    chkconfig denyhosts on
    #添加启动项

    cp denyhosts.cfg denyhosts.cfg.bak
    #备份配置文件,为修改配置做准备

    cat /workspace/denyhost.txt > /usr/share/denyhosts/denyhosts.cfg
    #将配置文件内容导入配置文件(我的配置文件安装之前已经配置好了!)

    /etc/init.d/denyhosts start
    #启动服务

    echo install succeed!

    2.配置文件内容


    cat /workspace/denyhost.txt > /usr/share/denyhosts/denyhosts.cfg
    ###########################2##################################

    [root@107 workspace]# more denyhost.txt
    SECURE_LOG = /var/log/secure
    #ssh日志文件

    HOSTS_DENY = /etc/hosts.deny
    #将阻止IP写入到hosts.deny

    PURGE_DENY = 5m
    #过多久后清除已经禁止的,其中w代表周,d代表天,h代表小时,s代表秒,m代表分钟

    BLOCK_SERVICE = sshd
    #阻止服务名

    DENY_THRESHOLD_INVALID = 5
    #允许无效用户(在/etc/passwd未列出)登录失败次数,允许无效用户登录失败的次数.

    DENY_THRESHOLD_VALID = 5
    #允许普通用户登录失败的次数

    DENY_THRESHOLD_ROOT = 5
    #允许root登录失败的次数

    DENY_THRESHOLD_RESTRICTED = 1
    #设定 deny host 写入到该资料夹

    WORK_DIR = /usr/share/denyhosts/data
    #将deny的host或ip纪录到Work_dir中
    SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS = YES

    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 <nobody@localhost>
    SMTP_SUBJECT = DenyHosts Report

    AGE_RESET_VALID=1d
    #有效用户登录失败计数归零的时间

    AGE_RESET_ROOT=1d
    #root用户登录失败计数归零的时间

    AGE_RESET_RESTRICTED=5d
    #用户的失败登录计数重置为0的时间(/usr/share/denyhosts/data/restricted-usernames)

    AGE_RESET_INVALID=10d
    #无效用户登录失败计数归零的时间

    DAEMON_LOG = /var/log/denyhosts
    #自己的日志文件

    DAEMON_SLEEP = 30s

    DAEMON_PURGE = 5m
    #该项与PURGE_DENY 设置成一样,也是清除hosts.deniedssh 用户的时间

    3.其它
    #############################3###############################

    如果想删除一个已经禁止的主机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

    报错排查

    #service denyhost start
    starting DenyHosts: /usr/bin/env python /usr/bin/denyhosts.py --daemon

    --config=/usr/share/denyhosts/denyhosts.cfg
    python: can't open file '/usr/bin/denyhosts.py': [Errno 2] No such file or

    directory

    cd /usr/share/denyhosts/
    vi daemon-control
    DENYHOSTS_BIN = "/usr/bin/denyhosts.py"
    改为
    DENYHOSTS_BIN = "/usr/local/bin/denyhosts.py"


    cd /usr/local/lib/python2.7/site-packages/
    cp -rp DenyHosts /usr/lib/python2.4/site-packages/
    /etc/init.d/denyhosts restart

    #############################3###############################

    如果想删除一个已经禁止的主机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

  • 相关阅读:
    windows下Yarn安装与使用(两种方法)
    git配置公钥---解决码云出现git@gitee.com: Permission denied (publickey)
    npm使用国内镜像的两种方法
    【LeetCode】33. Search in Rotated Sorted Array (4 solutions)
    【LeetCode】83. Remove Duplicates from Sorted List
    【LeetCode】82. Remove Duplicates from Sorted List II
    【LeetCode】85. Maximal Rectangle
    【LeetCode】84. Largest Rectangle in Histogram
    【LeetCode】87. Scramble String
    【LeetCode】162. Find Peak Element (3 solutions)
  • 原文地址:https://www.cnblogs.com/lcword/p/5917289.html
Copyright © 2011-2022 走看看