Differences between revisions 34 and 35
Revision 34 as of 2006-11-22 17:13:52
Size: 11710
Editor: mohacsi
Comment:
Revision 35 as of 2006-11-22 17:16:49
Size: 11764
Editor: mohacsi
Comment:
Deletions are marked like this. Additions are marked like this.
Line 47: Line 47:
[[Anchor(BSD_pf)]]
Line 48: Line 49:
[[Anchor(BSD_pf)]]
Line 60: Line 61:
[[Anchor(BSD_ip6fw)]]
Line 69: Line 71:
[[Anchor(linux_ip6tables)]]

TableOfContents

IPv6 Tűzfalak és az IPv6 biztonsági megoldások kialakítása és vizsgálata

Az IPv6 protokoll és környezet biztonsági elemei alapvetően a következő kategóriákra bonthatóak

  • IPv6 protokoll beépített biztonsági tulajdonságai
  • IPv6 protokollhoz kapcsolódó kötelező protokoll elemek pl. IPSec
  • IPv6 protokollhoz kapcsolódó kiegészítő protokoll elemek pl. SEND
  • IPv6 tűzfalak
  • IPv6 IDS/IPS rendszerek

Ebben az alszakaszban elsősorban az IPv6 tűzfalakra koncentrál a projekt de hogy azt megfelelően el lehessen helyezni. Tárgyaljuk a többi elemet is.

IPv6 protokoll és a biztonság

Kapcsolódó dokumentációk

IPv6 tűzfalak

IPv6 tűzfalak az elmúlt évben kezdtek megjelenni a különböző operációs rendszerekhez. A projektben elsősorban a szabadon hozzáférhető vagy routerekbe épített tűzfal rendszereket vizsgáltuk, de felvettük a kapcsolatot kereskedelmi tűzfal gyártó cégekkel is, akik azt állítják magukról, hogy támogatják az IPv6-ot. Egyelőre válaszra sem méltattak bennünket.

A projektben az IPv6 tűzfalakat szisztematikusan teszteltük [:Tüzfal_teszt_környezet: tipikus beállításokkkal], hogy meggyőződjünk róla, hogy alapvetően el tudják látni funkcióikat.

Anchor(BSD_pf)

BSD pf tűzfal

Az OpenBSD-hez kifejlesztett pf tűzfal 2002 óta támogatja IPv6. Gyakorlatilag 2004 decembere óta az összes szabadon elérhető BSD operációs rendszer (FreeBSD, NetBSD, OpenBSD) tartalmazza a pf csomagszűrő tüzfalat amely képes stateful packet inspection müveletre, ami segítségével könyebben és hatékonyabban lehet a tüzfal szabályokat megfogalmazni.

A projekt során kidolgozásra került oktatási anyagok az alábbi linkeken érhetők el:

  • [attachment:ipv6_pf.pdf Bevezetés a BSD pf IPv6-os használatába]
  • Példa BSD pf konfigurációs állományok
    • [attachment:pf_boot_client.conf.txt Minimális DHCP/SLAAC boot kliens PF file - IPv6 autkonfiguráció támogatással, de minden egyéb kommunkáció blokkolva - nem alkalmas komplett kommunikációhoz]
    • [attachment:pf_simple_client.conf.txt Kliens pf.conf file - IPv6 kommunikáció alapvető támogatása]
    • [attachment:pf_simple_firewall_noserver.conf.txt Egyszerű tűzfal rendszer - alapvető IPv6 kommunikáció engedélyezve védett hálózatból kifelé, védett hálózatba csak a válaszok juthatnak be]
    • [attachment:pf_simple_firewall_http_ssh_server.conf.txt Egyszerű tűzfal szabályok - alapvető IPv6 kommunikáció engedélyezve védett hálózatból kifelé, védett hálózatba csak a válaszok juthatnak be, illetve lehetséges a komminkáció a HTTP és SSH szerverrel]

Anchor(BSD_ip6fw)

FreeBSD ip6fw tűzfal

Az erdetileg BSDI-hez kifejlesztett majd a FreeBSD-hez újra írt ipfw tűzfal rendszer IPv6-os portját a [http://www.kame.net KAME] projekt készítette el. Ez a tűzfal rendszer teljes mértékben integrálva van a FreeBSD rendszerbe, olyan szinten, hogy kiindulási konfigurációs fájlok is elérhetőek az alap rendszer részeként az /etc/rc.firewall6 . Az integráltsága ellenére a legnagyobb hibája az ipfw rendszerenek, hogy az IPv6-os része nem müködik stateful módon. A legútobbi fejlesztések eredményeként a FreeBSD 6.1 rendszerben az ipfw segítségével is lehetséges az IPv6 tűzfal szabályokat módosítani.

  • [attachment:ipv6_ip6fw.pdf Bevezetés a FreeBSD ip6fw használatába]
  • Példa FreeBSD ip6fw konfigurációs állományok
    • [attachment:ip6fw_client.conf.txt Kliens ip6fw.conf file - IPv6 kommunikáció alapvető támogatása]
    • [attachment:ip6fw_simple.conf.txt Egyszerű tűzfal rendszer - alapvető IPv6 kommunikáció engedélyezve védett hálózatból kifelé, a tűzfal DNS és NTP szerverként funkcionál]
  • [:Ip6fwVM: ip6fw tesztek virtuális környezetben]

Anchor(linux_ip6tables)

Linux Netfilter/ip6tables tűzfal

A Linux 2.6.16-os változatú kernel már támogatja IPv6 connection tracking működést, olyan módon, hogy a connection tracing protokoll független módon van implementálva. Ez mindenképpen szükséges hatékony és gyors IPv6 tűzfal szabályok konfigurálásához. Jelenlegi korlátozása a NF connection trackingnek, hogy nincsen hozzá NAT modul:

  1. A kernel konfigurálásakor a default connection tracking modult ki kell kapcsolni (IP_NF_CONNTRACK)
    • Connection tracking (required for masq/NAT)
    különben a Layer-3 független kapcsolatnyomkövetö réteget (NF_CONNTRACK)
    • Layer 3 Independent Connection tracking (EXPERIMENTAL)
    nem lehet kiválasztani.
  2. Fordítsuk be a kernelbe a következő kernel modulokat:
    • ip6table_filter - tüzfal szürési modul
    • nf_conntrack_ipv6 - IPv6 connection tracking
    • nf_conntrack_ftp - FTP helper

.

  • Bevezetés a Netfilter IPv6-os használatába
    • [attachment:ip6tables.conf.txt Példa Netfilter/ip6tables IPv6-os konfigurációs állomány]

SecureFilter 2.3

A munkaszakasz eredményeként előált a KFKI-RMKI SzHK által kifejlesztett SecureFilter tűzfal-rendszer egy újabb verziója (2.3), amely az IPv4-es protokollon kívül az IPv6-os protokollt is támogatja.

A SecureFilter legújabb verziója és a kapcsolódó dokumentációk elérhetőek a szoftver honlapján: http://www.kfki.hu/cnc/projekt/securefilter/

Cisco ACL-ek IPv6-os használata

A Cisco IOS 12.2(2)T vagy 12.3(1)M illetve Cisco 12.2(14)S változata után az IOS lehetőséget biztosít a csomagok IPv6 szinten történő szűrésére. A szűrés csomagok szintjén lehetséges két fajta módón:

  • Alap (Standard) ACL-ekkel - ahol csak az IPv6 címek alapján lehet szűrni
  • Kibővített (Extended) ACL-ekkel - ahol protokoll mezők és portszámok alapján is lehet szűrni

Ezenkívül lehetséges szimulálni a állapotfigyelő tüzfalak müködését ún. reflexiv ACL-ek segítégével. Az IPv6 FTP kapcsolatok felügyeletetét is támogatja a 12.3(11)T változat után - ftp inspection segítségével - ehhez teljesen bele kell olvasni az FTP csomagok protokoll részébe - ez csak SW alapú platformokon támogatott.

  • [attachment:ipv6_ciscoacl.pdf Bevezetés a Cisco ACL-ek IPv6-os alkalmazásába ]
  • [attachment:ipv6_ciscoacl_cisco.pdf Cisco előadás a Cisco ACL-ek IPv6-os tulajdonságairól]

Figyelem! A Cisco ACL-ek egy nagyon furcsa implicit szabály rendszert tartalmaznak:

  • Ha nincsen deny szabály, akkor implicete engedélyezik a Neighbor Discovery csomagokat
    •    permit icmp any any nd-na
         permit icmp any any nd-ns
         deny ipv6 any any
  • Ha azonban van deny szabály, akkor explicite engedélyezni kell a Neighbor Discovery csomagokat a szabályokban!

Microsoft Windows XP (SP2 után) & Windows 2003 tűzfalak

A Microsoft Windows XP SP2 után és a Windows 2003 szerver rendszerek tartalmaznak egy beépített tűzfalat, ami képes a bejövő csomagok megszűrésére. A bejövő csomagok szűrésére általában ugyanazt a szabályt használja a Windows rendszer mint az IPv4 esetében - ezzel lehetőség van a konzisztens tűzfal szabályrendszer kialakítására. Egy plusz lehetőség az IPv6 esetében, hogy lehet külön engedélyezni a IPv6 PATH-MTU-Discovery-t az ICMP fülön.

  • [attachment:ipv6_windowsxp_firewall.pdf Bevezetés a Windows XP tűzfal IPv6-os alkalmazásába ]

Figyelem! A Windows tűzfal rendszere nem képes a védett hálózatból/gépről induló csomagokat szűrni

Megjegyzés! Egyéb windows tűzfalak (pl. Kerio, ZoneAlarm stb.) nem támogatják az IPv6 protokollt. Szólni kell nekik, hogy ezt muszáj megtenniük.

IPv6 Intrusion Detection/Prevention rendszerek

Eredmények

A munkaszakasz keretében tételesen a következők készültek el:

  • SecureFilter

    • SecureFilter 2.3. (ISO image, Debian Linux OS-el együtt)

    • SecureFilter 2.3 leírás és telepítési útmutató (magyar)

    • SecureFilter Howto (magyar)

    • essence 2.0 manual oldal (angol)
    • Telepítés képernyő-képek
  • IPv6 biztonsági áttekintések
  • IPv6 tüzfal konfigurációs javaslatok
  • BSD pf IPv6 tűzfal konfigurációs tutorial és javaslatok

Campus6: IPv6firewallsandSecurity (last edited 2011-10-24 13:49:10 by mohacsi)