sam*_*ell 10 security denyhosts fail2ban ubuntu-10.04
我目前使用 root 阻止所有 ssh 登录。但是我想加倍努力并阻止尝试以 root 身份登录的客户端的 IP 地址。我目前有 denyhosts 和 fail2ban 设置和工作,我可以使用 denyhosts 和或 fail2ban 来阻止那些尝试以 root 登录的人的 IP 地址吗?
小智 20
将此代码复制到新文件 /etc/fail2ban/filter.d/sshd-root.conf 中:
[INCLUDES]
# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf
[Definition]
_daemon = sshd
failregex = ^%(__prefix_line)sFailed (?:password|publickey) for root from <HOST>(?: port \d*)?(?: ssh\d*)?$
ignoreregex =
Run Code Online (Sandbox Code Playgroud)
请注意,您可能需要编辑 failregex 以准确识别失败的 root 登录尝试 - 使用:
fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd-root.conf
Run Code Online (Sandbox Code Playgroud)
以测试它是否识别了正确的日志条目。
然后你需要编辑你的 jail.local 以使用新的过滤器 - 添加如下内容:
[ssh]
enabled = true
port = 1:65535
filter = sshd-root
logpath = /var/log/auth.log
bantime = 604800
maxretry = 3
Run Code Online (Sandbox Code Playgroud)
显然,您应该根据需要调整这些值。上述设置将在三次尝试以 root 身份登录后丢弃来自违规 IP 地址的所有传入数据包,并在一周后再次释放 IP。
根据您的发行版,编辑/etc/fail2ban/jail.conf
更新[ssh]部分以显示类似的内容
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
bantime = 3600
maxretry = 3
Run Code Online (Sandbox Code Playgroud)
根据需要更改参数。它不会专门阻止root,但会阻止每一次失败的尝试。小心maxretry和bantime。如果您使用自己的密码失败,当maxtretry设置为低时,您会阻止自己访问bantime. 重新启动fail2ban。
我不会尝试永远阻止 IP,因为很多尝试来自动态 IP,这可能会在以后阻止一些合法用户。
(某些发行版提供了一个ijil.options文件供您进行修改。这是放置更改的首选位置,因为它不应该受到覆盖conf的更新的影响。)
| 归档时间: |
|
| 查看次数: |
8495 次 |
| 最近记录: |