GNU/Linux >> Znalost Linux >  >> Linux

Jak protokolovat Linux IPTables Firewall zahozené pakety do souboru protokolu

Tento článek je součástí naší pokračující série článků Linux IPTables. Když věci nefungují podle očekávání s vašimi pravidly IPTables, možná budete chtít zaznamenat zahozené pakety IPTables pro účely odstraňování problémů. Tento článek vysvětluje, jak protokolovat příchozí i odchozí zahozené pakety firewallu.

Pokud jste v IPTables nováčkem, nejprve se seznamte se základními koncepty IPTables.

Zaznamenat všechny zahozené vstupní pakety

Nejprve musíme pochopit, jak zaznamenat všechny zahozené vstupní pakety iptables do syslog.

Pokud již máte celou hromadu pravidel brány firewall iptables, přidejte je dolů, což zaznamená všechny zahozené vstupní pakety (příchozí) do /var/log/messages

iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP

Ve výše uvedeném příkladu provede následující:

  • iptables -N LOGGING:Vytvořte nový řetězec s názvem LOGGING
  • iptables -A INPUT -j LOGGING:Všechny zbývající příchozí pakety přeskočí do řetězce LOGGING
  • řádek č. 3:Zaznamenejte příchozí pakety do syslog (/var/log/messages). Tento řádek je podrobně vysvětlen níže.
  • iptables -A LOGGING -j DROP:Nakonec zahoďte všechny pakety, které přišly do řetězce LOGGING. tj. nyní skutečně zahodí příchozí pakety.

Ve výše uvedeném řádku č. 3 má následující možnosti pro protokolování zahozených paketů:

  • -m limit:Používá modul shody limitů. Pomocí tohoto můžete omezit protokolování pomocí volby –limit.
  • –limit 2/min:Udává maximální průměrnou míru shody pro protokolování. V tomto příkladu pro podobné pakety omezí protokolování na 2 za minutu. Můžete také zadat 2/sekundu, 2/minutu, 2/hodinu, 2/den. To je užitečné, když nechcete zahlcovat zprávy protokolu opakovanými zprávami o stejných zahozených paketech.
  • -j LOG:Udává, že cílem pro tento paket je LOG. tj. zápis do souboru protokolu.
  • –log-prefix “IPTables-Dropped:” Můžete zadat libovolnou předponu protokolu, která bude připojena ke zprávám protokolu, které budou zapsány do souboru /var/log/messages
  • –log-level 4 Toto jsou standardní úrovně syslog. 4 je varování. Můžete použít číslo z rozsahu 0 až 7. 0 je nouzové a 7 je ladění.

Zaprotokolovat všechny zahozené odchozí pakety

To je stejné jako výše, ale 2. řádek níže má OUTPUT místo INPUT.

iptables -N LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP

Zaznamenat všechny zahozené pakety (příchozí i odchozí)

To je stejné jako předtím, ale vezmeme řádek číslo 2 z předchozích dvou příkladů a přidáme ho sem. tj. Budeme mít samostatný řádek pro INPUT a OUTPUT, který přeskočí na řetězec LOGGING.

Chcete-li zaznamenat příchozí i odchozí zahozené pakety, přidejte následující řádky na konec stávajících pravidel brány firewall iptables.

iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A OUTPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP

Také, jak jsme vysvětlili dříve, iptables ve výchozím nastavení použijí /var/log/messages k protokolování všech zpráv. Pokud to chcete změnit na svůj vlastní soubor protokolu, přidejte následující řádek do /etc/syslog.conf

kern.warning   /var/log/custom.log

Jak číst IPTables Log

Následuje ukázka řádků, které byly zaznamenány do /var/log/messages, když byly zahozeny příchozí a odchozí pakety.

Aug  4 13:22:40 centos kernel: IPTables-Dropped: IN= OUT=em1 SRC=192.168.1.23 DST=192.168.1.20 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=59228 SEQ=2
Aug  4 13:23:00 centos kernel: IPTables-Dropped: IN=em1 OUT= MAC=a2:be:d2:ab:11:af:e2:f2:00:00 SRC=192.168.2.115 DST=192.168.1.23 LEN=52 TOS=0x00 PREC=0x00 TTL=127 ID=9434 DF PROTO=TCP SPT=58428 DPT=443 WINDOW=8192 RES=0x00 SYN URGP=0

Ve výše uvedeném výstupu:

  • IPTables-Dropped:Toto je předpona, kterou jsme použili v našem protokolování zadáním volby –log-prefix
  • IN=em1 Označuje rozhraní, které bylo použito pro tyto příchozí pakety. Toto bude prázdné pro odchozí pakety
  • OUT=em1 Označuje rozhraní, které bylo použito pro odchozí pakety. Toto bude prázdné pro příchozí pakety.
  • SRC=Zdrojová IP adresa, odkud paket pochází
  • DST=Cílová IP adresa, kam byly pakety odeslány
  • LEN=Délka paketu
  • PROTO=Označuje protokol (jak vidíte výše, 1. řádek je pro odchozí protokol ICMP, 2. řádek je pro příchozí protokol TCP)
  • SPT=Označuje zdrojový port
  • DPT=Označuje cílový port. Ve 2. řádku výše je cílový port 443. To znamená, že příchozí pakety HTTPS byly zahozeny

Další výukové programy pro IPTtables

  • Výukový program brány firewall systému Linux:Tabulky IPTables, řetězce, základy pravidel
  • Linux IPTables:Jak přidat pravidla brány firewall (s příkladem Allow SSH)
  • Linuxové IPTables:Příklady pravidel příchozí a odchozí pošty (SSH a HTTP)
  • IPTables Flush:Smazat / odebrat všechna pravidla na RedHat a CentOS Linux
  • 25 nejčastěji používaných příkladů pravidel Linux IPTables

Linux
  1. Linux Firewall

  2. Jak vyprázdnit soubor protokolu v Linuxu

  3. Jak přejmenovat soubor v Linuxu?

  1. Jak spravovat možnosti souborů Linux

  2. Jak nastavit vzdálené přihlášení Rsyslog v systému Linux (Central Log Server)

  3. Jak vytisknout výstup příkazu Linuxu do souboru?

  1. Jak najít soubor v Linuxu

  2. Linux – Jak nakonfigurovat soubor Syslog.conf, protokolovat zprávy Iptables do samostatného souboru?

  3. Linux IPTables:Jak přidat pravidla brány firewall (s příkladem Allow SSH)