游乐游手机版
首页/系统平台/文章详情

DenyHosts防止SSH密码暴力破解的方法

时间:2026-06-20 10:37
DenyHosts 是一款基于 Python 开发的轻量级安全防护工具,专门用于监控 SSH 服务的登录日志。当它检测到某个 IP 地址反复尝试登录失败时,会自动将该 IP 写入 etc hosts deny 黑名单文件,从而彻底阻断其后续访问——对于抵御 SSH 暴力破解攻击来说,这是一款非常实

DenyHosts 是一款基于 Python 开发的轻量级安全防护工具,专门用于监控 SSH 服务的登录日志。当它检测到某个 IP 地址反复尝试登录失败时,会自动将该 IP 写入 /etc/hosts.deny 黑名单文件,从而彻底阻断其后续访问——对于抵御 SSH 暴力破解攻击来说,这是一款非常实用的利器。

官方项目地址:https://denyhosts.sourceforge.net

下面以 CentOS 5.1 系统 + DenyHosts 2.6 版本为例,详细介绍安装、配置、验证的完整流程。

安装

首先下载 RPM 安装包(以下使用 SourceForge 上的官方链接):

# wget https://nchc.dl.sourceforge.net/....../DenyHosts-2.6-python2.4.noarch.rpm
# rpm -ivh DenyHosts-2.6-python2.4.noarch.rpm

安装完成后,将 DenyHosts 注册为系统服务:

# cd /etc/init.d
# ln -s /usr/share/denyhosts/daemon-control denyhosts
# chkconfig --add denyhosts

配置

默认安装路径位于 /usr/share/denyhosts,进入该目录后复制默认配置模板:

# cd /usr/share/denyhosts/
# cp denyhosts.cfg-dist denyhosts.cfg
# vi denyhosts.cfg

根据实际环境调整参数。以下列出关键配置项,并附上中文说明:

SECURE_LOG = /var/log/secure
# SSH 安全日志文件路径,DenyHosts 依靠它来捕获攻击行为

HOSTS_DENY = /etc/hosts.deny
# 系统级黑名单文件,用于阻止恶意 IP 登录

PURGE_DENY = 5m
# 封禁后自动解除的时间间隔——此处设为 5 分钟,可根据实际需求调整

BLOCK_SERVICE = sshd
# 需要封锁的服务名称,默认为 SSH 服务

DENY_THRESHOLD_INVALID = 1
# 不存在的用户(无效帐号)允许登录失败的次数,超过即自动封禁

DENY_THRESHOLD_VALID = 3
# 存在的用户(有效帐号)允许登录失败的次数上限

DENY_THRESHOLD_ROOT = 5
# root 用户允许登录失败的次数上限

HOSTNAME_LOOKUP=NO
# 是否进行域名反向解析,建议关闭以节省系统资源

ADMIN_EMAIL = iakuf@163.com
# 管理员邮箱,当发生攻击时 DenyHosts 会发送通知邮件

DAEMON_LOG = /var/log/denyhosts
# DenyHosts 自身的运行日志文件

配置完成后,设置开机自启并启动服务:

# /etc/init.d/denyhosts start
# chkconfig denyhosts on

验证效果

拿一台远程机器尝试连接本机,故意输入几次错误密码。然后查看 /etc/hosts.deny 文件,如果发现该 IP 已被写入黑名单,说明 DenyHosts 安装配置成功。

额外提醒:如果你发现 DenyHosts 清除被封 IP 的时间与预期不符,不必慌张。问题通常出在 DAEMON_PURGE 参数上——它控制着 DenyHosts 定期清理过期黑名单记录的检查频率。默认情况下,DenyHosts 会按照 DAEMON_PURGE 设定的时间周期,从最早加入的黑名单记录开始清理,而这个周期直接影响 PURGE_DENY 的实际生效间隔。如果需要更精确的清理节奏,调整 DAEMON_PURGE 的值即可。

来源:https://www.jb51.net/os/Fedora/1418.html
上一篇如何在Fedora 9中运行3D特效详细步骤完整操作教程 下一篇Fedora Core 8操作系统下yum软件包管理器的配置方法教程
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送