Есть ли смысл запускать fail2ban для защиты SSH-соединения, если вы подключаетесь со статического IP-адреса?
Насколько я понимаю, запуск fail2ban означает, что вы эффективно открываете порт 22 для хакеров, поскольку он помещает запись в ваш iptables, чтобы разрешить подключения к порту 22 с любого IP-адреса. Затем он может забанить их в соответствии с настройками вашей тюрьмы, но не будет ли безопаснее иметь вместо этого следующие записи iptables?
Chain INPUT (policy ACCEPT)
1 ACCEPT tcp -- {**mystaticIP**} 0.0.0.0/0 tcp dpt:22
2 REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
**OR** maybe this option, with fail2ban, is safer?
Chain INPUT (policy ACCEPT)
1 fail2ban-SSH tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
...
Chain fail2ban-SSH (1 references)
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
с участием jail.local настройка ignoreip = 127.0.0.1/8 {mystaticIP}
Это в некоторой степени основано на мнении, но я думаю, что если вы можете ограничить доступ к службе набором определенных IP-адресов и заблокировать все остальное, это предпочтительнее, чем такая служба, как fail2ban
, поскольку вы также предотвращаете теоретическое использование этой службы.
Вполне возможно, что когда-нибудь кто-нибудь найдет ошибку в OpenSSH, которая предоставляет доступ при определенных обстоятельствах. Fail2ban не предотвратит этого, но если злоумышленник даже не может подключиться со своего IP-адреса, вы все равно защищены.
Ограничение доступа к приложению определенным подмножеством доверенных IP-адресов всегда менее рискованно, чем открывать его для всего мира. Рассмотрим приведенный вами пример SSH. Fail2ban потенциально может замедлить попытки перебора вашего SSH-сервера. Его вариант использования обычно предназначен для систем, которые по необходимости должны быть доступны из Интернета в целом. Это полезно, но ничего не делает, если в SSH есть уязвимость.
Предотвращение того, чтобы пакеты даже доходили до вашего SSH-демона с помощью iptables, предотвратит попадание вредоносного трафика на него. Это также предотвратило бы попытки грубой силы со стороны всего мира. Если только один из ваших доверенных IP-адресов не будет сначала скомпрометирован или иным образом не использован в качестве точки отражения, этот элемент управления намного эффективнее, чем fail2ban.