In acest articol este prezentata o mica parte din potentialul utilitarului iptables. Acesta permite folosirea a sute de combinatii de comenzi cu reguli complexe, insa momentan este recomandata intelegerea conceptului de baza.
Pentru instalarea utilitarului iptables se ruleaza comanda:
Ubuntu:
apt-get install iptables
CentOS:
yum install iptables
Pentru a verifica regulile existente de firewall vom rula comanda:
iptables -L -v
Exemplu de comanda pentru definirea unui lant de reguli, folosind cele mai uzuale optiuni:
iptables -A -i <interface> -p <protocol (tcp/udp) > -s <source> --dport <port no.> -j <target>
Exemplu de comanda pentru accesul pachetelor pe porturile ssh, http si https pe server
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Exemplu de comanda pentru accesul pachetelor de la o adresa IP
iptables -A INPUT -s 11.12.13.14 -j ACCEPT
Exemplu de comanda pentru blocarea pachetelor de la o adresa IP
iptables -A INPUT -s 11.12.13.15 -j DROP
Exemplu de comanda ce permite accesul ssh catre o adresa destinatie, insa impiedica accesul ssh pe server pentru aceeasi adresa:
iptables -A INPUT -p tcp —dport ssh -s 11.12.12.15 -m state —state NEW -j DROP
iptables -A OUTPUT -p tcp —sport 22 -d 11.12.12.14 -m state —state NEW,ESTABLISHED -J ACCEPT
Logarea actiunilor asupra pachetelor se face folosind tinta LOG. Locatia logurilor depinde de tipul de distributie Linux si poate sa fie /var/log/syslog (Ubuntu) sau /var/log/messages (CentOS). Tinta LOG se poate folosi cu optiunea - - log-prefix, pentru a facilita cautarea ulterioara. Ca exemplu vom loga pachetele ce intra in server si au ca destinatie portul ssh inainte de a le bloca:
iptables -A INPUT -p tcp --dport 22 -j LOG
iptables -A INPUT -p tcp --dport 22 -j DROP
Pentru a sterge o anumita regula, mai intai vom lista un anumit numar de reguli si ulterior vom sterge regula dorita (de exemplu 5) folosind numarul de inregistrare:
iptables -L --line-numbers
iptables -D INPUT 5
Exemplu de comanda pentru a sterge toate regulile exitente:
iptables -F
Regulile definite prin iptables sunt salvate in memoria temporara a sistemului si nu vor fi aplicate atunci cand serverul este restartat. De accea trebuie rulata comanda de salvare:
Ubuntu:
/sbin/iptables-save
CentOS:
/sbin/service iptables save
sau
/etc/init.d/iptables save
Dupa cum observati, iptables este un utilitar versatil prin care se poate permite sau bloca accesul traficului de retea pe diferite distributii Linux. O folosire efectiva / in totalitate presupune setarea unei configurari de baza, la care se adauga reguli. Configurarea de baza va permite sa creati structura pentru permiterea sau blocarea traficului in general pentru ca apoi, prin adaugarea regulilor specific pentru porturi, protocoale si adrese IP sa puteti perfectiona structura firewall-ului.
Daca sunteti interesati in a citi mai multe despre iptables, aceasta este o buna resursa, la fel ca si manualul iptables.