SuSEfirewall2SuSEfirewall2

A SuSEfirewall2 egy parancsfájl, amely beolvassa az /etc/sysconfig/SuSEfirewall2 fájlban beállított változókat az iptables szabályok előállításához. Három biztonsági zónát ad meg, de a következő példában csak az elsőt és másodikat vesszük figyelembe:

Külső zóna

Mivel nem szabályozható, hogy mi történik a külső hálózaton, a gépet védeni kell tőle. A legtöbb esetben a külső hálózat az Internet, de a gyakorlatban lehet egy másik nem biztonságos hálózat is, mint például a WLAN.

Belső zóna

Ez a saját hálózatra utal, ami legtöbb esetben a helyi hálózat (LAN). Ha a hálózaton lévő gépek privát tartományba eső IP-címeket használnak (lásd: 30.1.2. szakasz - Hálózati maszkok és útválasztás), akkor engedélyezze a hálózati címfordítást (NAT), hogy a belső hálózaton lévő gépek el tudják érni a külső hálózatot.

Demilitarizált zóna (DMZ)

Az ebben a zónában lévő gépek a külső és belső hálózatról is elérhetők, de a belső hálózathoz nem tudnak hozzáférni. Ez a beállítás egy további védelmi vonalat húz a belső hálózat elé, mivel a DMZ-ben működő rendszerek el vannak szigetelve a belső hálózattól.

A szűrési szabályok által kifejezetten nem engedélyezett hálózati forgalmat az iptables blokkolja. A bejövő forgalommal rendelkező csatolókat tehát a három zóna egyikébe kell helyezni. Minden zónához meg kell adni az engedélyezett szolgáltatásokat és protokollokat. A szabályhalmaz csak a távoli gépektől eredő csomagokra érvényes. A helyileg létrehozott csomagokat a tűzfal nem fogja el.

A beállítás a YaST segítségével is végrehajtható (lásd: 39.4.1. szakasz - Tűzfal beállítása a YaST segítségével). Ez kézzel is elvégezhető az /etc/sysconfig/SuSEfirewall2 fájl módosításával. A fájlban bőségesen szerepelnek megjegyzések, az /usr/share/doc/packages/SuSEfirewall2/EXAMPLES könyvtárban pedig számos példa tekinthető meg.

Tűzfal beállítása a YaST segítségévelTűzfal beállítása a YaST segítségével

[Important]Automatikus tűzfalbeállítás

Telepítés után a YaST automatikusan elindít egy tűzfalat az összes beállított csatolón. Ha egy kiszolgálóprogram beállításra és aktiválásra kerül a rendszeren, akkor a YaST a kiszolgálókonfigurációs modulok Portok megnyitása a tűzfal kiválasztott csatolóján vagy Tűzfal portjának megnyitása részeiben megadott beállításokkal módosítja az automatikusan létrehozott tűzfalkonfigurációt. Néhány kiszolgálómodul-párbeszédablak rendelkezik egy Tűzfalbeállítások gombbal a további szolgáltatások és portok aktiválásához. A YaST tűzfalbeállítási moduljával aktiválható, letiltható vagy függetlenül újrakonfigurálható a tűzfal.

A grafikus konfiguráció YaST párbeszédablaka a YaST vezérlőközpontból érhető el. Válassza ki a Biztonság és felhasználók+Tűzfal menüpontot. A beállítások hét részre vannak osztva, amelyek közvetlenül a képernyő baloldali fastruktúrájában érhetők el.

Indítás

Ebben párbeszédablakban állítható be az indítási viselkedés. Az alapértelmezett telepítés végén a SuSEfirewall2 már fut a frissen telepített rendszeren. Itt indítható el és állítható le a tűzfal. Ha meg kívánja valósítani az új beállításokat a futó tűzfalon, akkor használja a Beállítások mentése és a tűzfal újraindítása most lehetőséget.

Csatolók

Itt látható az összes ismert hálózati csatoló. Egy csatoló egy zónából eltávolításához válassza ki a csatolót, nyomja meg a Módosítás gombot, majd válassza ki a ____nincs_zóna____ menüpontot. Egy csatoló zónához adásához válassza ki a csatolót, nyomja meg a Módosítás gombot, majd válassza ki a kívánt zónát a listából. Az Egyéni menüpont segítségével egy saját beállításokkal rendelkező speciális csatoló is létrehozható.

Engedélyezett szolgáltatások

Itt lehet szolgáltatásokat biztosítani a rendszerről olyan zónákhoz, amelytől az védve van. A rendszer alapértelmezés szerint csak a külső zónáktól védett. Kifejezetten engedélyezni kell a szolgáltatásokat, amelyeket a külső gépeknek látniuk kell. Aktiválja a megfelelő szolgáltatást, miután az Engedélyezett szolgáltatások a kiválasztott zónához menüpontban kiválasztotta a kívánt zónát.

Álcázás

Az álcázás segítségével a belső hálózat elrejthető a külső hálózatok (például az Internet) elől. Lehetővé teszi ugyanakkor, hogy a belső hálózat átlátszó módon elérje a külső hálózatot. A külső hálózatról a belső hálózat felé érkező kérések blokkolásra kerülnek, a belső hálózat kérései kívülről nézve pedig úgy tűnnek, mintha az álcázó kiszolgálóról érkeznének. Ha egy belső gép speciális szolgáltatásait elérhetővé kell tenni a külső hálózat számára, akkor a megfelelő szolgáltatáshoz speciális átirányítási szabályok adhatók meg.

Nyilvános üzenetek

Ebben a párbeszédablakban a nyilvános üzeneteket engedélyező UDP-portok kerülnek beállításra. A szükséges portszámokat vagy szolgáltatásokat hozzá kell adni a megfelelő zónához, szóközzel elválasztva. Lásd még: /etc/services.

A letiltott nyilvános üzenetek naplózása is itt engedélyezhető. Ez azonban problémát jelenthet, mivel a Windows gépek nyilvános üzeneteket használnak ahhoz, hogy tudjanak egymásról, ami nagyon sok elutasított csomagot eredményez.

IPsec-támogatás

Ebben a párbeszédablakban állítható be, hogy az IPsec-szolgáltatás engedélyezve legyen-e a külső hálózatból. A Részletek pontban állítható be, hogy mely csomagok megbízhatók.

Naplózási szint

Kétféle típusú esemény naplózható: az engedélyezett és az elutasított csomagok. Az elutasított csomagok eldobásra (DROPPED) vagy visszautasításra (REJECTED) kerülnek. A Minden naplózása, Csak a kritikus események naplózása és a Naplózás kikapcsolása lehetőségek közül választhat.

A tűzfal beállításának befejezésekor a Tovább gombbal lépjen ki a párbeszédablakból. Ezután a tűzfalbeállítások zónaorientált összefoglalása jelenik meg. Ebben ellenőrizheti a beállításokat. Az összefoglalásban minden engedélyezett szolgáltatás, port és protokoll megjelenik. A konfiguráció módosításához kattintson a Vissza gombra. A konfiguráció mentéséhez kattintson az Elfogadás gombra.

Kézi beállításKézi beállítás

Az alábbi bekezdésekben megpróbálunk részletes útmutatást adni a tűzfal sikeres beállításához. Minden konfigurációs elem meg van jelölve, hogy a tűzfalhoz vagy az álcázáshoz fontos-e. Amikor csak lehet, használjon porttartományt (például: 500:510). A DMZ-vel (demilitarizált zóna) kapcsolatos szempontokról, amint azt a konfigurációs fájlnál említettük, itt nem lesz szó. Ezek jellemzően nagyobb szervezetek (vállalati hálózatok) összetettebb hálózati csatolóira alkalmazhatók és alkalmazandók, amelyek részletes beállításokat és a témával kapcsolatos alapos tudást igényelnek.

Először a YaST Rendszerszolgáltatások (futási szint) modulja segítségével engedélyezze a SuSEfirewall2-t az adott futási szinten (ez általában 3 vagy 5). Ekkor beállításra kerülnek az /etc/init.d/rc?.d/ könyvtárakban a SuSEfirewall2_* parancsfájlok megfelelő szimbolikus láncai.

FW_DEV_EXT (tűzfal, álcázás)

Az Internetre csatlakoztatott eszköz. Modemes csatlakozás esetén a ppp0, ISDN kapcsolat esetén az ippp0, DSL kapcsolatok esetén a dsl0 értéket adja meg. Az alapértelmezett útvonalnak megfelelő csatoló használatához auto értéket adjon meg.

FW_DEV_INT (tűzfal, álcázás)

A belső, privát hálózatra csatlakoztatott eszköz (például az eth0). Hagyja üresen, ha nincs belső hálózat és a tűzfal csak azokat a gépeket védi, amelyen fut.

FW_ROUTE (tűzfal, álcázás)

Ha szükség van az álcázási funkcióra, akkor állítsa yes értékre. A belső gépek nem láthatók kívülről, mivel magán hálózati címüket (például 192.168.x.x) az internetes útválasztók figyelmen kívül hagyják.

Álcázás nélküli tűzfal esetén akkor állítsa yes értékre, ha engedélyezni kívánja a hozzáférést a belső hálózathoz. A belső gépeknek ebben az esetben hivatalosan bejegyzett IP-címeket kell használniuk. Normális esetben nem szabad engedélyezni a belső hálózat kívülről történő korlátlan elérését.

FW_MASQUERADE (álcázás)

Ha szükség van az álcázási funkcióra, akkor állítsa yes értékre. A belső gépek számára virtuálisan közvetlen kapcsolatot biztosít az Internethez. Biztonságosabb, ha a belső hálózat gépei és az Internet között van proxykiszolgáló. A proxykiszolgáló által biztosított szolgáltatásokhoz nincs szükség álcázásra.

FW_MASQ_NETS (álcázás)

Adja meg az álcázandó gépeket vagy hálózatokat, az egyedi bejegyzések között szóközt hagyva. Például:

FW_MASQ_NETS="192.168.0.0/24 192.168.10.1"
FW_PROTECT_FROM_INT (tűzfal)

A tűzfalgép a belső hálózatból érkező támadások elleni védelme érdekében állítsa ezt yes értékre. A szolgáltatások csak akkor állnak a belső hálózat rendelkezésére, ha kifejezetten engedélyezve vannak. Lásd még: FW_SERVICES_INT_TCP és FW_SERVICES_INT_UDP.

FW_SERVICES_EXT_TCP (tűzfal)

Adja meg az elérhetővé tenni kívánt TCP-portokat. Szokásos otthoni munkaállomás esetén, amelyik nem nyújt szolgáltatásokat, hagyja üresen.

FW_SERVICES_EXT_UDP (tűzfal)

Hagyja üresen, hacsak nem futtat UDP-szolgáltatást és nem kívánja kívülről elérhetővé tenni. UDP-t használó szolgáltatások: DNS-kiszolgálók, IPSec, TFTP, DHCP és egyebek. Ebben az esetben adja meg a használandó UDP-portokat.

FW_SERVICES_INT_TCP (tűzfal)

Ezzel a változóval lehet megadni a belső hálózat számára rendelkezésre álló szolgáltatásokat. A jelölés ugyanaz mint FW_SERVICES_EXT_TCP esetén, de a beállítások a belső hálózatra érvényesek. A változót csak akkor kell beállítani, ha a FW_PROTECT_FROM_INT értéke yes.

FW_SERVICES_INT_UDP (tűzfel)

Lásd: FW_SERVICES_INT_TCP.

A tűzfal beállítása után tesztelje az eredményt. A tűzfalszabályhalmazok akkor jönnek létre, amikor a root felhasználó kiadja a SuSEfirewall2 start parancsot. Ezután próbálja ki például a telnet parancsot egy külső gépről, hogy a kapcsolat valóban le van-e tiltva. Majd tekintse meg a /var/log/messages könyvtárat, amelyben az alábbihoz hasonlót kell látnia:

Mar 15 13:21:38 linux kernel: SFW2-INext-DROP-DEFLT IN=eth0 
OUT= MAC=00:80:c8:94:c3:e7:00:a0:c9:4d:27:56:08:00 SRC=192.168.10.0 
DST=192.168.10.1 LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=15330 DF PROTO=TCP 
SPT=48091 DPT=23 WINDOW=5840 RES=0x00 SYN URGP=0 
OPT (020405B40402080A061AFEBC0000000001030300)

A tűzfal tesztelésére szolgáló csomag az nmap és a nessus. A megfelelő csomag telepítése után az nmap dokumentációja az /usr/share/doc/packages/nmap, a nessus dokumentációja pedig az /usr/share/doc/packages/nessus-core könyvtárban található.