Hálózatának védelme Iptables - Proxy - NAT - IDS segítségével: 1. RÉSZ

Ez a bejegyzés megpróbál egy kicsit tisztázni, hogyan működnek a hálózatok, és hogyan lehet Linux-berendezésünket olyan routerré változtatni, amely egy kicsit biztonságosabbá teszi hálózatunkat, akár otthon, akár üzletben. Szóval kezdjük a dolgot:

Ez a tartalom a "Linux - Rendszergazda és hálózati szolgáltatások üzemeltetése" - Sébastien BOBILLIER könyvön alapul

Útválasztás és szűrés

Az útválasztásról való beszélgetéshez és megértéshez először meghatározhatjuk, mi a szerepe az útválasztónak? Erre azt mondhatjuk, hogy egy útválasztó a hálózat létrehozása és a más berendezésekkel való kapcsolat lehetővé tétele mellett (tudva, hogy ezt AP-vel, Switch-el, Hub-tal vagy másokkal is megtehetjük) képes két különböző hálózatot összekapcsolni egymással.

router

Amint a képen láthatjuk, van egy helyi "10.0.1.0" hálózat, amelyet az útválasztó hoz létre, és eléri két interfészének egyikét. Ezután a másik interfész routerének van egy másik hálózata, amelynek nyilvános IP-jével csatlakozhat az internethez. Az útválasztási funkció alapvetően a két hálózat közötti közvetítőként szolgál, hogy kommunikálni tudjanak.

Linux mint router.

Természetes, hogy a Linux kernel már képes az "továbbításra", de alapértelmezés szerint le van tiltva, így ha azt akarjuk, hogy Linuxunk ezt a munkát végezze, akkor át kell mennünk a fájlba.

/proc/sys/net/ipv4/ip_forward

Meg fogjuk találni, hogy ez egy fájl, amely csak nulla "0" -t tartalmaz, ezért ezt a viselkedés aktiválásához meg kell változtatnunk egy "1" -re. Ez sajnos törlődik, amikor újraindítjuk a számítógépet, hogy alapértelmezés szerint aktiválva hagyjuk, a következő parancsot kell használnunk:

sysctl net.ipv4.ip_forward=1

Vagy szerkesztheti közvetlenül a fájlban /etc/sysctl.conf. A terjesztéstől függően ez a konfiguráció a  /etc/sysctl.d/.

Alapértelmezés szerint Linuxunknak rendelkeznie kell útválasztási táblával, amely általában a LAN hálózatunk konfigurációja és az útválasztóval való kapcsolat. Ha ezt az útvonalat szeretnénk látni, két parancsot használhatunk:

route -n

o

netstat -nr

Mindkét parancsnak ugyanazt kell visszaadnia.

Pillanatkép 2014-09-30 18:23:06

Általában ez a konfiguráció elegendő ahhoz, hogy a Linux átjáróként szolgáljon, és más számítógépek navigálhatnak a számítógépünkön. Most, ha azt akarjuk, hogy Linuxunk két vagy több hálózatot kapcsoljon össze, legyen szó akár helyi, akár nem, használhatunk statikus útvonalakat.

Tegyük fel, hogy a Linuxomnak két hálózati interfésze van, az elsőnek van egy internetkapcsolata, amelynek hálózata 172.26.0.0, a másodikban (10.0.0.0) pedig van néhány számítógép egy másik helyi hálózatról. Ha csomagokat akarunk átirányítani a másik hálózatra, használhatjuk:

route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.26.0.8

Általában ez:

route add -net REDDESTINO netmask MASCARA gw IPDELLINUX

ha adunk útvonal -n függetlenül attól, hogy létezik-e ez a hálózat, vagy sem, ez az útválasztás rögzítésre kerül a táblázatunkban.

Pillanatkép 2014-09-30 18:31:35

Ha meg akarjuk szüntetni az említett útválasztást, használhatjuk

route del -net 10.0.0.0 netmask 255.0.0.0

Iptable-k.

Alapvetően az iptables csomagok, kimenő, bejövő vagy mások szűrésére szolgál, ez nagyszerű eszköz a hálózati forgalom kezelésére. Nos, az iptables, ahogyan lehetővé teszi számunkra ugyanazon számítógép forgalmának szűrését, lehetővé teszi az azon áthaladó forgalom szűrését is. (Szállítmányozás). Az Iptable táblákra, karakterláncokra és műveletekre osztható.

  • Táblák:  alapvetően két asztal lehet, szűrő, a csomagok szűrésére és  nat címek fordítására, vagyis egyik hálózatról a másikra való áttéréshez.
  • Láncok: A lánc a forgalom típusára utal, amelyet szűrni vagy úszni akarunk, vagyis melyik forgalomra fogjuk alkalmazni a táblázatokat? és lehetnek:  INPUT: Bejövő forgalom, OUTPUT: kimenő forgalom vagy ELŐRE: Forgalom, amely áthalad rajta, de ez nem a saját kapcsolata.
  • Megjelenhet UTOLSÓ, amelyet a csomag elirányítása után egy bizonyos módon kezelnek.
  • tevékenységek: A cselekvések alapvetően a lánccal végrehajtandó műveletek. Ez a cselekvés lehet CSEPP, hogy csak tönkreteszi azt a forgalmat vagy ELFOGAD. amely lehetővé teszi a forgalom számára egy ilyen művelet végrehajtását.

Az IPTABLES szabályok mentése és végrehajtása a létrehozásuk sorrendjében történik, és ha egy szabály töröl egy korábbi szabályt, akkor a sorrendben mindig az utolsó szabály kerül alkalmazásra.

Tűzfal irányelvek.

A tűzfalak általában kétféleképpen működnek:

  1. Engedélyezze az összes forgalmat, kivéve, vagy
  2. Ne engedjen forgalmat, kivéve ...

Az irányelvek alkalmazásához használja IPTÁBLÁK - P AKCIÓS LÁNC

Ahol a karaktersorozat a forgalom típusát jelöli (INPUT, OUTPUT, FORWARD, POSTROUTING ...), és a művelet DROP OR CONCEPT.

Nézzünk meg egy példát.

Pillanatkép 2014-09-30 18:53:23

Itt látjuk, hogy először pingelni tudtam, majd elmondtam az IPTABLES-nak, hogy az összes OUTPUT forgalom DROP vagy nem engedélyezett. Aztán megmondtam az IPTABLES-nak, hogy fogadja el.

Ha a semmiből tűzfalat fogunk építeni, akkor mindig be kell tartanunk a (Nem engedélyezhetünk forgalmat, kivéve ... Ehhez akkor a szabályokat

iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
Ha ezek az irányelvek érvényesek, akkor semmilyen típusú kapcsolatuk nem lesz
.

A visszatéréshez ugyanazt írjuk, és a DROP-t az ACCEPT-re cseréljük.

Ezen a ponton, mivel az összes forgalom megtagadva, elkezdjük elmondani az IPTABLES-nak, hogy milyen forgalmat bonyolíthat.

A szintaxis a következő:

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

ahol:

Karakterlánc = BEMENET, KIMENET vagy ELŐRE

eredet_ip = A csomagok eredete, ez lehet egyetlen IP vagy hálózat, és ebben az esetben meg kell adnunk a maszkot).

cél_IP = merre tartanak a csomagok. ez lehet egyetlen IP vagy hálózat, és ebben az esetben meg kell adnunk a maszkot).

protokoll = a csomagok által használt protokollt jelöli (icmp, tcp, udp ...)

port = a forgalom célkikötője.

cselekvés = DROP vagy ELFOGADÁS.

Példa:

Pillanatkép 2014-09-30 19:26:41

MINDEN korlátozott irányelv vonatkozik.

Pillanatkép 2014-09-30 19:27:42

Ezután hozzáadjuk a szabályokat, hogy a 80-as porton HTTP és 443 HTTPS keresztül lehessen forgalmat bonyolítani, a TCP protokollal. Ezután az 53-as portot kell alkalmazni a DNS-ügyfél számára a tartományok feloldására, különben nem fog navigálni. Ez az udp protokollal működik.

A vonal:

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

Ennek oka a következő: Ha például HTTP-kérést küld, akkor csatlakozik a szerver 80-as portjához, de a kiszolgálónak az információk visszaküldéséhez bármelyik porton keresztül csatlakoznia kell hozzád. (Általában nagyobb, mint 1024).

Mivel minden portunk zárva van, ez csak akkor érhető el, ha megnyitunk minden 1024-nél magasabb portot (Rossz ötlet). Ez azt mondja, hogy az összes bejövő forgalmat, amely egy olyan kapcsolatból származik, amelyet magam hoztam létre, elfogadják. Mármint egy kapcsolat, amelyet elvileg én kezdtem el.

Az OUTPUT szabályokba történő beillesztésekor ez csak a kérdéses berendezésre vonatkozik, ha a berendezésünket útválasztóként használjuk ezen kapcsolatok engedélyezéséhez, akkor az OUTPUT-ot FORWARD-ra kell váltanunk. Mivel a forgalom áthalad a számítógépen, de nem ez indítja el
Ezek a szabályok az újraindítás után törlődnek, ezért szkripteket kell létrehoznia, hogy azok alapértelmezés szerint elinduljanak. De ezt a következőben látni fogjuk

Remélem tetszett ez az információ. A következőben a NAT-ról, a Proxy-ról és a Firewal parancsfájljairól fogok beszélni.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   Rogelio pinto dijo

    Ez az az alap, amelyet sok vállalkozó vesz igénybe saját tűzfalainak gyártásához, ezért van a piacon olyan sok márkájú, beágyazott linuxos tűzfal, némelyik jó, mások pedig nem annyira.

  2.   emelő dijo

    Kiváló cikk. Várom a második részt.

  3.   Milton dijo

    Nagyon jó magyarázat, segített megérteni munkám proxyt. Köszönöm

  4.   faustod dijo

    Szia Jlcmux

    Kiváló, nagyon tetszett, mikor lesz elérhető a másik fél?

    Üdvözlet és köszönet a megosztásért

    1.    @Jlcux dijo

      Köszönöm a megjegyzést.

      Tegnap elküldtem a másik részt, a nap folyamán azt hiszem, hogy közzéteszik.

      Üdvözlet.

  5.   Izrael dijo

    Nagyon jó cikkbarát @ Jlcmux, igazán tanultam vele, mivel tisztázott néhány kétséget, amelyek egy ideje vannak bennem. Egyébként nem bánja, ha megosztja a cikk forrásának könyvét, Sébastien BOBILLIER könyvét, a slau2s-t és most lásd a 2. részt, salu2s.

    1.    @Jlcux dijo

      Helló Köszönöm, hogy kommentálta Izraelt.

      Kiderült, hogy a könyv fizikai formában van. De megtaláltam ezt a linket a Google Könyvekben. 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=

      Szerintem teljes.

  6.   Ariel dijo

    Nagyon jó cikk, hozzáadok egy lekérdezést: Mi lenne az előnye, ha a linuxot routerként használnánk, ha van ilyen, a neki dedikált hardver vonatkozásában? Vagy csak testmozgásra szolgál? Tudom, hogy vannak dedikált disztrók, de nem tudom, hogy megmentik-e a régi PC-ket, vagy nagyobb rugalmasságot biztosítanak-e a konfigurációban.

    1.    @Jlcux dijo

      Nos, azt gondolom, hogy az előnyök és hátrányok attól a forgatókönyvetől függenek, ahol ezt megvalósítani kívánja. Miért nem veszel biztosan UTM-et vagy hasonlót a házadhoz? És talán egy kisvállalkozás számára, amely ezt sem engedheti meg magának. Gyakorlatként is jó, mivel segít megérteni ennek logikáját, és jobban konfigurálhatja a dedikált FWall-t. Emellett ezeknek az eszközöknek szinte mindegyike rendelkezik beágyazott Linux-tal.

      Üdvözlet.

  7.   Ariel dijo

    Helló, kérdés, tudna létrehozni egy "mesterséges" interfészt a linuxban a hálózatok közötti hasonló útvonalhoz? (csomagkövető stílus) virtuális gépekkel való együttműködésre? pl. ha eth0-m van (mert természetesen egyetlen kártyám van) létrehozhatok eth1-et egy másik hálózat létrehozásához? Nagyon jó oktató!

    1.    élénk dijo

      Linux alatt természetesen virtuális interfészeket is létrehozhat. Ha van eth0, akkor lehet eth0: 0, eth0: 1, eth0: 2 ... stb

  8.   chinoloco dijo

    Nagyon jó, köszönöm a megosztást