Jump to content
pyth0n3

Iptables basics part ll matches

Recommended Posts

Posted

Aici am descris cateva lucruri despre iptables http://rstcenter.com/forum/22903-iptables-basics.rst

In aceasta parte vreau sa descriu putin alte cateva aspecte despre iptables

Cum am mai zis exista 3 tabele de default care nu pot fi sterse

1 mangle

2 NAT

3 filter

Fiecare contine anumite chains

La randul nostru putem crea alte chains

Pt a crea un chain se poate folosi optiunea -N dupa care vom specifica

numele la chain

De exemplu exista si optiunea -E care ne permite sa schimbam numele unui chain cu un alt nume


iptables -N LOCALAREA

Acest comand va adauga un chain cu numele LOCALAREA la tabelul filter (cum am mai zis de default vine folosit tabelul filter ) daca vrem sa folosim un alt tabel va trebui specificat cu optiunea -t

Nu uitati ca aceste chain trebuie sa aiba nume diverse , nu e bine sa definiti mai multe chain cu acelasi nume

Urmatorul comand va schimba numele la primul chain pe care l-am creat

iptables -E LOCALAREA   EXTRANET

Deci fiecare chain are si o policy de default , am zis ca e ACCEPT pt toate deoarece asa va permite sa treaca tot traficul

Spre exemplu daca avem un server ar fii mul mai bine sa schimbam aceasta policy de default si sa o punem pe DROP

In acest caz nu va lasa sa treaca nici un fel de traffic , doar pe care il vom pune noi in anumite reguli

Pt a schimba aceasta policy se poate folosi optiunea -P

iptables -P  EXTRANET  DROP

tot trafficul pt acest chain va fi blocat

Va trece doar ceea ce vom defini noi in anumite reguli pt acest chain

Vom mai descrie cateva lucruri importante

Spre exemplu putem bloca trafficul care trece prin eth0 sau eth1 astea fiind

numele de la retelele noastre

iptables -A INPUT  -i eth0 -j DROP

nu va permite nici un fel de trafic de la eth0 spre calculatorul nostru

Am mai zis ca protocolul TCP are ca layer numarul 4

Cu acest protocol putem folosi diverse optiuni pt a construi

diverse reguli

-p care sta pt protolol , vom putea alege protocolul

--sport sau --source-port vom putea alege portul de origine nomal folosit de la > 1024

--dport sau --destination-port care poate fi portul destinatarului

Aici a vrea doar sa adaug ca se poate folosi in regula si numele serviciului nu neamarat portul ,pt a vedea o lista mergeti in /etc/services

Un simplu exemplu va va face sa intelegeti mai bine

iptables -A  INPUT -p tcp --dport telnet -j DROP

Aceasta regula poate fi scrisa si in felul urmator

ptables -A INPUT -p tcp --dport 23 -j DROP

In acest caz am specificat portu

Daca ati observat am specificat doar portul destinatarului in acest caz destinatarul suntem noi deoarece ca chain este folosit INPUT ,

Nu tot timpul se poate cunoaste portul sursei asadar se va specifica doar cel al destinatarului

Mai exista si optiunea flags

--tcp-flags SYN,FIN,ACK SYN,ACK

Va trebui sa fim atenti cand vom scrie reguli pt acest protocol pt a nu bloca spre exemplu un handshake

UDP face parte din layer 4 (transport )

Exista diverse aplicatii care folosesc acest protocol

spre exemplu syslog - udp514

-p va specifica protocolul

Vreau doar sa adaug ca in cazul acestui protocol porturile de la sursa si cele de la destinatie pot fi aceleasi

Deci putem cunoaste abele porturi

Ok acum vom crea o regula care va lasa doar un singur ip sa se conecteza la syslog iar toate celelalte vor fi blocate

 iptables -A INPUT -p udp --dport 514  -s ! 192.168.1.2 -j DROP

Internet Control Messaging Protocol sau prescurtat ICMP

Poate fi

echo-request - PING

echo-reply - PONG

O voi descrie mai clar

PING - sistemul nostru va trimite folosind ca chain OUTPUT un echo-request

destinatarul va primi un echo-request de la noi care va trece prin INPUT chain (doar daca este un system linux , de exemplu un router pt ca foloseste iptables ) daca e windows va il va primi la reteaua specifica a sistemului

In acest caz destinatarul ne va raspunde cu un echo-reply

-p va specifica si in acest caz protocolul

--icmp-type va specifica ce fel de tip

Pt a vedea toate tipurile vom da urmatorul comand


iptables -p icmp --help

Vom folosi o regula pt a bloca toate echo-reply care vor veni spre sistemul nostru , nu uitati in acest caz noi putem sa facem ping pe orice ip dar nu vom putea primi nici un raspuns pt ca am blocat aceasta optiune cu o regula de firewall

iptables -A INPUT -p icmp --icmp-type echo-reply -j DROP

Noi facem ping la un ip dar nu reusim sa primim nici un rezultat

Nu uitati ca oricine poate sa faca ping la ip-ul nostru si va primi rezultate deoarece noi am blocat folosind ca chain INPUT deci ceea ce intra va fi blocat , nu si trafficul care iese

Pt a bloca in asa fel incat computerul sau servarul nostru sa nu raspunda la ping va trebui sa folosim ca chai OUTPUT

iptables -A Output -p icmp --icmp-type echo-reply -j DROP

Nimeni in acest caz nu ne va putea face ping , noi putem sa facem ping dar nu putem primi nici un fel de raspuns

Pt ca sa blocam in asa fel incat sa nu putem face ping de la noi de pe pc

exista o simpla regula

iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP

Nu putem sa mai facem ping

Exista possibilitatea de a scrie reguli in care se pot specifica mai multe porturi folosind virgula intre ele

-m multiport

vom bloca trafficul care vine pt telnet portul 23 si ftp portul 21

Pt a nu scrie 2 reguli vom folosi doar una

 iptables -A INPUT -tcp -m multiport --dport 23,21 -j DROP

Filtru MAC

Poate fi folosit acest filtru cunoscand adresele MAC

Spre exemplu vrem ca sa blocam trafficul de la ip-ul 192.168.1.2

O putem face in 2 moduri , blocam ip-ul sau blocam adresa MAC

 iptables -A INPUT -p tcp -m mac --ma-sourse 00:00:00:00:00:00 -J DROP

daca filtram adrese MAC este putin mai sigur , decat daca filtram adrese ip

In ambele cazuri se poate face spoof dar daca se schimba doar adresa ip regula va fi valabila

Pt a vedea toate posibilitatile care se pot folosi in iptables puteti scrie in terminal urmatorul comand

iptables --help 

sau

man iptables 

Daca gasiti greseli de exprimare corectatima , acest text a fost scris de mine , nu a fost folosit nici un dictionar

Suntem oameni si e normal sa gresim

Mai ales cand nu se vorbeste limba romana decat pe acest forum .

Source:Iptables basics part ll matches

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...