Я настроил ssh с портом 2122 и только pubkey. Я получил, но хочу больше запретов ламеры, которые пробуют брутфорс аутентификацию.
Моя конфигурация 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 работает отлично, я пробовал некоторые неудачные логины и бан айпи Но ssh попробуйте и попробуйте еще раз .. нет запрета!
ATM the solution is: fail2ban not ban if pubkey only auth is enabled. If someone find another solution...reply.
Если вы используете ssh на нестандартном порту, вам необходимо обновить ваша конфигурация fail2ban, чтобы обратить внимание на этот порт, а не только на названную службу (поскольку предполагается, что указанная служба работает на своем стандартном порту).
Цитата из другого ответа :
fail2ban обнаружит попытки входа в систему с содержимым журнала. fail2ban не использует порты для обнаружения, а только для блокировки. Чтобы заблокировать правильный порт, вы должны указать fail2ban, какой из них, чтобы правильно настроить iptable. В
/etc/fail2ban/jail.local
:
[ssh]
enabled = true
port = ssh <- просто измените это на свой порт port = 1234
Затем перезапустите fail2ban.
Если SSH не работает на порту 22, не будет неудачных попыток входа в систему / var / log / messages
, и поэтому Fail2Ban не имеет информации о том, какой IP-адрес адреса, которые нужно заблокировать.
Однако, поскольку у вас нет службы, работающей на порту 22, вам не нужно блокировать.