DenyHosts

Posted on Posted in 防火墙
Tips: 本文创建于2015年11月3日,已超过 2 年,内容或图片可能已经失效!

[DenyHosts官网地址][1]

安装

  1. [root@localhost ~]# cd /usr/local/src      
  2. [root@localhost src]# tar zxvf DenyHosts-2.6.tar.gz      
  3. [root@localhost DenyHosts-2.6]# echo "" > /var/log/secure && service rsyslog restart      
  4. [root@localhost DenyHosts-2.6]# python setup.py install #默认安装到 /usr/share/denyhosts/      
  5. [root@localhost DenyHosts-2.6]# cd /usr/share/denyhosts/      
  6. [root@localhost denyhosts]# cp denyhosts.cfg-dist denyhosts.cfg      
  7. [root@localhost denyhosts]# cp daemon-control-dist daemon-control      
  8. [root@localhost denyhosts]# chown root daemon-control      
  9. [root@localhost denyhosts]# chmod 700 daemon-control      
  10. [root@localhost denyhosts]# ln -sf /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts      
  11. [root@localhost denyhosts]# chkconfig --add denyhosts      
  12. [root@localhost denyhosts]# chkconfig --level 2345 denyhosts on      
  13. [root@localhost denyhosts]# echo "/usr/share/denyhosts/daemon-control start" >> /etc/rc.local      
  14. [root@localhost denyhosts]# echo "你的IP" >>  /usr/share/denyhosts/allowed-hosts  #白名单IP      
  15. [root@localhost denyhosts]# vim /usr/share/denyhosts/denyhosts.cfg      
  16.        ############ THESE SETTINGS ARE REQUIRED ############      
  17. SECURE_LOG = /var/log/secure    #sshd日志文件,denyhosts根据这个文件来判断      
  18. HOSTS_DENY = /etc/hosts.deny    #控制用户登录的文件      
  19. PURGE_DENY = 5m     #过多久后清除已经禁止的IP      
  20. BLOCK_SERVICE  = sshd   #禁止的服务名      
  21. DENY_THRESHOLD_INVALID = 3  #允许无效用户登录失败的次数      
  22. DENY_THRESHOLD_VALID = 3    #允许普通用户登录失败的次数      
  23. DENY_THRESHOLD_ROOT = 1 #允许root登录失败的次数      
  24. DENY_THRESHOLD_RESTRICTED = 1      
  25. WORK_DIR = /usr/share/denyhosts/data      
  26. SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES      
  27. HOSTNAME_LOOKUP=NO  #是否做域名反解析      
  28. LOCK_FILE = /var/lock/subsys/denyhosts      
  29.        ############ THESE SETTINGS ARE OPTIONAL ############      
  30. ADMIN_EMAIL = 352517144@qq.com      
  31. SMTP_HOST = localhost      
  32. SMTP_PORT = 25      
  33. SMTP_FROM = DenyHosts <192.168.1.143@localhost>      
  34. SMTP_SUBJECT = DenyHosts Report      
  35. ALLOWED_HOSTS_HOSTNAME_LOOKUP=YES #加上这句可以在/usr/share/denyhosts/data中写 allowed_hosts白名单    
  36. AGE_RESET_VALID=5d      
  37. AGE_RESET_ROOT=25d      
  38. AGE_RESET_RESTRICTED=25d      
  39. AGE_RESET_INVALID=10d      
  40.    ######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########      
  41. DAEMON_LOG = /var/log/denyhosts #log日志      
  42.        
  43. DAEMON_SLEEP = 30s      
  44. DAEMON_PURGE = 5m   #过多久清除已禁止的IP      
  45.    #########   THESE SETTINGS ARE SPECIFIC TO     ##########      
  46.    #########       DAEMON SYNCHRONIZATION         ##########    

启动

  1. /etc/init.d/denyhosts start  

邮件通知
![hostdeny.png][2]

一个解封IP的脚本

  1. #!/bin/bash  
  2.   
  3. HOST=$1  
  4. if [ -z "${HOST}" ]; then  
  5.     echo "Usage:$0 IP"  
  6.     exit 1  
  7. fi  
  8.   
  9. /etc/init.d/denyhosts stop  
  10. echo '  
  11. /etc/hosts.deny  
  12. /usr/share/denyhosts/data/hosts  
  13. /usr/share/denyhosts/data/hosts-restricted  
  14. /usr/share/denyhosts/data/hosts-root  
  15. /usr/share/denyhosts/data/hosts-valid  
  16. /usr/share/denyhosts/data/users-hosts  
  17. ' | grep -v "^$" | xargs sed -i "/${HOST}/d"  
  18. /etc/init.d/denyhosts start  

[1]: http://denyhosts.sourceforge.net/
[2]: http://liuhonghe.me/wp-content/uploads/2015/11/4008774215.png

» 转载请注明来源:若我若鱼 » DenyHosts

Leave a Reply

Your email address will not be published. Required fields are marked *

twelve − 8 =