Centos安装denyhosts

Denyhosts我们通常用来抵御ssh字典攻击。
Denyhosts是采用python写的,需要python环境(现在linux都有python环境)
Denyhosts是通过分析/var/log/secure日志文件中登陆失败,结合设置的策略,进行对应防护措施(比如:检测到同一IP,在一分钟之内尝试错误连接100次,很明显就应该拒绝此IP继续ssh连接,拒绝的策略是写入到/etc/hosts.deny配置文件中)

安装:
# epel源中
# yum install denyhosts -y
# rpm -ql denyhosts
#     /etc/denyhosts.conf       //规则配置文件
#     /etc/rc.d/init.d/denyhosts       //服务脚本
#     /var/log/denyhosts       //日志文件
#     /var/lib/denyhosts       //denyhost 工作目录
#  denyhosts数据文件,看名字大概知道
#  /var/lib/denyhosts/allowed-hosts
#  /var/lib/denyhosts/allowed-warned-hosts
#  /var/lib/denyhosts/hosts
#  /var/lib/denyhosts/hosts-restricted
#  /var/lib/denyhosts/hosts-root
#  /var/lib/denyhosts/hosts-valid
#  /var/lib/denyhosts/offset
#  /var/lib/denyhosts/suspicious-logins
#  /var/lib/denyhosts/sync-hosts
#  /var/lib/denyhosts/users-hosts
#  /var/lib/denyhosts/users-invalid
#  /var/lib/denyhosts/users-valid
配置
# grep -Ev '^#|^$' /etc/denyhosts.conf   
 ############ THESE SETTINGS ARE REQUIRED ############
SECURE_LOG = /var/log/secure
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 4w        // ip被禁止之后,多久可以释放(w表示周,d表示天,h表示小时,m表示分钟)
BLOCK_SERVICE  = sshd     // 检测的服务
DENY_THRESHOLD_INVALID = 5     // 无效用户尝试次数之后即被锁定
DENY_THRESHOLD_VALID = 10      //  有效普通用户尝试次数
DENY_THRESHOLD_ROOT = 1       //   root用户尝试次数
DENY_THRESHOLD_RESTRICTED = 1    // 设定denyhosts将数据写入到/etc/hosts.deny文件中
WORK_DIR = /var/lib/denyhosts      //denyhosts工作数据目录
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES     // 域名解析
LOCK_FILE = /var/lock/subsys/denyhosts
 ############ 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        //root用户登陆计数清零时间
AGE_RESET_RESTRICTED=25d     // /etc/hosts.deny文件清除数据时间
AGE_RESET_INVALID=10d
 ######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
 #########   THESE SETTINGS ARE SPECIFIC TO     ##########
 #########       DAEMON SYNCHRONIZATION         ##########
启动服务
# service denyhosts start
# chkconfig denyhosts on
测试

开启两个ssh进程,一个用来测试,一个用来等会解除限制
多次尝试无效用户登陆,发现之后就不会在让你到输入用户密码界面,检查数据
# cat /etc/hosts.deny
# DenyHosts: Wed Feb 22 16:15:51 2017 | sshd: 113.102.163.146
sshd: 113.102.163.146
# cat /var/lib/denyhosts/* | grep 113.102.163.146
# 113.102.163.146:7:Wed Feb 22 16:15:51 2017
# 113.102.163.146:0:Wed Feb 22 16:13:51 2017
# 113.102.163.146:0:Wed Feb 22 16:13:51 2017
# 113.102.163.146:0:Wed Feb 22 16:13:51 2017

denyhosts恢复

清楚文件对应的数据,重启rsyslog服务器重置计数器
# sed -i '/113.102.163.146/d' /etc/hosts.deny
# sed -i '/113.102.163.146/d' /var/lib/denyhosts/*
# service rsyslog restart

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,242评论 2 33
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,975评论 6 342
  • 茅小春说:我觉得因为爱一个人,而和他结婚,是这个世界上最幸福的事。因为年纪大了,因为家里逼迫,因为该结婚了。而我始...
    西西女王阅读 337评论 0 1
  • 我热爱文字,就像我热爱骑马。两者都能让你的灵魂肆意驰骋在辽阔的荒原!时而奔放,时而逶迤!我一直认为从一个人的文字能...
    大萌猪阅读 176评论 0 0