Instalowanie fail2ban na CentOS 7

15

Korzystam z odpowiedzi @GarethTheRed na to pytanie, aby zainstalować fail2ban na zdalnym serwerze CentOS 7. Jestem w stanie ukończyć wszystkie kroki, aż do momentu tail -f /var/log/fail2ban.log, w którym otrzymam inne wyniki niż on w swojej odpowiedzi.

Oto wyniki, które otrzymuję na tym etapie:

[[email protected] ~]# 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'  

Po ostatnim wierszu widzę tylko kursor, ale nie mam wiersza polecenia, chyba że piszę Ctrl-C.

Kiedy piszę systemctl status fail2ban, mówi mi, że fail2banjest aktywny. Kiedy wylogowuję się z systemu i loguję ponownie później, sshdmówi mi, że od czasu ostatniego logowania było wiele nieudanych prób logowania. Więc powinny być fail2banlogi. Ale nie mogę ich znaleźć.

Czy ktoś może mi pokazać, jak skonfigurować tę konfigurację, aby fail2bangenerowała dzienniki, które mogę śledzić?

CodeMed
źródło
Czy sprawdziłeś uprawnienia do plików? Zmarnowałem czas więcej niż raz, aby stwierdzić, że problem był związany z uprawnieniami.
kodewaggle
1
fail2banjest teraz w repozytorium EPEL. Spróbuj zainstalować go stamtąd. Odinstaluj bieżącą wersję i upewnij się, że nie ma żadnych pozostałych plików konfiguracyjnych itp. Następnie zainstaluj z EPEL. Mam go uruchomionego na komputerze CentOS 7 bez żadnych problemów.
garethTheRed
W ostatnim komentarzu powiedziałem małe kłamstwo - zapomniałem, że muszę to naprawić jakiś czas temu. Długa odpowiedź poniżej ...
garethTheRed

Odpowiedzi:

32

Spróbuj zainstalować fail2banz EPEL . Jest zapakowany dla CentOS 7, a otrzymasz aktualizacje w miarę ich wydawania. Instalowanie rpmformularza może wymagać innego repozytorium (w tym przypadku tak było), ale nie jest to najlepszy sposób na robienie rzeczy.

Przede wszystkim zainstaluj repozytorium EPEL, wydając następujące (jako root):

yum install epel-release

Powyższe powinno zainstalować EPEL i dać dostęp do wielu nowych pakietów . Jednym z tych pakietów jest fail2ban, dlatego zainstaluj go, uruchamiając:

yum install fail2ban

Domyślnie nie ma skonfigurowanych więzień, dlatego aby skonfigurować podstawowe sshdwięzienie:

Utwórz / edytuj plik /etc/fail2ban/jail.locali dodaj:

[sshd]
enabled = true

Zacznij od:

systemctl start fail2ban

Uruchom go w czasie uruchamiania:

systemctl enable fail2ban

Był znany błąd, w którym SELinux blokował fail2bandostęp do plików dziennika potrzebnych do wykonania swojej pracy. Wydaje się, że zostało to naprawione w najnowszej wersji CentOS 7; nie musisz wprowadzać poniższych zmian.

Jeśli masz ten problem, objawy nie pojawiają się w logach i nic nie wydaje się być błędne lub zablokowane w danych wyjściowych fail2ban-client status sshd.

Aby sprawdzić błąd SELinuksa, przeczytaj czasopisma za pomocą:

journalctl -lfu fail2ban

Obserwuj je pod kątem wiadomości takich jak:

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

Dlatego wykonaj zgodnie z sugestią i uruchom:

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

Następnie, aby być bezpiecznym, uruchom ponownie fail2ban:

systemctl restart fail2ban

Być może będziesz musiał powtórzyć powyższy proces, aż w dzienniku nie pojawią się więcej komunikatów o błędach.

Jeśli twój serwer jest w Internecie, monitoruj fail2ban-client status sshd. Wkrótce zacznie się pokazywać błąd i zbanowana liczba, jeśli złapałeś wszystkie problemy z SELinux.

Pamiętaj, że będziesz musiał pilnować aktualizacji polityki SELinux. Jeśli selinux-policypojawi się aktualizacja pakietu, może ona zastąpić powyższe i może być konieczne ponowne uruchomienie powyższych poleceń. Dowiesz się, czy tak jest, ponieważ fail2banprzestanie działać!

garethTheRed
źródło
Dziękuję bardzo. Czy powinienem podjąć określone kroki, aby najpierw odinstalować fail2ban? Czy jest to obsługiwane automatycznie w podanych wyżej krokach?
CodeMed
Najpierw odinstalowałbym wersję z Fedory 20 i upewniłem się, że katalog /etc/fail2banzostał usunięty.
garethTheRed
Ta enabled = trueczęść działała. Wszędzie czytam, że ssh jest skonfigurowane i domyślnie włączone, ale to nie była prawda.
Rahil Wazir