SlideShare a Scribd company logo
1 of 33
Download to read offline
ICE, STUN, TURN
A jég(ICE), a kanyar (TURN), a bódulat (STUN)
és a kijózanító tűzfal (Firewall)
Mészáros Mihály
NIIF Intézet
NETWORKSHOP 2016
Definíciók
· STUN „Klasszikus” - RFC 3489 (2003 március)
· Simple Traversal of UDP Through NATs
· STUN - „Új” - RFC 5389 (2008 október)
· Session Traversal Utilities for NAT
· TURN - RFC 5766 (2010 április)
· Traversal Using Relays around NAT (Relay Extensions to STUN)
· ICE – RFC 5245 (2010 április)
· Interactive Connectivity Establishment
Tartalomjegyzék
· Áttekintés: Tűzfal vs. Valós Idejű Kommunikáció (RTC)
· IP Címfordítás (NAT) és altípusai
· ICE/STUN/TURN
· Mégse olyan jó ötlet az összes IP cím felfedezése
· Auth. Metódusok fejlődése és implementációinak helyzete.
· GÉANT 4 SA8 T2 Proof of Concept STUN/TURN tapasztalatai
· WebRTC és ICE/STUN/TURN
· Összefoglalás
Tűzfal vs RTC
Tűzfal kint tartja az illetéktelen
forgalmat
Emellett sajnos megnehezíti vagy
ellehetetleníti az E2E kommunikációt.
A cél: Szabványos megoldást találni a
komplex akadályokra
Tűzfal átjárás
· Miért gond ha befalazzuk az
ajtót és az ablakot?
· Az Internet ma:
· NAT (különböző fajtái),
· Tűzfal (csomagszűrés),
· IPv4 => IPv6 áttérés,
· Multihomed eszközök, stb.
· TCP nem ideális valós idejű
tartalmak számára.
NAT
NAT típusok (RFC 3489)
· Full-cone NAT
· Address-restricted-cone NAT
· Port-restricted cone NAT
· Symmetric NAT
Server 1
Server 2
Client
NAT
"Full Cone" NAT
Server 1
Server 2
Client
NAT
"Restricted Cone" NAT
Server 1
Server 2
Client
NAT
"Port Restricted Cone" NAT
Symmetric NAT
Server 1
Server 2
Client
NAT
"Symmetric" NAT
https://upload.wikimedia.org/wikipedia/commons/7/73/Symmetric_NAT.svg
RFC 5780 vs 3489
· Mapping
· EIM
· ADM
· APDM
· Filtering
· EIF
· ADF
· APDF
Source:
http://www.netmanias.com/en/?m=view&id=techdocs&no=6065
ICE, STUN, TURN
IP címek, portok feltérképezése
· Átviteli cím (Candidate)
· IP cím, port, protokoll
· Átviteli cím típusok
· Relayed
· Reflexive
· Server, Peer
· Host
TURN
Szerver
NAT
UA
Y:y
X':x'
X:x
Publikus Internet
Miért gond az IP cím feltérképezés?
· ICE minden címet felfedez
· „By Design”
· Cél: A lehetséges legjobb
kapcsolat kiválasztása.
· IP címek kifecsegése
· Böngésző felfedezi az összes
interface címeit.
· Megoldás:
· Felfedezés korlátozása
· Már úton a javítás
· Chrome
· Opt-In:
Network limiter kiterjesztés
· Második lépés:
beépítése a böngészőbe és
alapértelmezetté tétel
· Firefox
· Új UI eszköz a felfedezhető
interface-k korlátozására
· Várható megjelenés:
Firefox Beta 41
RETURN
____________ inside network || outside network
/  || NAT/FW
| host O ________||________
| | / || 
| srflx|.............|..................O ___________
| | | || | / 
| relay|- - - - - - -|- - - - - - - - - |- - -|- - - - - -O
| | | _____||_____ | | |
| | | / ||  | | |
| relay2|-------------|--|------------| -|- - -|- - - - - -O
| | | | || | | ___________/
| srflx2|- - - - - - -|- |- - - - - - O |
| | | | || | | Application TURN
| host2 |- - - - - - -|- |- - - - - - O | server
| | | _____||_____/ |
____________/ ________||________/
||
Browser Border TURN Proxy ||
server ||
KEY O Candidate
..... Non encapsulated
- - - TURN encapsulated
----- Double TURN encapsulated
|| Network edge
· RETURN
· Recursively Encapsulated
· „Auto-Discovery” Felfedezés
· Nagyvállalati Határ Proxy
· Nagyvállalati és Alkalmazás
· Leakiness
· Leaky: Használjuk mindet
· Sealed: Erőltessük az
enterprise TURN Proxy-t
STUN
Auth. Metódusok
Rövid és Hosszú távú felhatalmazás
· STUN (RFC5389) két különbözőt definiál
· Short-term Credential mechanism
· Csak rövidtávra:
· Egyszer használatos.
· Minden alkalom után titkosítókulcs csere.
· ICE kapcsolat ellenőrzésre használja
· Long-term Credential mechanism
· Nincs meghatározva a felhatalmazás ideje
· Főként STUN reflexive cím és TURN relay cím igénylésére
· Felhasználói adatbázis
Long Term Credential
(Hosszú távú felhatalmazás)
· Felhasználónév, Jelszó páros / Tartomány (Realm)
· „Origin” alapú REALM (draft-ietf-tram-stun-origin) /WebRTC/
· Felhasználói adatbázisban HA1 tárolva
· HA1=MD5(”user:example.com:mysecret”)
· Üzenet integritás ellenőrzőösszeg (SHA1)
· HMAC(M, MD5(”user:example.com:mysecret”))
· visszajátszás elleni védelem
· Alapértelmezett metódus
WebRTC problémái az eredeti
mechanizmusokkal
· Long Term Credential
· A problémák összegezve: draft-reddy-behave-turn-auth
· A jelszó titokban tartása nehéz a Web App-oknak
· Üzenet integritás ellenőrzés offline szótár támadás ellen nem védett.
· A szervernek egy jelszó adatbázishoz kell kinyúlnia minden üzenet integritás
ellenőrzés esetén.
· A felhasználónév nem titkosított, lekövethető a felhasználó
· Short Term Credential (Egy kapcsolatra tervezve)
· Visszajátszásos támadások ellen védtelen
· Egyszeri használatra tervezve
Time Limited Long Term Credential
(Időkorlátozott Hosszú távú felhatalmazás)
· draft-uberti-rtcweb-turn-rest-00
· REST API és STUN/TURN szerver közös titok.
· Szolgáltató azonosítja magát és a végfelhasználó számára kér
és kap hozzáférést.
· Ezt a web alkalmazás a végfelhasználó böngészőjébe
továbbítja.
· Felhasználó név = egy időbélyeg és egy tetszőleges adat „:”-al
elválasztva.
OAuth
Proof of Concept
coTURN
· Nyílt forrású STUN/TURN implementáció
· C-ben írt stabil, kis hardver igényű
· Az IETF TRAM munkacsoport munkáját közelről követi.
· Támogat többféle adatbázis kezelőt (5)
· coturn.net - https://github.com/coturn/coturn
· UDP/TCP/TLS/DTLS/SCTP-t támogat
· a kliens és coTURN szerver között
· TCP/UDP (Relay)
GÉANT Teszt
· AAI: eduGAIN
· Elosztott
· NIIF, UNINETT, FCT/FCCN
· Legközelebbi Szerver (GeoIP)
· Auth metódusok
· LTC,REST API,
· OAuth (tervezett)
· https://brain.lab.vvc.niif.hu
Live Demo:
https://brain.lab.vvc.niif.hu
GN4 Symposium Demo
· WebTut
· Tanár és Diák otthon
· Symmetric NAT
· Tablet és PC
· Mi történik
· 1. STUN/TURN nélkül
· 2. STUN/TURN használatával
· 3. Ha két végpont egy
alhálózatban van
A gyakorlatban
WebRTC
WebRTC esete a Tűzfalátjárással
WebRTC
· WebRTC transport draft
· ICE támogatás kötelező
· ICE a STUN/TURN
szolgáltatásra épül
· WebRTC minden
böngészőben
· WebRTC nem csak web
· Mobil, Natív alkalmazások
· WebRTC nem csak vidkonf
10%
68%
13%
7%2%
No Relay
STUN/NAT
TURN/UDP
TURN/TCP
TURN/TLS
Adatok a http://callstats.io EC16 előadása alapján
Összefoglalás
· ICE törekszik az E2E valós idejű kommunikációra
· a szabványos tűzfal átjárást, könnyed IPv6 áttérést
· WebRTC megköveteli az ICE implementációját
· A ICE teljes körű működéséhez STUN/TURN szerver szükséges
· A GÉANT4 PoC szolgáltatás elérhető tesztelésre
· Intézményi szinten vagy EU vagy Globális szolgáltatás?
· „Leading edge” kollaborációs technológiák az NIIF közösség
szolgálatában
Kérdések ?
misi@niif.hu
KAPCSOLAT:

More Related Content

Similar to A jég (ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall)

Ata-over-Ethernet és Coraid
Ata-over-Ethernet és CoraidAta-over-Ethernet és Coraid
Ata-over-Ethernet és CoraidFerenc Szalai
 
Grid és adattárolás
Grid és adattárolásGrid és adattárolás
Grid és adattárolásFerenc Szalai
 
Gazdag Ferenc_IDC_KormanyzatiFelho
Gazdag Ferenc_IDC_KormanyzatiFelhoGazdag Ferenc_IDC_KormanyzatiFelho
Gazdag Ferenc_IDC_KormanyzatiFelhoFerenc GAZDAG
 
Syslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekSyslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekJános Pásztor
 
GCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatásokGCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatásokMárton Kodok
 
Új vizeken - Virtualizált szerver megoldások a Cisco-tól
Új vizeken - Virtualizált szerver megoldások a Cisco-tólÚj vizeken - Virtualizált szerver megoldások a Cisco-tól
Új vizeken - Virtualizált szerver megoldások a Cisco-tólGloster telekom Kft.
 
Young Enterprise Day 2014 – Palo Alto Networks: az újgenerációs tűzfal
Young Enterprise Day 2014 – Palo Alto Networks: az újgenerációs tűzfalYoung Enterprise Day 2014 – Palo Alto Networks: az újgenerációs tűzfal
Young Enterprise Day 2014 – Palo Alto Networks: az újgenerációs tűzfalYoung BTS Kommunikációs rendszerek
 
Gazdag Ferenc_IVSZ_KormanyzatiFelho_v2
Gazdag Ferenc_IVSZ_KormanyzatiFelho_v2Gazdag Ferenc_IVSZ_KormanyzatiFelho_v2
Gazdag Ferenc_IVSZ_KormanyzatiFelho_v2Ferenc GAZDAG
 
8 Bauer Tamas Gal Gyorgy Portal Alkalmazasok Jogosultsag Kezelese
8 Bauer Tamas   Gal Gyorgy   Portal Alkalmazasok Jogosultsag Kezelese8 Bauer Tamas   Gal Gyorgy   Portal Alkalmazasok Jogosultsag Kezelese
8 Bauer Tamas Gal Gyorgy Portal Alkalmazasok Jogosultsag KezelesePOLYGON Informatikai Kft.
 

Similar to A jég (ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall) (11)

Ata-over-Ethernet és Coraid
Ata-over-Ethernet és CoraidAta-over-Ethernet és Coraid
Ata-over-Ethernet és Coraid
 
Iptables gyorstalpaló
Iptables gyorstalpalóIptables gyorstalpaló
Iptables gyorstalpaló
 
Grid és adattárolás
Grid és adattárolásGrid és adattárolás
Grid és adattárolás
 
Gazdag Ferenc_IDC_KormanyzatiFelho
Gazdag Ferenc_IDC_KormanyzatiFelhoGazdag Ferenc_IDC_KormanyzatiFelho
Gazdag Ferenc_IDC_KormanyzatiFelho
 
Syslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekSyslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknek
 
GCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatásokGCP - A felhőalapú architektúrák és szolgáltatások
GCP - A felhőalapú architektúrák és szolgáltatások
 
Új vizeken - Virtualizált szerver megoldások a Cisco-tól
Új vizeken - Virtualizált szerver megoldások a Cisco-tólÚj vizeken - Virtualizált szerver megoldások a Cisco-tól
Új vizeken - Virtualizált szerver megoldások a Cisco-tól
 
Uj vizeken
Uj vizekenUj vizeken
Uj vizeken
 
Young Enterprise Day 2014 – Palo Alto Networks: az újgenerációs tűzfal
Young Enterprise Day 2014 – Palo Alto Networks: az újgenerációs tűzfalYoung Enterprise Day 2014 – Palo Alto Networks: az újgenerációs tűzfal
Young Enterprise Day 2014 – Palo Alto Networks: az újgenerációs tűzfal
 
Gazdag Ferenc_IVSZ_KormanyzatiFelho_v2
Gazdag Ferenc_IVSZ_KormanyzatiFelho_v2Gazdag Ferenc_IVSZ_KormanyzatiFelho_v2
Gazdag Ferenc_IVSZ_KormanyzatiFelho_v2
 
8 Bauer Tamas Gal Gyorgy Portal Alkalmazasok Jogosultsag Kezelese
8 Bauer Tamas   Gal Gyorgy   Portal Alkalmazasok Jogosultsag Kezelese8 Bauer Tamas   Gal Gyorgy   Portal Alkalmazasok Jogosultsag Kezelese
8 Bauer Tamas Gal Gyorgy Portal Alkalmazasok Jogosultsag Kezelese
 

More from Mihály Mészáros (13)

GÉANT TURN pilot
GÉANT TURN pilotGÉANT TURN pilot
GÉANT TURN pilot
 
SIP Tutorial/Workshop 0
SIP Tutorial/Workshop 0SIP Tutorial/Workshop 0
SIP Tutorial/Workshop 0
 
SIP Tutorial/Workshop 3
SIP Tutorial/Workshop 3SIP Tutorial/Workshop 3
SIP Tutorial/Workshop 3
 
SIP Tutorial/Workshop 2
SIP Tutorial/Workshop 2SIP Tutorial/Workshop 2
SIP Tutorial/Workshop 2
 
SIP Tutorial/Workshop 4
SIP Tutorial/Workshop 4SIP Tutorial/Workshop 4
SIP Tutorial/Workshop 4
 
SIP Tutorial/Workshop 1
SIP Tutorial/Workshop 1SIP Tutorial/Workshop 1
SIP Tutorial/Workshop 1
 
Webrtc puzzle
Webrtc puzzleWebrtc puzzle
Webrtc puzzle
 
5th tf webrtc-welcome
5th tf webrtc-welcome5th tf webrtc-welcome
5th tf webrtc-welcome
 
OAuth and STUN, TURN in WebRTC context RFC7635
OAuth and STUN, TURN  in WebRTC context RFC7635OAuth and STUN, TURN  in WebRTC context RFC7635
OAuth and STUN, TURN in WebRTC context RFC7635
 
Stun turn poc_pilot
Stun turn poc_pilotStun turn poc_pilot
Stun turn poc_pilot
 
WebRTC Identity in SAML Federations
WebRTC Identity in SAML FederationsWebRTC Identity in SAML Federations
WebRTC Identity in SAML Federations
 
WebRTC eduCONF
WebRTC eduCONFWebRTC eduCONF
WebRTC eduCONF
 
Webrtc
WebrtcWebrtc
Webrtc
 

A jég (ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall)

  • 1. ICE, STUN, TURN A jég(ICE), a kanyar (TURN), a bódulat (STUN) és a kijózanító tűzfal (Firewall) Mészáros Mihály NIIF Intézet NETWORKSHOP 2016
  • 2. Definíciók · STUN „Klasszikus” - RFC 3489 (2003 március) · Simple Traversal of UDP Through NATs · STUN - „Új” - RFC 5389 (2008 október) · Session Traversal Utilities for NAT · TURN - RFC 5766 (2010 április) · Traversal Using Relays around NAT (Relay Extensions to STUN) · ICE – RFC 5245 (2010 április) · Interactive Connectivity Establishment
  • 3. Tartalomjegyzék · Áttekintés: Tűzfal vs. Valós Idejű Kommunikáció (RTC) · IP Címfordítás (NAT) és altípusai · ICE/STUN/TURN · Mégse olyan jó ötlet az összes IP cím felfedezése · Auth. Metódusok fejlődése és implementációinak helyzete. · GÉANT 4 SA8 T2 Proof of Concept STUN/TURN tapasztalatai · WebRTC és ICE/STUN/TURN · Összefoglalás
  • 5. Tűzfal kint tartja az illetéktelen forgalmat
  • 6. Emellett sajnos megnehezíti vagy ellehetetleníti az E2E kommunikációt.
  • 7. A cél: Szabványos megoldást találni a komplex akadályokra
  • 8. Tűzfal átjárás · Miért gond ha befalazzuk az ajtót és az ablakot? · Az Internet ma: · NAT (különböző fajtái), · Tűzfal (csomagszűrés), · IPv4 => IPv6 áttérés, · Multihomed eszközök, stb. · TCP nem ideális valós idejű tartalmak számára.
  • 9. NAT
  • 10. NAT típusok (RFC 3489) · Full-cone NAT · Address-restricted-cone NAT · Port-restricted cone NAT · Symmetric NAT Server 1 Server 2 Client NAT "Full Cone" NAT Server 1 Server 2 Client NAT "Restricted Cone" NAT Server 1 Server 2 Client NAT "Port Restricted Cone" NAT
  • 12. RFC 5780 vs 3489 · Mapping · EIM · ADM · APDM · Filtering · EIF · ADF · APDF Source: http://www.netmanias.com/en/?m=view&id=techdocs&no=6065
  • 14. IP címek, portok feltérképezése · Átviteli cím (Candidate) · IP cím, port, protokoll · Átviteli cím típusok · Relayed · Reflexive · Server, Peer · Host TURN Szerver NAT UA Y:y X':x' X:x Publikus Internet
  • 15. Miért gond az IP cím feltérképezés? · ICE minden címet felfedez · „By Design” · Cél: A lehetséges legjobb kapcsolat kiválasztása. · IP címek kifecsegése · Böngésző felfedezi az összes interface címeit. · Megoldás: · Felfedezés korlátozása · Már úton a javítás · Chrome · Opt-In: Network limiter kiterjesztés · Második lépés: beépítése a böngészőbe és alapértelmezetté tétel · Firefox · Új UI eszköz a felfedezhető interface-k korlátozására · Várható megjelenés: Firefox Beta 41
  • 16. RETURN ____________ inside network || outside network / || NAT/FW | host O ________||________ | | / || | srflx|.............|..................O ___________ | | | || | / | relay|- - - - - - -|- - - - - - - - - |- - -|- - - - - -O | | | _____||_____ | | | | | | / || | | | | relay2|-------------|--|------------| -|- - -|- - - - - -O | | | | || | | ___________/ | srflx2|- - - - - - -|- |- - - - - - O | | | | | || | | Application TURN | host2 |- - - - - - -|- |- - - - - - O | server | | | _____||_____/ | ____________/ ________||________/ || Browser Border TURN Proxy || server || KEY O Candidate ..... Non encapsulated - - - TURN encapsulated ----- Double TURN encapsulated || Network edge · RETURN · Recursively Encapsulated · „Auto-Discovery” Felfedezés · Nagyvállalati Határ Proxy · Nagyvállalati és Alkalmazás · Leakiness · Leaky: Használjuk mindet · Sealed: Erőltessük az enterprise TURN Proxy-t
  • 18. Rövid és Hosszú távú felhatalmazás · STUN (RFC5389) két különbözőt definiál · Short-term Credential mechanism · Csak rövidtávra: · Egyszer használatos. · Minden alkalom után titkosítókulcs csere. · ICE kapcsolat ellenőrzésre használja · Long-term Credential mechanism · Nincs meghatározva a felhatalmazás ideje · Főként STUN reflexive cím és TURN relay cím igénylésére · Felhasználói adatbázis
  • 19. Long Term Credential (Hosszú távú felhatalmazás) · Felhasználónév, Jelszó páros / Tartomány (Realm) · „Origin” alapú REALM (draft-ietf-tram-stun-origin) /WebRTC/ · Felhasználói adatbázisban HA1 tárolva · HA1=MD5(”user:example.com:mysecret”) · Üzenet integritás ellenőrzőösszeg (SHA1) · HMAC(M, MD5(”user:example.com:mysecret”)) · visszajátszás elleni védelem · Alapértelmezett metódus
  • 20. WebRTC problémái az eredeti mechanizmusokkal · Long Term Credential · A problémák összegezve: draft-reddy-behave-turn-auth · A jelszó titokban tartása nehéz a Web App-oknak · Üzenet integritás ellenőrzés offline szótár támadás ellen nem védett. · A szervernek egy jelszó adatbázishoz kell kinyúlnia minden üzenet integritás ellenőrzés esetén. · A felhasználónév nem titkosított, lekövethető a felhasználó · Short Term Credential (Egy kapcsolatra tervezve) · Visszajátszásos támadások ellen védtelen · Egyszeri használatra tervezve
  • 21. Time Limited Long Term Credential (Időkorlátozott Hosszú távú felhatalmazás) · draft-uberti-rtcweb-turn-rest-00 · REST API és STUN/TURN szerver közös titok. · Szolgáltató azonosítja magát és a végfelhasználó számára kér és kap hozzáférést. · Ezt a web alkalmazás a végfelhasználó böngészőjébe továbbítja. · Felhasználó név = egy időbélyeg és egy tetszőleges adat „:”-al elválasztva.
  • 22. OAuth
  • 24. coTURN · Nyílt forrású STUN/TURN implementáció · C-ben írt stabil, kis hardver igényű · Az IETF TRAM munkacsoport munkáját közelről követi. · Támogat többféle adatbázis kezelőt (5) · coturn.net - https://github.com/coturn/coturn · UDP/TCP/TLS/DTLS/SCTP-t támogat · a kliens és coTURN szerver között · TCP/UDP (Relay)
  • 25. GÉANT Teszt · AAI: eduGAIN · Elosztott · NIIF, UNINETT, FCT/FCCN · Legközelebbi Szerver (GeoIP) · Auth metódusok · LTC,REST API, · OAuth (tervezett) · https://brain.lab.vvc.niif.hu
  • 27. GN4 Symposium Demo · WebTut · Tanár és Diák otthon · Symmetric NAT · Tablet és PC · Mi történik · 1. STUN/TURN nélkül · 2. STUN/TURN használatával · 3. Ha két végpont egy alhálózatban van
  • 30. WebRTC esete a Tűzfalátjárással
  • 31. WebRTC · WebRTC transport draft · ICE támogatás kötelező · ICE a STUN/TURN szolgáltatásra épül · WebRTC minden böngészőben · WebRTC nem csak web · Mobil, Natív alkalmazások · WebRTC nem csak vidkonf 10% 68% 13% 7%2% No Relay STUN/NAT TURN/UDP TURN/TCP TURN/TLS Adatok a http://callstats.io EC16 előadása alapján
  • 32. Összefoglalás · ICE törekszik az E2E valós idejű kommunikációra · a szabványos tűzfal átjárást, könnyed IPv6 áttérést · WebRTC megköveteli az ICE implementációját · A ICE teljes körű működéséhez STUN/TURN szerver szükséges · A GÉANT4 PoC szolgáltatás elérhető tesztelésre · Intézményi szinten vagy EU vagy Globális szolgáltatás? · „Leading edge” kollaborációs technológiák az NIIF közösség szolgálatában