Я увидел, что при создании своего экземпляра AWS я выбрал только мой IP-адрес, имеющий доступ к моему серверу. Также есть ключ RSA, который настроен для вас. В этом случае мне действительно нужно установить fail2ban на сервере?
Fail2ban сканирует файлы журналов на предмет потенциально вредоносных действий и блокирует IP-адреса, с которых происходит такое поведение. Обычно затем используется Fail2Ban для инициирования действия, которое блокирует повторение последующих (вредоносных) действий с этого IP-адреса.
Чтобы предотвратить блокировку в качестве администратора, вы обычно добавляете свои собственные (управляющие) сетевые адреса в Белый список IP-адресов в fail2ban.
Теперь, если ваш сервер или служба защищены брандмауэром, чтобы разрешить доступ только с тех же IP-адресов и / или сетей, которые присутствуют в этом белом списке, fail2ban никогда ничего не сделает, верно?
В этом случае я бы сказал, что fail2ban не потребуется.
Я бы действительно использовал fail2ban только тогда, когда вам нужно открыть службу управления для Интернета в брандмауэре гипервизора (aws). В вашем случае отбрасываются все запросы, кроме запросов с вашего IP.
Следует отметить, что если ваш IP-адрес изменится (нестатический), вам придется обновить группу безопасности aws.
Преимущество использования брандмауэра AWS от Fail2ban - это API. С помощью API вы можете централизованно и автоматически управлять своими правилами брандмауэра на большом количестве экземпляров, а с fail2ban это значительно усложнит.
Во всех ответах говорится, что fail2ban не нужен из-за политик безопасности AWS, по сути, еще одного межсетевого экрана. Однако, если это когда-либо выйдет из строя или будет неправильно сконфигурировано, тогда могут возникнуть атаки. Комбинация iptables / firewalld / ufw и fail2ban имеет полный смысл, а многоуровневая безопасность является важной тактикой. Так что fail2ban (вместе с базовой конфигурацией брандмауэра) по-прежнему является хорошей идеей.
Я хочу добавить, как упоминал @tim, что fail2ban (и другие виды подобных инструментов) могут обеспечить большую детализацию, чем политики безопасности AWS, которые, похоже, ограничены протоколами и диапазонами IP-адресов. Например, могут быть заблокированы агрессивные пауки, а также боты, которые пытаются войти в систему. Блокировка на сетевом уровне более эффективна, чем на уровне веб-сервера или веб-приложения (например, Wordpress).
Единственная причина, по которой я бы добавил fail2ban в вашем случае, - это DROP kids, пытающиеся подключиться к серверу на неопределенный срок, и ограничение ответов, которые он бесполезно обслуживает (в случае, если ваш сервер действительно генерирует REJECT ответы тем, кто пытается подключиться).
Теперь у вас может быть веская причина для внесения IP-адресов в белый список, но SSH довольно безопасен, если вы сохраняете свой ключ в секрете (и лучше всего отключить вход в систему root). Кроме того, довольно легко настроить двухфакторную аутентификацию по ssh (например, с помощью Google 2FA), используя ваш пароль и «случайное» сгенерированное число. Внесение IP-адреса в белый список для ssh в какой-то момент может стать непрактичным!