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
Świetnie, ten «mini podręcznik» dla BOFH, który robisz krok po kroku
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
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 😀
Nie mogę się doczekać tych przedmiotów ^^
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"
Będę musiał podać F5 do posta, sposób pracy Ulogda mi pasuje, nawet logi MySQL typu: D.
Dobry post, tak trzymaj.
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ę