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

  • 相关阅读:
    使用IPTABLES限制IP上传下载速度,如何用iptables限速?
    基于queryperf 和 perftcpdns 的DNS压力测试
    搭建dnsmasq服务器,局域网内部解析
    Linux ipip隧道及实现
    使用FileZilla Server轻松搭建个人FTP服务器
    linux系统中如何查看日志 (常用命令)
    CentOS下安装XAMPP详细教程
    Tomcat中更改网站根目录
    php简单文件上传类
    SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
  • 原文地址:https://www.cnblogs.com/lcword/p/5917289.html
Copyright © 2011-2022 走看看