Registrazione di tutte le attività con iptables

iptablesPer impostazione predefinita ha la regola di filtro in modalità "Accetta tutto", cioè lascia entrare e uscire tutte le connessioni da o verso il nostro PC, ma cosa succede se vogliamo registrare tutte le informazioni sulle connessioni fatte ai nostri server o PC?

Nota: la procedura che ora eseguirò è valida al 100% nelle distribuzioni Debian/Basata su Debian, quindi se usi Slackware, Fedora, CentOS, OpenSuSe, la procedura potrebbe non essere la stessa, ti consigliamo di leggere e comprendere il sistema di login della tua distribuzione prima di applicare quanto spiegato di seguito. C'è anche la possibilità di installare rsyslog nella tua distribuzione, se è disponibile nei repository, sebbene in questo tutorial, anche syslog sia spiegato alla fine.

Finora tutto bene, ma cosaDove effettueremo il login? Facile, nel file «/var/log/firewall/iptables.log", che cosa non esiste, finché non ci crediamo noi stessi ...

1- Dobbiamo creare il file «iptables.log»Dentro la cartella«/ var / log / firewall»Che dobbiamo crearlo, perché neanche esso esiste.

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

2- Autorizzazioni, molto importanti ...

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

3- rsyslog, il demone di login Debian, legge la configurazione da «/etc/rsyslog.d«, Quindi dobbiamo creare un file che chiamerò«firewall.conf»Da cui rsyslog può interpretare ciò che vogliamo fare.

toccare /etc/rsyslog.d/firewall.conf

E dentro lo lasciamo caer delicatamente il seguente contenuto:

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

Non ne ho la minima ideacosa stanno facendo queste due righe?

La prima riga controlla i dati registrati per la stringa «iptable: »E lo aggiunge al file«/var/log/firewall/iptables.log«

Il secondo, interrompe l'elaborazione delle informazioni registrate con il pattern precedente in modo che non continui ad essere inviato a «/ var / log / messages«.

4- Rotazione del file di registro, con raggiunto.

Dobbiamo creare entro «/etc/logrotate.d/" il file "firewall»Che conterrà il seguente contenuto:

/var/log/firewall/iptables.log
{
ruotare 7
alle lezioni
dimensione 10M
dataext
missingok
creare 600 root adm
notifempty
comprimere
ritardocompresso
postruotare
invoke-rc.d rsyslog reload> / dev / null
finale
}

Per ruotare i log 7 volte prima di eliminarli, 1 volta al giorno, dimensione massima del log 10MB, compresso, datato, senza dare un errore se il log non esiste, creato come root.

5- Riavvia, come tutti gli xD a lieto fine, il demone rsyslog:

/etc/init.d/rsyslog riavvio

Come dimostrare che tutto ciò funziona?

Proviamo SSH.

installare OpenSSH (nel caso in cui non lo abbiano installato ...):

apt-get install openssh-server

Prima di continuare, dobbiamo eseguire come root in una console:

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

L'esecuzione di questa istruzione iptables registrerà abbastanza informazioni per mostrare che ciò che abbiamo fatto non è stato vano. In questa frase diciamo a iptables di registrare tutte le informazioni che gli arrivano attraverso la porta 22. Per testare con altri servizi, cambia semplicemente il numero di porta, come 3306 per MySQL, solo per citare un esempio, se vuoi maggiori informazioni, leggi questo tutorial molto ben documentato e sulla base di esempi tipici delle configurazioni più utilizzate.

SSH utilizza la porta 22 per impostazione predefinita, quindi la testeremo. Dopo aver installato openssh, ci colleghiamo ad esso.

ssh pepe @ test-server

Per vedere i log, con una coda risolvi questo problema:

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

Iptables, in questo esempio, registra tutto, giorno, ora, ip, mac, ecc., Il che lo rende ottimo per il monitoraggio dei nostri server. Un piccolo aiuto che non guasta mai.

Ora, prendendo atto che usiamo un'altra distribuzione, come ho detto all'inizio, è generalmente utilizzata rsyslogo qualcosa di simile. Se la tua distribuzione usa syslog, per eseguire lo stesso esercizio dobbiamo modificare / modificare leggermente syslog.conf

nano /etc/syslog.conf

Aggiungi e salva la seguente riga:

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

E poi, sai, il lieto fine:

/etc/init.d/sysklogd riavvio

Risultato: lo stesso.

Per ora è tutto, nei post futuri continueremo a giocare con iptables.

riferimenti:

Forza iptables ad accedere a un file diverso

Registra iptables in un file separato con rsyslog

Tutorial sulla configurazione di iptables su sistemi Fedora / RHEL


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Ferriera Guardia suddetto

    Ottimo questo «mini-manuale» per BOFH che stai facendo poco a poco

  2.   koratsuki suddetto

    Grazie, a poco a poco fornirò dettagli e dati di iptables, che dovevo conoscere dal mio lavoro, di cui a volte abbiamo bisogno e sono spiegati molto male su Internet, tutto dall'utente ... xD

    1.    KZKG ^ Gaara suddetto

      Colgo l'occasione per darti il ​​benvenuto membro 😀
      Hai davvero MOLTO da contribuire, hai una conoscenza davvero avanzata di reti, sistemi, firewall, ecc., Quindi sarò (lo sono già) uno dei tanti lettori che avrai ahahah.

      Saluti e beh ... sai, qualunque cosa serva 😀

    2.    isar suddetto

      Attendo con ansia quegli articoli ^^

  3.   Hugo suddetto

    Andiamo Koratsuki, non sapevo che frequentassi questo blog.

    A proposito, un'altra variante della registrazione dell'attività del firewall è l'utilizzo del pacchetto ulogd, che è realizzato dalle persone del progetto netfilter per facilitare la separazione di questo tipo di tracce (consente di salvarle in modi diversi). È l'approccio che utilizzo di solito. Usarlo è facile, ad esempio:

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

  4.   koratsuki suddetto

    Dovrò dare un F5 al post, il modo di lavorare di Ulogd si adatta a me, anche MySQL registra il tipo: D.

  5.   msx suddetto

    Buon post, continua così.

  6.   chinoloco suddetto

    Ciao capo, come va?
    Potresti darmi una mano?
    Dato che non ricevo il tutorial, ed è più chiaro dell'acqua, non so dove sbaglio