前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux使用DenyHosts阻止SSH服务器攻击(暴力破解)

linux使用DenyHosts阻止SSH服务器攻击(暴力破解)

作者头像
入门笔记
发布2022-06-02 16:43:22
6620
发布2022-06-02 16:43:22
举报
文章被收录于专栏:入门小站入门小站

DenyHosts 是一个开源且免费的基于日志的入侵防御安全程序.

它旨在通过阻止发起方来监视和分析 SSH 服务器日志中的无效登录尝试、基于字典的攻击和暴力攻击。IP 通过添加条目到地址 /etc/hosts.deny 服务器上的文件,并防止 IP 地址进行任何进一步的此类登录尝试。

如何在Linux中安装DenyHosts

默认情况下 DenyHosts Linux 系统中不包含该工具,使用以下yum 命令安装软件包。

代码语言:javascript
复制
# yum install -y denyhosts

denyhosts配置文件说明

代码语言:javascript
复制
# vim /etc/denyhosts.conf

SECURE_LOG = /var/log/secure  #ssh日志文件

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

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

BLOCK_SERVICE  = sshd  #阻止服务名

DENY_THRESHOLD_INVALID = 5  #无效用户名限制登陆次数。 // --> 主要 

DENY_THRESHOLD_VALID = 10  #有效用户名限制登陆次数。 // --> 主要 

DENY_THRESHOLD_ROOT = 5  #root限制登陆次数。  // --> 主要 

DENY_THRESHOLD_RESTRICTED = 1  #受限用户限制登录次数。  // --> 主要 

WORK_DIR = /var/lib/denyhosts  #将deny的host或ip纪录到Work_dir中(限制过的ip和host存下案底,列入受限名单)

HOSTNAME_LOOKUP=YES  #是否做域名反解

LOCK_FILE = /var/lock/subsys/denyhosts  #将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。

ADMIN_EMAIL = rumenz@rumenz.com  #设置管理员邮件地址 
SMTP_HOST = localhost 
SMTP_PORT = 25 
SMTP_FROM = DenyHosts  
SMTP_SUBJECT = DenyHosts Report

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

AGE_RESET_RESTRICTED=25d  #受限用户的失败登录计数归零的时间

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

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

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

IP 黑名单、白名单

代码语言:javascript
复制
# /etc/hosts.deny    //黑名单(拦截记录)
# /etc/hosts.allow    //白名单

查看 DenyHosts 日志

查看 denyhostsssh 记录有多少攻击者和黑客试图访问你的服务器。使用以下命令查看实时日志。

代码语言:javascript
复制
# tail -f /var/log/secure

从 DenyHosts 中删除禁止的 IP 地址

需要停止服务。

代码语言:javascript
复制
# /etc/init.d/denyhosts stop

完全删除或删除被禁止的IP地址。需要编辑以下文件并删除IP地址。

代码语言:javascript
复制
# vi /etc/hosts.deny
# vi /var/lib/denyhosts/hosts
# vi /var/lib/denyhosts/hosts-restricted
# vi /var/lib/denyhosts/hosts-root
# vi /var/lib/denyhosts/hosts-valid
# vi /var/lib/denyhosts/users-hosts

删除被禁止的 IP 地址后,再次重新启动服务。

代码语言:javascript
复制
# /etc/init.d/denyhosts start

违规的IP地址添加到/var/lib/denyhosts目录下的所有文件中,因此很难确定哪些文件包含违规的IP地址。可以使用grep命令查找IP地址。例如,要查找IP地址172.16.25.125执行。

代码语言:javascript
复制
# cd /var/lib/denyhosts
# grep 172.16.25.125 *

设置DenyHosts 中ip白名单

我们可以设置某些固定ip永远不会被屏蔽。可以打开/var/lib/denyhosts/allowed-hosts文件。默认情况下,该文件中包含的任何IP地址都不会被禁止。

代码语言:javascript
复制
# vi /var/lib/denyhosts/allowed-hosts

并在单独的行上添加每个 IP 地址。保存并关闭文件。

代码语言:javascript
复制
# We mustn't block localhost
127.0.0.1
172.16.25.125
172.16.25.126
172.16.25.127
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何在Linux中安装DenyHosts
  • denyhosts配置文件说明
  • IP 黑名单、白名单
  • 查看 DenyHosts 日志
  • 从 DenyHosts 中删除禁止的 IP 地址
  • 设置DenyHosts 中ip白名单
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档