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

Ovaj post pokušava malo pojasniti kako mreže funkcioniraju i kako našu Linux opremu pretvoriti u usmjerivač koji osigurava malo više naše mreže, bilo kod kuće ili čak u poslu. Pa krenimo na posao:

Sadržaj se temelji na knjizi "Linux - Administracija sustava i rad mrežnih usluga" - Sébastien BOBILLIER

Usmjeravanje i filtriranje

Da bismo razgovarali i razumjeli usmjeravanje, prvo možemo definirati koja je funkcija usmjerivača? Za to možemo reći da usmjerivač, osim što stvara mrežu i omogućuje povezivanje s drugom opremom (znajući da to možemo učiniti pomoću AP-a, Switch-a, Hub-a ili drugih), ima mogućnost međusobnog povezivanja dviju različitih mreža.

usmjerivač

Kao što možemo vidjeti na slici, postoji lokalna mreža "10.0.1.0" koju usmjerivač kreira i doseže jedno od svoja dva sučelja. Tada usmjerivač na svom drugom sučelju ima drugu mrežu sa svojim javnim IP-om s kojim se može povezati na Internet. Funkcija usmjeravanja u osnovi služi kao posrednik između ove dvije mreže kako bi mogle komunicirati.

Linux kao usmjerivač.

Naravno, Linux kernel već ima mogućnost "prosljeđivanja", ali prema zadanim je postavkama onemogućen, pa ako želimo da naš Linux radi ovaj posao, moramo ići na datoteku.

/proc/sys/net/ipv4/ip_forward

Tamo ćemo otkriti da se radi o datoteci koja sadrži samo nulu "0", ono što moramo učiniti je promijeniti je u "1" da bi se aktiviralo ovo ponašanje. To se nažalost briše kada ponovno pokrenemo računalo, da bismo ga ostavili aktiviranim prema zadanim postavkama moramo koristiti naredbu:

sysctl net.ipv4.ip_forward=1

Ili ga uredite izravno u datoteci /etc/sysctl.conf. Ovisno o distribuciji, ova konfiguracija može biti i u datoteci u  /etc/sysctl.d/.

Prema zadanim postavkama naš Linux mora imati tablicu usmjeravanja, što je općenito konfiguracija naše lan mreže i veze s usmjerivačem. Ako želimo vidjeti ovo usmjeravanje, možemo koristiti dvije naredbe:

route -n

o

netstat -nr

Obje naredbe trebaju vraćati isto.

Snimka zaslona iz 2014. 09:30:18

Općenito, ova je konfiguracija dovoljna da vaš Linux posluži kao prolaz i druga računala mogu se kretati kroz naše računalo. Ako sada želimo da naš Linux poveže dvije ili više mreža, na primjer, lokalnu ili ne, možemo koristiti statičke rute.

Pretpostavimo da moj Linux ima dva mrežna sučelja, prvo ima internetsku vezu čija je mreža 172.26.0.0, a drugo (10.0.0.0) ima neka računala iz druge lokalne mreže. Ako želimo usmjeravati pakete na tu drugu mrežu, možemo koristiti:

route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.26.0.8

Općenito je:

route add -net REDDESTINO netmask MASCARA gw IPDELLINUX

ako damo ruta -n bez obzira postoji li ova mreža ili ne, ovo će usmjeravanje biti fiksirano u našoj tablici.

Snimka zaslona iz 2014. 09:30:18

Ako želimo ukloniti navedeno usmjeravanje, možemo se koristiti

route del -net 10.0.0.0 netmask 255.0.0.0

Iptable.

U osnovi se iptables koristi za filtriranje paketa, odlaznih, dolaznih ili drugih, što ga čini izvrsnim alatom za upravljanje mrežnim prometom. Pa, iptables, baš kao što nam omogućuje filtriranje prometa s istog računala, omogućuje nam i filtriranje prometa koji prolazi kroz njega. (Prosljeđivanje). Iptable se mogu podijeliti u tablice, lance i akcije.

  • Daske:  u osnovi mogu biti dvije tablice, filtar, za filtriranje paketa i  nat za prevođenje adresa, odnosno za prelazak s jedne mreže na drugu.
  • Lanci: Lanac se odnosi na vrstu prometa koji želimo filtrirati ili preplivati, odnosno na koji ćemo promet primijeniti tablice? a mogu biti:  INPUT: Dolazni promet, IZLAZ: odlazni promet ili NAPRIJED: Promet koji prolazi njime, ali to nije ispravna veza.
  • Može se i pojaviti POSTROUTIRANJE, koja se koristi za tretiranje paketa na određeni način nakon što je usmjeren.
  • akcije: Akcije su u osnovi radnje koje treba izvesti s lancem. Ova akcija može biti PAD, koji samo uništava taj promet ili PRIHVATITI. koji prometu omogućuje takvu akciju.

IPTABLES pravila spremaju se i izvršavaju redoslijedom kojim su stvorena, a ako pravilo izbriše prethodno pravilo, uvijek se primjenjuje posljednje pravilo u redoslijedu.

Pravila vatrozida.

Općenito, vatrozidi prirodno rade na dva načina:

  1. Omogući sav promet osim ili
  2. Ne dopustite nikakav promet osim ...

Da biste primijenili politike, upotrijebite IPTABLE - P AKCIJSKI LANAC

Gdje niz predstavlja vrstu prometa (INPUT, OUTPUT, FORWARD, POSTROUTING ...), a radnja je DROP ILI ACCEPT.

Pogledajmo primjer.

Snimka zaslona iz 2014. 09:30:18

Ovdje vidimo da sam isprva uspio pingati, a zatim sam rekao IPTABLESIMA da je sav IZLAZNI promet DROP ili nije dopušten. Tada sam rekao IPTABLESU da to prihvati.

Ako ćemo vatrozid graditi od nule, uvijek moramo primjenjivati ​​pravila (Ne dopustiti nikakav promet osim ... Za to tada primjenjujemo pravila

iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
Ako se ova pravila primjenjuju, neće imati vezu
.

Za povratak pišemo isto i zamjenjujemo DROP s ACCEPT.

U ovom trenutku, budući da je sav promet odbijen, svojim IPTABLAMAMA počinjemo govoriti koliki promet može imati.

Sintaksa je:

iptables -A cadena -s ip_orgigen -d ip_destino -p protocolo --dport puerto -j acción

gdje je:

Niz = ULAZ, IZLAZ ili NAPRIJED

ishodište_ip = Porijeklo paketa, ovo može biti pojedinačna IP ili mreža i u ovom slučaju moramo navesti masku).

odredište_ip = kamo paketi idu. ovo može biti pojedinačna IP ili mreža i u ovom slučaju moramo odrediti masku).

protokol = označava protokol koji koriste paketi (icmp, tcp, udp ...)

luka = odredišna luka prometa.

radnja = PADI ili PRIHVATI.

primjer:

Snimka zaslona iz 2014. 09:30:19

Primjenjuju se SVA ograničena pravila.

Snimka zaslona iz 2014. 09:30:19

Zatim dodajemo pravila kako bismo mogli imati promet kroz priključke 80 HTTP i 443 HTTPS, s TCP protokolom. Zatim port 53 Primjenjuje se za DNS klijenta za rješavanje domena, inače nećete navigirati. Ovo radi s udp protokolom.

Crta:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

To je zbog sljedećeg: Kada, na primjer, uputite HTTP zahtjev, povežete se s priključkom 80 poslužitelja, ali poslužitelj za vraćanje podataka mora se povezati s vama putem bilo kojeg porta. (Općenito veće od 1024).

Kako su sve naše luke zatvorene, to se neće postići ukoliko ne otvorimo sve luke veće od 1024 (Loša ideja). Ovo govori da je prihvaćen sav dolazni promet koji dolazi iz veze koju sam uspostavio. Mislim, veza koju sam u principu započeo.

Prilikom stavljanja IZLAZA u pravila, ovo se odnosi samo na dotičnu opremu, ako svoju opremu koristimo kao usmjerivač kako bismo omogućili te veze, moramo IZLAZ izmijeniti u NAPRIJED. Budući da promet prolazi kroz računalo, ali ga ono ne pokreće
Sva se ta pravila brišu nakon ponovnog pokretanja, tako da morate stvoriti skripte tako da započnu prema zadanim postavkama. Ali to ćemo vidjeti u sljedećem

Nadam se da su vam se svidjele ove informacije. U sljedećem ću govoriti o NAT-u, proxyju i skriptama za Firewal.


12 komentara, ostavi svoj

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   Rogelio pinto dijo

    To je osnova koju mnogi poduzetnici uzimaju za proizvodnju vlastitih vatrozida, zbog čega na tržištu postoji toliko marki vatrozida s ugrađenim linuxom, neki dobri, a drugi ne toliko.

  2.   Heber dijo

    Izvrstan članak. Radujem se drugom dijelu.

  3.   Milton dijo

    Vrlo dobro objašnjenje, pomoglo mi je da shvatim proxy svog rada. Hvala vam

  4.   faustod dijo

    Pozdrav Jlcmux,

    Izvrsno, jako mi se svidjelo, kad će biti dostupna druga strana?

    Pozdrav i hvala na podjeli

    1.    @Jlcmux dijo

      Hvala na komentaru.

      Drugi sam dio poslao jučer, tijekom dana mislim da će ga objaviti.

      Pozdrav.

  5.   Izrael dijo

    Vrlo dobar prijatelj s člankom @ Jlcmux, doista sam naučio s njim jer je razjasnio neke sumnje koje sam imao neko vrijeme, usput vam ne bi smetalo da podijelite knjigu izvora članka, Sébastiena BOBILLIERA, pa slau2s i sada da vidim 2. dio, salu2s.

    1.    @Jlcmux dijo

      Pozdrav, hvala što ste komentirali Izrael.

      Ispada da knjigu imam u fizičkom obliku. Ali ovu vezu pronašla sam na Google Books. http://books.google.com.co/books?id=zxASM3ii4GYC&pg=PA356&lpg=PA356&dq=S%C3%A9bastien+BOBILLIER+Linux+%E2%80%93+Administraci%C3%B3n+del+sistema+y+explotaci%C3%B3n+de+los+servicios+de+red#v=onepage&q=

      Mislim da je dovršen.

  6.   Ariel dijo

    Vrlo dobar članak, dodajem pitanje: Koja bi bila prednost upotrebe linuxa kao usmjerivača, ako postoji, s obzirom na njemu posvećeni hardver? Ili je to samo za vježbanje? Znam da postoje namjenski distributeri, ali ne znam hoće li oni spasiti stara računala ili pružiti veću fleksibilnost u konfiguraciji.

    1.    @Jlcmux dijo

      Pa, mislim da prednosti i nedostaci ovise o scenariju u kojem ćete to primijeniti. Zašto sigurno nećete kupiti UTM ili nešto slično za svoju kuću? A možda i za malu tvrtku koja si to ne može priuštiti. Dobra je i kao vježba jer vam pomaže razumjeti svu logiku ovoga i možete bolje konfigurirati namjenski zid. Uz to, gotovo svi ovi uređaji stvarno imaju ugrađeni Linux.

      Pozdrav.

  7.   Ariel dijo

    Pozdrav, pitanje, možete li u Linuxu stvoriti "umjetno" sučelje za slično usmjeravanje između mreža? (stil praćenja paketa) za rad s virtualnim strojevima? npr. ako imam eth0 (jer naravno imam jednu karticu) mogu li stvoriti eth1 za stvaranje druge mreže? Vrlo dobar učitelj!

    1.    živo dijo

      U Linuxu naravno možete stvoriti virtualna sučelja. Ako imate eth0, možete imati eth0: 0, eth0: 1, eth0: 2 ... itd

  8.   kinoloko dijo

    Tako dobro, hvala na dijeljenju