Zaščita vašega omrežja z Iptables - Proxy - NAT - IDS: 2. DEL

V prejšnji objavi smo videli, kako konfigurirati IPTables, da deluje kot požarni zid. Zdaj si lahko ogledamo, kako ustvariti skripte za samodejno izvajanje pravil ob zagonu sistema in kako ta pravila izbrisati ali začasno ustaviti.

Preden naredimo skript in vam pokažemo, kako izgleda, se pogovorimo malo o NAT-u in konceptu, kaj želimo narediti s to opremo.

NAT in kontekst primera.

Ko govorimo o NAT, lahko to zamenjamo z usmerjanjem, saj sta oba zadolžena za medsebojno povezovanje dveh različnih omrežij. Resnična razlika je v tem, da se usmerjanje uporablja za prehod iz enega lokalnega omrežja v drugo, to drugo omrežje pa se lahko poveže z usmerjevalnikom in izstopi na internet.

Ko govorimo o NAT, govorimo o usmerjanju paketov iz lokalnega ali zasebnega omrežja v javno omrežje ali internet. To stori z maskiranjem paketov tako, da postavi javni IP, s katerim gre na internet. Z drugimi besedami, usmerjevalnika ne potrebujemo, ker je javni IP neposredno v lasti računalnika GNU / Linux.

nat

To bomo storili s sloganom, da svoj Linux uporabljamo kot usmerjevalnik / požarni zid za dostop do interneta iz lokalnega omrežja. Tu pa se lahko pojavita dva scenarija.

  • Da je naš Linux med usmerjevalnikom ponudnika storitev in lokalnim omrežjem.

V tem primeru bi bilo med usmerjevalnikom in našim sistemom Linux eno omrežje, med sistemom Linux in lokalnim omrežjem pa drugo omrežje. To pomeni, da našemu usmerjevalniku ne bi bilo treba izvajati NAT-a kot takega; zadostovalo bi preprosto usmerjanje prometa, kot je razloženo v prejšnji objavi .

  • Da ima naš Linux vmesnik, povezan z lokalnim omrežjem, in prek drugega vmesnika prejme neposredno javni IP, s katerim krmili.

To pomeni, da mora naš Linux uporabljati NAT, da lahko paketi dosežejo internet.

Za namene tega majhnega laboratorija bomo rekli, da naš Linux neposredno prejme javni IP in tako lahko preizkusi učinke NAT.

Nato uporabimo sintakso

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

Kjer je eth1 vmesnik, kjer prejmemo javni IP, torej kam gremo na internet.

MASQUERADE se uporablja, kadar je ip javen, vendar se lahko sčasoma spreminja (dinamično). V nasprotnem primeru lahko uporabimo SNAT –izvirni ip

Ustvarjanje skripta iptables

Recimo torej, da je: 172.26.0.0 naše lokalno omrežje in 81.2.3.4 javni IP, s katerim gremo v internet. (gre za statični ip). Imam vmesnike eth0 (lokalno omrežje)

eth1 (Javno omrežje).

V bistvu je sestavljen iz ustvarjanja skripta, ki ga lahko pokličete iz /etc/init.d/firestop (na primer). in iz tega skripta lahko zaženemo, ustavimo ali preverimo stanje naše konfiguracije, kot to počnemo s katerim koli sistemskim demonom.

Recimo, da so moja pravila IPTABLES:

#! / bin / bash # Požarni zid mojega doma. # Ime datoteke / etc / firewall_on # Avtor Jlcmux Twitter: @Jlcmux # # Osnovni pravilnik. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT za skupno rabo interneta od eth0 do eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT --to-source 81.2.3.4
# # Dovoli dohodne povezave, ki jih sprožijo moji iptables -A FORWARD -m state --state VZPOSTAVLJENO, POVEZANO -j SPREJEM # # Pooblaščeni iptables za odhodni promet -A NAPREJ -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT iptables -A NAPREJ -i eth0 -o eth1 -p tcp --dport 443 -j SPREJEM iptables -A NAPREJ -i eth0 -o eth1 -p udp --dport 53 -j SPREJEM
Ne pozabimo dati dovoljenj za izvajanje

Pojasnilo:

Skript v bistvu naredi naslednje:

  1. Najprej omejite vso navigacijo, povezave in promet. (Osnovne politike požarnega zidu)
  2. Nato ustvarite NAT s ciljnim eth1. kar pomeni, da imamo statični javni ip «81.2.3.4»
  3. Odpre vrata, potrebna za sprejem paketov povezav, ki sem jih sprožil sam.
  4. Sprejema odhodni promet HTTP, HTTPS in DNS.
Pravila so namenjena NAPREJ prometu, ker svoj Linux uporabljamo kot usmerjevalnik, zato se pravilniki uporabljajo za promet, ki prehaja skozi Linux, torej deluje kot posrednik. To pomeni, da naš Linux v resnici ne more neposredno krmariti ali sprejemati nobenih podatkov. Velja samo za računalnike, povezane z njim, ne pa tudi zase

Če smo za navigacijo želeli uporabiti svojo opremo, ponovimo vrstice in spremenimo NAPREJ v VHOD ali IZHOD, kot je primerno.

Prekliči skript.

Zdaj bomo ustvarili skript, ki bo preglasil vse zgoraj in računalnik pustil čist pred vsem tem. (Za namene testiranja ali pa želimo izključiti požarni zid).

#! / bin / bash # Požarni zid mojega doma. # Ime datoteke / etc / firewall_off # Avtor Jlcmux Twitter: @Jlcmux # #Izbris pravil iptables -F # # Uporaba privzetih pravilnikov (ves promet sprejet) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Avtomatizacija.

Zdaj moramo ustvariti skript znotraj /etc/init.d/ , da se storitev zažene samodejno in jo bomo lažje upravljali.

#! / bin / bash # Požarni zid mojega doma. # Ime datoteke /etc/init.d/ požarni zid # Avtor Jlcmux Twitter: @Jlcmux primer $ 1 v začetku) / etc / firewall_on ;; stop) / etc / firewall_off ;; status) iptables -L ;; *) echo "Napačna sintaksa. Veljavno = /etc/init.d/ začetek požarnega zidu | stop | status ;; esac

Pojasnilo:

Ta zadnji skript namestimo v /etc/init.d/ z imenom "firewall" . Če želimo nato upravljati požarni zid, lahko uporabimo ukaz /etc/init.d/firewall start. Na enak način ga lahko tudi ustavimo ali preverimo njegovo stanje.

Sedaj bomo uredili datoteko /etc/rc.local in dodali nekaj takega kot: /etc/init.d/firewall start , da se bo zagnala skupaj s sistemom.

Pa tudi. To je drugi del. Upam, da bo vsem prinesel nekaj. V naslednjem vidimo Proxy in IDS.


Dodaj kot prednostni vir v Googlu