Acest ghid va încerca să explice cum să utilizați iptables pe linux în limbajul ușor de înțeles.
Cuprins[ascunde]
|
Iptables este un firewall bazat pe reguli, care va procesa fiecare regulă în ordine până când va găsi unul care se potrivește.
Todo: includeți un exemplu aici
Utilitarul iptables este, de obicei, preinstalat pe distribuția linux, dar nu rulează de fapt nici o regulă. Veți găsi utilitatea aici pe majoritatea distribuțiilor:
/ Sbin / iptables
Puteți bloca o adresă IP utilizând parametrul -s, înlocuind 10.10.10.10 cu adresa pe care încercați să o blocați. Veți observa în acest exemplu că am folosit parametrul -I (sau -instrumentul funcționează prea) în loc de anexă, deoarece vrem să ne asigurăm că această regulă apare mai întâi, înainte de orice reguli de permisiune.
/ sbin / iptables -I INPUT-urile 10.10.10.10 -j DROP
Puteți să permiteți alternativ tot traficul de la o adresă IP utilizând aceeași comandă ca mai sus, dar înlocuind DROP cu ACCEPT. Trebuie să vă asigurați că această regulă apare mai întâi, înainte de orice reguli DROP.
/ sbin / iptables -U INPUT -s 10.10.10.10 -j ACCEPT
Puteți bloca un port în întregime de a fi accesat prin rețea utilizând comutatorul -dport și adăugând portul serviciului pe care doriți să-l blocați. În acest exemplu, vom bloca portul mysql:
/ sbin / iptables -A INPUT -p tcp -dport 3306 -j DROP
Puteți adăuga comanda -s împreună cu comanda -dport pentru a limita ulterior regula la un anumit port:
/ sbin / iptables -A INPUT -p tcp -s 10.10.10.10 -dport 3306 -j ACCEPT
Puteți vedea regulile curente utilizând următoarea comandă:
/ sbin / iptables -L
Acest lucru ar trebui să vă ofere o ieșire similară cu următoarea:
Chain INPUT (politica ACCEPT) țintă destinație sursă pro opt ACCEPT all - 192.168.1.1/24 oriunde ACCEPT all - 10.10.10.0/24 oriunde DROP tcp - oriunde oriunde tcp dpt: ssh DROP tcp - oriunde oriunde tcp dpt: MySQL
Rezultatul real va fi un pic mai lung, desigur.
Puteți să ștergeți toate regulile actuale utilizând parametrul "flush". Acest lucru este foarte util dacă trebuie să puneți regulile în ordinea corectă sau atunci când testați.
/ sbin / iptables -flush
În timp ce majoritatea distribuțiilor Linux includ o formă de iptables, unele dintre ele includ și împachetări care fac managementul mai ușor. Cel mai adesea, aceste "addons" iau forma unor script-uri init care se ocupă de inițializarea iptables la pornire, deși unele distribuții includ și aplicații de împachetare completă care încearcă să simplifice cazul comun.
iptables init script-ul de pe Gentoo este capabil să se ocupe de multe scenarii comune. Pentru început, vă permite să configurați iptables pentru încărcare la pornire (de obicei ceea ce doriți):
rc-update adăugați iptables implicit
Folosind scriptul de inițializare, este posibil să încărcați și să ștergeți paravanul de protecție cu o comandă ușor de reținut:
/etc/init.d/iptables începe /etc/init.d/iptables stop
Scriptul init se ocupă de detaliile privind persistența configurației firewall actuale pe start / stop. Astfel, firewall-ul dvs. este întotdeauna în starea pe care ați lăsat-o. Dacă trebuie să salvați manual o nouă regulă, scriptul init se poate ocupa și de acest lucru:
/etc/init.d/iptables salvați
În plus, puteți restaura paravanul de protecție la starea salvată anterioară (pentru cazul în care ați experimentat regulile și doriți acum să restaurați configurația de lucru anterioară):
/etc/init.d/iptables reload
În cele din urmă, scriptul inițial poate pune iptables într-un mod "panic", în care tot traficul de intrare și ieșire este blocat. Nu sunt sigur de ce acest mod este util, dar toate firewall-urile Linux par să le aibă.
/etc/init.d/iptables panic
Avertizare: Nu inițiați modul de panică dacă sunteți conectat la serverul dvs. prin SSH; tuvoi fi deconectat! Singura dată când trebuie să puneți iptables în modul de panică este în timp ce vă aflațifizic în fața calculatorului.