Jednym z najczęstszych wektorów ataku na serwery są próby brutalnego logowania. W tym miejscu napastnicy próbują uzyskać dostęp do Twojego serwera, próbując nieskończonej liczby kombinacji nazw użytkowników i haseł.
Do tego typu problemów najszybszym i najskuteczniejszym rozwiązaniem jest ograniczenie liczby prób i zablokowanie dostępu do użytkownika lub tego adresu IP przez pewien czas. Ważne jest również, aby wiedzieć, że w tym celu istnieją również aplikacje open source specjalnie zaprojektowane do obrony przed tego typu atakami.
W dzisiejszym poście Przedstawię wam, jeden nazywa się Fail2Ban. Pierwotnie opracowany przez Cyrila Jaquiera w 2004 roku, Fail2Ban to platforma oprogramowania do zapobiegania włamaniom, która chroni serwery przed atakami siłowymi.
O Fail2ban
Fail2ban skanuje pliki dziennika (/ var / log / apache / error_log) i zabrania adresów IP, które wykazują złośliwą aktywność, jak zbyt wiele błędnych haseł i szukanie luk itp.
Na ogół Fail2Ban służy do aktualizowania reguł zapory w celu odrzucania adresów IP przez określony czas, chociaż można również skonfigurować dowolne inne dowolne działanie (na przykład wysłać wiadomość e-mail).
Instalowanie Fail2Ban w systemie Linux
Fail2Ban znajduje się w większości repozytoriów głównych dystrybucji Linuksa, a dokładniej w najczęściej używanych do użytku na serwerach, takich jak CentOS, RHEL i Ubuntu.
W przypadku Ubuntu wystarczy wpisać następujące informacje, aby zainstalować:
sudo apt-get update && sudo apt-get install -y fail2ban
Natomiast w przypadku Centos i RHEL muszą wpisać:
yum install epel-release
yum install fail2ban fail2ban-systemd
Jeśli masz SELinux, ważne jest, aby zaktualizować polityki za pomocą:
yum update -y selinux-policy*
Gdy to zrobisz, powinni wiedzieć na pierwszym planie, że pliki konfiguracyjne Fail2Ban znajdują się w / etc / fail2ban.
Konfiguracja Fail2Ban jest podzielony głównie na dwa pliki kluczy; są to fail2ban.conf i jail.conf. fail2ban.confes większy plik konfiguracyjny Fail2Ban, w którym możesz skonfigurować ustawienia, takie jak:
- Poziom dziennika.
- Plik do zalogowania.
- Plik gniazda procesu.
- Plik pid.
jail.conf to miejsce, w którym konfigurujesz opcje, takie jak:
- Konfiguracja usług do obrony.
- Jak długo należy banować, jeśli powinny zostać zaatakowane.
- Adres e-mail do wysyłania raportów.
- Akcja podejmowana po wykryciu ataku.
- Wstępnie zdefiniowany zestaw ustawień, taki jak SSH.
konfiguracja
Teraz przejdziemy do części konfiguracyjnej, Pierwszą rzeczą, którą zrobimy, jest kopia zapasowa naszego pliku jail.conf zawierająca:
cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
I przystępujemy do edycji teraz z nano:
nano /etc/fail2ban/jail.local
Wewnątrz przechodzimy do sekcji [Default], gdzie możemy dokonać pewnych zmian.
Tutaj, w części „ingoreip”, znajdują się adresy IP, które zostaną pominięte i zostaną całkowicie zignorowane przez Fail2Ban, czyli w zasadzie adres IP serwera (lokalny) i inne, które Twoim zdaniem powinny zostać zignorowane.
Od tego momentu inne adresy IP, które nie uzyskały dostępu, będą zdane na łaskę zbanowania i poczekaj na liczbę sekund, przez które zostanie zbanowany (domyślnie jest to 3600 sekund), a fail2ban działa tylko po 6 nieudanych próbach
Po ogólnej konfiguracji wskażemy teraz usługę. Fail2Ban ma już predefiniowane filtry dla różnych usług. Więc po prostu zrób kilka adaptacji. Oto przykład:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
Po wprowadzeniu odpowiednich zmian w końcu będziesz musiał ponownie załadować Uruchomiony Fail2Ban:
service fail2ban reload
systemctl enable firewalld
systemctl start firewalld
Po wykonaniu tej czynności sprawdźmy szybko, czy działa Fail2Ban:
sudo fail2ban-client status
Odblokuj adres IP
Teraz, gdy udało nam się zablokować adres IP, co zrobić, jeśli chcemy odblokować adres IP? Aby to zrobić, możemy ponownie użyć klienta fail2ban i nakazać mu odblokowanie określonego adresu IP, jak w przykładzie poniżej.
sudo fail2ban-client set ssh unbanip xxx.xxx.xx.xx
Gdzie „xxx ....” Będzie to wskazany przez Ciebie adres IP.