Differences between revisions 1 and 37 (spanning 36 versions)
Revision 1 as of 2006-08-17 16:00:37
Size: 862
Editor: mohacsi
Comment:
Revision 37 as of 2007-03-05 16:38:20
Size: 11764
Editor: mohacsi
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#acl All:read
Line 8: Line 9:
 * IPv6 IDS rendszerek  * IPv6 IDS/IPS rendszerek
Line 12: Line 13:
== IPv6 protokoll beépített biztonsági tulajdonságai == == IPv6 protokoll és a biztonság ==
Line 14: Line 15:
== IPv6 protokollhoz kapcsolódó kötelező protokoll elemek ==
== IPv6 protokollhoz kapcsolódó kiegészítő protokoll elemek ==
=== Kapcsolódó dokumentációk ===

 * Átekintés az IPv6 protokoll biztonságáról
   * [attachment:6net_ipv6security.pdf 6NET dokumentáció az IPv6 biztonságáról] - Szerzők: Mohácsi János, Georgios Koutepas, Athannasios Liakopoulos, Eric Vyncke, Carlos Friacas - Angol nyelvű
   * [:Áttekintés az IPv6 biztonságáról:] - Szerzők: Mohácsi János - Magyar nyelvű
 * IETF RFC-k és draftok az IPv6 biztonságával kapcsolatban
   * [http://www.ietf.org/internet-drafts/draft-ietf-v6ops-security-overview-06.txt IPv6 security overview draft] - Szerzők: Elwyn Davies, S. Krishnan, P. Savola
   * [http://www.ietf.org/rfc/rfc3964.txt Security Considerations for 6to4] - Szerzők: P. Savola, C. Patel
   * [http://www.ietf.org/internet-drafts/draft-ietf-v6ops-ipsec-tunnels-05.txt Using IPsec to Secure IPv6-in-IPv4 Tunnels] - Szerzők: R. Graveman, M. Parthasarathy. P. Savola, H. Tschofenig
   * [http://www.ietf.org/internet-drafts/draft-ietf-v6ops-icmpv6-filtering-recs-03.txt Recommendations for Filtering ICMPv6 Messages in Firewalls ]- Szerzők: E. Davies, J. Mohacsi
 * Előadások az IPv6 biztonságával kapcsolatban
   * [http://www.6diss.org/workshops/see/security.pdf IPv6 Security előadás ]- 6DISS workshop Kopaonik, Szerbia 2006 Március - Előadó: Mohácsi János
   * [http://www.6diss.org/workshops/saf/security.pdf IPv6 Security előadás ]- 6DISS workshop Port Elizabeth, Dél-Afrika 2005 Szeptember - Előadó: Mohácsi János
   * [http://www.terena.nl/events/tnc2006/programme/presentations/show.php?pres_id=190 The Security Implications of IPv6 ] - Terena Networking Conference 2006, Catania, Italy - Előadó: Mike Warfield
   * [http://www.seanconvery.com/Internet2.pdf IPv6 Dual Stack Security Considerations] - October 2004, Internet2 Fall 2004, IPv6 Security Panel - D. Miller, S. Convery,
   * [http://www.garr.it/conf_05/slides/j_mohacsi-IPv6_sec.pdf IPv6 Security: New threats and countermeasures] - 3rd 6NET workshop & GARR 2005 conference, Pisa, Italy - Előadó: Mohácsi János
   * [http://tnc2004.terena.nl/programme/presentations/show.php?pres_id=115 Security of IPv6: from a firewalls point of view] - Terena Networking Conference 2004, Rhodes, Greece - Előadó: Mohácsi János
   * [http://www.6net.org/events/workshop-2003/marin.pdf What are the new challenges in securing IPv6 networks?] 2nd 6NET workshop, Terena Networking Conference 2003, Zagreb, Croatia - Előadó: Eric Marin
   * [http://ipv6.niif.hu/~mohacsi/downloads/athens_tf_ngn_ipv6_firewalls.pdf IPv6 firewalls] - TF-NGN meeting October 2001, Athens - Előadó: Mohácsi János
 * Egyéb cikkek:
   * [http://www.cs.columbia.edu/~smb/papers/v6worms.pdf Worm Propagation Strategies in an IPv6 Internet] ;login:, February 2006 - Szerzők: Steven M. Bellovin, Angelos Keromytis, and Bill Cheswick
   * [http://www.cs.columbia.edu/~smb/papers/tarp/tarp.html Transient Addressing for Related Processes: Improved Firewalling by Using IPV6 and Multiple Addresses per Host] - Proceedings of the Eleventh Usenix Security Symposium, August 2001, - Szerzők: Peter M. Gleitz and Steven M. Bellovin
 * IPSec-hez kapcsolódó anyagok
 * SEND-hez kapcsololódó anyagok

Line 17: Line 42:
== IPv6 IDS/IPS ==
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 ==

 * [attachment:IDS-and-IPv6.pdf IPv6 challenges for IDS ]
 * [http://www.sikurezza.org/ml/12_02/msg00178.html Experimental IPv6 decoder for SNORT]
 * [http://www.snort.org/archive-5-1312.html SNORT IPv6 support]

= 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

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)