Sigurimi i rrjetit tuaj me Iptables - Proxy - NAT - ID: PJESA 2

Previous post Ne pamë konfigurimin e tabelave IPT për të funksionuar si një Firewall. Tani mund të shohim se si të krijojmë ato skripta në mënyrë që rregullat të ekzekutohen automatikisht kur fillon sistemi, dhe gjithashtu se si mund t'i eliminojmë ose ndalojmë ato rregulla për një moment.

Para se të bëni skenarin dhe t'ju tregojmë se si duket, le të flasim pak për NAT dhe konceptin e asaj që duam të bëjmë me këtë pajisje.

NAT dhe Konteksti i shembullit.

Kur flasim për NAT, mund ta ngatërrojmë këtë me rutimin, pasi që të dy janë përgjegjës për lidhjen e dy rrjeteve të ndryshme me njëri-tjetrin. Dallimi i vërtetë është se rutimi aplikohet për të shkuar nga një rrjet lokal në tjetrin dhe ky rrjet tjetër mund të lidhet me një router dhe të dalë në internet.

Ndërsa, kur flasim për NAT, flasim për paketimin e rrugëzimit nga një rrjet lokal ose privat në një rrjet publik ose në Internet. Këtë e bën duke maskuar paketat duke vendosur IP-në publike me të cilën shkon në Internet. Me fjalë të tjera, ne nuk kemi nevojë për një router, sepse IP-ja publike është në pronësi të drejtpërdrejtë nga kompjuteri GNU / Linux.

nat

Ne do ta punojmë këtë me parullën që po përdorim Linux-in tonë si një router / firewall për të dalë në internet nga një rrjet lokal. Por këtu mund të shfaqen dy skenarë.

  • Që Linux-i ynë është midis routerit të ofruesit të shërbimit dhe rrjetit lokal.

Në këtë rast, midis routerit dhe Linux-it tonë do të kishte një rrjet dhe midis Linux-it dhe rrjetit lokal do të kishte një rrjet tjetër të ndryshëm. Kjo do të thotë që router-i ynë nuk do të duhet të bëjë NAT si të tillë, me një rrugë të thjeshtë trafiku siç shpjegohet në Previous post Do të ishte mirë.

  • Që Linux-i ynë ka një ndërfaqe të lidhur në rrjetin lokal dhe përmes ndërfaqes tjetër merr direkt një IP publike me të cilën lundron.

Kjo do të thotë që Linux-i ynë duhet të bëjë NAT në mënyrë që paketat të mund të arrijnë në Internet.

Për qëllimet e këtij laboratori të vogël atëherë, ne do të themi se Linux-i ynë merr një IP publike drejtpërdrejt dhe kështu të jetë në gjendje të testojë efektet e NAT.

Për të bërë NAT atëherë përdorim sintaksën

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

Aty ku eth1 është ndërfaqja ku marrim ip-in publik, domethënë ku shkojmë në Internet.

MASQUERADE përdoret kur ip është publik por mund të ndryshojë me kalimin e kohës (dinamike). Përndryshe ne mund të përdorim SNAT –ipo-burim

Krijimi i skriptit të iptables

Supozoni atëherë se: 172.26.0.0 është rrjeti ynë lokal dhe 81.2.3.4 është IP-ja publike me të cilën shkojmë në Internet. (është një IP statike). Unë kam ndërfaqet eth0 (Rrjeti lokal)

eth1 (Rrjeti publik).

Në parim konsiston në krijimin e një skenari që mund të thirret nga /etc/init.d/firestop (për shembull). dhe nga ky skript mund të fillojmë, ndalojmë ose kontrollojmë statusin e konfigurimit tonë, ashtu si bëjmë me çdo daemon të sistemit.

Supozoni se rregullat e mia IPTABLES janë:

#! / bin / bash # Firewall i shtëpisë sime. # Emri i skedarit / etj / firewall_on # Nga Jlcmux Twitter: @Jlcmux # # Politika themelore. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT për të ndarë internetin nga eth0 në eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT - në-burim 81.2.3.4
# # Lejoni lidhjet hyrëse të filluara nga iptablat e mia - Një shtet përpara - shtet - shtet i themeluar, i lidhur - j PRANIM # # iptables të autorizuara të trafikut në dalje -A PWRPARA -i eth0 -o eth1 -p tcp --dport 80 -j Pranoj iptables -A PWRPARA -i eth0 -o eth1 -p tcp --dport 443 -j Pranoj iptables -A PWRPARA -i eth0 -o eth1 -p udp --dport 53 -j PRANOJ
Le të mos harrojmë të japim lejet e ekzekutimit

Shpjegim:

Skenari në thelb bën sa vijon:

  1. Së pari kufizoni të gjithë navigimin, lidhjet dhe trafikun. (Politikat Themelore të Zjarrit)
  2. Pastaj krijoni NAT me destinacionin eth1. duke treguar se kemi një IP publike statike «81.2.3.4»
  3. Ai hap portet e nevojshme për të marrë paketat e lidhjeve të iniciuara nga unë.
  4. Pranon trafikun jashtë HTTP, HTTPS dhe DNS.
Rregullat janë të destinuara për trafik përpara, sepse ne jemi duke përdorur Linux-in tonë si një Router, kështu që politikat përdoren për trafikun që SHKON N Linux Linux, domethënë, ai vepron si ndërmjetës. Kjo do të thotë që Linux-i ynë nuk mund të lundrojë ose të marrë ndonjë të dhënë drejtpërdrejt. Vlen vetëm për kompjuterët e lidhur me të, por jo për veten e tij

Nëse duam të përdorim pajisjet tona për të lundruar ne duhet të përsërisim linjat dhe të ndryshojmë P toRPARA në INPUT ose OUTPUT siç është e përshtatshme.

Anulo skenarin.

Tani do të krijojmë një skenar që anashkalon të gjitha sa më sipër dhe e lë kompjuterin të pastër nga e gjithë kjo. (Për qëllime testimi ose thjesht duam të fikim firewall).

#! / bin / bash # Firewall i shtëpisë sime. # Emri i skedarit / etj / firewall_off # Nga Jlcmux Twitter: @Jlcmux # #Fshirja e rregullave të iptables -F # #Zbatimi i politikave të parazgjedhura (i pranuar i gjithë trafiku) iptables -P INPUT PRANIMI i pranueshëmve -P OUTPUT I PRANIMIT iptables -P P FORRPARA PRPARIM

Automatizimi.

Tani duhet ta krijojmë skenarin brenda /etj/init.d/ dhe shërbimi fillon automatikisht dhe ne mund ta menaxhojmë atë në një mënyrë më komode.

#! / bin / bash # Firewall i shtëpisë sime. # Emri i skedarit /etc/init.d/ firewall # Nga Jlcmux Twitter: @Jlcmux rasti $ 1 në fillim) / etc / firewall_on ;; ndalo) / etj / firewall_off ;; statusi) iptables -L ;; *) echo "Sintaksa e gabuar. E vlefshme = /etc/init.d/ fillimi i firewall-it | ndalimi | statusi ;; esac

Shpjegim:

Ky skenar i fundit që kemi vendosur /etj/init.d/ me emrin firewall. Pra, nëse duam të menaxhojmë firewall-in mund të përdorim komandën /etc/init.d/ fillimi i firewall-it. Në të njëjtën mënyrë ne mund ta ndalojmë atë ose të shohim shtetin.

Tani do të ndryshojmë skedarin /etc/rc.local dhe ne kemi vendosur diçka si: /etc/init.d/ fillimi i firewall-it për të filluar me sistemin.

Gjithashtu. Kjo është pjesa e dytë. Shpresoj të sjellë diçka për të gjithë ju. Në pjesën tjetër shohim Proxy dhe IDS.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   dhunues dijo

    Nëse jeni duke përdorur Debian, ekziston një paketë në repo (iptables-persistent) që e bën saktësisht atë, hedh rregullat aktuale në /etc/iptables/rules.v4 ose v6 në varësi të asaj që përdorni dhe më pas i zbaton ato për ju kur ngrini sistemin.

  2.   okz dijo

    Në praktikë, për të pastruar konfigurimin e një muri mbrojtës konvencional (dhe përdorimi i NAT nuk do të ishte kështu nga këndvështrimi im), në shumicën e rasteve do të ishte e mjaftueshme një rregullim i shpejtë i rregullave dhe rivendosja e politikave të parazgjedhura në Pranim.
    Por në teori, dhe me sa di unë, përveç kësaj ju gjithashtu duhet të pastroni vargjet jo-default dhe të rivendosni sportelet. Veprimet që do të kryhen duke pasur parasysh se përveç "filtrit" ka edhe tabela të tjera (është e detyrueshme të lexoni skedarin "/ proc / net / ip_tables_names" për këtë).

    Nga rruga, ortodoksia thotë se një firewall duhet të jetë tashmë i ngritur para se rrjeti të jetë. Unë nuk e di se si është arritur në sistemet e tjera Linux, por në llojin Debian skenari mund të përshtatet dhe të vendoset në direktorinë "/etc/network/if-pre-up.d/".

    Firewalling mirë për të gjithë. 😉

  3.   NauTilus dijo

    Përshëndetje, postimi është shumë i mirë. Kam lexuar të gjithë 2 vëllimet.

    Në pritje të next tjetrës

  4.   anonim dijo

    Një pyetje nga injoranca ime, ne vazhdojmë me iptables, por për disa versione të bërthamës kemi nftable, unë tashmë po testoj, pyetjet janë, a është nftables diçka beta në lidhje me iptables? A do të vazhdojnë të përdoren iptables për shumë më gjatë?

    Ju faleminderit.

    1.    Jukiteru dijo

      nftables përfshin të gjitha funksionet e iptables, ip6tables, arptables dhe ebtable, të gjitha duke përdorur një infrastrukturë të re si në hapësirën kernel dhe hapësirën e përdoruesve, e cila siguron performancë më të mirë dhe funksionalitet të përmirësuar. nftables do të zëvendësojë iptables dhe të gjitha mjetet e tjera të përmendura, por jo për momentin, jo të paktën derisa të ketë përdorim më të gjerë të nftable si të tillë.

  5.   Alexander dijo

    postim shumë i mirë, doja të lexoja më shumë pasi është shpjeguar shumë mirë .. përshëndetje faleminderit kontribut të madh

  6.   Avrah dijo

    Përshëndetje! Shumë mirë të dy postimet.
    Si kontribut mund ta shtoni deri në fund në këtë pjesë:

    "Tani ne do të modifikojmë skedarin /etc/rc.local dhe do të vendosim diçka si: /etc/init.d/firestop në mënyrë që ajo të fillojë me sistemin."

    Shtojeni këtë në rc.local.

    nëse [-x /etc/init.d/ firewall]; atëherë
    /etc/init.d/ fillimi i firewall-it
    fi

    Që do të thotë se nëse "firewall" ka leje ekzekutimi, ekzekutoje atë, nëse jo.
    Nëse dëshironi që "firewall" të mos fillojë, thjesht duhet të hiqni lejet.

    Për shembull: chmod + x /etc/init.d/ firewall
    për ta bërë atë të kandidojë në çdo startup ose ...
    chmod -x /etc/init.d/ firewall
    për ta çaktivizuar plotësisht atë.

    Përshëndetje!