GNU/Linux >> Linux Esercitazione >  >> Linux

Come registrare i pacchetti eliminati dal firewall di Linux IPTables in un file di registro

Questo articolo fa parte della nostra serie di articoli Linux IPtables in corso. Quando le cose non funzionano come previsto con le regole di IPTables, potresti voler registrare i pacchetti eliminati da IPTables a scopo di risoluzione dei problemi. Questo articolo spiega come registrare i pacchetti Firewal rilasciati sia in entrata che in uscita.

Se non conosci IPTables, prima mettiti comodo con i concetti fondamentali di IPTables.

Registra tutti i pacchetti di input eliminati

Per prima cosa dobbiamo capire come registrare tutti i pacchetti di input persi da iptables su syslog.

Se hai già un intero gruppo di regole del firewall iptables, aggiungile in fondo, che registrerà tutti i pacchetti di input eliminati (in entrata) in /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

Nell'esempio precedente, esegue le seguenti operazioni:

  • iptables -N LOGGING:crea una nuova catena chiamata LOGGING
  • iptables -A INPUT -j LOGGING:Tutti i restanti pacchetti in arrivo salteranno alla catena LOGGING
  • line#3:registra i pacchetti in arrivo su syslog (/var/log/messages). Questa riga è spiegata di seguito in dettaglio.
  • iptables -A LOGGING -j DROP:Infine, elimina tutti i pacchetti che sono arrivati ​​alla catena LOGGING. cioè ora elimina davvero i pacchetti in arrivo.

Nella riga n. 3 sopra, ha le seguenti opzioni per la registrazione dei pacchetti eliminati:

  • -m limit:utilizza il modulo di corrispondenza dei limiti. Usando questo puoi limitare la registrazione usando l'opzione –limit.
  • –limit 2/min:indica il tasso di corrispondenza medio massimo per la registrazione. In questo esempio, per i pacchetti simili limiterà la registrazione a 2 al minuto. È inoltre possibile specificare 2/secondo, 2/minuto, 2/ora, 2/giorno. Questo è utile quando non vuoi ingombrare i tuoi messaggi di registro con messaggi ripetuti degli stessi pacchetti eliminati.
  • -j LOG:indica che la destinazione per questo pacchetto è LOG. cioè scrivere nel file di registro.
  • –log-prefix “IPTables-Dropped:” Puoi specificare qualsiasi prefisso di log, che verrà aggiunto ai messaggi di log che verranno scritti nel file /var/log/messages
  • –log-level 4 Questi sono i livelli di syslog standard. 4 è un avviso. Puoi utilizzare un numero compreso tra 0 e 7. 0 è emergenza e 7 è debug.

Registra tutti i pacchetti in uscita eliminati

È lo stesso di sopra, ma la seconda riga sotto ha OUTPUT invece di 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

Registra tutti i pacchetti eliminati (sia in entrata che in uscita)

È lo stesso di prima, ma prenderemo la riga numero 2 dai due esempi precedenti e la aggiungeremo qui. cioè avremo una riga separata per INPUT e OUTPUT che salterà alla catena LOGGING.

Per registrare i pacchetti eliminati sia in entrata che in uscita, aggiungi le seguenti righe in fondo alle regole del firewall iptables esistenti.

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

Inoltre, come spiegato in precedenza, per impostazione predefinita, iptables utilizzerà /var/log/messages per registrare tutti i messaggi. Se vuoi cambiarlo nel tuo file di registro personalizzato aggiungi la seguente riga a /etc/syslog.conf

kern.warning   /var/log/custom.log

Come leggere il registro IPtables

Quello che segue è un esempio delle righe che sono state registrate in /var/log/messages quando un pacchetto in entrata e in uscita è stato eliminato.

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

Nell'output sopra:

  • IPTables-Dropped:questo è il prefisso che abbiamo utilizzato nella nostra registrazione specificando l'opzione –log-prefix
  • IN=em1 Indica l'interfaccia utilizzata per questi pacchetti in arrivo. Questo sarà vuoto per i pacchetti in uscita
  • OUT=em1 Indica l'interfaccia utilizzata per i pacchetti in uscita. Questo sarà vuoto per i pacchetti in arrivo.
  • SRC=L'indirizzo IP di origine da cui ha avuto origine il pacchetto
  • DST=L'indirizzo IP di destinazione a cui sono stati inviati i pacchetti
  • LEN=Lunghezza del pacchetto
  • PROTO=Indica il protocollo (come vedi sopra, la 1a riga è per il protocollo ICMP in uscita, la 2a riga è per il protocollo TCP in entrata)
  • SPT=Indica la porta di origine
  • DPT=Indica la porta di destinazione. Nella seconda riga sopra, la porta di destinazione è 443. Ciò indica che i pacchetti HTTPS in entrata sono stati eliminati

Esercitazioni aggiuntive su IPtables

  • Esercitazione sul firewall di Linux:tabelle IPTables, catene, nozioni fondamentali sulle regole
  • Linux IPTables:come aggiungere regole firewall (con l'esempio di SSH consentito)
  • Linux IPTables:esempi di regole in entrata e in uscita (SSH e HTTP)
  • IPTables Flush:elimina/rimuove tutte le regole su RedHat e CentOS Linux
  • 25 Esempi di regole di IPTable Linux usate più di frequente

Linux
  1. Come gestire le capacità dei file Linux

  2. Come trovare un file in Linux

  3. Linux:come configurare il file Syslog.conf, per registrare i messaggi di Iptables in un file separato?

  4. Come svuotare un file di registro in Linux

  5. Come stampare l'output del comando Linux su un file?

Come verificare il checksum su Linux

Come configurare iptables Firewall in Linux

Come modificare il file di registro di Sudo predefinito in Linux

Come collegare simbolicamente un file in Linux

Come proteggere un firewall Linux con le regole IPtables

Come configurare un firewall sul tuo server Linux