ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

服务器安全之DenyHosts

2020-03-14 16:00:38  阅读:318  来源: 互联网

标签:DENY log 登录 DenyHosts 安全 denyhosts var 服务器


情景:今天登录服务器,突然发现登录之后展示的信息有点多,仔细端倪发现:

  There were 3975 failed login attempts since the last successful login.   这很明显是有人想要试图登录我的服务器,企图进行暴力破解。虽然我设置的密码很复杂,但是这种飞来的伤害岂能坐视不管。       于是就使用DenyHosts来进行防御一下:   DenyHosts是Python语言写的一个程序软件,运行于Linux上预防SSH暴力破解的,它会分析sshd的日志文件(/var/log/secure),当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏IP的功能。     当然除了这种方式,还可以彻底一些,不允许以用户名+密码的方式进行登录。而是采用pem方式进行登录(详情)   1. 从官网上下载(http://denyhosts.sourceforge.net/)   2. 解压安装
tar zxvf DenyHosts-2.6.tar.gz

cd DenyHosts-2.6

python setup.py install

cd /usr/share/denyhosts/   

cp denyhosts.cfg-dist denyhosts.cfg      //配置文件

cp daemon-control-dist daemon-control    //启动文件

chown root daemon-control
chmod 700 daemon-control

 

3. 其他设置

#对daemon-control进行软连接,方便管理
ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts    

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

chkconfig --add denyhosts
chkconfig denyhosts on             #将denghosts设成开机启动

 

4. 配置文件
   
       ############ THESE SETTINGS ARE REQUIRED ############

SECURE_LOG = /var/log/secure                  #ssh 日志文件 #redhat系列根据/var/log/secure文件来判断;
                                                           #Mandrake、FreeBSD根据 /var/log/auth.log来判断;
                                                           #SUSE则是用/var/log/messages来判断,这些在配置文件里面都有很详细的解释。
HOSTS_DENY = /etc/hosts.deny                  #控制用户登录的文件
PURGE_DENY = 30m                              #过多久后清除已经禁止的,设置为30分钟;
# ‘m’ = minutes
# ‘h’ = hours
# ‘d’ = days
# ‘w’ = weeks
# ‘y’ = years
BLOCK_SERVICE = sshd                         #禁止的服务名,当然DenyHost不仅仅用于SSH服务
DENY_THRESHOLD_INVALID = 1                   #允许无效用户失败的次数
DENY_THRESHOLD_VALID = 3                     #允许普通用户登陆失败的次数
DENY_THRESHOLD_ROOT = 3                      #允许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      #将DenyHost启动的pid记录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务

       ############ THESE SETTINGS ARE OPTIONAL ############
ADMIN_EMAIL =                           #管理员邮箱
SMTP_HOST = 
SMTP_PORT = 
SMTP_FROM = 
SMTP_SUBJECT = DenyHosts Report         #邮件主题
AGE_RESET_VALID=5m                      #有效用户登录失败计数归零的时间
AGE_RESET_ROOT=10m                      #root用户登录失败计数归零的时间
AGE_RESET_RESTRICTED=10m                #用户的失败登录计数重置为0的时间(/usr/share/denyhosts/data/restricted-usernames)
AGE_RESET_INVALID=5m                    #无效用户登录失败计数归零的时间


   ######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE  ##########


DAEMON_LOG = /var/log/denyhosts              #DenyHosts日志文件存放的路径,默认
DAEMON_SLEEP = 30s                           #当以后台方式运行时,每读一次日志文件的时间间隔。
DAEMON_PURGE = 10m                           #当以后台方式运行时,清除机制在 HOSTS_DENY 中终止旧条目的时间间隔,这个会影响PURGE_DENY的间隔。
RESET_ON_SUCCESS = yes                      #如果一个ip登陆成功后,失败的登陆计数是否重置为0

 

                           

标签:DENY,log,登录,DenyHosts,安全,denyhosts,var,服务器
来源: https://www.cnblogs.com/xingxia/p/linux_denyhosts.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有