Artykuły dotyczące tematu: fail2ban

dodany: 16.06.2013 | tagi: , , , ,

Luka DoS w fail2ban

0

W fail2ban, otwartoźródłowym programie służącym do zabezpieczania serwerów przed atakami brute-force, znaleziono lukę DoS.

Problem dotyczy wersji 0.8.9. Winne są filtry Apache (apache-auth.conf, apache-nohome.conf, apache-noscript.conf, apache-overflows.conf), w których używane jest niedokładne wyrażenie regularne.

Luka została załatana w wydaniu 0.8.10, zalecamy zatem jak najszybszą aktualizację.

dodany: 21.12.2012 | tagi: , ,

Pierwsze kroki z własnym serwerem – część 3.

5

W poprzedniej części poradnika skupiliśmy się na bezpieczeństwie przez ukrywanie. Trzeba być jednak świadomym, że ataki mogą nastąpić pomimo ukrywania pewnych informacji. Przede wszystkim dlatego, że istnieją sposoby i techniki wydobywania tych informacji mimo ich ukrycia (a raczej próby ukrycia). Najtragiczniejszym w skutkach, udanym atakiem, jest przejęcie serwera. Najczęściej następuje ono przez nienależycie zabezpieczony dostęp po serwera po protokole SSH. Oczywiście konfigurowaliśmy w pierwszej części poradnika serwer w taki sposób, aby zalogowanie się do niego po SSH było możliwe jedynie z kluczem RSA, ale istnieje możliwość, że ktoś przechwyci ten klucz (np. jeśli załapiemy jakiegoś wirusa, który odnajdzie klucz na naszym dysku i wyśle go do twórcy złośliwego oprogramowania). Klucz może też być wykorzystany przez osobę, która ma bezpośredni dostęp do naszego komputera.
Przez nienależycie skonfigurowany dostęp do jakiejkolwiek usługi (w tym SSH), mamy na myśli słabe hasło oraz brak zabezpieczenia przed wielokrotnym wpisywaniem nieprawidłowego hasła. Krótko mówiąc: należy zabezpieczyć się przed atakami typu BruteForce.

Musimy zatem zapewnić sobie system, który będzie monitorował próby uzyskania dostępu do serwera i przy określonej liczbie nieudanych prób z tego samego źródła, zablokuje je na określony przedział czasu. Dlaczego blokować tylko na określony czas, a nie na zawsze? Dlatego, że kiedyś to my sami możemy mieć problem z logowaniem (np. uszkodzona klawiatura) i nie możemy pozwolić na to, żeby odciąć się od własnego serwera. Załóżmy zatem, że chcemy za pomocą firewalla odciąć te adresy IP, z których następują 3 nieudane próby logowania. Blokować chcemy na 5 minut.

Jest na szczęście narzędzie, które pozwala na realizację tych założeń. Narzędziem tym jest Fail2Ban – otwarty projekt rozwijany nieprzerwanie od 2004r. Fail2Ban znajduje się w repozytoriach większości popularnych dystrybucji systemu Linux. W tym w Ubuntu 12.04 LTS oraz Debian Squeeze i Wheezy. Instalacja i konfiguracja Fail2Ban jest szybka i prosta.

  1. Odświeżamy listę pakietów
  2. Instalujemy Fail2Ban z repozytorium
  3. Domyślna konfiguracja Fail2Ban znajduje się w pliku /etc/fail2ban/jail.conf, jednakże nie powinniśmy wprowadzać zmian konfiguracyjnych w tym pliku. Zamiast tego, tworzymy plik z konfiguracją lokalną:
  4. W nowo utworzonym pliku można już wprowadzać zmiany konfiguracyjne. Dokonujemy tego przy użyciu dowolnego edytora (np. vim):
  5. Pierwsza część konfiguracji zawiera podstawowe ustawienia, którymi Fail2Ban będzie się kierował. Jeśli chcecie bardziej rozbudować ochronę przed nieudanymi próbami dostępu do różnych usług, to musicie dostosować opcje w poszczególnych sekcjach. Strona projektu Fail2Ban zawiera czytelną dokumentację, która nie powinna sprawić Wam problemu.

    Linia ignoreip = 127.0.0.1/8 wymienia adresy IP, które są wyłączone z monitorowania. Do parametru można dodawać własne adresy IP (oddzielone spacjami). Jest to biała lista adresów, które nie będą oceniane przez mechanizm.

    Linia bantime  = 600 określa czas w sekundach, przez który będzie blokowany atakujący adres IP.

    Linia maxretry = 3 określa maksymalną ilość niepoprawnych podejść do uwierzytelnienia.

    Linia destemail = root@localhost określa adres odbiorcy powiadomień, które Fail2Ban będzie wysyłał.

    Druga część konfiguracji zawiera definicje akcji, które będą podejmowane w przypadku wykrycia prób uwierzytelnienia:

    Linia Banaction określa krok, który będzie podjęty dla okreslonego, atakującego IP. Domyślna akcja, czyli „iptables-multiport”, znajduje się pod adresem etc/fail2ban/action.d/iptables-multiport.conf.

    Linia MTA odnosi się do rodzaju silnika e-mail, który zostanie użyty do powiadomienia o próbach ataku.

    Można także zmieniać protokół z tcp na udp, jeśli rodzaj chronionej usługi tego wymaga.

    Ostatnim krokiem w konfiguracji Fail2Ban, jest możliwość zmiany w konfiguracji sekcji SSH. Opcje te opisują sposób działania „strażnika” usługi SSH:

    Linia filter odnosi się do pliku konfiguracyjnego z zasadami śledzenia zdarzeń w usłudze SSH. Plik ten mozna znaleźć pod adresem /etc/fail2ban/filter.d/sshd.conf.

    Linia log path określa lokalizację pliku dziennika dla usługi, która jest monitorowana. To właśnie analiza dziennika pozwala na wykrycie prób ataków. Domyślna lokalizaja pliku dziennika dla SSH w systemie Ubuntu Linux Server 12.04 LTS to /var/log/auth.log.;

Pozostaje nam tylko zrestartować usługę Fail2Ban i powierzyć jej czuwanie nad dostępem do naszego serwera: