Logging dei pacchetti
E' possibile loggare i pacchetti tramite il target LOG (log tramite syslog con facility kern) o ULOG (log tramite programmi in userspace).
Entrambi i target, a differenza di molti altri, NON interrompono il preseguimento di una catena.
Per pianificare le logiche di logging è opportuno:
- Decidere cosa si vuole loggare (di solito i pacchetti droppati)
- Definire come sono impostare le regole sul firewall
- Applicare le regole di log al posto giusto.
Se si vuole loggare solo i pacchetti droppati inserire una regola di LOG appena prima di ogni analoga regola di DROP.
Se si ha un DROP di default e si prevedono solo regole di ACCEPT, mettere la regola di LOG alla fine di una catena.
Nel target LOG
è possibile definire:
- il livello di criticità per syslog (--log-level level
);
- un prefisso, fino a 32 caratteri, per distinguere una riga di log (--log-prefix prefix
);
- i dettagli da includere (--log-tcp-sequence
, --log-tcp-options
, --log-ip-options
)
Nel target ULOG
è possibile definire:
- il gruppo netlink (1-32) a cui il kernel manda in multicast i pacchetti (--ulog-nlgroup nlgroup
). Default = 1.
- un prefisso, fino a 32 caratteri, per distinguere una riga di log (--ulog-prefix prefix
);
- numeri di byte da copiare in userspace (Default = 0, tutti i byte del pacchetto) (--ulog-cprange size
)
- numero di pacchetti da mettere in code nel kernel prima di inviarli al netlink. Default = 1 (--ulog-qthreshold size
)