DenyHosts
DenyHosts 是一种旨在由 Linux 系统管理员运行的脚本,用于帮助阻止 SSH 服务器攻击(也称为基于字典的攻击和暴力破解攻击)。
特性和文档
如果您曾经查看过您的 ssh 日志(/var/log/messages、/var/log/warn 等),您可能会惊讶于有多少黑客试图访问您的服务器。希望,他们都没有成功(但话说回来,您怎么知道呢?)。自动阻止攻击者继续进入您的系统不是更好吗?
DenyHosts 试图解决上述问题……以及更多
- 解析 /var/log/messages 以查找所有登录尝试,并过滤失败和成功的尝试。
- 同步模式允许 DenyHosts 守护进程通过集中式服务器共享数据,以主动阻止攻击。
- 可以从命令行、cron 或作为守护进程运行
- 记录用户和攻击主机的所有失败登录尝试
- 对于超过阈值计数的每个主机,记录恶意主机
- 跟踪每个不存在的用户(例如 sdadasd)的登录失败尝试。
- 跟踪每个存在用户(例如 root)的登录失败尝试。
- 跟踪每个攻击主机(这些主机可以在 /etc/hosts.deny 中的相应条目过期时被清除)
- 跟踪可疑登录(即,对于具有许多登录失败的主机而言,登录成功的登录)
- 跟踪文件偏移量,以便您可以持续重新解析相同的文件(/var/log/messages),直到它被轮转为止。
- 当日志文件被轮转时,脚本将检测到它并从头开始解析。
- 附加 /etc/hosts.deny 并添加新禁用的主机
- 可以选择发送新禁用主机和可疑登录的电子邮件。
- 保留遇到的所有用户、主机、用户/主机组合和可疑登录的历史记录,包括数据和相应的失败登录尝试次数。
- 将失败的有效和无效用户登录尝试保存在单独的文件中,以便于查看哪个有效用户受到攻击(这将使您有机会删除帐户、更改密码或将其默认 shell 更改为 sbin/nologin 之类的东西)
- 每次运行时,脚本将加载先前保存的数据并重新使用它以附加新的失败。
- 如果可用,则将 IP 地址解析为主机名(v0.6.0 中的新功能)。
- /etc/hosts.deny 条目可以在用户指定的时间过期(清除)(0.8 中的新功能)
请查看 常见问题解答 以获取详细信息。
安装和配置 DenyHosts
DenyHosts 工具包含在此仓库中
您必须在 Yast 中添加此仓库,然后使用以下命令安装它
sudo zypper in denyhosts
参见
外部链接
:
