Dacă utilizați computere de ceva timp, trebuie să fiți familiarizat cu cuvântul „Firewall”. Știm că lucrurile par complexe de la suprafață, dar prin acest tutorial, vom explica baza IPTable și utilizarea comenzilor de bază, astfel încât chiar dacă sunteți un student în rețele sau doriți să vă scufundați adânc în rețele, să puteți beneficia de acest ghid.
Modul în care Firewall lucrările sunt destul de simple. Creează o barieră între rețelele de încredere și cele nedemne de încredere, astfel încât sistemul dumneavoastră să fie protejat de pachetele rău intenționate.
Dar cum vom decide ce este sigur și ce nu? În mod implicit, aveți un anumit privilegiu pentru a configura reguli pentru firewall, dar pentru o supraveghere mai detaliată a pachetelor de intrare și de ieșire, IPTables sunt ceea ce ai nevoie cel mai mult.
IPTables poate fi folosit pentru calcularea personală sau poate fi aplicat și în întreaga rețea. Folosind IPTables, vom defini un set de reguli prin care putem monitoriza, permite sau bloca pachetele de rețea de intrare sau de ieșire.
În loc să ne concentrăm doar pe întreaga parte teorie, vom discuta doar despre ceea ce contează în lumea practică. Deci, să începem cu înțelegerea conceptelor de bază ale IPTables.
În timp ce discutam IPTables, trebuie să înțelegem 3 termeni: Mese, Lanţuri, și Reguli. Deoarece acestea sunt părțile importante, vom discuta fiecare dintre ele.
Deci, să începem cu Mese.
Există 5 tipuri de Mese în IPTables și fiecare are reguli diferite aplicate. Deci, să începem cu cel mai comun tabel „Filer”.
Pentru cele mai multe cazuri de utilizare, ultimele 2 tipuri (BRUT și Securitate) din masă nu au mare lucru de făcut și doar primele 3 opțiuni sunt considerate ca mese principale.
Acum, să vorbim despre Lanţuri.
Se comportă în punctele din traseul rețelei unde putem aplica reguli. În IPTables, avem 5 tipuri de lanţuri și vom discuta pe fiecare dintre ele. Rețineți că nu fiecare tip de lanț este disponibil pentru fiecare tip de masă.
Acum, singurul lucru rămas de discutat este reguli, și este cel mai ușor dintre cele 3 pe care le-am discutat aici. Deci, să completăm ceea ce a mai rămas în partea teoretică.
Reguli nu sunt altceva decât comenzile setate sau individuale prin care utilizatorii manipulează traficul de rețea. Odată ce fiecare lanț va intra în acțiune, pachetul va fi verificat în raport cu regulile definite.
Dacă o regulă nu îndeplinește condiția, va fi trecută la următoarea și dacă îndeplinește condiția, următoarea regulă va fi specificată de valoarea țintei.
Fiecare regulă are două componente: cea componentă de potrivire si componenta tinta.
Aceasta a fost partea explicativă și acum vom acoperi comenzile de bază legate de IPTables în Linux.
În distribuțiile moderne Linux, cum ar fi Pop!_OS, IPTables vine preinstalat, dar dacă sistemul dumneavoastră nu are pachetul IPTables, îl puteți instala cu ușurință prin instrucțiunile date:
Pentru a instala IPTables pe Distribuții Linux bazate pe RHEL precum Rocky Linux, AlmaLinux și CentOS Stream, utilizați următoarele comanda dnf.
$ sudo dnf install iptables-services.
Important: Dacă utilizați Firewalld, va trebui să-l dezactivați înainte de a continua la instalare. Pentru a opri complet firewall-ul, va trebui să utilizați următoarele comenzi:
$ sudo systemctl stop firewalld. $ sudo systemctl dezactivează firewalld. $ sudo systemctl masca firewalld.
Pentru a instala IPTables pe Distribuții Linux bazate pe Debian, foloseste urmatoarele comanda apt.
$ sudo apt install iptables.
Odată ce instalați IPTables, puteți activa firewall-ul prin comenzile date:
$ sudo systemctl enable iptables. $ sudo systemctl porniți iptables.
Pentru a monitoriza starea IPTable serviciu, puteți utiliza comanda dată:
$ sudo systemctl status iptables.
Odată ce am terminat cu instalarea, putem continua cu sintaxa lui IPTables care vă va permite să modificați valorile implicite și să vă permiteți să configurați în funcție de nevoile dvs.
Sintaxa de bază a IPTables este după cum urmează:
# iptables -t {tip de tabel} -opțiuni {puncte în lanț} {condiție sau componentă potrivită} {acțiune}
Să înțelegem explicația comenzii de mai sus:
Prima parte este -t
unde putem alege dintre cele 5 opțiuni de masă disponibile și dacă eliminați -t
parte din comandă, va folosi filtru tabel deoarece este tipul implicit de tabel.
A doua parte este pentru lanţ. Aici puteți alege dintre diferite opțiuni de puncte de lanț, iar aceste opțiuni sunt prezentate mai jos:
-A
– Adaugă o nouă regulă la lanț la sfârșitul lanțului.-C
– Verifică regulă dacă îndeplinește cerințele lanțului.-D
– Permite utilizatorilor să șteargă o regulă existentă din lanț.-F
– Aceasta va elimina fiecare regulă definită de utilizator.-Eu
– Permite utilizatorilor să adauge o nouă regulă la poziția specificată.-N
– Creează un lanț complet nou.-v
– Când este utilizat cu opțiunea listă, aduce informații detaliate.-X
– Șterge lanțul.Opțiunile de potrivire sunt condiția pentru verificarea cerințelor lanțului. Puteți alege dintre diferite opțiuni și unele dintre ele sunt prezentate mai jos:
Protocoale -p. IP sursă -s. IP destinație -d. interfața IN -i. interfață OUT -o.
Pentru TCP, acestea sunt după cum urmează:
-sportul. -dport. --tcp-steaguri.
Acum, dacă luăm în considerare partea de acțiune, opțiunile disponibile depind de tipul de tabel, cum ar fi NAT, iar masa Mangle are mai multe opțiuni în comparație cu altele. Prin utilizarea acțiunii, puteți viza și un anumit tabel sau un lanț.
Cea mai folosită acțiune este Salt (-j)
care ne va oferi mai multe opțiuni precum:
Odată ce am terminat cu sintaxa, vă vom arăta cum puteți utiliza IPTables inclusiv configurația de bază.
Dacă doriți să verificați ce trece prin dvs Firewall în mod implicit, listarea unui set curent de reguli este o modalitate perfectă. Pentru a enumera regulile aplicate, utilizați comanda dată:
$ sudo iptables -L.
În această secțiune, vă vom arăta cum puteți permite sau refuza traficul de rețea pentru anumite porturi. Vă vom arăta câteva porturi binecunoscute, deoarece vrem să fim cât mai de ajutor.
Dacă vrei să permiti HTTPS trafic de retea, va trebui sa permitem portul nr 443 folosind comanda dată:
$ sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT.
În mod similar, puteți și dezactiva HTTP trafic web prin comanda dată:
$ sudo iptables -A INPUT -p tcp --dport 80 -j REJECT.
Explicația opțiunilor de comandă utilizate:
-p
este folosit pentru verificarea protocolului specificat și în cazul nostru este TCP.--dport
este folosit pentru a specifica portul de destinație.-j
este folosit pentru a lua măsuri (acceptare sau renunțare).Da, puteți controla și traficul de rețea de la o adresă IP. Nu doar una sau două, ci și controlați gama de adrese IP și vă vom arăta cum.
Pentru a permite o anumită adresă IP, utilizați structura de comandă dată:
$ sudo iptables -A INPUT -s 69.63.176.13 -j ACCEPT.
În mod similar, pentru a elimina pachete de la un IP specific, vi se cere să utilizați structura de comandă dată:
$ sudo iptables -A INPUT -s 192.168.0.27 -j DROP.
Dacă doriți, puteți controla și gama de adrese IP utilizând structura de comandă dată:
$ sudo iptables -A INPUT -m range --src-range 192.168.0.1-192.168.0.255 -j REJECT.
Uneori putem ajunge să facem greșeli în timp ce creăm reguli și cel mai bun mod de a depăși aceste greșeli este să le ștergem. Ștergerea regulilor definite este cel mai simplu proces din acest ghid și pentru a le șterge, mai întâi, va trebui să le enumerăm.
Pentru a enumera regulile definite cu numere, utilizați comanda dată:
$ sudo iptables -L --line-numbers.
Pentru a șterge regulile, va trebui să urmăm structura de comandă dată:
$ sudo iptables -D
Să presupunem că vreau să șterg a 10-a regulă din INTRARE deci voi folosi comanda dată:
$ sudo iptables -D INTRARE 10.
Pentru a verifica dacă am eliminat cu succes regula, trebuie să listăm regulile după comanda dată:
$ sudo iptables -L –line-numbers.
După cum puteți vedea, am eliminat cu succes a 10-a regulă.
S-ar putea să vă întrebați de ce trebuie să salvăm regulile unde funcționează bine după aplicarea lor? Problema este că, odată ce sistemul dvs. repornește, toate regulile definite care nu sunt salvate vor fi șterse, așa că este esențial pentru noi pentru ele.
Pentru a salva regulile în RHEL-distribuții bazate pe:
$ sudo /sbin/service iptables salvare.
Pentru a salva regulile în Debian derivate:
$ sudo /sbin/iptables–salvare.
Pentru a afla mai multe despre regulile IPtable Firewall, consultați ghidul nostru detaliat la:
Pe parcursul acestui ghid, am încercat să simplificăm lucrurile, astfel încât toată lumea să poată beneficia de el. Acesta a fost un ghid de bază explicativ IPTables și dacă aveți întrebări, nu ezitați să întrebați în comentarii.