raspbian Linux [主机名] 4.9.36+ #1015 Thu Jul 6 16:07:57 BST 2017 armv6l GNU/Linux
fail2ban 没有检测到 dropbear 身份验证失败。这适用于 openssh 没有问题。我去dropbear来减少内存使用。
这是我的 auth.log 显示日志记录正在工作
dropbear[2640]: Bad password attempt for 'username' from 192.168.1.151:50780
我的本地监狱
#dropbear shh config password
[dropbear]
enabled = true
port = ssh
filter = dropbear
logpath = /var/log/auth.log
bantime = 900
banaction = iptables-allports
findtime = 900
maxretry = 3
我的 dropbear.conf failure2ban 过滤器
[Definition]
_daemon = dropbear
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "<HOST>" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>\S+)
# Values: TEXT
# These match the unmodified dropbear messages. It isn't possible to
# match the source of the 'exit before auth' messages from dropbear.
#
failregex = ^%(__prefix_line)slogin attempt for nonexistent user ('.*' )?from <HOST>:.*\s*$
^%(__prefix_line)sbad password attempt for .+ from <HOST>:.*\s*$
# The only line we need to match with the modified dropbear.
# NOTE: The failregex below is ONLY intended to work with a patched
# version of Dropbear as described here:
# http://www.unchartedbackwaters.co.uk/pyblosxom/static/patches
和标准的监狱配置(这些选项应该用 .local 监狱覆盖)
# in /etc/fail2ban/jail.local.
#
# Optionally you may override any other parameter (e.g. banaction,
# action, port, logpath, etc) in that section within jail.local
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
[dropbear]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/dropbear
maxretry = 6
答案1
正dropbear.conf
则表达式与以下条目不匹配auth.log
:
Bad password attempt for... /* auth.log */
bad password attempt for... /* dropbear.conf */
如果您进行编辑dropbear.conf
以尊重大小写,fail2ban 应该捕获记录的身份验证失败。