Differences between revisions 1 and 42 (spanning 41 versions)
Revision 1 as of 2006-08-17 16:00:37
Size: 862
Editor: mohacsi
Comment:
Revision 42 as of 2011-10-24 13:49:10
Size: 11825
Editor: mohacsi
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
[[TableOfContents]] #acl All:read
<<
TableOfContents>>
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://tools.ietf.org/html/rfc4942|IPv6 transitions security overview]] - Szerzők: Elwyn Davies, S. Krishnan, P. Savola
   * [[http://tools.ietf.org/html/rfc3964|Security Considerations for 6to4]] - Szerzők: P. Savola, C. Patel
   * [[http://tools.ietf.org/html/rfc4891|Using IPsec to Secure IPv6-in-IPv4 Tunnels]] - Szerzők: R. Graveman, M. Parthasarathy. P. Savola, H. Tschofenig
   * [[http://tools.ietf.org/html/rfc4890|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-1/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
   * [[https://www.terena.org/events/tnc2006/programme/presentations/show1c91.html?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://www2.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.org/programme/presentations/show2149.html?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ásokkal]], 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-ot. 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önnyebben é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.

=== NetScreen tűzfalak ===

 [[NetScreen_tuzfal_config| NetScreen tűzfal IPv6 konfiguráció]]

== 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

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 tipikus beállításokkal, hogy meggyőződjünk róla, hogy alapvetően el tudják látni funkcióikat.

BSD pf tűzfal

Az OpenBSD-hez kifejlesztett pf tűzfal 2002 óta támogatja IPv6-ot. 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önnyebben é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:

FreeBSD ip6fw tűzfal

Az erdetileg BSDI-hez kifejlesztett majd a FreeBSD-hez újra írt ipfw tűzfal rendszer IPv6-os portját a 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.

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

.

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.

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.

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.

NetScreen tűzfalak

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)