Как установить и настроить Fail2ban 0.9.3-1 на Ubuntu 16.04? Любое руководство для начинающих?

Так же просто, как звучит вопрос, но в Интернете нет ничего, что могло бы помочь мне здесь. Кто-нибудь знает хороший ресурс на эту тему? Или, может быть, кто-то хотел бы описать процесс здесь? У меня такое ощущение, что это намного проще, чем то, что я переживаю из-за недостатка информации.

Я, как новичок, как и многие другие, я думаю, был бы заинтересован в конкретных шагах, которые я должен предпринять, чтобы установить и настроить + определенные JAILS, которые я должен иметь, а также я удивляюсь, почему не активировать все тюрьмы, это может как-то повредить мой сервер?

Большое спасибо тем, кто найдет время, чтобы помочь мне здесь!

2 ответа

Это похоже на хорошее руководство (оно есть в моей истории браузера, поэтому я предполагаю, что использовал его в прошлом).

Fail2ban на самом деле довольно прост. Это в основном гарантирует, что вы занесете в белый список свою сеть LAN (чтобы не блокировать себя), включите любую из встроенных джейлов и настроите время запрета и количество повторов. Писать свои тюрьмы довольно тривиально, но встроенные будут охватывать вас в 90% случаев.

В белом списке укажите адрес любого компьютера, к которому вы, вероятно, будете подключаться. Поэтому, если вы находитесь в той же сети, и ваш сервер - 192.168.1.1, а ваш компьютер - 192.168.1.2, внесите в белый список всю подсеть 192.168.1.0 с нотацией 192.168.1.0/24. Если вы входите в него удаленно, и у вас есть статический IP-адрес дома / на работе, внесите белый список в этот IP-адрес. Если у вас динамическое соединение, вы можете захотеть внести белый список в подсеть вашего провайдера, но это не рекомендуется.

Процесс действительно прост, но обратите внимание, что тюрьмы, ищущие несуществующие источники журналов (например, файлы), могут привести к тому, что fail2ban не запустится.

Я не знаю подробностей об Ubuntu, но для Centos я бы сделал:

  • выберите мой брандмауэр (который в конечном итоге будет firewalld, потому что это по умолчанию CentOS7)
  • установить fail2ban и правильные привязки брандмауэра
  • запустите fail2ban и убедитесь, что он работает (по умолчанию в нем будет активна SSH-тюрьма).
  • подумай, что тебе нужно дальше

Одна вещь, которую вы могли бы рассмотреть, - это просто расширить блок, установленный SSH-тюрьмой, чтобы полностью заблокировать любой источник-нарушитель (т.е. не просто блокировать порт 22, а весь трафик).

Если вы обнаружите, что вам нужны другие тюрьмы и / или фильтры, я бы:

  • используйте /etc/fail2ban/jail.d для хранения своих настроек jail, чтобы убедиться, что я могу удалить все, что вызывает проблемы, без необходимости проходить через большой конфигурационный файл
  • убедитесь, что вы тестируете новые тюрьмы, в частности, изначально не используя их для SSH, и убедитесь, что они применяются только к службам, журналы которых контролирует тюрьма.

У меня есть небольшой пример в ANSIBLE онлайн, см. https://github.com/iwaseatenbyagrue/ansible/blob/master/roles/fail2ban/tasks/suricata.yml и https://github.com/iwaseatenbyagrue/ansible/blob/master/roles/fail2ban/templates/ (например, https://github.com/iwaseatenbyagrue/ansible/blob/master/roles/fail2ban/templates/jail.suricata.j2)

Общий код еще не обязательно соответствует форме, поэтому я не могу рекомендовать его использовать (по крайней мере, не будучи на 100% уверенным, что вы все понимаете), но, надеюсь, эти фрагменты пригодятся.

Другие вопросы по тегам