- 1. Filtrarea pachetelor pe Linux
- 2. Afișați starea firewall-ului
- 3. Opriți, reporniți sau porniți iptables pe Linux
- 4. Adăugați noi reguli firewall în Linux
- 5. Ștergeți o regulă de firewall pe Linux
- 6. Stocați și restaurați regulile iptables pe Linux
- 7. Setați regulile implicite în Linux
- 8. Blocați o adresă IP în Linux
- 9. Blocați cererile de port primite pe Linux
- 10. Dacă se permite sau nu traficul de rețea utilizând adresa MAC în Linux
- 11. Blocați sau permiteți solicitările ICMP pe Linux
- 12. Deschideți o serie de porturi și adrese IP în Linux
- 13. Restricționați numărul de conexiuni paralele la un server de IP client pe Linux
- 14. Restricționați numărul de conexiuni paralele la un server de IP client pe Linux
- 15. Ștergeți regulile NAT pe Linux
- 16. Resetați contoare de pachete în Linux
- 17. Validați paravanul de protecție pe Linux
- 18. Permiteți accesul în buclă cu iptables pe Linux
- 19. Definiți noi șiruri iptables pe Linux
- 20. Ștergeți lanțurile sau regulile de firewall iptables pe Linux
Securitatea trebuie să fie întotdeauna una din premisele pe care trebuie să lucreze administratorii, personalul de management și de asistență și, în general, toți utilizatorii oricărui sistem de operare actual din cauza multiplelor amenințări prezente în rețea.
În cazul distribuțiilor Linux, majoritatea au instrumente avansate pentru a aplica un filtru pachetelor de rețea atât la nivelul procesării controlului pachetelor de rețea în intrarea, mișcarea, controlul și ieșirea stivei. Rețelele din nucleul sistemului utilizat , prin urmare, începând cu kernel 2.4, au fost introduse iptables, care se mai numesc netfilter și acestea au un nivel mai ridicat de securitate și funcționalități practice pentru protecția sistemului.
iptables gestionează filtrarea IPv4 în timp ce ip6tables gestionează filtrarea IPv6 în rețelele actuale.
Solvetic va face o analiză cu privire la modul în care funcționează iptables și unele dintre comenzile mai practice pe care le putem lua din acesta.
1. Filtrarea pachetelor pe Linux
Kernel-ul distribuțiilor Linux folosește instrumentul Netfilter pentru a efectua procesul de filtrare a pachetelor și, astfel, să îndeplinească sarcinile de primire sau oprire a acestora.
Reguli încorporate în NetfilterNetfilter este încorporat în mod implicit în nucleul Linux și are trei tabele sau liste de reguli integrate astfel:
- filtru: Se referă la tabelul implicit conceput pentru gestionarea pachetelor.
- nat: Funcția sa este de a modifica pachetele care au fost create într-o nouă conexiune folosită în principal de NAT.
- mangle: Utilizarea sa se aplică atunci când anumite pachete de rețea trebuie modificate.
Acum, fiecare tabel are un grup de lanțuri încorporate care sunt legate de acțiunile care pot fi efectuate de netfilter, acestea fiind:
Reguli pentru tabelele de filtrareȘirurile încorporate pentru tabelul de filtrare sunt:
- INPUT: Este legat de pachetele care au fost destinate gazdei.
- IEȘIRE: Funcționează pe pachete de rețea care au fost generate local.
- FORWARD: Asociază pachetele care au fost direcționate prin gazda principală.
Reguli pentru tabelele natȘirurile încorporate pentru tabelul nat sunt:
- PREROUTING: Funcția sa este de a modifica pachetele de rețea imediat ce sosesc.
- IEȘIRE: A fost conceput pentru a modifica pachetele de rețea care sunt create local și sunt activate înainte de a fi trimise.
- POSTROUTING: Creat pentru a modifica pachetele înainte de a fi trimise la nivel global.
Reguli pentru panourile de mangroveLanțurile încorporate pentru masa de mangrove sunt:
- INPUT: Conceput pentru a modifica pachetele de rețea destinate gazdei principale.
- IEȘIRE: Creat pentru a modifica pachetele de rețea create local și funcționează înainte de a fi trimise.
- FORWARD: modifică pachetele care au fost direcționate prin gazda principală.
- PREROUTING: Sarcina dvs. este să modificați pachetele primite înainte de a fi direcționate.
- POSTROUTING: modifică pachetele de rețea înainte ca procesul de trimitere să aibă loc.
Fiecare pachet de rețea primit sau trimis din sistemul de operare Linux este întotdeauna legat de cel puțin o masă. Acum, să înțelegem câteva dintre comenzile mai utile pe care le putem folosi cu iptables.
2. Afișați starea firewall-ului
Pasul 1
Pentru a cunoaște starea curentă a firewallului executăm următoarea linie:
sudo iptables -L -n -v
MARI
Pasul 2
Acolo putem valida fiecare lanț cu nivelurile sale respective de pachete gestionate, parametrii utilizați în această comandă sunt:
-LAfișați regulile listei.
-vGenerează informații detaliate, cum ar fi numele interfeței, plus opțiunile de regulă, plus contoare de pachete și octeți sunt de asemenea listate, cu sufixul „K”, „M” sau „G” pentru opțiunile de 1000, 1.000.000 și, respectiv, 1.000.000.000.
-nAfișează adresa IP și portul în format numeric.
Pasul 3
Dacă doriți, vedeți acest rezultat cu numărul de linii, putem executa următoarele:
iptables -n -L -v --line-numbers
MARI
3. Opriți, reporniți sau porniți iptables pe Linux
Pasul 1
Principalele comenzi pentru gestionarea sarcinilor iptables la nivel de pornire sau oprire sunt:
service iptables stop service iptables start service iptables restartPasul 2
De asemenea, va fi posibil să utilizați comanda iptables pentru a opri firewall-ul și a elimina toate regulile de acest fel:
iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPTPasul 3
Parametrii definiți sunt:
-FEliminați toate regulile.
-XȘtergeți un șir.
-tnume_tabel: Selectați tabelul (numit nat sau mangle) și ștergeți sau eliminați regulile.
-PSetați politica implicită, cum ar fi DROP, REJECT sau ACCEPT.
4. Adăugați noi reguli firewall în Linux
Pasul 1
Una dintre cele mai practice sarcini ale iptables este de a crea anumite reguli pentru gestionarea corectă a pachetelor, pentru a insera una sau mai multe reguli în lanțul selectat vom folosi următoarea sintaxă în care trebuie descoperite mai întâi numerele de linie:
iptables -L INPUT -n --line-numbersPasul 2
de exemplu, să adăugăm următoarea regulă:
iptables -I INPUT 2 -s 192.168.0.50 -j DROPPasul 3
Mai târziu, vom vedea regulile folosind comanda de mai sus. Acolo vedem că regula creată a fost adăugată pe linia 3 așa cum s-a indicat.
MARI
5. Ștergeți o regulă de firewall pe Linux
Pasul 1
În primul rând, trebuie să afișăm regulile care sunt create pentru a determina exact care ar trebui eliminată, pentru a obține aceste informații avem următoarele opțiuni:
iptables -L INPUT -n --line-numbers iptables -L OUTPUT -n --line-numbers iptables -L OUTPUT -n --line-numbers | Mai puținPasul 2
Acum, pentru a șterge regula 3 creată anterior, vom executa următoarele:
iptables -D INPUT 3
MARI
6. Stocați și restaurați regulile iptables pe Linux
Pasul 1
De fiecare dată când modificăm regulile iptables, trebuie să procedăm la salvarea acestor modificări, pentru aceasta este suficient să executăm următoarea linie:
service iptables știePasul 2
Putem pur și simplu restabili acele reguli pe care le-am stocat executând următoarele:
service iptables reporniți
7. Setați regulile implicite în Linux
Cu iptables va fi posibil să se permită sau să se refuze regulile implicite care trebuie aplicate întregului sistem în felul următor.
Pasul 1
Pentru a elimina tot traficul pe care îl executăm:
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROPPasul 2
Pentru a elimina tot traficul primit:
iptables -P INPUT DROP iptables -P FORDARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -m state - NOU, STABILIT -j ACCEPT
MARI
8. Blocați o adresă IP în Linux
Cu iptables va fi posibil să se blocheze o anumită adresă IP pentru a împiedica accesul la sistem al pachetelor de rețea. Pentru această sarcină avem următoarele opțiuni:
iptables -A INPUT -s 192.168.0.14 -j DROP (IP specific) iptables -A INPUT -s 192.168.0.0/24 -j DROP (Interval de adrese)
9. Blocați cererile de port primite pe Linux
Pasul 1
O altă sarcină tipică de securitate este restricționarea accesului la pachete printr-un port specific, cu iptables avem următoarele opțiuni:
Blocați toate acțiunileBlocați toate acțiunile pentru un anumit port executând:
iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
Blocați un portBlocați un port pentru o anumită adresă IP:
iptables -A INPUT -p tcp -s 192.168.0.14 --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp -s 192.168.0.1/24 --dport 80 -j DROP
Blocați adresa IP de ieșire
Este posibil să blocați traficul de ieșire către o anumită gazdă sau domeniu, de exemplu Solvetic.com, pentru aceasta executăm următoarele:
gazdă -t la solvetic.com
MARI
Pasul 2
Acum, cu această adresă IP, continuăm să blocăm:
iptables -A OUTPUT -d 178.33.118.246 -j DROPPasul 3
De asemenea, va fi posibil să blocați întregul domeniu astfel:
iptables -A OUTPUT -p tcp -d www.solvetic.com -j DROP
10. Dacă se permite sau nu traficul de rețea utilizând adresa MAC în Linux
O altă posibilitate de utilizare este de a restricționa sau permite utilizarea pachetelor pe baza adresei MAC a dispozitivului selectat. Pentru aceasta vom folosi una dintre următoarele opțiuni:
iptables -A INPUT -m mac --mac-source 00: 2F: EF: 85: 04: 09 -j DROP (refuza traficul de la adresa MAC selectată) iptables -A INPUT -p tcp --destination-port 22 - m mac --mac-source 00: 2F: EF: 85: 04: 09 -j ACCEPT (Acceptă pachete de la adresa indicată doar de portul 22)
11. Blocați sau permiteți solicitările ICMP pe Linux
Protocolul ICMP (Internet Control Message Protocol) este un protocol dezvoltat pentru a gestiona informațiile legate de erorile din computerele din rețeaua locală, astfel încât cu acest protocol să poată fi făcute cereri de la distanță pentru a verifica disponibilitatea unei echipe și acest lucru din punct de vedere al securității poate fi delicat .
Pasul 1
Putem rula următoarele linii pentru a evita solicitările ICMP pe Linux:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROPPasul 2
Răspunsurile ping pot fi, de asemenea, limitate la anumite rețele sau gazde de genul acesta:
iptables -A INPUT -s 192.168.0.1/24 -p icmp --icmp-type echo-request -j ACCEPTPasul 3
Vom putea accepta doar un tip limitat de solicitări ICMP ca acesta:
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -A INPUT -p icmp --icmp-type destination-inreachable -j ACCEPT iptables -A INPUT -p icmp --icmp-type time- depășit -j ACCEPT
12. Deschideți o serie de porturi și adrese IP în Linux
Pasul 1
Acest lucru este util dacă trebuie să activăm o gamă definită de porturi pentru a efectua acțiuni administrative sau de execuție a programului:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9000: 9020 -j ACCEPTAstfel, am deschis gama de porturi 9000 - 9020 pentru conexiuni TCP.
Pasul 2
O altă alternativă este să activați o serie de adrese IP prin setarea unui port specific ca acesta. Acolo am autorizat această gamă să utilizeze portul 80.
iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.0.70-192.168.0.80 -j ACCEPT
13. Restricționați numărul de conexiuni paralele la un server de IP client pe Linux
Pasul 1
Putem folosi modulul connlimit pentru a defini aceste restricții, de exemplu, pentru a permite conexiuni de 5 ssh per client, introducem următoarele:
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 5 -j REJECT
MARI
Pasul 2
Pentru a restricționa accesul HTTP la 10:
iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 24 -j DROPPasul 3
Am indicat următoarele:
- --conlimit-above 5: se potrivește dacă numărul de conexiuni existente este mai mare de 5.
- --connlimit-mask 24: Acestea sunt gazdele grupului care utilizează lungimea prefixului. Pentru IPv4, trebuie să fie un număr între (inclusiv) 0 și 32.
14. Restricționați numărul de conexiuni paralele la un server de IP client pe Linux
Pasul 1
NAT (Network Address Translation) este un sistem de traducere a adreselor de rețea și astfel facilitează navigarea. Pentru a le enumera, vom executa următoarele:
iptables -t nat -L -n -v
MARI
Pasul 2
Va fi posibil să vedeți acest rezultat cu liniile respective, astfel:
iptables -t nat -v -L -n --line-number
15. Ștergeți regulile NAT pe Linux
Pasul 1
Dacă dorim să ștergem regulile NAT stabilite, vom executa următoarele:
iptables -t nat -v -L -n --line-number iptables -t nat -v -L PREROUTING -n --line-number iptables -t nat -v -L POSTROUTING -n --line-numberPasul 2
Pentru a șterge toate regulile „PREROUTING” executăm următoarea sintaxă:
iptables -t nat -D PREROUTING {Număr regulă}Pasul 3
Pentru a șterge toate regulile „POSTROUTING” executăm:
iptables -t nat -D POSTROUTING {număr regulă}
16. Resetați contoare de pachete în Linux
Mai întâi, trebuie să executăm comanda „iptables -L -n -v”, pe care am văzut-o mai devreme, pentru a enumera contoare.
Pasul 1
Pentru a goli aceste contoare, rulați următoarele:
iptables -ZPasul 2
Pentru a reseta contoare cu acces numai executăm:
iptables -Z INPUT
17. Validați paravanul de protecție pe Linux
Pasul 1
În primul rând, trebuie să validăm dacă porturile sunt sau nu deschise cu următoarea comandă:
netstat -tulpn
MARI
Pasul 2
Pentru validarea unui anumit port executăm:
netstat -tulpn | grep: 80
MARI
Pasul 3
În cazul în care portul nu este deschis, executăm:
service httpd startPasul 4
Apoi trebuie să ne asigurăm că iptables are acces prin acel port:
iptables -L INPUT -v -n | grep 80
18. Permiteți accesul în buclă cu iptables pe Linux
Accesul Loopback al cărui acces este de la IP 127.0.0.1 este important și ar trebui lăsat întotdeauna activ pentru sarcinile de administrare și gestionare a rețelei. Pentru a-l activa în iptables, trebuie doar să executați următoarele.
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
19. Definiți noi șiruri iptables pe Linux
Pasul 1
Cu iptables avem posibilitatea de a ne defini propriul lanț și de a stoca reguli personalizate în acesta. Pentru a defini un lanț, executăm următoarele:
iptables -N "Numele șirului"Pasul 2
Apoi rulăm „iptables -L” pentru a lista șirurile iptables:
MARI
Pasul 3
În rezultat vom vedea lanțul nostru creat:
MARI
20. Ștergeți lanțurile sau regulile de firewall iptables pe Linux
Pentru a efectua această ștergere trebuie să executăm următoarele:
iptables -FDupă cum putem vedea, iptables este o soluție cuprinzătoare pentru gestionarea centralizată a diferitelor aspecte de securitate în distribuțiile Linux pentru a obține îmbunătățiri în tot ceea ce privește confidențialitatea.