Logueando tota activitat amb iptables

iptables, Per default té la regla filter en mode "D'acord tot", és a dir, que deixa entrar i sortir tota connexió des de o cap a la nostra PC, però, ¿I si volem loguear tota la info d'connexions fetes als nostres servers o PC?

Nota: El procediment que ara executaré és vàlid 100% en distribucions Debian/Basat en Debian, Pel que si vostè fa servir Slackware, Fedora, CentOS, openSUSE, Pot ser que el procediment no sigui el mateix, recomanem llegir i entendre el sistema de logueo de la seva distribució abans d'aplicar el que més endavant s'exposa. També hi ha la possibilitat d'instal·lar-rsyslog manualment en la seva distribució, si està disponible en els repositoris, encara que en aquest tutorial, s'explica també syslog a al final.

Tot bé fins ara, però, ¿On anem a loguear? Fàcil, a l'arxiu «/var/log/firewall/iptables.log«, Que no existeix, Fins que ho creiem nosaltres mateixos ...

1- Hem de crear el fitxer "iptables.log»Dins de la carpeta«/ Var / log / tallafocs»Que hem de crear-la, doncs tampoc existeix.

mkdir -p / var / log / tallafocs /
touch /var/log/firewall/iptables.log

2- Permisos, molt important ...

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

3- rsyslog manualment, El dimoni de logueo de Debian, llegeix la configuració des «/etc/rsyslog.d«, Pel que hem de crear un arxiu que jo anomenaré«firewall.conf»Des del qual rsyslog manualment, pugui interpretar el que volem fer.

touch /etc/rsyslog.d/firewall.conf

I dins el deixem caure suaument el següent contingut:

: Msg, contains, «iptables:» - / var / log / tallafocs / iptables.log
& ~

Ni tinc ni idea,què fan aquest parell de línies?

La primera línia comprova les dades logueados buscant la cadena «iptables: »I l'afegeix a l'arxiu«/var/log/firewall/iptables.log«

La segona, deté el processament de la informació logueada amb el patró anterior perquè no segueixi sent enviada a «/ Var / log / messages".

4- Rotant el fitxer de logs, amb logrotat.

Hem de crear dins de «/etc/logrotate.d/»El fitxer"firewall»El qual contindrà el següent contingut:

/var/log/firewall/iptables.log
{
rotate juliol
diari
mida 10M
datatext
Trobo a faltar
crea't 600 root adm
notificació buida
comprimir
retardar la compressió
postrotar
invoke-rc.d rsyslog manualment reload> / dev / null
script final
}

Per així poder rotar els logs a 7 vegades abans de esborrar-los, 1 cop a el dia, mida màxima de l'log 10MB, comprimit, amb data, sense donar error si el registre no existeix, creat com a root.

5- Reiniciar, com tot final feliç xD, el dimoni rsyslog manualment:

/etc/init.d/rsyslog restart

Com provar que tot això està treballant?

Provem amb SSH.

instal·lar OpenSSH (en cas que no el tinguin instal·lat ...):

apt-get install openssh-server

Abans de continuar, hem d'executar com a root en la consola:

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

Executant aquesta sentència iptables logueará info suficient per demostrar que el que hem fet no és en va. En aquesta sentència li diem a iptables que loguée tota informació que li arribi pel port 22. Per provar amb altres serveis, només canviar el número de port, com 3306 per a MySQL, per només citar un exemple, per a més informació, llegeixi aquest tutorial molt ben documentat i basat en exemples típics de les configuracions més usades.

SSH utilitza el port 22 per default, de manera que farem la prova amb ell. Tenint instal·lat openssh, ens connectem a ell.

ssh pepe @ servidor-de-prova

Per veure els logs, amb un tail resols aquest problema:

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

Iptables, en aquest exemple, loguea tot, dia, hora, ip, mac, etc, el que ho fa genial per monitoritzar els nostres servers. Una petita ajuda que mai està de més.

Ara, deixant-li que fem servir una altra distro, com deia a el principi, generalment s'usa rsyslog, O algun similar. Si el teu distro fa servir syslog, Per a realitzar el mateix exercici hem d'editar / modificar lleugerament syslog.conf

nano /etc/syslog.conf

Afegir i guardar la següent línia:

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

I després, ja saps, el final feliç:

/etc/init.d/sysklogd restart

Resultat: el mateix.

Això és tot per ara, en propers posts, seguirem jugant amb iptables.

referències:

Forces iptables to log to a different file

Log iptables to a separate file with rsyslog manualment

Iptables configuration tutorial on Fedora / RHEL systems


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   FerreryGuardia va dir

    Collonut aquest «mini-manual» per BOFH que esteu fent a poc a poc

  2.   Koratsuki va dir

    Gràcies, a poc a poc aniré donant detalls i dades d'iptables, que jo vaig haver de conèixer per la meva feina, que de vegades necessitem i estan molt mal explicats a Internet, tot per l'usuari ... xD

    1.    KZKG ^ Gaara va dir

      Aprofito per donar-te la benvinguda soci 😀
      De debò has MOLT d'aportar, tens coneixements realment avançats de xarxes, sistemes, tallafocs etc, així que seré (ja sóc) un dels tants lectors que tindràs jajaja.

      Salutacions i bé ... ja saps, per al que faci falta 😀

    2.    isar va dir

      Espero amb ànsies aquests articles ^^

  3.   Hugo va dir

    Camina Koratsuki, no sabia que frecuentabas aquest bloc.

    Per cert, una altra variant de registrar l'activitat de l'tallafocs és mitjançant el paquet ulogd, Que aquesta fet per la gent de el projecte netfilter per facilitar la separació d'aquest tipus de traces (permet guardar-les de diferents maneres). És l'acostament que sòl usar jo. Utilitzar-és fàcil, per exemple:

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

  4.   Koratsuki va dir

    Hauré de donar-li un F5 a el post, em quadra la forma de treballar de Ulogd, fins de MySQL loguea l'tipus: D.

  5.   MSX va dir

    Bon post, keep it up.

  6.   chinoloc va dir

    Hola capo, com va?
    Em podries donar un cop de mà?
    Ja que no em surt el de l'tutorial, i aquesta mes clar que l'aigua, no en que li erro