Situatie
Sub linux “utilitarul” de baza folosit pentru firewall este iptables.
Pentru a vedea regulile de firewall se foloseste comanda
sudo
iptables -L
sau
sudo
iptables -nvL
(n – intoarce adresa de ip in loc sa rezilve adresele, v – verbose/detaliat, L – listeaza reguli)
De baza iptables are trei canale sau “lanturi” (chains) pe care filtreaza traficul IN / OUT pe tabela de “filter” si mai are inca o tabela de NAT folosita pentru port forward. Mai multe despre tabelele iptables aici:
http://www.thegeekstuff.com/2011/01/iptables-fundamentals/
Pentru a sterge reguli de firewall se seteaza “politica” implicita ca canalelor INPUT/FORWARD/OUTPUT:
sudo iptables -P INPUT ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P
FORWARD
ACCEPT
sudo iptables -F
(-F goleste toate chain-urile adica face “flush”)
Regulile intr-un “chain” (fie INPUT/OUTPUT/FORWARD) se parcurge de sus in jos – de aceea pentru regula implicita se seteaza ultima regula DROP sau -P (politica) DROP.
Fie vom avea
sudo iptables -P INPUT DROP
sudo iptables -P
FORWARD
DROP
sudo iptables -P
OUTPUT
DROP
fie:
sudo iptables -
A
INPUT
-j
DROP
sudo iptables -
A
FORWARD
-j
DROP
sudo iptables -
A
OUTPUT
-j
DROP
Cu -A regulile se adauga in partea de jos cu -I se “introduc” deasupra. Ordinea este importanta intr-un lant (“chain”)
Backup
O imagine care poate da o idee de cum sant inspectate pachetele este mai jos:
Solutie
In imaginea de mai jos se pot vedea tabelele principale (filter, nat, mangle, raw), punctele de decizie (prerouting, postrouting). Fireste se pota adauga “chains” noi cu -N.
Cu comanda:
sudo iptables -nvL –-line-numbers
sau
sudo iptables -
nv
L –
-
line
Se listeaza regulile numerotate. Pentru a insera intre doua reguli se utilizeaza -I INPUT numar, de exemplu -I INPUT 3 va insera pe inpute intre 2 si 3, regula 3 va deveni 4. La fel si pe output, forward, etc.
Pentru a sterge o regula se foloseste -D
sudo iptables -D INPUT -j DROP
La -D trebuie descrisa regula identic cum a fost ea adaugata cu -I sau -A.
In general comanda iptables are mai multe “sectiuni:
iptables (tabela) (operatiune) (sursa) (destinatie) (actiune)
– tabela folosite curent sant nat sau filter si se specifica cu -t nat sau -t filter
– operatiune este -I INPUT/OUTPUT/FORWARD/POSTROUTING/PREROUTING sau -A INPUT/OUTPUT/FORWARD/POSTROUTING/PREROUTING
– sursa se specifica cu -s x.x.x.x/x
– destinatia se specifica cu -d x.x.x.x/x
-actiune se specifica cu -j si poata fi -j DRPOP/ACCEPT/REJECT etc
O alta modalitate de a lista regulile iptables este
sudo iptables -S
Pentru ca procerele locale sa poata comunica intre ele pe masina locata este foarte important de adaugat o regula ca pe interfata de loopback sa se poata face trafic:
O resursa interesanta despre cum se seteaza un firewall este si in likul de mai jos: (cap.14 la www.linuxhomenetworking.com)
Leave A Comment?