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

1398
Knowledge Knight

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

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

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

1
Я использую этот учебник (рекомендуется ниже) https://www.linode.com/docs/security/using-fail2ban-for-security Но в любом случае, он недостаточно хорошо объясняет каждый шаг. Кто-нибудь, что-нибудь лучше? Knowledge Knight 7 лет назад 0

2 ответа на вопрос

1
Darren

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

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

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

Сетевой IP-адрес локальной сети: 127.0.0.1? Кроме того, я должен белый список IP-адрес сервера? Knowledge Knight 7 лет назад 0
@KnowledgeKnight Нет, это адрес обратной связи. Откуда ты это взял? Невозможно, чтобы это был IP-адрес вашей локальной сети. Скорее всего, это будет что-то вроде 192.168.0.0. Darren 7 лет назад 0
IP сети LAN совпадает с IP веб-сервера? Например, тот, который я использую для входа в root (скажем, ssh root@198.34.12.56)? Если нет, то как мне узнать, какой IP-адрес у моего сервера? Knowledge Knight 7 лет назад 0
Я пришел к этому в предположении, что ваш сервер является локальным, удаленным (например, облачным или каким-то другим)? В основном, перечислите адрес любой машины, с которой вы, вероятно, будете к ней подключаться. Поэтому, если вы находитесь в той же сети, и ваш сервер - 192.168.1.1, а ваш компьютер - 192.168.1.2, внесите в белый список всю подсеть 192.168.1.0 с нотацией 192.168.1.0/24. Если вы входите в него удаленно, и у вас есть статический IP-адрес дома / на работе, внесите белый список в этот IP-адрес. Если у вас динамическое соединение, вы * можете * захотеть внести белый список в подсеть вашего интернет-провайдера, но это не рекомендуется. Darren 7 лет назад 0
Да, он размещен в облаке и имеет собственный статический IP-адрес, а также у меня совершенно другой IP-адрес. Должен ли я внести их в белый список? Хотя я не вижу логики внесения в белый список своего собственного IP. Как будто он не выходит и снова сам по себе должен пройти через брандмауэр. Я могу ошибаться, я только начинаю с этого. Спасибо, пока, Даррен! Knowledge Knight 7 лет назад 0
Да, наверное, нет необходимости вносить в белый список свой собственный адрес. Darren 7 лет назад 0
0
iwaseatenbyagrue

Процесс действительно прост, но обратите внимание, что тюрьмы, ищущие несуществующие источники журналов (например, файлы), могут привести к тому, что 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 / role / fail2ban / templates / (например, https://github.com/iwaseatenbyagrue/ansible/blob/master/roles/fail2ban/templates/jail.suricata.j2 )

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

Похожие вопросы