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

In the Előző hozzászólás Láttuk az IPTable konfigurációját, hogy tűzfalként működjenek. Most láthatjuk, hogyan hozhatjuk létre ezeket a szkripteket úgy, hogy a szabályok automatikusan elinduljanak, amikor a rendszer elindul, és azt is, hogyan lehet ezeket a szabályokat egy pillanatra megszüntetni vagy leállítani.

Mielőtt elkészítenénk a szkriptet és megmutatnánk, hogyan néz ki, beszéljünk egy kicsit a NAT-ról és arról, hogy mit akarunk kezdeni ezzel a berendezéssel.

NAT és a példa kontextusa.

Amikor a NAT-ról beszélünk, összekeverhetjük ezt az útválasztással, mivel mindkettő két különböző hálózat összekapcsolásáért felel. A különbség valójában az, hogy az útválasztást úgy alkalmazzák, hogy egyik helyi hálózatról a másikra lépjen, és ez a másik hálózat csatlakozhat egy útválasztóhoz és kimenhet az internetre.

Míg amikor a NAT-ról beszélünk, a csomagok helyi vagy magánhálózatról nyilvános hálózatra vagy Internetre történő átirányításáról beszélünk. Ezt úgy teszi, hogy eltakarja a csomagokat azáltal, hogy felteszi a nyilvános IP-címet, amellyel az internetre megy. Más szavakkal, nincs szükségünk routerre, mert a nyilvános IP közvetlenül a GNU / Linux számítógép tulajdonában van.

nat

Ezt azzal a jelmondattal fogjuk dolgozni, hogy a Linux-ot routerként / tűzfalként használjuk, hogy helyi hálózatról internetezhessünk. De itt két forgatókönyv jelenhet meg.

  • Hogy Linuxunk a szolgáltató útválasztója és a helyi hálózat között van.

Ebben az esetben az útválasztó és a Linuxunk között lenne egy hálózat, a Linux és a helyi hálózat között pedig egy másik másik hálózat. Ez azt jelenti, hogy az útválasztónknak nem kell a NAT-ot önmagában elvégeznie, egyszerű forgalmi útvonallal, amint azt a Előző hozzászólás Jó lenne.

  • Hogy Linuxunknak van egy interfésze a helyi hálózathoz csatlakoztatva, és a másik felületen keresztül közvetlenül kap egy nyilvános IP-t, amellyel navigál.

Ez azt jelenti, hogy Linuxunknak NAT-t kell tennie, hogy a csomagok elérhessék az internetet.

E kis laboratórium céljaira akkor azt mondjuk, hogy Linuxunk közvetlenül kap nyilvános IP-t, és így képes lesz tesztelni a NAT hatásait.

A NAT elvégzéséhez használjuk a szintaxist

 iptables -t nat -A POSTROUTING -O eth1 -j MASZKERÁD

Ahol az eth1 az a felület, ahol megkapjuk a nyilvános IP-címet, vagyis ahol az Internetet használjuk.

A MASQUERADE akkor használható, ha az IP nyilvános, de idővel változhat (dinamikus). Ellenkező esetben használhatjuk az SNAT –to-source ip-t

Iptables szkript létrehozása

Tegyük fel tehát, hogy: a 172.26.0.0 a helyi hálózatunk, a 81.2.3.4 pedig a nyilvános IP, amellyel az internetet használjuk. (ez egy statikus ip). Megvan az eth0 interfész (helyi hálózat)

eth1 (Nyilvános hálózat).

Alapvetően egy olyan szkript létrehozásából áll, amelyet például az /etc/init.d/firestop címen lehet meghívni. és ebből a szkriptből elindíthatjuk, leállíthatjuk vagy ellenőrizhetjük a konfigurációnk állapotát, akárcsak bármely rendszerdémon esetében.

Tegyük fel, hogy az IPTABLES szabályaim:

#! / bin / bash # Az otthonom tűzfala. # Fájlnév / etc / firewall_on # Írta: Jlcmux Twitter: @Jlcmux # # Alapvető irányelvek. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT az internet megosztásához eth0-tól eth1-ig iptables -t nat -A POSTROUTING -O eth1 -j SNAT --forráshoz 81.2.3.4
# # Az iptables által indított bejövő kapcsolatok engedélyezése -A FORWARD -m állapot - állam LÉTREHOZOTT, KAPCSOLÓDÓ -j ACCEPT # # Engedélyezett kimenő forgalom iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p tcp --port 443 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 53 -j ACCEPT
Ne felejtsük el, hogy végrehajtási engedélyeket adunk

Magyarázat:

A szkript alapvetően a következőket teszi:

  1. Először korlátozza az összes navigációt, kapcsolatot és forgalmat. (Alapvető tűzfalszabályok)
  2. Ezután hozza létre a NAT-ot az eth1 célállomással. jelezve, hogy statikus nyilvános ip-vel rendelkezünk "81.2.3.4"
  3. Megnyitja azokat a portokat, amelyek szükségesek az általam kezdeményezett kapcsolati csomagok fogadásához.
  4. Elfogadja a kimenő HTTP, HTTPS és DNS forgalmat.
A szabályok a FORWARD forgalomra irányulnak, mert a Linuxunkat routerként használjuk, ezért a házirendeket arra a forgalomra használjuk, amely a Linuxon keresztül megy, vagyis közvetítőként működik. Ez azt jelenti, hogy Linuxunk nem igazán tud navigálni vagy közvetlenül fogadni adatokat. Csak a hozzá kapcsolt számítógépekre vonatkozik, de önmagára nem

Ha a felszerelésünket navigáláshoz akarjuk használni, ismételjük meg a sorokat, és a FORWARD értéket állítsuk át INPUT vagy OUTPUT értékre.

Szkript törlése.

Most egy olyan szkriptet fogunk létrehozni, amely felülírja a fentieket, és tisztán hagyja a számítógépet mindettől. (Tesztelés céljából, vagy csak ki akarjuk kapcsolni a tűzfalat).

#! / bin / bash # Az otthonom tűzfala. # Fájlnév / etc / firewall_off # Írta: Jlcmux Twitter: @Jlcmux # # iptables szabályok törlése -F # # Alapértelmezett házirendek alkalmazása (az összes forgalom elfogadott) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Automatizálás.

Most létre kell hoznunk a szkriptet belül /etc/init.d/ és a szolgáltatás automatikusan elindul, és kényelmesebb módon tudjuk kezelni.

#! / bin / bash # Az otthonom tűzfala. # Fájlnév /etc/init.d/ tűzfal # Jlcmux Twitter: @Jlcmux esetben $ 1 az elején) / etc / firewall_on ;; stop) / etc / firewall_off ;; állapot) iptables -L ;; *) echo "Rossz szintaxis. Érvényes = /etc/init.d/ tűzfal indítása | leállítás | állapot ;; esac

Magyarázat:

Ezt az utolsó forgatókönyvet adtuk be /etc/init.d/ a névvel tűzfal. Tehát, ha a tűzfalat szeretnénk kezelni, használhatjuk a parancsot /etc/init.d/ tűzfal indítása. Ugyanígy megállíthatjuk, vagy láthatjuk az állapotot.

Most szerkeszteni fogjuk a fájlt /etc/rc.local és valami ilyesmit tettünk: /etc/init.d/ tűzfal indítása kezdeni a rendszerrel.

Is. Ez a második rész. Remélem, ez mindannyiótoknak hoz valamit. A következőben látjuk a Proxy-t és az IDS-t.


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.   vadász dijo

    Ha Debiant használ, a repóban van egy csomag (iptables-persistent), amely pontosan ezt teszi, az aktuális szabályokat az /etc/iptables/rules.v4 vagy v6 fájlokban tárolja, attól függően, hogy mit használ, majd rájuk alkalmazza amikor felemeli a rendszert.

  2.   OCZ dijo

    A gyakorlatban a hagyományos iptables tűzfal konfigurációjának megtisztításához (és a NAT használata az én szempontomból nem lenne így), a legtöbb esetben elegendő egy szabály átmosása és az alapértelmezett házirendek visszaállítása ACCEPT-re.
    De elméletileg, és ha jól tudom, ezen felül meg kell tisztítania a nem alapértelmezett karakterláncokat és vissza kell állítania a számlálókat. Végrehajtandó műveletek, szem előtt tartva, hogy a "szűrés" mellett vannak más táblák is (ehhez kötelező elolvasni a "/ proc / net / ip_tables_names" fájlt).

    Egyébként az ortodoxia szerint a tűzfalnak már fent kell lennie, mielőtt a hálózat működik. Nem tudom, hogyan érhető el a többi Linux rendszerben, de a Debianban a parancsfájl adaptálható és beállítható az "/etc/network/if-pre-up.d/" könyvtárba.

    Jó tűzfal mindenkinek. 😉

  3.   NauTiluS dijo

    Helló, nagyon jó a bejegyzés. Elolvastam a teljes 2 kötetet.

    Várakozás a következőre 🙂

  4.   névtelen dijo

    Kérdés a tudatlanságomból, folytatjuk az iptables-et, de több kernelverziónál vannak nftable-k, már tesztelek, a kérdések az, hogy az nftable valami béta az iptable-ek vonatkozásában? Sokkal tovább fogják használni az iptable programokat?

    Köszönöm.

    1.    yukiteru dijo

      Az nftables az iptable, ip6table, arptable és ebtable összes funkcióját magában foglalja, mindkettő új infrastruktúrát használ mind a kernels, mind a felhasználói térben, ami jobb teljesítményt és jobb funkcionalitást biztosít. Az nftables felváltja az iptable-t és az összes többi említett eszközt, de egyelőre nem, legalábbis mindaddig, amíg az nftable-k mint ilyenek szélesebb körű használatra nem kerülnek.

  5.   Alexander dijo

    nagyon jó bejegyzés, szerettem volna többet olvasni, mivel nagyon jól meg van magyarázva .. üdvözlet köszönet nagy hozzájárulás

  6.   Avrah dijo

    Helló! Nagyon jó mindkét poszt.
    Hozzászólásként hozzáadhatja a végéhez ebben a részben:

    "Most szerkeszteni fogjuk az /etc/rc.local fájlt, és valami ilyesmit teszünk: /etc/init.d/firestop start, hogy az a rendszerrel kezdődjön."

    Adja hozzá ezt az rc.local fájlhoz.

    if [-x /etc/init.d/ tűzfal]; akkor
    /etc/init.d/ tűzfal indítása
    fi

    Ami azt jelenti, hogy ha a "tűzfal" rendelkezik végrehajtási engedéllyel, akkor hajtsa végre, ha nem.
    Ha azt akarja, hogy a "tűzfal" ne induljon el, akkor csak el kell távolítania az engedélyeket.

    Például: chmod + x /etc/init.d/ tűzfal
    hogy minden indításkor fusson, vagy ...
    chmod -x /etc/init.d/ tűzfal
    hogy teljesen letiltja.

    Üdvözlet!