Deși Linux este unul dintre cele mai sigure și mai sigure sisteme de operare, datorită caracteristicilor sale, va exista întotdeauna un fel de vulnerabilitate, fie inerentă sistemului, fie neintenționată de utilizator. Pentru a crește securitatea Linux avem diverse instrumente concepute pentru a proteja servicii, procese, profiluri sau fișiere și astăzi ne vom concentra pe unul special numit Iptables.
Ce este IptablesIptables este un instrument de firewall avansat care este integrat în kernel-ul Linux care face parte dintr-un proiect numit netfilter.
Datorită Iptables vom putea gestiona cu precizie și direct toate conexiunile de intrare și ieșire la server. Iptables este dezvoltat pentru adresarea IPv4, în timp ce pentru IPv6 avem Ip6tables.
1. Structura Iptables în Linux
Structura pe care o găsim în Iptables este următoarea:
BrutEste responsabil pentru filtrarea pachetelor înainte de orice altă tabelă existentă
FiltruAcesta este tabelul implicit al aplicației
NatEste folosit pentru traducerea adreselor de rețea
MangrovăEste utilizat pentru modificarea pachetelor de rețea specializate
SecuritatePoate fi implementat pentru regulile de conectare la rețea Control acces obligatoriu
2. Structură de comandă în Iptables pe Linux
În Iptables, fiecare regulă este o comandă care indică modul în care trebuie gestionat traficul de pachete de rețea.
Putem folosi următoarea structură:
-A INPUT -i eth0 -p tcp -m state - STABILIT, RELATAT - sport 80 -j ACCEPTParametrii utilizați sunt:
- -A: indică faptul că regulile vor fi adăugate la Iptables
- -i: Indică interfața pe care se va aplica regula
- -p: Se referă la protocolul în care se va aplica regula
- -m: Se referă la faptul că există o condiție care trebuie îndeplinită pentru a aplica regula
- --state: permite acceptarea de noi conexiuni
- --sport: Indică portul sursă
- -j: (Salt) indică faptul că pot accepta tot traficul care îndeplinește condițiile date.
3. Crearea de reguli folosind Iptables pe Linux
Deși putem adăuga regulile manual, este mult mai practic să creăm un fișier de reguli și apoi să îl importăm. În acest caz, vom crea fișierul în calea / tmp / iptables-ip4 și putem folosi un editor pentru ajustarea respectivă:
sudo nano / tmp / iptables-ip4Sintaxa va fi următoarea:
* filtru # Reguli pentru a adăuga COMMITAcum vom crea următoarele reguli în fișierul menționat:
Loopback = Este interfața externă a Linux
-A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j ACCEPT
Ping = Ne permite să verificăm conexiunile la rețea
-A INPUT -i eth0 -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT -A INPUT -i eth0 -p icmp -m state --state STABILIT, AFILIAT -j ACCEPT -A OUTPUT - o eth0 -p icmp -j ACCEPT
Web = Prin aceste reguli controlăm traficul de intrare și de ieșire.
-A INPUT -i eth0 -p tcp -m state --state STABILIT, RELATAT --sport 80 -j ACCEPT -A INPUT -i eth0 -p tcp -m state --state STABILIT, RELATAT --sport 443 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 443 -j ACCEPT
În cazul adăugării DNS vom folosi următoarele linii:
-A INPUT -i ens3 -s 192.168.0.1 -p udp --sport 53 -m state --stATE STABILIT, AFILIAT -j ACCEPT -A OUTPUT -o ens3 -d 192.168.0.1 -p udp --dport 53 -m udp -j ACCEPTĂ
Notă:Aici trebuie să modificăm IP-ul după cum este necesar
Timp = Aceste reguli permit conectarea la NTP pentru sincronizarea corectă a orei
-A INPUT -i eth0 -p udp -m state --state STABILIT, AFILIAT --dport 123 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --sport 123 -j ACCEPT
Imprimare = Permite activarea porturilor USB pentru conectarea imprimantelor
-A INPUT -p udp -m udp --dport 631 -j ACCEPT -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A OUTPUT -p udp -m udp --sport 631 -j ACCEPT -A OUTPUT -p tcp -m tcp --sport 631 -j ACCEPT
Email = Putem activa diferitele protocoale de email
# IMAP -A INPUT -i eth0 -p tcp -m state --state STABILIT, RELATAT --sport 993 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 993 -j ACCEPT
# POP3 -A INPUT -i eth0 -p tcp -m state --state STABILIT, AFILIAT --sport 995 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 995 -j ACCEPT
# SMTP -A INPUT -i eth0 -p tcp -m state --state STABILIT, AFILIAT --sport 465 -j ACCEPT -A OUTPUT -o eth0 -p tcp -m tcp --dport 465 -j ACCEPT
SSH = Activați conexiunile securizate la computer utilizând protocolul SSH
# Intrare -A INPUT -i ens3 -p tcp -m state --state NEW, STABILIT --dport 22 -j ACCEPT -A OUTPUT -o ens3 -p tcp -m state --state ESTABLISHED --sport 22 -j ACCEPT
# Output -A OUTPUT -o ens3 -p tcp -m state --state NEW, STABILIT --dport 22 -j ACCEPT -A INPUT -i ens3 -p tcp -m state --state ESTABLISHED --sport 22 -j ACCEPT
DHCP: Putem crea reguli pentru a autoriza adresarea IP prin DHCP
-A INPUT -i eth0 -p udp -m state --state STABILIT, AFILIAT --sport 67:68 -j ACCEPT -A OUTPUT -o eth0 -p udp -m udp --dport 67:68 -j ACCEPT
Respingeți toate conexiunile: Putem adăuga următoarele linii pentru a dezactiva toate cele de mai sus:
-A INPUT -j REJECT -A FORWARD -j REJECT -A OUTPUT -j REJECT
Toate aceste linii vor fi adăugate în fișierul menționat:
MARI
Salvăm modificările
Ctrl + O
Lăsăm editorul folosind
Ctrl + X
4. Importul regulilor folosind Iptables Linux
Odată ce fișierul este editat, putem importa aceste reguli în Iptable executând următoarea comandă:
sudo iptables -F && sudo iptables -XPutem vedea starea regulilor folosind comanda sudo iptables -S:
MARI
În cazul în care dorim să restabilim toate regulile, vom executa următoarea linie:
sudo iptables-restore </ tmp / itpables-ip4Dacă dorim ca aceste reguli să fie permanente, vom executa următoarele:
sudo apt instalează iptables-persistentÎn acest fel, Iptables este cel mai bun aliat al nostru atunci când configurăm firewall-ul în mediile Linux.