tutorial iptables firewall linux

6
Tutorial IPTABLES firewall linux- comenzi de baza

Upload: stefan-radu

Post on 27-Jun-2015

243 views

Category:

Documents


4 download

TRANSCRIPT

Page 2: Tutorial IPTABLES Firewall Linux

In Sisteme Operare >UNIX/LINUX | 16-09-2010 Tutorial usor de invatat cu comenzile de baza in IPTABLES pentru configurare firewall LINUX.

Ce este IPTABLES?

Iptables este folosit pentru mai multe servicii precum : translatare de adrese sursa sau destinatie (SNAT / DNAT ) , port forwading sau pur si simplu rejectare sau forwadare de pachete , routing.

Cum pornesc serviciul IPTABLES?

123

[root tmp]# service iptables start[root tmp]# service iptables stop[root tmp]# service iptables restart

Ca serviciul IPTABLES sa porneasca o data cu sistemul rulati urmatoarea comanda:[root tmp]# chkconfig iptables on

Procesarea de pachete in IPTABLES

Toate pachetele inspectate de iptables trec printr-o secventa de tabele (cozi) pentru prelucrare. Fiecare dintre aceste cozi este dedicata unui anumit tip de activitate de pachete si este controlata de un lanţ de filtrare asociat.Iptables foloseste implicit trei tabele :1. FILTER ( tabel implicit) - este responsabil cu filtrarea pachetelorAre 3 lanturi built-in in care va puteti declara reguli de politica firewall

Forward : Filtreaza pachete catre servere protejate de firewall. Input : Filtreaza pachetele destinate firewall-ului. Output : Filtreaza pachetele expediate de firewall

2. NAT – este responsabil cu network address translation(translatarea adresei de retea)3. MANGLE – este responsabil pentru modificarea bitilor QOS din headerul TCPAre 2 lanturi built-in:

Pre-routing: face NAT atunci cand adresa destinatie a pachetului trebuie schimbata. Post-routing: face NAT atunci cand adresa sursa a pachetului trebuie schimbata.

Cum functioneaza IPTABLES?

Pentru fiecare regula firewall pe care o creezi trebuie sa specifici tabela si lantul de careva apartine. La aceasta regula este o singura exceptie: Cele mai multe reguli sunt legate de filtrare, astfel iptables presupune că orice lanţ definit fără o tabela asociata va face parte din tabela filter. Tabela filter este, prin urmare, implicita.Mai jos aveti o imagine cu felul in care iptables manipuleaza pachetele:

Page 3: Tutorial IPTABLES Firewall Linux

Fiecare regulă firewall inspectează pachetele IP şi apoi încearcă să le identifice ca si tinte pentru o anumita operatie.Cele mai folosite tinte sunt:

ACCEPT – Iptables opreste procesarea ulterioara; Pachetul este trimis catre aplicatie sau sistem de operare pentru prelucrare

DROP - Iptables opreste procesarea ulterioara; Pachetul este blocat LOG – Informaţiile sunt trimise la daemonul syslog pentru logare; Iptables continua procesarea pachetului REJECT – Funcţionează DROP, dar va trimite un mesaj de eroare la gazda carea a trimis pachetul cum că

pachetul a fost blocat DNAT – Rescrie adresa IP destinaţie a pachetului

Page 4: Tutorial IPTABLES Firewall Linux

SNAT – Rescrie adresa IP sursa a pachetului MASQUERADE – Folosit pentru SNAT; În mod implicit adresa IP sursa este aceeaşi cu cea utilizată de

interfaţa firewall-ului Parametrii pentru IPTABLES:-t <-table-> : Dacă nu specificaţi o tabela, tabela filter este asumata. Aşa cum am discutat înainte, tabelele posibile pot fi: filtru, NAT, mangle-j <target> : Salt la lanţul ţintă specificat în momentul pachet se potriveste cu regula actuală.-A sau –append : Adauga o regula la sfarsitul chainului-F : Flush. Sterge toate regulile din tabela selectata.-p <protocol-type> : Potrivire cu protocolul icmp, tcp, udp sau all-s <ip-address> : Potrivire cu adresa IP sursa-d <ip-address> : Potrivire cu adresa IP destinatie-i <interface-name> : Potrivire cu interfata de retea prin care intra pachetul-o <interface-name> : Potrivire cu interfata de retea prin care iese pachetul-m –state <state> : ESTABLISHED, NEW, RELATED, INVALIDPentru a activa anumite funcţii ale Iptables trebuie sa încărcaţi anumite module de kernel la pornirea sistemului.Fisier: /etc/rc.local12

# Module to track the state of connectionsmodprobe ip_conntrack

# Load the iptables active FTP module, requires ip_conntrackmodprobe ip_conntrack_ftp# Load iptables NAT module when requiredmodprobe iptable_nat# Module required for active an FTP server using NATmodprobe ip_nat_ftp

Exemple:

* -R –replace : Inlocuirea lantului specificat1

iptables -R INPUT 1 -s 192.168.0.1 -j DROP

* -I –insert : Permite introducerea unui lant in intr-o zona specifica1

iptables -I INPUT 1 --dport 80 -j ACCEPT

* -L –list : Afisarea tuturor regulilor IPTABLES12

iptables -L # Afiseaza toate regulile din tabela FILTERiptables -L INPUT # Afiseaza toate regulile din lantul INPUT (FILTER)

* -F –flush : Sterge toate regulile din tabela.12

iptables -F INPUT # Sterge toate regulile din lantul INPUTiptables -F # Sterge toate regulile

* -N –new-chain : Crearea unui nou lant1

iptables -N LOG_DROP

* -X –delete-chain : Stergerea unui lant12

iptables -X LOG_DROP # Stergerea lantului LOG_DROPiptables -X # Sterge toate lanturile

* -P –policy : Permite specificarea politicii default pentru un anumit lant ACCEPT, REJECT, DROP …1

iptables -P INPUT DROP

* Iptables va fi configurat pentru a permite firewall-ului sa trimita cereri ICMP(ping) şi, la rândul său, să accepte cereri ICMP12

iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPTiptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT

* Iptables va fi configurat sa accepte cereri ICMP si le limiteze la un număr maxim mediu de o cerere pe secundă.1 iptables -A INPUT -p icmp --icmp-type echo-request \

Page 5: Tutorial IPTABLES Firewall Linux

2-m limit --limit 1/s -i eth0 -j ACCEPT

Setari de baza pentru protejarea sistemului de operare

Sistemul de operare Linux are cateva mecanismele de protecţie definite pe care ar trebui să le activaţi prin modificarea parametrilor kernel-ului prin fişierul /etc/sysctl.conf1234567891011121314151617181920212223242526272829303132333435

#---------------------------------------------------------------# Disable routing triangulation. Respond to queries out# the same interface, not another. Helps to maintain state# Also protects against IP spoofing#---------------------------------------------------------------net/ipv4/conf/all/rp_filter = 1#---------------------------------------------------------------# Enable logging of packets with malformed IP addresses#---------------------------------------------------------------net/ipv4/conf/all/log_martians = 1#---------------------------------------------------------------# Disable redirects#---------------------------------------------------------------net/ipv4/conf/all/send_redirects = 0#---------------------------------------------------------------# Disable source routed packets#---------------------------------------------------------------net/ipv4/conf/all/accept_source_route = 0#---------------------------------------------------------------# Disable acceptance of ICMP redirects#---------------------------------------------------------------net/ipv4/conf/all/accept_redirects = 0#---------------------------------------------------------------# Turn on protection from Denial of Service (DOS) attacks#---------------------------------------------------------------net/ipv4/tcp_syncookies = 1#---------------------------------------------------------------# Disable responding to ping broadcasts#---------------------------------------------------------------net/ipv4/icmp_echo_ignore_broadcasts = 1#---------------------------------------------------------------# Enable IP routing. Required if your firewall is protecting a# network, NAT included#---------------------------------------------------------------net/ipv4/ip_forward = 1