Установка 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генерировать журналы, которые я могу отслеживать?

CodeMed
источник
Вы проверяли права доступа к файлам? Я потратил время не раз, только чтобы обнаружить, что проблема была в разрешениях.
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что перестанет работать снова!

garethTheRed
источник
Огромное спасибо. Должен ли я предпринять конкретные шаги для удаления fail2ban в первую очередь? Или это обрабатывается автоматически в шагах, которые вы предоставили выше?
CodeMed
Я сначала удалил версию из Fedora 20 и убедился, что каталог /etc/fail2banудален.
garethTheRed
Эта enabled = trueчасть сработала. Я везде читал, что ssh настроен и включен по умолчанию, но это не так.
Рахиль Вазир