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




Firewall

linux


Firewall

este un filtru al traficului pe retea



se va studia politica folosita de utilizatorul IPTABLES. Poate fi gasit pe net ca RPM. Simpla configurare a kernelului pentru IPTABLES nu este suficienta. Avem nevoie si de acest RPM.

IPTABLES se bazeaza pe 3 tabele de filtrare: mangle, nat si filter

In fiecare din aceste tabele exista chain-uri care contin reguli de filtrare. Noi putem crea lanturi dar nu si tabele.

Tabela mangle are urmatoarele lanturi predefinite:

PREROUTING

INPUT

FORWARD

OUTPUT

POSTROUTING

Tabela nat are urm. chain-uri predefinite:

PREROUTING

OUTPUT

POSTROUTING

Tabela filter are urm. chain-uri predefinite:

INPUT

FORWARD

OUTPUT

Pe un firewall pachetele parcurg o anumita ordine si nu e musai sa parcurga toate lanturile.

Tabela mangle se ocupa cu schimbarea TOS (type of service), marcarea pachetelor, etc.

In nat se face network address translating

In filter se face filtrarea pachetelor.

Decision - decide daca pachetul este pentru calculatorul local sau pentru a-l da mai departe 151e43b

Un pachet ce este generat de un process local va parcurge mangle OUTPUT, nat OUTPUT, filter POSTROUTING si nat POSTROUTING

Un pachet forward-at parcurge mangle FORWARD, filter FORWARD, mangle POSTROUTING si nat POSTROUTING

Un pachet care este adresat unui proces local va parcurge mangle PREROUTING, nat PREROUTING, ROUTING DECISION, mangle INPUT, filter INPUT

In filter INPUT se parcurge ce este pt. noi.

In filter FORWARD se parcurge ce este pt. altii de forward-at.

In filter OUTPUT se parcurg pachetele pt. altii de la mine.

Un flood de ping spre exemplu se opreste din INPUT.

Toate chain-urile predefinite au o asa numita "politica default" (daca nici o regula din regulile din chain-urile predefinite nu i se aplica pachetului, atunci i se va aplica politica default) care este setata accept dar care se poate schimba in drop sau reject.

Cel mai indicat este ca politica sa fie setata pe drop iar apoi se da accept doar la ce ne trebuie.

MANGLE - aici pot aparea urmatoarele target-uri (ceea ce va face pachetul):

TOS - schimba type of service

TTL - schimba time to live (adica prin cite HOP-uri - routere va trece un pachet pina va muri). Ex : TTL=5; daca pachetul are de strabatut 3       routere pana la destinatie, va ajunge. Pentru 7 routere, nu.

MARK - marcheaza pachetele pentru a li se aplica politici de rout-are avansata folosind IPROUTING2

NAT - target-uri valide:

DNAT (destination network address) - este valabil doar in chain-ul PREROUTING pt. ca routarea se face in functie de destinatia pachetului.

SNAT (source network address translating) - este valabil doar in chain-ul nat POSTROUTING

este folosit pt. ca daca sursa este un ip rezervat, pachetul va fi rejectat de primul rout-er. Atunci SNAT ii schimba ip-ul din unul rezervat in unul rout-abil.

MASQUERADE - echivalent cu SNAT, doar ca nu mai este necesara specificata adresa in care sa se schimbe sursa, ci va fi considerate sursa ip-ul interfetei pe care pleaca pachetul.

FILTER - face filtrarea efectiva

sunt acceptate toate celelalte target-uri

Crearea regulilor

Formatul generic este iptables [-t table] command match target/jump,

Unde [-t table] daca nu e specificat va lua default tabela filter, command - comenzi, match - cum este identificat un pachet, target - target-uri.

Obs: In cadrul chain-urilor, regulile sint parcurse de sus in jos. In cazul in care unui pachet i s-a gasit o regula care sa i se aplice, i se va aplica respectiva regula si nu va mai parcurge restul regulilor.

Comenzi:

-A / --append - are ca argument chain-ul in care se adauga o regula

- adauga o regula la sfirsitul chain-ului specificat

-D / --delete - are ca argument un chain

- sterge o regula din chain-ul specificat

- regula ce urmeaza a fi stearsa poate fi specificata ori prin numarul ei de ordine, ori rescriind regula ca si cand am adauga-o.

-R / --replace - are ca argument chain-ul si un numar de ordine

- va inlocui regula specificata prin nr. de ordine cu regula scrisa dupa comanda.

-I / --insert - are ca argument chain-ul si un numar de ordine

- va insera o regula dupa regula specificata prin nr. de ordine.

-L / --list - poate avea ca argument un chain. In cazul in care are un chain va lista continutul lui, daca nu, va lista continutul tuturor chain-urilor din tablea curenta.

-F / --flush - poate avea ca argument un chain

- daca da va sterge toate regulile din acesta, daca nu, va sterge toate regulile din toate chain-urile din tabela.

-N / --new-chain - are ca argument un chain definit de utilizator (nou definit si nu neaparat cu majuscule)

-X / --delete-chain - are ca argument un chain definit de utilizator

- nu se pot sterge chain-uri predefinite.

-E / --rename-chain - are 2 argumente: numele unui chain definit de utilizator

numele nou al chain-ului definit de utilizator

-P / --policy - seteaza politica default pe chain-urile predefinite

- chain-urile definite de utilizator nu au politica default si pot fi parcurse doar atunci cand se va face trimitere la ele dintr-un chain predefinit.

-atunci cind un pachet ce termina de parcurs un chain definit de utilizator si nu i s-a aplicat nici o regula, acesta se va intoarce in chain-ul de unde a plecat.

Optiuni ale comenzilor:

-n / --numeric - poate fi utilizat doar cu comanda -L si va lista toate datele numerice

--line-numbers - numeroteaza liniile respectivei listari (e folosita doar cu -L)

-d / --dst / --destination - are ca argument ca si -s doar ca identifica destinatia unui pachet

-i / --in-interface - are ca argument o interfata, identificind toate pachetele ce vin pe acea interfata.

-o / --out-interface - are ca argument o interfata si identifica toate pachetele ce pleaca pe acea interfata

-f / --fragment - nu are argument. Identifica pachetele ce sint fragmentate.

Obs: Fragmentele, este bine a fi filtrate foarte atent. La indicatie se realizeaza un chain

special pentru filtrarea acestora si nu se da drop la toate.

POD = ping of death

Match-uri specifice protocoalelor

TCP --sport / --source-port - are ca argument un nr. de port sau un range de porturi.

pt. un range se da: 22: . de la 22 la sfirsit

22:80 de la 22 la 80

:80 de la 0 la 80

identifica pachetele venind de la portul sursa cu portul specificat

--dport / --destination-port - permite aceleasi argumente.

- identifica pachetele ce vin cu portul destinatie cu portul specificat

UDP - sint doar optiunile de la TCP si sint identice

ICMP icmp-type urmat de un tip de pachet ICMP ca argument

- acest tip de pachet poate fi scris folosind codul lui sau numele complet

Ex: echo replay - > cod 0 si tip 0 (raspuns la ping)

Echo request - >cod 0 si tip 8 (ping)

Se pot nega anumite argumente (dport, tcp, ip, source / destination pt. ip)

Negarea se face cu ! inaintea argumentului.

Target-uri -j target / nume_chain_def_de_utilizator

DNAT - se face in PREROUTING

specifica faptul ca se face DNAT

are ca argument --to-destination ce are ca argument un ip simplu (192.168.0.10) sau un ip simplu cu un port simplu (192.168.0.10:80) sau un rage de ip-uri cu port simplu (192.168.0.2-192.168.0.10:80) sau un range de ip-uri cu un range de porturi (192.168.0.2-192.168.0.12:80-100)

SNAT - se face POSTROUTING

are ca argument --to-source cu aceleasi argumente

MASQUERADE - se face in POSTROUTING

- nu are nevoie de nici un alt parametru, si face un SNAT cu adresa       interfetei pe care pleaca pachetul

ACCEPT - accepta pachetul

DROP - face drop la pachete fara a face nimic altceva (pachetul nu mai e vazut de nimeni)

REJECT - da drop unui pachet generand un mesaj de eroare ce va fi trimis sursei pachetului. Are ca optiuni --reject-with si are ca argument codul sau tipul unui pachet ICMP.

REDIRECT - se face in nat PREROUTING

este util in cazul in care doresc sa schimb doar portul unui pachet cu optiunea: --to-ports si se specifica un port sau un range de porturi

este buna in cazul in care pun un srv. de web pe un alt port. Atunci pachetele ce vin au portul 80 si le redirectionez catre portul ales de mine.


Document Info


Accesari: 1270
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 )