Rejestrowanie całej aktywności w iptables

iptablesDomyślnie ma regułę filtru w trybie „Akceptuj wszystko”, to znaczy przepuszcza i odrzuca wszystkie połączenia z lub do naszego komputera, ale co, jeśli chcemy rejestrować wszystkie informacje o połączeniach wykonanych na naszych serwerach lub komputerach?

Uwaga: Procedura, którą teraz wykonam, jest ważna w 100% w dystrybucjach Debian/Oparty na Debianie, więc jeśli używasz Slackware, Fedora, CentOS, Otwórz SuSe, procedura może nie być taka sama, zalecamy przeczytanie i zrozumienie systemu logowania Twojej dystrybucji przed zastosowaniem tego, co wyjaśniono poniżej. Istnieje również możliwość zainstalowania rsyslog w twojej dystrybucji, jeśli jest dostępny w repozytoriach, chociaż w tym samouczku syslog jest również wyjaśniony na końcu.

Jak dotąd wszystko dobrze, ale coGdzie mamy zamiar się zalogować? Spokojnie, w pliku «/var/log/firewall/iptables.log", co nie istnieje, dopóki sami w to nie uwierzymy ...

1- Musimy utworzyć plik «iptables.log»W folderze«/ var / log / firewall»Że musimy go stworzyć, bo on też nie istnieje.

mkdir -p / var / log / firewall /
dotknij /var/log/firewall/iptables.log

2- Uprawnienia, bardzo ważne ...

chmod 600 /var/log/firewall/iptables.log
chown root: adm /var/log/firewall/iptables.log

3- Logowanie Rsys . , , , , , , , , , , , , , ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, demon logowania Debiana, odczytuje konfigurację z «/etc/rsyslog.d«, Więc musimy stworzyć plik, który będę wywoływał«firewall.conf»Z którego rsyslog może zinterpretować to, co chcemy zrobić.

dotknij /etc/rsyslog.d/firewall.conf

Zostawiamy go w środku upaść delikatnie następująca treść:

: msg, zawiera, "iptables:" - / var / log / firewall / iptables.log
& ~

Nie mam najmniejszego pojęcia,co robią te kilka linii?

Pierwsza linia sprawdza zarejestrowane dane dla ciągu «iptable: »I dodaje go do pliku«/var/log/firewall/iptables.log«

Po drugie, zatrzymuje przetwarzanie informacji zarejestrowanych przy użyciu poprzedniego wzorca, aby nie były one dalej wysyłane do «/ var / log / messages".

4- Obracanie pliku dziennika za pomocą logrotate.

Musimy tworzyć wewnątrz «/etc/logrotate.d/" plik "zapora»Który będzie zawierał następującą treść:

/var/log/firewall/iptables.log
{
obróć 7
codziennie
rozmiar 10M
dataext
missingok
utwórz 600 root adm
niepoufny
kompresować
delaycompress
po obrocie ..
invoke-rc.d rsyslog reload> / dev / null
endcript
}

Aby logi obrócić 7 razy przed ich usunięciem, 1 raz dziennie, maksymalny rozmiar logu 10MB, skompresowane, opatrzone datą, bez podania błędu jeśli log nie istnieje, utworzony jako root.

5- Uruchom ponownie, jak wszystkie szczęśliwe zakończenie xD, demona rsyslog:

/etc/init.d/rsyslog uruchom ponownie

Jak udowodnić, że to wszystko działa?

Spróbujmy SSH.

zainstalować OpenSSH (na wypadek, gdyby go nie zainstalowali ...):

apt-get install openssh-server

Zanim przejdziemy dalej, musimy uruchomić jako root w konsoli:

iptables -A INPUT -p tcp --dport 22 --syn -j LOG --log-prefix "iptables: " --log-level 4

Wykonanie tej instrukcji iptables spowoduje zarejestrowanie wystarczającej ilości informacji, aby pokazać, że to, co zrobiliśmy, nie poszło na marne. W tym oświadczeniu mówimy iptables, aby rejestrował wszystkie informacje, które docierają do niego przez port 22. Aby przetestować z innymi usługami, po prostu zmień numer portu, na przykład 3306 dla MySQL, aby zacytować przykład, jeśli chcesz uzyskać więcej informacji, przeczytaj ten bardzo dobrze udokumentowany tutorial i na podstawie typowych przykładów najczęściej używanych konfiguracji.

SSH domyślnie używa portu 22, więc przetestujemy z nim. Po zainstalowaniu openssh łączymy się z nim.

ssh pepe @ test-server

Aby zobaczyć dzienniki, z ogonem rozwiązujesz ten problem:

ogon -f /var/log/firewall/iptables.log

W tym przykładzie Iptables rejestruje wszystko, dzień, godzinę, adres IP, komputer Mac itp., Co czyni go doskonałym do monitorowania naszych serwerów. Mała pomoc, która nigdy nie boli.

Teraz, biorąc pod uwagę, że używamy innej dystrybucji, jak powiedziałem na początku, jest ona ogólnie używana rsysloglub coś podobnego. Jeśli Twoja dystrybucja używa syslog, aby wykonać to samo ćwiczenie, musimy nieco edytować / modyfikować syslog.conf

nano /etc/syslog.conf

Dodaj i zapisz następujący wiersz:

kern.warning /var/log/firewall/iptables.log

A potem, wiesz, szczęśliwe zakończenie:

/etc/init.d/sysklogd ponowne uruchomienie

Wynik: ten sam.

To wszystko na razie, w przyszłych postach będziemy dalej bawić się iptables.

Referencje:

Zmusza iptables do logowania się do innego pliku

Zaloguj iptables do oddzielnego pliku za pomocą rsyslog

Samouczek konfiguracji Iptables w systemach Fedora / RHEL


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   FerreryGuardia powiedział

    Świetnie, ten «mini podręcznik» dla BOFH, który robisz krok po kroku

  2.   koratsuki powiedział

    Dzięki, krok po kroku podam szczegóły i dane iptables, które musiałem znać z mojej pracy, których czasami potrzebujemy i są bardzo słabo wyjaśnione w Internecie, wszystko przez użytkownika ... xD

    1.    KZKG ^ Gaara powiedział

      Korzystam z okazji, aby powitać Państwa Członku 😀
      Naprawdę masz DUŻO do wniesienia, masz naprawdę zaawansowaną wiedzę na temat sieci, systemów, zapór sieciowych itp., Więc będę (jestem) jednym z wielu czytelników, których będziesz mieć hahaha.

      Pozdrowienia i cóż ... wiesz, cokolwiek to zajmie 😀

    2.    isara powiedział

      Nie mogę się doczekać tych przedmiotów ^^

  3.   Hugo powiedział

    No dalej, Koratsuki, nie wiedziałem, że odwiedzasz ten blog.

    Nawiasem mówiąc, inny wariant rejestrowania aktywności zapory korzysta z pakietu ulogd, który jest wykonywany przez ludzi projektu netfilter w celu ułatwienia separacji tego typu śladów (pozwala na ich zapisywanie na różne sposoby). To podejście, które zwykle stosuję. Korzystanie z niego jest łatwe, na przykład:

    iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"

  4.   koratsuki powiedział

    Będę musiał podać F5 do posta, sposób pracy Ulogda mi pasuje, nawet logi MySQL typu: D.

  5.   msx powiedział

    Dobry post, tak trzymaj.

  6.   Chinoloco. powiedział

    Witaj szefie, jak leci?
    Czy możesz mi pomóc?
    Ponieważ nie dostaję samouczka, a jest wyraźniejszy niż woda, nie wiem, gdzie się mylę