Access Point, Captive Portal, SSL / TLS Lendvai Károly lendvai@hit.bme.hu Miről lesz ma szó? Wifi access point létrehozása Linux alatt Mi van a dobozban? Captive portál rendszerek Hogy működik az Internet kávézó? SSL/TLS Kommunikáljunk titkosítva! Access Point, Captive Portal, SSL/TLS 2 1
Előadások 4 előadás, főként biztonsági kérdések 2010. 03. 23. Access Point, Captive Portal, SSL 2010. 03. 30. VPN 2010. 04. 06. Internet biztonság, tűzfalak 2010. 04. 13. ZH, Internetes támadások, IDS-ek Access Point, Captive Portal, SSL/TLS 3 Wifi Access Point Wireless Access Point (WAP) Wireless Access Point vs. Wireless router Linksys WRT54-GL Access Point, Captive Portal, SSL/TLS 4 2
Linksys WRT54-GL Access Point, Captive Portal, SSL/TLS 5 Wireless Access Point Megoldandó problémák: A vezetékes és vezetéknélküli hálózat összekötése Azonosítás, biztonság, csatornakiosztás, SSID IP cím hozzárendelés Routing Tűzfal Access Point, Captive Portal, SSL/TLS 6 3
Wireless Access Point A vezetékes és vezetéknélküli hálózatok összekapcsolása: Bridge segítségével Access Point, Captive Portal, SSL/TLS 7 Hálózati eszközök Hub? Bridge? Switch? Router? Access Point, Captive Portal, SSL/TLS 8 4
Hálózati eszközök - Hub Hub Legegyszerűbb eszköz Ami az egyik porton bejön az összes többin kimegy ~ levelezőlista - Rengeteg felesleges adatküldés - A végpontok döntik el, hogy az adott csomag nekik jött vagy nem - Nem támogat különböző sebességeket - A hálózaton könnyen torlódások alakulhatnak ki - Switchek árának csökkenésével egyre kevesebb helyen használják őket Access Point, Captive Portal, SSL/TLS 9 Hálózati eszközök - Bridge Bridge - Layer 2-ben működik - A célcímet nézi, csak arra a portra küldi tovább a csomagot, ahol a célcím van - Nem foglalkozik az L2 feletti protokollokkal - Különböző hálózati szegmensek összekapcsolására használják, amik ugyanazon protokollon kommunikálnak - Az összes eszköz ugyanabban az alhálózatban van, átmennek rajta a broadcast üzenetek, működik a DHCP - Különböző fizikai rétegek összekapcsolására használható (például vezetékes és vezetéknélküli hálózat) Access Point, Captive Portal, SSL/TLS 10 5
Hálózati eszközök - Switch Switch Layer 2-ben működik Olyan mint a bridge, csak sok ugyanolyan portja van A bejövő csomagokat, csak azokra a port(ok)ra továbbítja ahol a címzett(ek) van(nak) Különböző portokon lehetséges különböző sebességgel kommunikálni Nagy teljesítmény Access Point, Captive Portal, SSL/TLS 11 Hálózati eszközök - Router Router Layer 3-ban működik A csomagok továbbítása IP címek alapján történik A továbbítási szabályokat un. Routing táblába lehet felvenni Access Point, Captive Portal, SSL/TLS 12 6
Wireless Access Point Bridge kezelése bridge-utils segítségével Bridge elindítása: Bridge leállítása: Állapotlekérdezés: (brctl show) Access Point, Captive Portal, SSL/TLS 13 Wireless Access Point Bridge automatikus konfigurálása Debian/Ubuntu alatt: /etc/network/interfaces file: Access Point, Captive Portal, SSL/TLS 14 7
Wireless Access Point Az interfészek beállítása után a WiFi kiszolgálás a hostapd program segítségével történik. Hostapd: User Spaceben fut, daemon Access Point, Authentication server IEEE 802.11 access point menedzsment IEEE 802.11x/WPA/WPA2/EAP authentikáció Config file: http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blo b_plain;f=hostapd/hostapd.conf Access Point, Captive Portal, SSL/TLS 15 Wireless Access Point Hostapd-hez szükséges beállítások /etc/hostapd/wpa_psk file: /etc/hostapd/hostapd.conf file: Access Point, Captive Portal, SSL/TLS 16 8
Wireless Access Point További szükséges beállítások: DHCP szerver A vezetéknélküli kliensek a LAN-on használt DHCP szervertől kaphatnak címeket Tűzfal beállítás Lehetőség van a vezetéknélküli kliensekre külön tűzfalszabályokat létrehozni (erről bővebben két hét múlva) Routing beállítások A bridge miatt nem kell külön routing beállításokat végezni Access Point, Captive Portal, SSL/TLS 17 Captive Portal Mi az a Captive Portal? A Captive Portal egy olyan weboldal, amit a felhasználóknak a szabad Internetezés előtt meg kell nézniük, az ott lévő feltételeket el kell fogadniuk, vagy ott azonosítani kell magukat. Hol használják? Kávézók, éttermek Repterek Szállodák Vezetéknélküli (WiFi) Internet szolgáltatók Access Point, Captive Portal, SSL/TLS 18 9
Captive Portal Miért jobb / más, mint a WPA/WPA2? Itt a fő cél a felhasználók azonosítása, nem a titkosítás A felhasználók sokszor nem tudják beállítani a WPA/WPA2-t Számos esetben a vezetékes hozzáférést is korlátozni kell Szeretnénk néhány oldalt azonosítás nélkül is engedélyezni Van olyan eset, amikor nem az azonosítás a cél, hanem az, hogy a felhasználók elfogadják az Internet használat feltételeit - Acceptable Use Policy (AUP) Access Point, Captive Portal, SSL/TLS 19 Captive Portal Hogy működik? Amíg a felhasználó el nem fogadta a használat feltételeit, vagy nem azonosította magát, addig minden HTTP és HTTPs kérése átirányításra kerül az authentikációs szerverre, a többi forgalma pedig szűrve van (kivéve a whitelist-elt forgalom). Access Point, Captive Portal, SSL/TLS 20 10
Captive Portal Elméleti megvalósítások: HTTP redirection DNS lekérés rendben megtörténik A böngésző küld egy HTTP kérést az adott címre A tűzfal ezt a kérést a Redirect Servernek továbbítja 302-es Status Code-ú üzenet jön a válaszban, ami átirányítja a felhasználót a Captive Portalra Ez a megoldás teljesen transzparens a felhasználók számára Access Point, Captive Portal, SSL/TLS 21 Captive Portal Elméleti megvalósítások: IP szintű átirányítás Az átirányítás Layer 3-ban történik Cím problémák adódhatnak DNS alapú átirányítás DNS poisoning támadás szerű átirányítás A tűzfal a klienst csak egy megadott DNS szerverhez engedi csatlakozni, ha nem ez a DNS szerver van beállítva, akkor átirányítja oda a kérést A DNS szerver azonosítatlan felhasználók esetén mindig a Captive Portal IP címét adja válaszul Access Point, Captive Portal, SSL/TLS 22 11
Captive Portal Mi kell a megvalósításhoz? Internet kapcsolat Bármilyen internetkapcsolat WLAN Access Point pl. Linksys WRT54 GL Hotspot szoftver pl. ChilliSpot Radius Szerver pl. FreeRadius Adatbázis szerver pl. MySQL Webszerver pl. Apache Web Server Access Point, Captive Portal, SSL/TLS 23 SSL/TLS SSL Secure Socket Layer TLS Transport Layer Security Kriptográfiai protokollok, melyek végponttól végpontig terjedő biztonságos kommunikációt biztosítanak hálózatokon keresztül. Access Point, Captive Portal, SSL/TLS 24 12
SSL/TLS Hol használják? Web böngészés (HTTPS) E-mail (SMTPs, IMAPs, POP3s) Instant Messaging VoIP VPN (OpenVPN) Saját fejlesztésű alkalmazások, ahol fontos a biztonság Access Point, Captive Portal, SSL/TLS 25 SSL/TLS Na most akkor SSL vagy TLS? Ki kivel van? Történelmi áttekintés: 1993. Secure Network Programming Netscape fejlesztette az SSL-t, 1.0-ás verzió nem került nyílvánosan kibocsátásra 1995. február SSL 2.0, számos biztonsági hiányosságot tartalmazott, ez vezetett a 3.0-s verzióhoz 1996. SSL 3.0 De hogy lett belőle RFC? Access Point, Captive Portal, SSL/TLS 26 13
SSL/TLS 1999. január TLS 1.0 RFC 2246 the differences between this protocol and SSL 3.0 are not dramatic, but they are significant enough that TLS 1.0 and SSL 3.0 do not interoperate 2006. április TLS 1.1 RFC 4346 CBC támadások elleni védelem 2008. augusztus TLS 1.2 RFC 5246 Access Point, Captive Portal, SSL/TLS 27 SSL/TLS Főbb jellemzők, célok (RFC szerint): TCP felett működik, de van UDP-s változata is Datagram Transport Layer Security (DTLS) Kriptográfiai biztonság biztosítása Együttműködés különböző fejlesztők által elkészített programok között, a forráskód ismerete nélkül Bővíthetőség. Keretrendszert biztosít új algoritmusok használatára Relatív hatékonyság. A kriptográfiai műveletek nagyon erőforrás igényesek, főleg a publikus kulcsú műveletek, ezért session caching támogatása Access Point, Captive Portal, SSL/TLS 28 14
SSL/TLS működése 2 rétegből áll a protokoll TLS Record Layer TLS Handshake Protocol, Alert Protocol, Change Cipher Spec TLS Record Layer The connection is private Szimmetrikus kulcsú titkosítás (AES, RC4) Kulcs csere másik protokollon Működhet titkosítás nélkül is Access Point, Captive Portal, SSL/TLS 29 TLS Record Layer TLS Record Layer The connection is reliable Az üzenettovábbítás során az üzenetek integritásellenőrzése MAC generálása az üzenetekhez Hash függvények használata a MAC generáláshoz (pl SHA-1) TLS Record Layer-be vannak beágyazva a felsőbb rétegbeli protokollok Access Point, Captive Portal, SSL/TLS 30 15
TLS Record Layer Access Point, Captive Portal, SSL/TLS 31 TLS Record Layer Access Point, Captive Portal, SSL/TLS 32 16
TLS Handshake Protocol Authentikációt, és kulcs cserét biztosít a kommunikáló feleknek A felek megegyeznek az alkalmazott kriptográfiai protokollokról 3 fő tulajdonság A felek azonosítása aszimmetrikus / Publikus kulcsú algoritmus segítségével történik (RSA / DSA) A közös osztott titok meghatározása biztonságosan történik (nem lehet lehallgatni, nem lehet Man-in-the- Middle támadást végrehajtani) A kulcs csere megbízható (nem lehet üzenetet úgy módosítani, hogy a kommunikáló felek azt észre ne vegyék) Access Point, Captive Portal, SSL/TLS 33 Cipher suite Különböző csomagok amik tartalmazzák az alkalmazható algoritmusokat Négy fő csoport: Kulcs csere RSA, Diffie-Hellman, ECDH, PSK Authentikáció RSA, DSA, ECDSA Folyamtitkosítók RC4, 3DES, AES, DES MAC HMAC, SHA Access Point, Captive Portal, SSL/TLS 34 17
TLS kapcsolat felépítése Access Point, Captive Portal, SSL/TLS 35 18