|
Myślę, że ludzie, którzy prowadzą Serwery Linux wiedzieć i wiedzieć OdrzućHOST y Fail2ban. Tym, którzy go nie znają, będę wyjaśniać trochę o tych dwóch aplikacje. |
Zainstalujemy i skonfigurujemy te dwie aplikacje, aby uniknąć późniejszych bólów głowy. Przede wszystkim wyjaśnimy, czym są te dwie aplikacje i jaka jest ich funkcja:
Fail2Ban
Jest to analizator dzienników, który wyszukuje nieudane próby rejestracji i blokuje adresy IP, z których te próby pochodzą. Jest rozpowszechniany na licencji GNU i zwykle działa na wszystkich systemach, które łączą się z systemem kontroli ataków lub lokalnym firewallem.
Fail2Ban ma świetną konfigurację i może również tworzyć reguły dla programów
własne lub osoby trzecie.
OdrzućHOST
Jest to narzędzie bezpieczeństwa napisane w Pythonie, które monitoruje dzienniki serwera dostępu, aby zapobiec atakom siłowym na serwer wirtualny. Program działa poprzez blokowanie adresów IP, które przekraczają określoną liczbę nieudanych prób połączenia.
Te aplikacje systemu Linux - DenyHosts i Fail2ban - mogą być używane osobno lub razem. W moim przypadku oboje pracują razem.
Instalacja i konfiguracja każdego z nich zależy od używanej dystrybucji. Ten post jest zorientowany na CentOS 6.3, chociaż różnice między innymi dystrybucjami nie są zbyt wyraźne.
No to bierz się do pracy.
Instalacja i konfiguracja Fail2Ban
Ta aplikacja generuje dynamiczne reguły w samej zaporze systemu Linux i jest odpowiedzialna za tworzenie reguł na żywo w IpTables.
instalacja
Do instalacji a:
mniam zainstaluj fail2ban
Jeśli pakiet się nie pojawi, musimy dodać niezbędne repozytorium:
obr/min -Uvh http://mirror.metrocast.net/fedora/epel/6/i386/epel-release-6-7.noarch.rpm
W ten sposób powinieneś rozpocząć instalację aplikacji wraz z jej zależnościami.
Teraz musimy skonfigurować Fail2Ban, aby analizował logi, które chcemy i blokować
IP, wysyłanie powiadomień pocztą elektroniczną. W tym celu musimy zmodyfikować plik jail.conf, który znajdujemy w / etc / fail2ban
cd / etc / fail2ban
nanojail.conf
W tym pliku należy wykonać następujące czynności:
- Modify to wartość bantime, ta wartość określa czas w sekundach, w którym adres IP atakującego zostanie zablokowany, domyślnie wartość wynosi 600 sekund.
- Znajdź wartość maxretry, która będzie określać, ile razy adres IP może mieć nieudane uwierzytelnianie przed zablokowaniem.
- Dodaj nasze adresy IP w parametrze ignoreip. W tym przypadku aplikacja zignoruje nasze uwierzytelnione adresy IP w tym parametrze.
[DEFAULT]
# „ignoreip” może być adresem IP, maską CIDR lub hostem DNS. Fail2ban nie będzie
# zbanuj hosta, który pasuje do adresu na tej liście. Może być kilka adresów
# zdefiniowane za pomocą separatora spacji.
ignorowaćip = 127.0.0.1
# „bantime” to liczba sekund, przez które host jest blokowany.
bantime = 600
# Host jest zbanowany, jeśli wygenerował "maxretry" podczas ostatniego "findtime"
# sekundy.
findtime = 600
# "maxretry" to liczba niepowodzeń, zanim host zostanie zbanowany.
maxretry = 3
Przykład tego, jak może wyglądać, wygląda następująco:
ignorujip = 127.0.0.1 190.25.242.75 192.168.1.0/24
bantime = 800
maxretry = 2
Skonfiguruj Fail2Ban i SSH
Aby wyszukać nieudane próby logowania SSH, modyfikujemy plik, aż będzie wyglądał następująco:
[ssh-iptables]
włączone = prawda
filter = sshd
action = iptables [name = SSH, port = 22, protocol = tcp] sendmail-whois [name = SSH, dest=FredySnake@outlook.com, sender = fail2ban @ localhost] logpath = / var / log / secure # To jest log, który przeanalizuje fail2ban
maxretry = 3 # każde IP, które ma trzy lub więcej nieudanych prób zostanie zablokowane.
bantime = 86400 # 24-godzinny ban czas wyrażony w sekundach
Nie zapominaj, że jeśli zmodyfikujesz port, na którym nasłuchuje SSH, musisz również zmodyfikować parametr portu.
Ta aplikacja działa nie tylko w przypadku nieautoryzowanego dostępu w SSH, ale także w przypadku apache, do czytania dzienników Asteriska itp.
Instalacja i konfiguracja DenyHOSTS
Jego działanie opiera się na wykorzystaniu pliku /etc/hosts.deny, czyli na blokowaniu adresów „atakujących” hostów, tworzeniu listy odrzucanych hostów.
Instalację z repozytoriów można uzyskać za pomocą następującego polecenia:
mniam zainstaluj denyhosts
Plik konfiguracyjny znajduje się w /etc/denyhosts.conf
Zanim przejdziemy dalej, jako ludzie możemy popełniać błędy i wykonywać typową „warstwę 8” podczas uzyskiwania dostępu do dowolnych usług i blokowania się. Aby tego uniknąć, edytujemy plik /etc/hosts.allow i dodajemy adresy IP maszyn, z których nie chcemy być ograniczani z powodu błędu dostępu.
Zmodyfikuj plik denyhosts.conf
Aby nie iść tak daleko w ustawieniach, w tym pliku będziemy tylko edytować i odkomentować niektóre parametry. To są:
SERWER_SYNC = http://xmlrpc.denyhosts.net:9911
SYNC_INTERVAL = 1 godz
SYNC_UPLOAD = tak
SYNC_DOWNLOAD = tak
SYNC_DOWNLOAD_THRESHOLD = 3
SYNC_DOWNLOAD_RESILIENCY = 5 godz
W ten sposób pozostawimy konfigurację praktycznie domyślnie, ale z dużym zabezpieczeniem przed atakami SSH.
nano /etc/hosts.allow
przykład:
sshd:127.0.0.1
sshd:192.168.1.10
sshd: 192.168.0. *
Następnie ponownie uruchamiamy usługę:
/etc/init.d/denyhosts ponowne uruchomienie
W ten sposób udzielamy pozwolenia na adres IP, zakres adresów IP i oczywiście na nasz interfejs sprzężenia zwrotnego. Coś, czego nie próbowałem - dlatego nie wiem, czy zadziała - to dodanie DNS do tego pliku; to znaczy z usługami takimi jak DynDNS. Jeśli to zrobię, powiem ci, jak poszło.
Dzięki pewnym opcjom i dostosowaniom upewnimy się również, że po upływie czasu, który wskażemy w konfiguracji DenyHOSTS, zapisane adresy są czyszczone i aktualizowane innymi listami utworzonymi przez innych - jeśli wskażemy - udzielając uprawnień dostępu serwer DenyHOSTS.
Aby od czasu do czasu wyczyścić zapisane adresy, zgodnie z konfiguracją, demon musi być uruchamiany z parametrem –purge:
/etc/init.d/denyhosts uruchom --purge
Oprócz tego musimy uwzględnić to na początku systemu:
chkconfig odrzucanie hostów włączone