Встановлення fail2ban на CentOS 7


15

Я використовую відповідь @GarethTheRed на це питання, щоб встановити fail2ban на віддаленому сервері CentOS 7. Я в змозі виконати всі кроки до тих пір tail -f /var/log/fail2ban.log, поки я не отримаю інших результатів, ніж він отримав у своїй відповіді.

Ось результати, які я отримую на цьому кроці:

[root@remotecentosserver.com ~]# tail -f /var/log/fail2ban.log
2014-12-02 16:55:53,548 fail2ban.server.server[6667]: INFO    Changed logging target to /var/log/fail2ban.log for Fail2ban v0.9.0
2014-12-02 16:55:53,550 fail2ban.server.database[6667]: INFO    Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3'
2014-12-02 16:55:54,239 fail2ban.server.database[6667]: WARNING New database created. Version '2'  

Після останнього рядка я просто отримую курсор, але жодного командного рядка, якщо я не введу Ctrl-C.

Коли я набираю текст systemctl status fail2ban, він каже мені, що fail2banвін активний. Коли я виходжу з системи та входжу пізніше, sshdкаже мені, що з мого останнього входу було багато спроб входу. Отже, повинні бути fail2banколоди. Але я не можу їх знайти.

Чи може хтось показати мені, як налаштувати це налаштування, щоб fail2banгенерувати журнали, які я можу відслідковувати?


Ви перевіряли дозволи файлів? Я не раз витрачав час лише на те, щоб виявити, що дозволи були проблемою.
Codewaggle

1
fail2banзараз перебуває в репо EPEL. Спробуйте встановити його звідти. Видаліть поточну версію та переконайтесь, що немає залишкових файлів конфігурації тощо. Потім встановіть із EPEL. У мене це працює на машині CentOS 7 без проблем.
garethTheRed

Я сказала невеличку брехню в останньому коментарі - я забула, що мені довелося виправити це деякий час тому. Довга відповідь нижче ...
garethTheRed

Відповіді:


32

Спробуйте встановити fail2banз EPEL . Він упакований для CentOS 7, і ви отримаєте оновлення по мірі їх випуску. Встановлення rpmформи іншого репо може спрацювати (це було в цьому випадку), але це не найкращий спосіб вчинити.

Перш за все, встановіть сховище EPEL, видавши наступне (як root):

yum install epel-release

Вищезазначене повинно встановити EPEL та надати доступ до багатьох нових пакетів . Один з цих пакетів fail2ban, тому встановіть його, запустивши:

yum install fail2ban

За замовчуванням в'язниці не налаштовані, тому для налаштування базової sshdв'язниці:

Створіть / відредагуйте файл /etc/fail2ban/jail.localта додайте:

[sshd]
enabled = true

Почніть з:

systemctl start fail2ban

Зробіть це запуском під час завантаження:

systemctl enable fail2ban

Раніше була відома помилка, якій SELinux блокував fail2banдоступ до файлів журналів, необхідних для виконання своєї роботи. Це, мабуть, виправлено в останній версії CentOS 7; вам не потрібно вносити зміни нижче.

Якщо у вас є ця проблема, симптоми ні в чому не з’являються в журналах і нічим не виявляються як невдалі або заблоковані у виході fail2ban-client status sshd.

Щоб перевірити наявність помилки SELinux, прочитайте журнали з:

journalctl -lfu fail2ban

Спостерігайте за такими повідомленнями, як:

SELinux is preventing /usr/bin/python2.7 from getattr access on the file .
       *****  Plugin catchall (100. confidence) suggests   **************************
       If you believe that python2.7 should be allowed getattr access on the  file by default.
       Then you should report this as a bug.
       You can generate a local policy module to allow this access.
       Do 
       allow this access for now by executing:
       # grep fail2ban-server /var/log/audit/audit.log | audit2allow -M mypol
       # semodule -i mypol.pp

Тому виконайте, як запропоновано, та запустіть:

grep fail2ban-server /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp

Потім, щоб бути безпечним, перезапустіть fail2ban:

systemctl restart fail2ban

Можливо, вам доведеться навіть повторити процес вище, поки в журналі не з’являться більше повідомлень про помилки.

Якщо ваш сервер перебуває в Інтернеті, тоді слідкуйте fail2ban-client status sshd. Незабаром він почне показувати невдалі та заборонені рахунки, якщо ви зловили всі проблеми SELinux.

Зауважте, що вам доведеться слідкувати за оновленнями політики SELinux. Якщо з'явиться selinux-policyоновлення пакета, воно може перезаписати вище, і, можливо, вам доведеться запустити вищезазначені команди ще раз. Ви дізнаєтесь, чи так це, як fail2banперестануть працювати знову!


Дуже дякую. Чи слід вжити конкретних заходів для того, щоб спочатку видалити файл fail2ban? Або це обробляється автоматично в описаних вище кроках?
CodeMed

Спочатку я б видалив версію Fedora 20 і переконався, що каталог /etc/fail2banвидалено.
garethTheRed

Ця enabled = trueчастина спрацювала. Я читав всюди, що ssh налаштовано та включено за замовчуванням, але це було неправдою.
Рахіль Вазір
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.