Securizarea rețelei dvs. cu Iptables - Proxy - NAT - IDS: PARTEA 2

În postarea anterioară, am văzut cum se configurează IPTables să funcționeze ca un firewall. Acum putem vedea cum se creează scripturi pentru a rula automat reguli la pornirea sistemului și, de asemenea, cum se șterg sau se opresc temporar aceste reguli.

Înainte de a face scenariul și de a vă arăta cum arată, să vorbim puțin despre NAT și despre conceptul a ceea ce vrem să facem cu acest echipament.

NAT și contextul exemplului.

Când vorbim despre NAT, putem confunda acest lucru cu rutare, deoarece ambele sunt responsabile de conectarea a două rețele diferite între ele. Adevărata diferență este că rutare se aplică pentru a trece de la o rețea locală la alta, iar această altă rețea se poate conecta la un router și poate ieși la Internet.

În timp ce, atunci când vorbim despre NAT, vorbim despre rutarea pachetelor dintr-o rețea locală sau privată către o rețea publică sau Internet. Face acest lucru mascând pachetele prin plasarea IP-ului public cu care merge pe Internet. Cu alte cuvinte, nu avem nevoie de un router, deoarece IP-ul public este deținut direct de computerul GNU / Linux.

nat

Vom lucra cu sloganul că folosim Linux-ul nostru ca router / firewall pentru a ieși pe internet dintr-o rețea locală. Dar aici pot apărea două scenarii.

  • Că Linux-ul nostru se află între routerul furnizorului de servicii și rețeaua locală.

În acest caz, ar exista o rețea între router și sistemul nostru Linux și o rețea diferită între sistemul Linux și rețeaua locală. Aceasta înseamnă că routerul nostru nu ar trebui să efectueze NAT ca atare; o simplă rutare a traficului, așa cum s-a explicat în postarea anterioară, ar fi suficientă.

  • Că Linux-ul nostru are o interfață conectată la rețeaua locală și prin cealaltă interfață primește direct un IP public cu care navighează.

Aceasta înseamnă că Linux-ul nostru trebuie să facă NAT, astfel încât pachetele să poată ajunge pe Internet.

Atunci, în scopul acestui mic laborator, vom spune că Linux-ul nostru primește direct un IP public și astfel vom putea testa efectele NAT.

Pentru a face NAT folosim apoi sintaxa

 iptables -t nat -A POSTROUTING -O eth1 -j MASCHERADE

Unde eth1 este interfața unde primim IP-ul public, adică unde mergem la Internet.

MASQUERADE este utilizat atunci când IP-ul este public, dar poate varia în timp (dinamic). În caz contrar, putem folosi ip-ul SNAT-to-source

Crearea scriptului iptables

Să presupunem că: 172.26.0.0 este rețeaua noastră locală și 81.2.3.4 este IP-ul public cu care mergem pe internet. (este un ip static). Am interfețele eth0 (rețea locală)

eth1 (Rețea publică).

Practic, constă în crearea unui script care poate fi apelat din /etc/init.d/firestop (de exemplu). și din acest script putem începe, opri sau verifica starea configurației noastre, la fel cum facem cu orice daemon de sistem.

Să presupunem că regulile mele IPTABLES SUNT:

#! / bin / bash # Paravan de protecție al casei mele. # Numele fișierului / etc / firewall_on # De Jlcmux Twitter: @Jlcmux # # Politica de bază. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT pentru a partaja Internetul de la eth0 la eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT - la sursă 81.2.3.4
# # Permiteți conexiunile de intrare inițiate de iptables -O state FORWARD -m state --stable STABILIT, RELATAT -j ACCEPT # # Autorizat iptables de trafic de ieșire-A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 443 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 53 -j ACCEPT
Să nu uităm să acordăm permisiuni de execuție

Explicaţie:

Scenariul face practic următoarele:

  1. Mai întâi restricționați toate navigația, conexiunile și traficul. (Politici de bază pentru firewall)
  2. Apoi creați NAT cu eth1 de destinație. indicând faptul că avem un IP public static "81.2.3.4"
  3. Deschide porturile necesare pentru a primi pachetele de conexiuni inițiate de mine.
  4. Acceptă trafic HTTP, HTTPS și DNS de ieșire.
Regulile sunt destinate traficului FORWARD deoarece ne folosim Linux-ul ca router, deci politicile sunt folosite pentru traficul care TRECE PRIN Linux, adică acționează ca intermediar. Acest lucru înseamnă că Linux-ul nostru nu poate naviga cu adevărat sau nu poate primi niciun fel de date direct. Se aplică numai computerelor conectate la acesta, dar nu și la sine

Dacă am dori să ne folosim echipamentul pentru a naviga, ar trebui să repetăm ​​liniile și să schimbăm FORWARD la INPUT sau OUTPUT, după caz.

Anulați scriptul.

Acum vom crea un script care suprascrie toate cele de mai sus și lasă computerul curat de toate acestea. (În scopuri de testare sau vrem doar să oprim firewall-ul).

#! / bin / bash # Paravan de protecție al casei mele. # Numele fișierului / etc / firewall_off # De Jlcmux Twitter: @Jlcmux # # Ștergerea regulilor iptables -F # # Aplicarea politicilor implicite (tot traficul acceptat) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Automatizare.

Acum trebuie să creăm scriptul în /etc/init.d/ astfel încât serviciul să pornească automat și să îl putem gestiona mai ușor.

#! / bin / bash # Paravan de protecție al casei mele. # Numele fișierului /etc/init.d/ firewall # De Jlcmux Twitter: @Jlcmux case $ 1 în start) / etc / firewall_on ;; stop) / etc / firewall_off ;; status) iptables -L ;; *) echo "Sintaxă greșită. Valid = /etc/init.d/ firewall start | stop | status ;; esac

Explicaţie:

Plasăm acest ultim script în /etc/init.d/ cu numele „firewall” . Apoi, dacă dorim să gestionăm firewall-ul, putem folosi comanda /etc/init.d/firewall start. De asemenea, îl putem opri sau verifica starea sa în același mod.

Acum vom edita fișierul /etc/rc.local și vom adăuga ceva de genul: /etc/init.d/firewall start astfel încât să pornească odată cu sistemul.

De asemenea. Aceasta este a doua parte. Sper că vă aduce ceva pentru voi toți. În următoarea vedem Proxy și IDS.


Adăugați ca sursă preferată în Google