Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Configurarea unui firewall: iptables

linux


Configurarea unui firewall: iptables

Un firewall este un sistem folosit pentru prevenirea accesului din exterior în reteaua interna. Acest sistem separa o retea protejata de o retea neprotejata, Internetul. Firewall-urile implementeaza reguli care filtreaza atât pachetele de date receptionate, cât si cele trimise de catre masin 19519l113t 9;. Astfel, sistemul sau reteaua locala vor fi supuse unor riscuri mai mici, deoarece numai tipurile de pachete (utilizate de anumite protocoale sau servicii) dorite pot trece prin firewall.



Nucleul Linux ofera posibilitatea de a filtra sau redirectiona pachetele de date, printr-un sistem denumit iptables. De asemenea, exista posibilitatea de a modifica informatiile despre sursa sau destinatia pachetelor, procedura denumita NAT (Network Address Translation). Una dintre aplicatiile sistemului NAT este posibilitatea deghizarii pachetelor (masquerading). Deghizarea înseamna ca pachetele trimise de catre sistemele aflate în retea, care au ca gateway o anumita masina, sa para trimise de masina respectiva. Cu alte cuvinte, masina pe post de firewall retrimite pachetele venite din retea catre exterior, facând sa para ca provin tot de la ea. Acest sistem este foarte util atunci când exista o masina care realizeaza legatura la Internet, o singura adresa IP alocata, si mai multe calculatoare în retea care au definite masina respectiva ca gateway.

Nucleul defineste trei tabele implicite de lanturi prin care trec informatiile, si anume INPUT, OUTPUT si FORWARD. Atunci când un pachet intra în sistem printr-o interfata de retea, nucleul decide daca pachetul este destinat masinii locale (lantul INPUT) sau catre alta masina (lantul FORWARD). într-un mod similar, pachetele care pleaca dinspre masina locala trec prin lantul OUTPUT. Fiecare lant contine mai multe reguli, care vor fi aplicate pachetelor de date care le tranziteaza, în general, regulile identifica adresa de provenienta si adresa-destinatie a pachetelor, precum si protocolul si serviciul asociate.

Atunci când un pachet corespunde unei reguli, asupra acestuia se va aplica o anumita actiune - cu alte cuvinte, el are o anumita tinta (target). Daca o regula specifica tinta ACCEPT, pachetul nu mai este verificat cu celelalte reguli, ci este directional catre destinatie. Daca regula specifica tinta DROP, pachetul este "aruncat" - cu alte cuvinte, nu i se permite sa ajunga la destinatie -, netrimitând nimic masinii care 1-a expediat. Daca regula specifica tinta REJECT, pachetului nu i se permite sa ajunga la destinatie, însa este trimis un pachet de eroare expeditorului.

Administrarea si configurarea sistemelor Linux

Nucleul Linux versiunea 2.4 implementeaza sistemul numit iptables, dar ofera suport si pentru sistemul ipchains, utilizat în versiunea 2.2, precum si pentru ipfwadm, utilizat în versiunea 2.0.

Pentru a include sistemul iptables în nucleu, acesta trebuie compilat cu optiunile:

Networking options

Network packet fiitering (replaces ipchains)
IP: Netfilter Configuration

Connection tracking (required for masq/NAT)

IP tables support
Packet fiitering
Full NAT

Packet mangling

LOG target support

De asemenea, trebuie instalat pachetul iptables. Programul iptables serveste la manipularea lanturilor si regulilor.

Regulile pot fi gestionate prin intermediul liniei de comanda, dar varianta recomandata este salvarea acestor reguli într-un fisier script, de regula

/etc/sysconfig/iptables.

Programul are urmatoarea sintaxa:

iptables -[ ADC ] lant regula [ optiuni }

iptables - [ RI ] lant numar__regula regula [ optiuni ]

iptables -D lant numar_regula [ optiuni ]

iptables -[ LFZ ] [ canal } [ optiuni ]

iptables -[ NX ] lant

iptables -P lant tinta [ optiuni ]

iptables -E nume_vechi_lant nume_nou_lant

Sunt suportate urmatoarele optiuni:

Comenzi

-A adauga regula specificata la sfârsitul tabelei pentru lantul specificat;

-D sterge o anumita regula (specificata prin numarul sau) din lantul

specificat;

-E redenumeste lantul specificat;

-F sterge toate regulile din lantul specificat;

insereaza o regula în lant într-o anumita pozitie;

-L      afiseaza toate regulile din lantul specificat;

-N creeaza un nou lant, având numele specificat;

-P stabileste politica implicita pentru un anumit lant;

-X sterge un anumit lant.

Securizarea sistemului Linux

Parametri

-t       specifica tabela la care se va referi regula. Exista trei tabele:

filter. este tabela implicita si contine lantelurile INPUT, OUTPUT
si FORWARD;

-. nat: aceasta tabela este consultata atunci când se întâlneste un pachet care creeaza o noua conexiune. Contine urmatoarele lanturi: PREROUTING (verifica pachetele atunci când sunt receptionate), OUTPUT (verifica pachetele generate de masina locala înainte de rutare) si POSTROUTING (verifica pachetele la momentul iesirii din masina);

mangle: este utilizata pentru verificarea specializata a pachetelor.
Contine doua lanturi predefinite: PREROUTING (verifica
pachetele receptionate înainte de rutare) si OUTPUT (verifica
pachetele generate de masina locala înainte de rutare);

-d stabileste adresa-destinatie a pachetului. Poate fi un nume de masina, adresa IP, adresa/masca de retea sau adresa unei retele;

-/' stabileste interfata de retea de intrare (se aplica doar lanturilor INPUT sau FORWARD). In fata numelui interfetei poate fi folosit caracterul "i", însemnând ca regula nu se va aplica la interfata specificata. Poate fi utilizat si caracterul wildcard "+";

-j     specifica tinta pachetului daca regula se potriveste;

-o specifica interfata de retea de iesire (se aplica doar lantului OUTPUT sau FORWARD);

-p seteaza protocolul pentru regula. Poate fi icmp, tcp, udp sau all (orice protocol);

-s       stabileste adresa-sursa a pachetului. Are aceeasi sintaxa ca la -d;

-aport seteaza portul-destinatie pentru pachet. Poate fi utilizat fie un nume de serviciu (e.g. http, smtp), conform /etc/services, fie un numar de port, fie un interval de porturi (e.g. 2000:2300). De asemenea, poate fi utilizat caracterul "i" în fata portului, pentru a specifica faptul ca regula nu se va aplica la portul respectiv;

-sport seteaza portul-sursa pentru pachet. Foloseste aceeasi sintaxa ca la -dport;

-syn determina ca regula sa faca referire doar la pachetele TCP pentru initierea conexiunii, nu si la pachetele de date. Este valabila doar pentru protocolul TCP. Daca este mentionat si caracterul "i", regula va face referire la pachetele de date care nu folosesc la initierea conexiunii.

Ţinte

Ţinta poate fi numele unui lant continând reguli ce vor fi aplicate suplimentar pachetelor sau una dintre valorile:


Administrarea si configurarea sistemelor Linux


ACCEPT DROP QUEUE RETURN

LOG

REJECT

SNAT

pachetul nu mai este verificat cu celelalte reguli, ci este directional

catre destinatie;

pachetul este "aruncat" - cu alte cuvinte, nu i se permite sa ajunga

la destinatie -, netrimitând vreun raspuns masinii care 1-a expediat;

pachetul este introdus într-o coada, de unde va fi preluat de alte

programe pentru prelucrare;

opreste verificarea regulilor din lantul curent. Daca regula a fost

apelata dintr-un alt lant, pachetul este returnat la regula de unde a

fost efectuata trimiterea, în caz contrar, va fi utilizata tinta

implicita pentru lant curent;

jurnalizeaza pachetele care se potrivesc cu aceasta regula, prin

intermediul sistemului syslog;

pachetului nu i se permite sa ajunga la destinatie, însa este trimis

un pachet de eroare expeditorului;

este valabila doar în tabela nat, în lantul POSTROUTING.

Specifica faptul ca adresa expeditorului pachetului trebuie

modificata. Accepta o singura optiune:


- to-source adresa_IP[ -adresa_IP

:port-port]


DNAT

care specifica adresa IP modificata sau un interval de adrese, respectiv un interval de porturi;

este valabila doar în tabela nat, în lanturile PREROUTING si OUTPUT, precum si în cele apelate din aceste doua lanturi. Specifica faptul ca adresa-destinatie a pachetului trebuie modificata. Accepta o singura optiune:

- to-destination adresa_IP[ -adresa_IP ] [ :port-port]

care specifica adresa IP modificata sau un interval de adrese, respectiv un interval de porturi;

MASQUERADE este valabila doar în tabela nat, în lanturile POSTROUTING. Se utilizeaza doar pentru adrese IP atribuite dinamic; daca adresa este statica, se utilizeaza lantul SNAT. Accepta o singura optiune:

--to-ports port [-port]

care specifica un port-destinatie sau un interval de porturi;

REDIRECT este valabila doar în tabela nat, în lanturile PREROUTING si OUTPUT, precum si în cele apelate din aceste doua lanturi. Modifica adresa IP destinatie pentru a trimite pachetul catre propria masina (implicit 127.0.0.1). Accepta o singura optiune:

Securizarea sistemului Linux 249

--to-ports port[-port]

care specifica un port-destinatie sau un interval de porturi.

Vom exemplifica în continuare configurarea unui firewall uzual, pentru o masina care realizeaza legatura Internet dintr-o companie privata:

admite sesiunile SSH efectuate de pe alte masini
iptables -A INPUT -p tcp -dport ssh --syn -j ACCEPT

admite receptionarea de mesaje de pe alte masini
iptables -A INPUT -p tcp -dport smtp --syn -j ACCEPT

admite cereri HTTP efectuate de pe alte masini
iptables -A INPUT -p tcp -dport http -syn -j ACCEPT

accepta cererile DNS (masina este si server DNS)
iptables -A INPUT -p tcp --sport domain -j ACCEPT
iptables -A INPUT -p udp -sport domain -j ACCEPT

accepta orice fel de pachet provenit de pe interfata Io
iptables -A INPUT -i Io -j ACCEPT

de asemenea, accepta pachetele provenite de pe interfata ethO
iptables -A INPUT -i ethO -j ACCEPT

respinge toate celelalte tipuri de pachete
iptables -A INPUT -p tcp -syn -j REJECT
iptables -A INPUT -p udp -j REJECT

în cele ce urmeaza vom prezenta configurarea unei masini care serveste ca gateway pentru o retea de calculatoare care nu au adrese IP valide, prin sistemul de deghizare. Adresa 192.78.124.135 reprezinta adresa IP a interfetei pppO (legatura dial-up la Internet), iar 10.0.0.0 reprezinta adresa retelei locale de calculatoare (adrese IP invalide):

I

iptables -A POSTROUTING -t nat -s 200.0.0.0/255.255.255.0 -j SNAT -to-source 192.78.124.135



Document Info


Accesari: 2016
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )