iptablesÎn mod implicit, are regula de filtrare în modul „Acceptare totală”, adică permite intrarea și ieșirea tuturor conexiunilor de la sau către computerul nostru, dar dacă vrem să înregistrăm toate informațiile despre conexiunile făcute la serverele sau computerele noastre?
Notă: Procedura pe care o voi executa acum este valabilă 100% în distribuții Debian/Bazat pe Debian, deci dacă folosiți Slackware, Fedora, CentOS, OpenSuSe, procedura poate să nu fie aceeași, vă recomandăm să citiți și să înțelegeți sistemul de autentificare al distribuției dvs. înainte de a aplica ceea ce este explicat mai jos. Există, de asemenea, posibilitatea de a instala rsyslog în distribuția dvs., dacă este disponibil în depozite, deși în acest tutorial, syslog este explicat și la sfârșit.
Toate bune până acum, dar ceUnde ne vom conecta? Ușor, în fișierul «/var/log/firewall/iptables.log", ce nu există, până credem noi înșine ...
1- Trebuie să creăm fișierul «iptables.log»În interiorul dosarului«/ var / log / firewall»Că trebuie să o creăm, pentru că nici ea nu există.
mkdir -p / var / log / firewall /
atingeți /var/log/firewall/iptables.log
2- Permisiuni, foarte importante ...
chmod 600 /var/log/firewall/iptables.log
rădăcină chown: adm /var/log/firewall/iptables.log
3- rsyslog, demonul de autentificare Debian, citește configurația din «/etc/rsyslog.d«, Deci trebuie să creăm un fișier pe care îl voi numi«firewall.conf»Din care rsyslog poate interpreta ceea ce vrem să facem.
atingeți /etc/rsyslog.d/firewall.conf
Și înăuntru îl lăsăm a cădea ușor următorul conținut:
: msg, conține, "iptables:" - / var / log / firewall / iptables.log
& ~
Nu am nici cea mai mică idee,ce fac aceste perechi de linii?
Prima linie verifică datele înregistrate pentru șirul «iptables: »Și îl adaugă în fișierul«/var/log/firewall/iptables.log«
Al doilea, oprește procesarea informațiilor conectate cu modelul anterior, astfel încât să nu fie trimise în continuare către «/ var / log / messages“.
4- Rotirea fișierului jurnal, cu realizat.
Trebuie să creăm în interiorul «/etc/logrotate.d/" fișierul "firewall»Care va conține următorul conținut:
/var/log/firewall/iptables.log
{
rotiți 7
zilnic
dimensiunea 10M
dateext
lipsingok
creați 600 de root root
notificare gol
comprima
delaycompress
postrotate
invoke-rc.d rsyslog reload> / dev / null
final
}
Pentru a roti jurnalele de 7 ori înainte de a le șterge, 1 dată pe zi, dimensiunea maximă a jurnalului 10 MB, comprimată, datată, fără a da o eroare dacă jurnalul nu există, creat ca root.
5- Reporniți, ca toate fericirile xD, demonul rsyslog:
/etc/init.d/rsyslog reporniți
Cum să demonstrezi că toate acestea funcționează?
Să încercăm SSH.
instala OpenSSH (în caz că nu îl au instalat ...):
apt-get install openssh-server
Înainte de a continua, trebuie să rulăm ca root într-o consolă:
iptables -A INPUT -p tcp --dport 22 --syn -j LOG --log-prefix "iptables: " --log-level 4
Rularea acestei instrucțiuni iptables va înregistra suficiente informații pentru a arăta că ceea ce am făcut nu este în zadar. În această propoziție îi spunem iptables să înregistreze toate informațiile care ajung prin portul 22. Pentru a testa cu alte servicii, trebuie doar să schimbați numărul portului, cum ar fi 3306 pentru MySQL, doar pentru a cita un exemplu, dacă doriți mai multe informații, citiți acest tutorial foarte bine documentat și pe baza exemplelor tipice ale celor mai utilizate configurații.
SSH folosește implicit portul 22, așa că vom testa cu el. După ce am instalat openssh, ne conectăm la acesta.
ssh pepe @ test-server
Pentru a vedea jurnalele, cu o coadă rezolvați această problemă:
coada -f /var/log/firewall/iptables.log
Iptables, în acest exemplu, înregistrează totul, zi, oră, ip, mac etc., ceea ce îl face excelent pentru monitorizarea serverelor noastre. Un mic ajutor care nu doare niciodată.
Acum, luând act de faptul că folosim o altă distro, așa cum am spus la început, este în general folosit rsyslog, sau ceva similar. Dacă distribuția dvs. folosește syslog, pentru a efectua același exercițiu trebuie să edităm / modificăm ușor syslog.conf
nano /etc/syslog.conf
Adăugați și salvați următoarea linie:
kern.warning /var/log/firewall/iptables.log
Și apoi, știi, sfârșitul fericit:
/etc/init.d/sysklogd reporniți
Rezultat: la fel.
Asta este tot deocamdată, în postările viitoare, vom continua să ne jucăm cu iptables.
referințe:
Forțați iptables să se conecteze la un alt fișier
Înregistrați iptables într-un fișier separat cu rsyslog
Tutorial de configurare Iptables pe sistemele Fedora / RHEL
Excelent acest „mini-manual” pentru BOFH pe care îl faceți încetul cu încetul
Mulțumesc, încetul cu încetul voi da detalii și date despre iptables, pe care trebuia să le știu din munca mea, de care uneori avem nevoie și sunt foarte prost explicate pe internet, toate de către utilizator ... xD
Profit de această ocazie pentru a vă întâmpina membru 😀
Chiar ai foarte mult de contribuit, ai cunoștințe avansate cu privire la rețele, sisteme, firewall-uri etc., așa că voi fi (sunt deja) unul dintre mulți cititori pe care îi vei avea hahaha.
Salutări și bine ... știi, orice este nevoie 😀
Aștept cu nerăbdare acele articole ^^
Haide Koratsuki, nu știam că ai frecventat acest blog.
Apropo, o altă variantă de înregistrare a activității firewall-ului este utilizarea pachetului ulogd, care este realizat de oamenii proiectului netfilter pentru a facilita separarea acestui tip de urme (permite salvarea lor în moduri diferite). Este abordarea pe care o folosesc de obicei. Utilizarea acestuia este ușoară, de exemplu:
iptables -A INPUT -p udp -m multiport ! --ports 53,67:68 -m state --state NEW -j ULOG --ulog-prefix "Solicitud UDP dudosa"
Va trebui să dau postării un F5, modul de lucru Ulogd mi se potrivește, chiar și MySQL înregistrează tipul: D.
Post bun, ține-o așa.
Bună șefule, cum merge?
Ai putea sa ma ajuti?
Deoarece nu primesc tutorialul și este mai clar decât apa, nu știu unde greșesc