Logger all aktivitet med iptables

iptablesSom standard har den filterregelen i "Godta alle" -modus, det vil si at den slipper inn og ut alle tilkoblinger fra eller til PCen vår, men hva om vi vil logge all informasjon om tilkoblinger til våre servere eller PCer?

Merk: Fremgangsmåten jeg nå skal utføre er gyldig 100% i distribusjoner Debian/Debian-basert, så hvis du bruker Slackware, Fedora, CentOS, OpenSuSe, prosedyren er kanskje ikke den samme, vi anbefaler å lese og forstå distribusjonens påloggingssystem før du bruker det som er forklart nedenfor. Det er også muligheten for å installere rsyslog i distribusjonen din, hvis den er tilgjengelig i repositoriene, selv om syslog også blir forklart på slutten i denne opplæringen.

Alt bra så langt, men hvaHvor skal vi logge inn? Enkelt, i filen «/var/log/firewall/iptables.log", hva eksisterer ikke, til vi selv tror det ...

1- Vi må opprette filen «iptables.log»Inne i mappen«/ var / log / brannmur»At vi må lage den, for den eksisterer heller ikke.

mkdir -p / var / log / brannmur /
trykk på /var/log/firewall/iptables.log

2- Tillatelser, veldig viktig ...

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

3- rsyslog, Debian-påloggingsdemonen, leser konfigurasjonen fra «/etc/rsyslog.d«, Så vi må lage en fil som jeg vil kalle«brannmur.konf»Fra hvilken rsyslog kan tolke hva vi vil gjøre.

trykk på /etc/rsyslog.d/firewall.conf

Og inne forlater vi ham å falle forsiktig følgende innhold:

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

Jeg har ikke den minste anelse,hva gjør disse par linjene?

Den første linjen sjekker de loggede dataene for strengen «iptables: »Og legger det til filen«/var/log/firewall/iptables.log«

Den andre stopper behandlingen av informasjonen som er logget inn med forrige mønster, slik at den ikke fortsetter å bli sendt til «/ var / log / meldinger".

4- Roterer loggfilen, med oppnådd.

Vi må skape innen «/etc/logrotate.d/" filen "brannmur»Som vil inneholde følgende innhold:

/var/log/firewall/iptables.log
{
roter 7
daglig
størrelse 10M
datatekst
jeg savner
opprette 600 root adm
varslingsløs
komprimere
forsinkelse
etterrotere
påkalle-rc.d rsyslog på nytt> / dev / null
sluttskrift
}

For å rotere loggene 7 ganger før du sletter dem, 1 gang om dagen, maksimal loggstørrelse 10 MB, komprimert, datert, uten å gi en feil hvis loggen ikke eksisterer, opprettet som root.

5- Start på nytt, som alle happy ending xD, rsyslog-demonen:

/etc/init.d/rsyslog start på nytt

Hvordan bevise at alt som fungerer?

La oss prøve SSH.

installere OpenSSH (i tilfelle de ikke har det installert ...):

apt-get install openssh-server

Før du fortsetter, må vi kjøre som root i en konsoll:

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

Å kjøre denne iptables-setningen vil logge nok informasjon til å vise at det vi har gjort ikke er forgjeves. I denne setningen ber vi iptables logge all informasjon som kommer til den gjennom port 22. For å teste med andre tjenester, er det bare å endre portnummeret, som 3306 for MySQL, bare for å nevne et eksempel, hvis du vil ha mer informasjon, les denne veldig godt dokumenterte opplæringen og basert på typiske eksempler på de mest brukte konfigurasjonene.

SSH bruker port 22 som standard, så vi vil teste med den. Etter å ha installert openssh, kobler vi til den.

ssh pepe @ test-server

For å se loggene, med en hale, løser du dette problemet:

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

Iptables, i dette eksemplet, logger alt, dag, tid, ip, mac, etc, noe som gjør det flott å overvåke serverne våre. Litt hjelp som aldri gjør vondt.

Legg merke til at vi bruker en annen distro, som jeg sa i begynnelsen, den brukes vanligvis rsyslog, eller noe lignende. Hvis distro bruker syslog, for å utføre den samme øvelsen, må vi redigere / endre litt syslog.conf

nano /etc/syslog.conf

Legg til og lagre følgende linje:

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

Og så vet du, den lykkelige avslutningen:

/etc/init.d/sysklogd start på nytt

Resultat: det samme.

Det er alt for nå, i fremtidige innlegg fortsetter vi å spille med iptables.

referanser:

Tving iptables til å logge på en annen fil

Logg iptables til en egen fil med rsyslog

Konfigurasjonsveiledning for Iptables på Fedora / RHEL-systemer


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   FerreryGuardia sa

    Flott denne «mini-manualen» til BOFH som du gjør litt etter litt

  2.   koratsuki sa

    Takk, litt etter litt vil jeg gi detaljer og data om iptables, som jeg måtte vite fra arbeidet mitt, som noen ganger vi trenger, og som er veldig dårlig forklart på Internett, alt av brukeren ... xD

    1.    KZKG ^ Gaara sa

      Jeg benytter anledningen til å ønske deg medlem velkommen 😀
      Du har virkelig MYE å bidra, du har virkelig avansert kunnskap om nettverk, systemer, brannmurer osv., Så jeg vil være (jeg er) en av de mange leserne du vil ha hahaha.

      Hilsen og vel ... du vet, uansett hva det tar 😀

    2.    isar sa

      Jeg gleder meg til disse artiklene ^^

  3.   Hugo sa

    Kom igjen Koratsuki, jeg visste ikke at du besøkte denne bloggen.

    Forresten, en annen variant av logging av brannmuraktivitet bruker pakken ulogd, som er laget av folket i netfilterprosjektet for å lette separasjonen av denne typen spor (gjør det mulig å lagre dem på forskjellige måter). Det er tilnærmingen jeg vanligvis bruker. Å bruke det er enkelt, for eksempel:

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

  4.   koratsuki sa

    Jeg må gi innlegget en F5, slik Ulogd fungerer passer meg, selv MySQL logger typen: D

  5.   MSX sa

    Godt innlegg, fortsett det.

  6.   chinoloco sa

    Hei sjef, hvordan går det?
    Kan du gi meg en hånd?
    Siden jeg ikke får veiledningen, og den er klarere enn vann, vet jeg ikke hvor jeg tar feil