我只用端口 2122 和 pubkey 配置了 ssh。我获得了安全,但我想要更多地禁止尝试暴力验证的lamers。
我的fail2ban配置
jail.local
[INCLUDES]
before = paths-slackware.conf
[DEFAULT]
ignoreip = 127.0.0.1/8
ignorecommand =
bantime = 10800
findtime = 600
maxretry = 3
backend = auto
usedns = warn
logencoding = auto
enabled = true
filter = %(__name__)s
destemail = root@localhost
sender = root@localhost
mta = mail
protocol = tcp
chain = INPUT
port = 0:65535
fail2ban_agent = Fail2Ban/%(fail2ban_version)s
banaction = iptables-multiport
banaction_allports = iptables-allports
action_ = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
action_mw = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
%(mta)s-whois[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"]
action_mwl = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
%(mta)s-whois-lines[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"]
action_xarf = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
xarf-login-attack[service=%(__name__)s, sender="%(sender)s", logpath=%(logpath)s, port="%(port)s"]
action_cf_mwl = cloudflare[cfuser="%(cfemail)s", cftoken="%(cfapikey)s"]
%(mta)s-whois-lines[name=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"]
action_blocklist_de = blocklist_de[email="%(sender)s", service=%(filter)s, apikey="%(blocklist_de_apikey)s", agent="%(fail2ban_agent)s"]
action_badips = badips.py[category="%(__name__)s", banaction="%(banaction)s", agent="%(fail2ban_agent)s"]
action_badips_report = badips[category="%(__name__)s", agent="%(fail2ban_agent)s"]
action = %(action_)s
[ssh]
enabled = true
port = 22
filter = sshd
logpath = /var/log/messages
maxretry = 3
findtime = 10800
bantime = 21600
[apache]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/chroothttp/var/log/httpd/error_log
maxretry = 3
findtime = 10800
bantime = 21600
Apache 运行良好,我尝试了一些错误的登录并禁止 ip 但 ssh 尝试并重试..没有禁令!
如果 SSH 未在端口 22 上运行,则不会出现登录失败的登录尝试
/var/log/messages
,因此 Fail2Ban 没有关于禁止哪些 IP 地址的信息。但是,由于您没有在端口 22 上运行任何服务,因此您实际上不需要禁止。
如果您在非标准端口上运行 ssh,则需要更新您的 fail2ban 配置以关注该端口,而不仅仅是命名服务(因为它假定命名服务在其标准端口上运行)。
引用另一个答案:
然后重启fail2ban。
ATM 的解决方案是:如果启用了仅 pubkey 身份验证,则 fail2ban 不禁止。如果有人找到另一种解决方案...回复。