Oma võrgu turvamine rakendusega Iptables - Proxy - NAT - IDS: 2. OSA

Eelmises postituses nägime, kuidas seadistada IPTables tulemüürina toimima. Nüüd näeme, kuidas luua skripte reeglite automaatseks käivitamiseks süsteemi käivitamisel ning kuidas neid reegleid kustutada või ajutiselt peatada.

Enne skripti tegemist ja selle väljanägemise rääkimist räägime veidi NAT-ist ja kontseptsioonist, mida me selle seadmega teha tahame.

NAT ja näite kontekst.

NAT-ist rääkides võime selle segi ajada marsruutimisega, kuna mõlemad vastutavad kahe erineva võrgu ühendamise eest üksteisega. Tegelik erinevus seisneb selles, et marsruutimist rakendatakse ühest kohalikust võrgust teise liikumiseks ja see teine ​​võrk saab ruuteriga ühenduse luua ja Internetti minna.

Kui aga räägime NAT-ist, siis pakettide suunamisest kohalikust või eravõrgust avalikku võrku või Internetti. Ta teeb seda maskeerides pakette, pannes Interneti-ühenduse avaliku IP-ga. Teisisõnu, me ei vaja ruuterit, sest avalik IP kuulub otse GNU / Linuxi arvutile.

nat

Töötame selle loosungiga, et me kasutame oma Linuxit ruuteri / tulemüürina, et minna kohalikust võrgust Internetti. Kuid siin võib ilmneda kaks stsenaariumi.

  • Et meie Linux on teenusepakkuja ruuteri ja kohaliku võrgu vahel.

Sellisel juhul oleks ruuteri ja meie Linuxi süsteemi vahel üks võrk ning Linuxi süsteemi ja kohaliku võrgu vahel teine ​​võrk. See tähendab, et meie ruuter ei peaks NAT-i kui sellist teostama; piisaks lihtsast liikluse suunamisest, nagu eelmises postituses selgitatud.

  • Et meie Linuxil on liides ühendatud kohaliku võrguga ja teise liidese kaudu saab ta otse avaliku IP, millega ta navigeerib.

See tähendab, et meie Linux peab tegema NAT-i, et paketid jõuaksid Internetti.

Selle väikese labori jaoks ütleme siis, et meie Linux saab otse avaliku IP-ühenduse ja saab seega testida NAT-i mõjusid.

NAT-i tegemiseks kasutame seejärel süntaksit

 iptables -t nat -A JÄLGIMINE -O eth1 -j MASQUERADE

Kus eth1 on liides, kus me saame avaliku ip, see tähendab, kus me läheme Internetti.

MASQUERADE-i kasutatakse siis, kui ip on avalik, kuid see võib ajas erineda (dünaamiline). Vastasel juhul saame kasutada SNAT-to-source ip-d

Iptablesi skripti loomine

Oletame siis, et: 172.26.0.0 on meie kohalik võrk ja 81.2.3.4 on avalik IP, millega me Internetis käime. (see on staatiline ip). Mul on liidesed eth0 (kohalik võrk)

eth1 (avalik võrk).

Põhimõtteliselt koosneb see skripti loomisest, mida saab kutsuda näiteks /etc/init.d/firestop alt. ja sellest skriptist saame alustada, peatada või kontrollida oma konfiguratsiooni olekut, nagu me teeme mis tahes süsteemi deemoniga.

Oletame, et minu IPTABLES-i reeglid ON:

#! / bin / bash # Minu kodu tulemüür. # Failinimi / etc / tulemüür_on # Autor Jlcmux Twitter: @Jlcmux # # Põhiline poliitika. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT Interneti jagamiseks eth0-lt eth1-le iptables -t nat -A POSTROUTING -O eth1 -j SNAT --allikale 81.2.3.4
# # Luba minu iptables-i algatatud sissetulevad ühendused -EEDASTI -m olek - riik KEHTESTATUD, SEOTUD -j ACCEPT # # Volitatud väljamineva liikluse iptable -A EDASI -i eth0 -o eth1 -p tcp --port 80 -j AKTSEPTI iptables -A EDASI -i eth0 -o eth1 -p tcp --port 443 -j VÕTAKE vastu iptables -A EDASI -i eth0 -o eth1 -p udp --port 53 -j VÕTTA
Ärgem unustagem anda täitmisõigusi

Selgitus:

Skript teeb põhimõtteliselt järgmist:

  1. Kõigepealt piirake kogu navigeerimist, ühendusi ja liiklust. (Tulemüüri põhieeskirjad)
  2. Seejärel looge NAT sihtkoha eth1 abil. mis näitab, et meil on staatiline avalik ip «81.2.3.4»
  3. See avab minu algatatud ühenduste pakettide vastuvõtmiseks vajalikud pordid.
  4. Aktsepteerib väljaminevat HTTP-, HTTPS- ja DNS-liiklust.
Reeglid on mõeldud FORWARD liikluseks, kuna kasutame oma Linuxit ruuterina, seega kasutatakse reegleid liikluse jaoks, mis läheb Linuxi kaudu, see tähendab, et see toimib vahendajana. See tähendab, et meie Linux ei saa tegelikult otse navigeerida ega andmeid vastu võtta. See kehtib ainult sellega ühendatud arvutite kohta, kuid mitte tema enda kohta

Kui soovime navigeerimiseks kasutada oma varustust, peaksime ridu kordama ja vastavalt vajadusele muutma FORWARD asendiks INPUT või OUTPUT.

Tühista skript.

Nüüd loome skripti, mis tühistab kõik ülaltoodud ja jätab arvuti kõigest sellest puhtaks. (Testimiseks või tahame lihtsalt tulemüüri välja lülitada).

#! / bin / bash # Minu kodu tulemüür. # Failinimi / etc / tulemüür_off # Autor Jlcmux Twitter: @Jlcmux # # iptables-reeglite kustutamine -F # # Vaikepoliitikate rakendamine (kogu liiklus on aktsepteeritud) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Automatiseerimine.

Nüüd peame looma skripti failis /etc/init.d/ , et teenus käivituks automaatselt ja saaksime seda hõlpsamini hallata.

#! / bin / bash # Minu kodu tulemüür. # Faili nimi /etc/init.d/ tulemüür # Jlcmux Twitter: @Jlcmux juhul $ 1 alguses) / etc / tulemüür_on ;; stop) / etc / tulemüür_off ;; olek) iptables -L ;; *) echo "Vale süntaks. Kehtib = /etc/init.d/ tulemüüri algus | peatus | olek ;; esac

Selgitus:

Selle viimase skripti paigutame kausta /etc/init.d/ nimega "firewall" . Seejärel, kui tahame tulemüüri hallata, saame kasutada käsku /etc/init.d/firewall start. Samal viisil saame selle ka peatada või selle olekut kontrollida.

Nüüd muudame faili /etc/rc.local ja lisame midagi sellist nagu: /etc/init.d/firewall start , et see käivituks süsteemiga.

Samuti. See on teine ​​osa. Loodan, et see toob teile kõigile midagi. Järgmises näeme puhverserverit ja IDS-i.


Lisa eelistatud allikana Google'is