Hálózati biztonság: Lokális hálózat, tűzfal, IP masquerading


Előző oldalKövetkező oldalHome


A lokális hálózatot IP Masquerading megvalósításával alakítottuk ki. Ennek a megoldásnak több előnye is van:

  1. Egymástól eltérő paraméterű hálózatokat kapcsolhatunk össze
  2. A helyi hálózatot és a külső hálózatot összekötő átjáró tűzfal funkciókat láthat el, azaz korlátozhatjuk a kimenő, bejövő vagy átmenő forgalmat
  3. A külső hálózattal csak az átjáróként használt gép van közvetlen kapcsolatban, így ha ez a gép biztonsági szempontból kellően szilárd, a belső hálózat gépeit nem fenyegeti betörés veszélye.
  4. A helyi hálózatról a külvilággal kommunikáló gépek mind az átjárónak használt gép IP számával jelennek meg a külső hálózaton, így a rendelkezésre álló szűkös IP címtartománytól függetlenül bővíthetjük a belső hálózaton elhelyezkedő gépek számát.

Az alternatíva egy repeater vagy bridge lett volna, ami a fentiek közül csak az 1. pontban vázoltak elérését tette volna lehetővé...

      +----------+
      |          | Belső hálózat
      | 1. gép   |::::::
      |          |2    :192.168.1.x
      +----------+     :
                       :   +----------+       
      +----------+     :  1|  Linux   | IP cím
      |          |     ::::| átjáró   |:::::::::// Internet
      | 2. gép   |::::::   |          |
      |          |3    :   +----------+
      +----------+     :
                       :
      +----------+     :
      |          |     :
      | 3. gép   |::::::
      |          |4
      +----------+

1. ábra: Egy tipikus példa az IP Masquerading-ra

Ebben az elrendezésben a belső hálózatra kötött gépek (1-3. gép) ugyanúgy kommunikálnak egymással, mint normál esetben. Az Internetet viszont csak az átjáróként használt gépen keresztül érik el. Az átjáróként használt gépben két hálózati kártya van: az egyik a lokális hálózatra kapcsolódik, ennek megfelelően lokáli IP címe van. A másik kártya a külső hálózatra csatlakozik, s ennek a kártyánk az azonosítója az az IP szám, amivel az átjáróként használt gépet a külvilág azonosítja. A belső hálózaton levő gépek úgy tudnak kommunikálni a külvilággal, hogy az átjáró gép rendszermagja továbbítja az üzenetcsomagokat az átjáró gép két hálózati kártyája között. Egyúttal kicseréli a belső hálózat IP számait a saját, hivatalos IP azonosítójára. A külvilágból érkező válasz üzenetcsomagoknál ennek az ellenkezőjét csinálja, azaz visszacseréli a célállomás számát a belső hálózati IP címre, s a csomagot a belő hálózatra továbbítja. fentieken túlmenően mind a beérkező, mind a kimenő, mind az átmenő csomagoknál lehetőség van az üzenetcsomagok szűrésére IP cím és kapcsolódási cím (service port) alapján, így a két hálózat közötti kapcsolat a belső hálózat biztonsága érdekében tetszés szerint korlátozható, illetve ellenőrizhető.

Red Hat Linux 6.0 (vagy a 2.2.x verziójú kernelt tartalmazó újabb disztribúciók) már fel vannak készítve az IP Masquerading-ra. A rendszer konfigurálását az IPMasquerading-HOWTO dokumentum alapján az alábbiakban foglalhatjuk össze:

  1. Az átjáróként használt gépen két hálózati kártyát kell installálni (eth0 és eth1), egyikhez a hivatalos (külső) IP számot, a másikhoz pedig egy lokális IP számot (például 192.168.1.1) rendelünk hozzá.
  2. Engedélyezni kell a kernel számára az üzenetcsomagok továbbítását: at /etc/rc.d/rc.local állomány végére írjuk be:
  3.  echo "1" > /proc/sys/net/ipv4/ip_forwarding
    


    (Red Hat Linuxnál pedig ugyanezt az eredményt úgy érhetjük el, hogy az /etc/sysconfig/network állományban a FORWARD_IPV4=false beírást FORWARD_IPV4=true bejegyzésre változtatjuk.)

  4. Bizonyos típusú kapcsolatok esetén nem elegendő a kernel által nyújtott üzenettovábbító szolgáltatás, speciális kiegészítő modulokra is szükség van. Tipikusan ilyen pl. az FTP kapcsolat. Ezen kiegészítő kernel modul minden redzserrindításnál végbemenő betöltését az /etc/rc.d/rc.local állomány végén elhelyezett
  5. /sbin/modprobe ip_masq_ftp


    paranccsal írhatjuk elő.

  6. A belső hálózaton használt címek vagy címtartomány függvényében beállítjuk az IP asqueradingot (ezt is az /etc/rc.d/rc.local állomány végére írjuk):
  7. 	ipchains -P forward DENY
    	ipchains -A forward -s 192.168.1.0/24 -j MASQ
    

    Ez a teljes 192.168.1.0 számú lokális hálóra engedélyezi az internet kapcsolatot (a /24 jelzés a 255.255.255.0 netmask-kal ekvivalens). A hálózati forgalom engedélyezését külön-külön gépenként is végezhetjük:

    
           ipchains -P forward DENY
           ipchains -A forward -s 192.168.1.2/32 -j MASQ
           ipchains -A forward -s 192.168.1.8/32 -j MASQ
    

    Ez csak a 192.168.1.2 és 192.168.1.8 lokális IP számú gép átmenő forgalmát engedélyezi.

  8. Fenti beállítások után a rendszert vagy újra kell indítani (egy vérbeli Linuxos ilyet aligha csinál, elvégre nem Windows ez, hogy csak úgy szíre-szóra újra kelljen indítani a rendszert!) vagy a fenti sorrendben direktben ki kell adni az /etc/rc.d/rc.local végére írt parancsokat.

A fentieken túlmenő biztonsági beállításokat (beérkező csomagok szűrése stb.) a felmerülő igények szerint, az ipchains dokumentációja és a IP_Firewalling-HOWTO leírása alapján végezhetjük el.

A lokális IP számok kiosztásánál figyelembe kell venni az RFC 1957 ajánlását, amely az alábbi IP címtartományokat jelöli ki a helyi hálózatok számára (ezek a címek nyilvános hálózaton nem jelenhetnek meg):


                10.0.0.0        -   10.255.255.255  (class A)
                172.16.0.0      -   172.31.255.255  (class B)
                192.168.0.0     -   192.168.255.255 (class C)

Ha például C osztályú helyi hálózatot építünk, akkor az 1. ábrán szereplő számozást is használhatjuk (192.168.1.1, 1.92.168.1.2, 1.92.168.1.3, ..., 192.168.1.x). Általában 192.168.1.1 az átjáró számára fentartott cím, 192.168.1.0 a hálózat száma, 192.168.1.255 pedig a broadcast üzenetek számára van fenntartva. Ezeket tehát ne használjuk a munkaállomások azonosítására.


Előző oldalKövetkező oldalHome


Gemini Projekt Elekronspektroszópiai Osztály, MTA ATOMKI, Debrecen