Your SlideShare is downloading. ×
802.1X filaire, un monde idéal illusoire? (Olivier Bilodeau)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

802.1X filaire, un monde idéal illusoire? (Olivier Bilodeau)

6,175
views

Published on

Le 802.1X est un standard englobant l'identification et l'authentification des utilisateurs d'un réseau afin d'en contrôler l'autorisation d'accès. De plus en plus déployé, car les réseaux récemment …

Le 802.1X est un standard englobant l'identification et l'authentification des utilisateurs d'un réseau afin d'en contrôler l'autorisation d'accès. De plus en plus déployé, car les réseaux récemment rehaussés le supportent, cet ensemble de technologies comporte néanmoins plusieurs limites méconnues. Cette présentation vise, tout d'abord, à expliquer sommairement le 802.1X et à partager les défis et problèmes d'un tel déploiement. Ensuite, nous couvrirons certaines solutions rencontrées pour palier aux problèmes et nous verrons comment les contourner (et comment prévenir le contournement). Nous terminerons avec un regard vers les standards et technologies à l'horizon qui vont transformer la situation actuelle.

Published in: Technology, Business

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,175
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 802.1X filaire rêves brisés?
  • 2. Plan • Introduction • La technologie • Implémentation o Configuration o Défis • Vulnérabilités • Contre-mesures • Futur • Conclusion • Questions
  • 3. Qui suis-je? • Olivier Bilodeau, Ingénieur junior • Architecte système chez Inverse o PacketFence, Open Source NAC o Consultation sur la sécurité filaire et sans fil • Chargé de cours à l'École de technologie supérieure o Sécurité des systèmes
  • 4. Avertissement! Ceci n'est pas un argumentaire (sales pitch). Si vous avez envie de discuter NAC et PacketFence venez me voir après la présentation, ça va me faire plaisir!
  • 5. Contexte / Bagage "Your security is only as strong as your weakest link." • Vision globale • Faire les choses dans l'ordre "Security is a journey not a destination." • Ce n'est jamais fini • But: rendre la job plus difficile pour les attaquants
  • 6. Les réseaux d'entreprises aujourd'hui • Communications avec l'Internet o Pare-feu o Filtrage courriel o Filtrage Web • VPN pour employés, consultants • DMZ pour serveurs • Contrôle d'accès physique stricte (pour certains) Une protection de périmètre étoffée! ...
  • 7. Mais à l'intérieur... • On fait le minimum (et encore...) o storm control o prévenir serveurs DHCP malicieux o prévenir man-in-the-middle layer 2 o port-security de base o ségrégation en VLAN et ACLs • On ne sait pas qui et quoi est branché sur notre réseau • Accès garanti si vous trouvez une prise réseau! o peut-être même à l'infrastructure
  • 8. Carapace dure au coeur moelleux
  • 9. Pourquoi faire attention au LAN? • Traditionnellement o défendre les attaques niveau 2 intentionnelles ou pas o ralentir la propagation des vers • Menaces principalement sans intentions malicieuses o matériel non-autorisé o matériel infecté o matériel non sécuritaire • Menace motivée o portable branché dans la salle d'attente o un point d'accès rogue au bon endroit... • Pour faire plaisir à son auditeur
  • 10. Ce n'est pas assez! C'est bien beau votre port-security et vos ACLs strictes, mais si un employé bien intentionné peut brancher un NAT Router et offrir du sans fil 'open', sans que vous ayez un moyen de le prévenir ou de vous en rendre compte vous avez augmenté votre surface d'attaque. (Les War Drivers raffolent de ça!)
  • 11. Durcissement du LAN • IP statiques o vulnérabilité: auto-assignation • DHCP statique selon la MAC o vulnérabilité: auto-assignation • Port Security o vulnérabilité: patience ou usurpation MAC • NAC basé DHCP o vulnérabilités variées selon la technique: de l'usurpation MAC ou IP d'un client autorisé, auto-assignation paramètres infrastructure
  • 12. Durcissement du LAN (suite) • NAC basé sur l'empoisonnement ARP o vulnérabilités: usurpation MAC, entrées ARP statiques, NAT • NAC basé sur le Port Security o vulnérabilité: usurpation MAC • IDS / IPS o manquent souvent le traffic interne o pas du contrôle d'accès • Les techniques frappent toujours la même limite o Aucune notion de contrôle d'accès dans le L2
  • 13. 802.1X La technologie
  • 14. 802.1X: Terminologie • Port-Based Network Access Control • Acteurs o Supplicant o Authenticator  on voit aussi Network Access Server (NAS) o Authentication Server • Protocoles o Extensible Authentication Protocol (EAP) o Remote Authentication Dial In User Service (RADIUS)
  • 15. 802.1X: Processus 1. Client qui supporte 802.1X o Dialogue avec équipement en EAP over LAN (EAPoL) 2. Authenticator (NAS) communique avec serveur RADIUS o Incluant des messages EAP chiffrés o Selon la saveur de EAP, il peut y avoir un Challenge- Response 3. Serveur RADIUS o prend la décision finale o envoit des instructions supplémentaires au NAS
  • 16. 802.1X over RADIUS • 802.1X spécifie l'utilisation d'un protocole de AAA o Authentication o Authorization o Accounting • Solution: RADIUS o Protocole simple d'échange clé-valeur o Messages types:  Access-Request  Access-Challenge  Access-Accept ou Access-Reject  Accounting-Request  ...
  • 17. 802.1X: EAP • Supporte plusieurs mechanismes d'authentification o interchangeables o sans negociation préalable • Authenticator (NAS) peut agir comme passthrough o n'a pas a supporter les nouvelles variantes • multiplexable o EAP dans EAP (comme IP dans IP) • Certaines variantes permettent l'échange de clés cryptographiques o WPA Enterprise
  • 18. 802.1X: Saveurs de EAP • EAP-MD5 (simple, vulnérable, vieux) • EAP-TLS (standard) o certificats côté client obligatoires • EAP-FAST (Cisco) • EAP-TTLS (assez standard) o certificat côté serveur signé par un CA • PEAPv0/EAP-MSCHAPv2 (Microsoft) o Permet authentification bout en bout sur un Active Directory (AD)
  • 19. 802.1X Dialogue EAP
  • 20. 802.1X Dialogue PEAP-MSCHAPv2
  • 21. 802.1X supplicants • Windows o EAP-TLS depuis Windows 2000 SP4 o PEAPv0/EAP-MSCHAPv2 • Mac OS X o EAP-TLS (10.3) o EAP-FAST (10.4.3) o PEAPv0/EAP-MSCHAPv2 • Linux o wpa_supplicant (EAP-TLS, PEAPv0/EAP-MSCHAPv2...) • Multi-plateforme o Open1X • De plus en plus de matériel o Avaya IP Phone o Imprimantes, etc.
  • 22. 802.1X Support • Côté Supplicant o Microsoft a mené, tous on suivi o Intégration AD est confortable sous PEAP-MsCHAPv2 o Alternatives libres o Support matériel reste problématique • Côté matériel réseau o fragmentation remarquée o possibilités varient beaucoup o mais la base fonctionne presque partout • Côté serveur d'authentification o logiciel libre: FreeRADIUS o Cisco ACS o Microsoft IAS
  • 23. 802.1X: Intégration avec legacy Les fabricants de matériel réseau ont dû résoudre la problématique. • Apparition de: o MAC Authentication Bypass aka MAB (Cisco) o MAC-based authentication (HP) o NEAP (Nortel) o Netlogin (Extreme Networks) o MAC RADIUS (Juniper) • Qui consiste à faire du RADIUS authentication avec la MAC comme User-Name o après que le dialogue EAPoL ait échoué o la plupart sans EAP, certains avec
  • 24. 802.1X: Les possibilités • Assignation de VLAN selon critères flexibles o Position géographique (building, étage, etc.) o Groupe AD (compatibilité, vente, ingénierie, ...) o VLAN de quarantaine o ... • Refuser l'accès selon vos critères o postes mal configurés o portables de la maison qui n'ont pas le bon certificat o ...
  • 25. 802.1X Avantages • Utilise AAA donc bénéficie de la centralisation des décisions de sécurité réseau quant à: o Authentification o Autorisation o Audit • Configuration des ports unifiée* • Centralisation de la gestion des VLAN • Bien conçu, a l'épreuve du temps • Tout est standard et gratuit!
  • 26. 802.1X L'implémentation
  • 27. Configuration Supplicant • Mac OS X o Advanced 802.1X o Activer PEAP et TTLS o Inscrire vos authentifiants • Linux o utilisez NetworkManager! o wpa_supplicant, excellent pour apprendre • Windows o exercice laissé au participant
  • 28. Supplicant wpa_supplicant Pour référence ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 ap_scan=0 eapol_version=2 network={ key_mgmt=IEEE8021X eap=PEAP identity="user" password="l33tp4ssp03m" phase2="auth=MSCHAPV2" #ca_cert="/etc/wpa_supplicant/cacert-csa.pem" }
  • 29. Configuration commutateur Cisco 2960, 802.1X + MAC Authentication Bypass (MAB) aaa authentication dot1x default group radius aaa authorization network default group radius interface FastEthernet0/1 description Port 802.1X fallback MAB switchport mode access authentication order dot1x mab authentication priority dot1x mab authentication port-control auto authentication periodic authentication timer restart 10800 authentication timer reauthenticate 10800 mab dot1x pae authenticator dot1x timeout quiet-period 2 dot1x timeout tx-period 3 spanning-tree portfast radius-server host 10.100.1.10 auth-port 1812 acct-port 1813 timeout 2 key 3p1cR4d1usS3kret
  • 30. Configuration FreeRADIUS sur RedHat 5 / CentOS 5 (pour référence) • # yum install freeradius2 freeradius2-perl freeradius2-utils • Ajouter votre client et shared secret dans /etc/raddb/clients.conf • Dans /etc/raddb/modules/mschap o with_ntdomain_hack = yes o ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key -- username=%{%{Stripped-User-Name}:-%{User-Name:-None}} -- challenge=%{mschap:Challenge:-00} --nt-response=%{mschap:NT- Response:-00}" • Dans /etc/raddb/modules/perl o module = ${confdir}/my_module.pl
  • 31. Configuration FreeRADIUS (suite) • /etc/raddb/sites-available/inner-tunnel should look like this: o Authorize section preprocess eap { ok = return } files o Authenticate section authenticate { Auth-Type MS-CHAP { mschap } eap } o Add to post-auth section  perl
  • 32. Configuration FreeRADIUS (suite) • /etc/raddb/users add: o DEFAULT EAP-Message !* "", Auth-Type := Accept • /etc/raddb/eap.conf should look like: eap { default_eap_type = peap tls { private_key_file = /etc/raddb/certs/<key> certificate_file = /etc/raddb/certs/<cert> CA_file = /etc/raddb/certs/<CA> dh_file = /etc/raddb/certs/dh random_file = /dev/urandom } peap { default_eap_type = mschapv2 } mschapv2 { } }
  • 33. Configuration FreeRADIUS (suite) • Définir son propre module et retourner les attributs désirés o code perl (rlm_perl) o exécuter un programme (rlm_exec) sub post_auth { if ($RAD_REQUEST{'User-Name'} =~ /^Mallory$/) { $RAD_REPLY{'Tunnel-Medium-Type'} = 6; # IEEE-802 $RAD_REPLY{'Tunnel-Type'} = 13; # VLAN $RAD_REPLY{'Tunnel-Private-Group-ID'} = 666; # 802.1Q VLAN TAG } return RLM_MODULE_OK; } Exemples plus complexes: • http://wiki.freeradius.org/Rlm_perl • http://mtn.inverse.ca/branch/head/file/org.packetfence.trunk/pf/addons/802.1X/rlm_perl_packetfence_soap.pl • http://mtn.inverse.ca/branch/head/file/org.packetfence.1_9/pf/addons/802.1X/rlm_perl_packetfence.pl
  • 34. Configuration FreeRADIUS (suite) • Configurer SAMBA o /etc/krb5.conf [logging] [domain_realm] default = FILE:/var/log/krb5libs.log .<AD domain> = <AD domain in CAPS> kdc = FILE:/var/log/krb5kdc.log <AD domain> = <AD domain in CAPS> admin_server = FILE:/var/log/kadmind.log [appdefaults] [libdefaults] pam = { default_realm = <AD domain> debug = false dns_lookup_realm = false ticket_lifetime = 36000 dns_lookup_kdc = true renew_lifetime = 36000 ticket_lifetime = 24h forwardable = true forwardable = yes krb4_convert = false } [realms] <AD domain> = { kdc = <domain controller>:88 admin_server = <domain controller>:749 default_domain = <AD domain> }
  • 35. Configuration FreeRADIUS (suite) • Configurer SAMBA (suite) o /etc/samba/smb.conf [global] workgroup = <AD host portion> server string = <hostname> interfaces = <eth0 IP / mask> security = ADS passdb backend = tdbsam realm = <AD domain> encrypt passwords = yes winbind use default domain = yes client NTLMv2 auth = yes preferred master = no Et tester! # testparm Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_DOMAIN_MEMBER Press enter to see a dump of your service definitions ...
  • 36. Configuration FreeRADIUS (suite) • Configurer SAMBA (suite) o Joindre au domaine  # net ads join -U <domain admin> o Démarrer winbind  # service winbind start o Test ntlm_auth  $ ntlm_auth --username <test user> password: NT_STATUS_OK: Success (0x0) o Permettre à RADIUS d'accéder au socket Winbind  # chgrp radiusd /var/cache/samba/winbindd_privileged/
  • 37. Déboguer • FreeRADIUS: Inévitable... mais facile! # radiusd -X [...] Ready to process requests. Ignoring request to authentication address * port 1812 from unknown client 10.0.0.2 port 1645 Ready to process requests. [...] rad_recv: Access-Request packet from host 192.168.1.222 port 57948, id=156, length=207 User-Name = "test" EAP-Message = 0x020a002b190017030100201657d69ade41a6871211f5c16cd62a869d29ff173ced8b89687fcb2da124891e Message-Authenticator = 0x430b4c4b7331470b8e74ee7c713042e4 NAS-Port-Id = "ge-0/0/46.0" Called-Station-Id = "00-1f-12-36-e0-c0" NAS-Port-Type = Ethernet ... [peap] Success [eap] Freeing handler ++[eap] returns ok ... ++[perl] returns ok ... Sending Access-Accept of id 156 to 192.168.1.222 port 57948 Tunnel-Type:0 = VLAN Tunnel-Medium-Type:0 = IEEE-802 ... • L'équipement réseau o show log
  • 38. Les défis • Gestion périphériques non-802.1X o Imprimantes o PXE o Machines virtuelles bridged o ... • Gestion des invités • Téléphone IP • Configuration des postes • Formation du personnel • Complexité
  • 39. La complexité • Complixité statique o OS des postes o Logiciel supplicant (si applicable) o OS des commutateurs o Trouver tous ses périphériques réseau non-802.1X o Derrière un téléphone IP ou pas o Version serveur RADIUS • Complexité dynamique o Déplacement de port o Changement de VLAN (réaction face à) o Redémarrage (peut déclencher MAC Authentication) o Approvisionnement (VoIP, PC)
  • 40. 802.1X vulnérabilités where are the vulz!!? I'm here to p0wn!
  • 41. Vulnérabilité de l'implémentation 802.1X • Regarder là où il n'y en a pas... "Look for 802.1X exceptions such as printers, VoIP phones" -- Joseph McCray, Learn Security Online, Defcon 18 • Trouver les ports où 802.1X est désactivé • Usurpation MAC!
  • 42. 802.1X L'implémentation prise 2
  • 43. 802.1X: Gérer le non-802.1X • Oublier la configuration d'exception par port => 802.1X + MAC Authentication • VLAN d'exceptions / ACLs strictes • DHCP Fingerprinting • TCP Fingerprinting • Surveillance o IDS / IPS o Profilage de traffic (NetFlow, IPFIX) Toutes ces solutions demandent un certain suivi
  • 44. C'était la seule vulnérabilité? Non
  • 45. 802.1X Bypass • 802.1X veut dire Port-Based Network Access Control o Mais si on arrive après l'autorisation? • Empêcher le port d'être down • Hub man-in-the-middle! + Ursupation MAC • Accès physique requis • Intrusif
  • 46. 802.1X Scénarios d'attaque 1. On laisse le client légitime branché o -: 2 MAC actives en même temps o UDP ok o TCP possible si client refuse les SYN-ACK non-sollicités o +: le vrai client peut renégocier le 802.1X 2. Prend la place du client légitime o +: pas de problèmes réseau (une seule MAC active) o -: s'il y a renégociation, on ne passera pas
  • 47. Déni de service • EAPOL-Logoff o Message provenant du supplicant qui désire terminer sa connexion o Pas chiffré o Pas de secret • Usurpation des messages EAPOL-Logoff par un client malicieux o Termine la session • Nécessite accès au medium o entre port du commutateur et PC • Pas de solution :(
  • 48. Mitiger le 802.1X Bypass • Renégociation 802.1X o automatique authentication periodic authentication timer reauthenticate 3600 o sur demande  CLI: dot1x re-authenticate interface FastEthernet0/1  SNMP avec IEEE8021-PAE-MIB::dot1xPaePortReauthenticate • IPsec • Agent sur le client • Surveillance (IDS/IPS, DHCP/TCP fingerprinting, flow, etc.) o mêmes solutions que de valider le non-802.1X
  • 49. Futur • 802.1AE: IEEE MAC Security standard (MACsec) o Authentification et chiffrement couche 2 o 802.1X-2010: intégration de 802.1X et MACsec • IF-MAP: standardisation des événements de sécurité o Intégrer l'infrastructure de surveillance (proxy, firewall, etc.)
  • 50. PacketFence - la plug • Où on en est (version 1.9.1) o Port-Security based NAC o Gestion flexible des VLANs o 802.1X/Mac Authentication en sans fil o DHCP fingerprinting o UserAgent fingerprinting o Intégration IDS (Snort) o Analyse de conformité avec Nessus o Interface de gestion • Ce qui nous tient occupés o Port-Security, 802.1X, Mac Authentication filaire et sans fil unifiée o Amélioration de notre intégration à Snort o Interpréteur NetFlow / IPFIX (alternative légère à Snort) o Intégration avec un Agent côté client o Version 2.0 bientôt! Tout est gratuit / libre! Pas de version entreprise avec plus de fonctionnalités.
  • 51. Conclusion
  • 52. Conclusion • Qui et quoi est branché quand et où sur vos LAN? • 802.1X o important mais une partie du casse-tête o périphériques legacy • Implémentez des contre-mesures o ACL, Fingerprinting, Surveillance • Soyez conscient des risques résiduels
  • 53. Allez en paix authentifier et défendre vos LANs!
  • 54. Des questions? En attendant... Réseaux sociaux • LinkedIn: Olivier Bilodeau • Identi.ca: plaxx • Delicious: plaxxx • Twitter: @packetfence On se voit au Q&A!