Osiguravanje vaše mreže pomoću Iptables - Proxy - NAT - IDS: DIO 2

U prethodnom postu smo vidjeli kako konfigurirati IPTables da funkcionira kao zaštitni zid (firewall). Sada možemo vidjeti kako kreirati skripte za automatsko pokretanje pravila prilikom pokretanja sistema, te kako izbrisati ili privremeno zaustaviti ta pravila.

Prije izrade skripte i pokazivanja kako izgleda, razgovarajmo malo o NAT-u i konceptu što želimo raditi s ovom opremom.

NAT i kontekst primjera.

Kada govorimo o NAT-u, ovo možemo zbuniti s usmjeravanjem, jer su obje zadužene za međusobno povezivanje dviju različitih mreža. Razlika je zaista u tome što se usmjeravanje primjenjuje za prelazak s jedne lokalne mreže na drugu, a ta se druga mreža može povezati s usmjerivačem i izaći na Internet.

Dok, kada govorimo o NAT-u, govorimo o usmjeravanju paketa s lokalne ili privatne mreže na javnu mrežu ili Internet. To čini maskiranjem paketa stavljanjem javne IP adrese s kojom odlazi na Internet. Odnosno, ne treba nam usmjerivač, jer javni IP direktno drži računalo s GNU / Linuxom.

nat

To ćemo raditi sa sloganom da svoj Linux koristimo kao usmjerivač / zaštitni zid za izlazak na Internet iz lokalne mreže. Ali ovdje se mogu pojaviti dva scenarija.

  • Da je naš Linux između usmjerivača davatelja usluga i lokalne mreže.

U ovom slučaju, postojala bi jedna mreža između rutera i našeg Linux sistema, a druga mreža između Linux sistema i lokalne mreže. To znači da naš ruter ne bi trebao izvršavati NAT kao takav; jednostavno usmjeravanje prometa, kao što je objašnjeno u prethodnom postu, bilo bi dovoljno.

  • Da naš Linux ima sučelje povezano s lokalnom mrežom, a preko drugog sučelja prima direktno javnu IP pomoću koje se kreće.

To znači da naš Linux mora raditi NAT kako bi paketi mogli doći do Interneta.

Tada ćemo za potrebe ove male laboratorije reći da naš Linux prima javnu IP direktno i tako moći testirati učinke NAT-a.

Da bismo izvršili NAT, tada koristimo sintaksu

 iptables -t nat -A POSTROUTIRANJE -O eth1 -j MASKERADA

Gdje je eth1 sučelje gdje primamo javnu IP adresu, odnosno gdje idemo na Internet.

MASQUERADE se koristi kada je ip javan, ali vremenom može varirati (dinamički). U suprotnom možemo koristiti SNAT –to-source ip

Stvaranje iptables skripte

Pretpostavimo onda da je: 172.26.0.0 naša lokalna mreža, a 81.2.3.4 je javna IP adresa s kojom idemo na Internet. (to je statički ip). Imam sučelja eth0 (lokalna mreža)

eth1 (javna mreža).

U osnovi se sastoji od stvaranja skripte koja se može pozvati iz /etc/init.d/firestop (na primjer). i iz ove skripte možemo pokrenuti, zaustaviti ili provjeriti status naše konfiguracije, baš kao što to radimo sa bilo kojim sistemskim demonom.

Pretpostavimo da su moja IPTABLES pravila:

#! / bin / bash # Vatrozid mog doma. # Naziv datoteke / etc / firewall_on # Napisao Jlcmux Twitter: @Jlcmux # # Osnovna politika. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT za dijeljenje Interneta od eth0 do eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT --to-source 81.2.3.4
# # Omogući dolazne veze pokrenute mojim iptables -A FORWARD -m stanje - state USPOSTAVLJENO, POVEZANO -j PRIHVAĆAJ # # Ovlašteni odlazni prometni iptables -A NAPRED -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT iptables -A NAPRIJED -i eth0 -o eth1 -p tcp --dport 443 -j PRIHVATI iptables -A NAPRED -i eth0 -o eth1 -p udp --dport 53 -j PRIHVATI
Ne zaboravimo dati dozvole za izvršenje

Objašnjenje:

Skripta u osnovi radi sljedeće:

  1. Prvo ograničite svu navigaciju, veze i promet. (Osnovne politike zaštitnog zida)
  2. Zatim stvorite NAT sa odredištem eth1. što ukazuje da imamo statični javni ip "81.2.3.4"
  3. Otvara portove potrebne za primanje paketa veza koje sam inicirao.
  4. Prihvaća odlazni HTTP, HTTPS i DNS promet.
Pravila su namijenjena NAPRIJED prometu jer svoj Linux koristimo kao usmjerivač, pa se politike koriste za promet koji prolazi kroz Linux, odnosno djeluje kao posrednik. To znači da naš Linux ne može stvarno navigirati niti primati bilo kakve podatke direktno. Odnosi se samo na računare povezane na njega, ali ne i na njega samog

Ako želimo koristiti našu opremu za navigaciju, trebali bismo ponoviti redove i promijeniti prema naprijed INPUT ili OUTPUT prema potrebi.

Otkaži skriptu.

Sada ćemo stvoriti skriptu koja nadjačava sve gore navedeno i ostavlja računar čistim od svega ovoga. (U svrhu testiranja ili samo želimo isključiti zaštitni zid).

#! / bin / bash # Vatrozid moje kuće. # Naziv datoteke / etc / firewall_off # Autor Jlcmux Twitter: @Jlcmux # #Izbrisivanje pravila iptables -F # # Primjena zadanih pravila (sav promet prihvaćen) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Automatizacija.

Sada trebamo kreirati skriptu unutar /etc/init.d/ kako bi se servis automatski pokrenuo i kako bismo ga mogli lakše upravljati.

#! / bin / bash # Vatrozid mog doma. # Ime datoteke /etc/init.d/ firewall # Napisao Jlcmux Twitter: @Jlcmux slučaj $ 1 u startu) / etc / firewall_on ;; stop) / etc / firewall_off ;; status) iptables -L ;; *) echo "Pogrešna sintaksa. Važeće = /etc/init.d/ start firewall-a | stop | status ;; esac

Objašnjenje:

Ovaj posljednji skript smještamo u /etc/init.d/ pod nazivom "firewall" . Zatim, ako želimo upravljati firewallom, možemo koristiti naredbu /etc/init.d/firewall start. Također ga možemo zaustaviti ili provjeriti njegov status na isti način.

Sada ćemo urediti datoteku /etc/rc.local i dodati nešto poput: /etc/init.d/firewall start tako da se pokreće sa sistemom.

Kao dobro. Ovo je drugi dio. Nadam se da će svima vama nešto donijeti. U sljedećem vidimo Proxy i IDS.


Dodaj kao preferirani izvor na Googleu