SSL. Secure Socket Layer. R. Kobylanski romain.kobylanski@inpg.fr. janvier 2005 - version 1.1 FC INPG. Protocole SSL Application avec stunnel



Documents pareils
Tunnels. Plan. Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs ESIL INFO 2005/2006. Sophie Nicoud

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Utilisation des certificats X.509v3

Action Spécifique Sécurité du CNRS 15 mai 2002

SSL/TLS: Secure Socket Layer/Transport Layer Secure Quelques éléments d analyse. GRES 2006 Bordeaux 12 Mai Ahmed Serhrouchni ENST-PARIS CNRS

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Protocole industriels de sécurité. S. Natkin Décembre 2000

Le protocole sécurisé SSL

Sécurité des réseaux sans fil

SSH, le shell sécurisé

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

VPN TLS avec OpenVPN. Matthieu Herrb. 14 Mars 2005

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

18 TCP Les protocoles de domaines d applications

Devoir Surveillé de Sécurité des Réseaux

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

Matthieu Herrb Octobre Accès distants sécurisés - 18 octobre

ALOHA LOAD BALANCER METHODE DE CONTROLE DE VITALITE

L3 informatique TP n o 2 : Les applications réseau

Cours 14. Crypto. 2004, Marc-André Léger

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

ALOHA LOAD BALANCER MISE EN ŒUVRE DU SSL FRONTEND

Contenu de la version 3.4 C I V I L N E T A D M I N I S T R A T I O N

2. DIFFÉRENTS TYPES DE RÉSEAUX

Transport Layer Security (TLS) Guide de mise en œuvre. Version: 1.0

La sécurité des réseaux. 9e cours 2014 Louis Salvail

Vulnérabilités et sécurisation des applications Web

VPN. Réseau privé virtuel Usages :

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

Réseaux et protocoles Damien Nouvel

Sécurisation des communications

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Introduction aux Technologies de l Internet

La Technologie Carte à Puce EAP TLS v2.0

Du 03 au 07 Février 2014 Tunis (Tunisie)

Introduction. Adresses

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

Préparation LPI. Exam Securité. Document sous licence Creative commons «by nc sa» nc sa/2.

Le protocole RADIUS Remote Authentication Dial-In User Service

Configuration avancée de Postfix

PUBLIC KEY INFRASTRUCTURE. Rappels PKI PKI des Impôts PKI de la Carte de Professionnel de Santé

Sécurité des applications web. Daniel Boteanu

Note Technique Sécurité. Système d'authentification. Authentification hors APN LuxGSM Authentification 3G/APN. Système de notification

S28 - La mise en œuvre de SSO (Single Sign On) avec EIM (Enterprise Identity Mapping)

HTTPS : Guide de passage de votre site web en mode sécurisé - Abondance.com - Février Les Guides Abondance

SSL - TLS. Histoire, fonctionnement Sécurité et failles

Tutoriel : Comment installer une compte (une adresse ) sur un logiciel de messagerie (ou client messagerie)?

Le protocole SSH (Secure Shell)

Polux Développement d'une maquette pour implémenter des tests de sécurité

Accès à la messagerie électronique HES

Services Réseaux - Couche Application. TODARO Cédric

SOLUTIONS DE SECURITE DU DOCUMENT DES SOLUTIONS EPROUVEES POUR UNE SECURITE SANS FAILLE DE VOTRE SYSTEME MULTIFONCTIONS SHARP DOCUMENT SOLUTIONS

Single Sign-On open source avec CAS (Central Authentication Service)

PORTAIL INTERNET DECLARATIF. Configuration du client Mail de MICROSOFT VISTA

M2-ESECURE Rezo TP3: LDAP - Mail

1 L Authentification de A à Z

TP 2 : Chiffrement par blocs

Université de Reims Champagne Ardenne. HTTPS, SSL, SSH, IPSEC et SOCKS. Présenté par : BOUAMAMA Mohamed Nadjib AZIZ Xerin

Administration du plug-in VMware Horizon View Agent Direct-Connection

Cisco Certified Network Associate

Cours CCNA 1. Exercices

Politique de certification et procédures de l autorité de certification CNRS

Sécurité WebSphere MQ V 5.3

Les applications Internet

Figure 1a. Réseau intranet avec pare feu et NAT.

4D WebStar. WebStar, leader des serveurs internet sur Macintosh. Olivier Deschanels Simil Guetta Doug Finley. 4D WebStar. Histoire de WebStar

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol

Introduction au Wi-Fi sécurisé

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

Hébergement de sites Web

Guide de démarrage rapide

CS REMOTE CARE - WEBDAV

Présentation. LogMeIn Rescue. Architecture de LogMeIn Rescue

Programmation Réseau SSH et TLS (aka SSL)

Table des matières Hakim Benameurlaine 1

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Les certificats numériques

Une introduction à SSL

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Architecture distribuée

Procédures informatiques administrateurs Création d un serveur FTP sous Linux

Présentation du modèle OSI(Open Systems Interconnection)

Un serveur web léger et ouvert

ASIP Santé DST des interfaces MSSanté des Clients de messagerie v /02/ / 95

Annexe C : Numéros de port couramment utilisés

Mac OS X Server Administration des technologies Web. Pour la version 10.3 ou ultérieure

ProCurve Access Control Server 745wl

Architectures PKI. Sébastien VARRETTE

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

Guide d'initiation aux. certificats SSL. Faire le bon choix parmi les options qui s'offrent à vous en matière de sécurité en ligne. Document technique

Installation et utilisation d'un certificat

Transcription:

SSL Secure Socket Layer R. Kobylanski romain.kobylanski@inpg.fr FC INPG janvier 2005 - version 1.1

1 Protocole SSL 2

SSL/TLS Encapsule des protocoles non sécurisés (HTTP IMAP...) dans une couche chiffrée Authentifie les correspondants avec des certificats les serveur est toujours authentifié, optionnellement le client Contrôle l intégrité des transferts Totalement transparent dans le protocole encapsulé

SSL/TLS Historique SSLv1 juillet 1994 par Netscape SSLv2 décembre 1994 intégré dans Netscape Navigator SSLv3 novembre 1995 TLS (RFC 2246) à base de SSLv3, pb de compatibilité La notation SSL/TLS désigne le protocole TLS avec possibilité de repli transparent sur SSLv3 en cas de problème

SSL Ports Les versions sécurisées des protocoles utilisent un nouveau numéro de port HTTP 80 HTTPS 443 LDAP 389 LDAPS 636 IMAP 143 IMAPS 993 POP3 110 POP3S 995 SMTP 25 SSMTP 465 TELNET 23 TELNETS 992 NNTP 119 NNTPS 563 IRC 194 IRCS 994 FTP 21 FPS 990 FTP-data 20 FPS-data 989

starttls starttls est une commande utilisée par des protocoles non nativement SSL pour basculer dans un mode SSL Cela évite d utiliser deux ports différents pour des communications chiffrées ou non. La standardisation va dans ce sens, le port 465 (ssmtp) n est plus dans la liste des ports fournie par l iana (voir RFC2487)

Modes de fonctionnement confidentialité des échanges Le serveur posséde un certificat qui n est pas vérifiable par le client (certifcat autosigné ou CA inconnue) La communication peut néanmoins être chiffrée authentification du serveur Seul le serveur posséde un certificat dont la signature est vérifiable par le client La communication est alors chiffrée et le serveur authentifié authentification mutuelle Le serveur et le client posssèdent chacun un certificat La communication est chiffrée et les deux parties peuvent s authentifier mutuellement

SSL Protocole Protocole SSL Une première phase (Handshake) permet aux deux parties de négocier les algorithmes et les longueur de clé de s authentifier d établir une première clé de session, qui sera renouvellée au cours des échanges de définir un identificateur de session associé aux paramètres Cet identificateur (SessionId) peut servir à rétablir une session, alors que la connexion tcp a été rompue.

SSL Handshake Protocole SSL

SSL Session En cas de rupture d un comminication TCP Le client envoie un «Client Hello» en utilisant le SessionId Le serveur cherche dans son cache de sessions cet identificateur et retourne un «Server Hello» avec le même id et restaure les paramètres de la session

Protocole Exemple Protocole SSL openssl romain@houat:~ openssl s_client -connect www.tbs-internet.com:443... Certificate chain s:/c=fr/st=calvados/l=caen/o=donnio Jean-Philippe/ OU=TBS-internet/CN=www.TBS-internet.com i:/c=za/st=western Cape/L=Cape Town/O=Thawte Consulting cc/ OU=Certification Services Division/CN=Thawte Server CA/ Email=server-certs@thawte.com --- Server certificate -----BEGIN CERTIFICATE----- MIIC5zCCAlCgAwIBAgIDCCdYMA0GCSqGSIb3DQEBBAUAMIHEMQswCQYDVQQGEwJa... xuflwejub4x+kx9kcmslapq+nlu27uinxcia -----END CERTIFICATE----- --- No client certificate CA names sent ---

Protocole Exemple Protocole SSL openssl --- SSL handshake has read 1303 bytes and written 314 bytes --- New, TLSv1/SSLv3, Cipher is EDH-RSA-DES-CBC3-SHA Server public key is 1024 bit SSL-Session: Protocol : TLSv1 Cipher : EDH-RSA-DES-CBC3-SHA Session-ID: B2F977E3B28EB0B237C268E361335FD2C47499B44631B462 Session-ID-ctx: Master-Key: E6BF0C644F159D9D93FFBA1081A5B4270DDAD382F822002976D5F Key-Arg : None Start Time: 1042659843 Timeout : 300 (sec) Verify return code: 21 (unable to verify the first certificate) ---

Stunnel Protocole SSL Stunnel permet de créer des tunnels ssl vers des serveurs n utilisant pas naturellement le chiffrement. Stunnel est utilisé aussi bien avec des serveurs lancés via inetd (pop imap...) que des serveurs autonomes (smtp http...)

principe Protocole SSL

stunnel Protocole SSL Utilisation de l IGC pour créer des certificats Utilisation de stunnel4 Authentification 1 pas d authentification 2 authentification du serveur 3 authentification mutuelle

Communication en clair Utilisation de netcat pour simuler une communication non chiffrée Écrire un script qui simule le comportement du serveur serveur while true do nc -l -p 1234 done et activer le script Client nc serveur 1234 client Effectuer des échanges

Création des certicats Protocole SSL Utiliser l IGC pour créer un certificat de type serveur pour le serveur de type utilisateur pour le client Il est possible de supprimer la protection des clés privées par un mot de passe afin de faciliter le démarrage automatique du tunnel. Est-ce souhaitable?

Serveur Récupérer les clés et certificat du serveur depuis l IGC stunnel-serveur.cnf cert = stunnel-serveur.crt key = stunnel-serveur.key pid = /tmp/stunnel-serveur.pid debug = 7 foreground = yes output = stunnel-serveur.log [test] accept = 1234 connect = 2345 stunnel4 /usr/sbin/stunnel4 stunnel-serveur.cnf

Client client = yes stunnel-client.cnf pid = /tmp/stunnel-client.pid debug = 7 foreground = yes output = stunnel-client.log [test] accept = 9876 connect = server:1234 stunnel4 /usr/sbin/stunnel4 stunnel-client.cnf nc localhost 9876 client

diagnostic Protocole SSL Observation des logs (stunnel-client.log stunnel-serveur.log) Analyse du protocole (ssldump) Utilser openssl s_client à la place du client stunnel Traffic Analyse de trame ((t)ethereal) capturer le traffic en clair et le traffic chiffré associé

Client Récupérer la chaîne de certification sur le client stunnel-client.cnf client = yes pid = /tmp/stunnel-client.pid debug = 7 foreground = yes output = stunnel-client.log verify = 2 CApath = ca [test] accept = 9876 connect = server:1234 nc localhost 1234 client

Serveur Récupérer la chaîne de certification sur le serveur stunnel-serveur.cnf cert = stunnel-serveur.crt key = stunnel-serveur.key pid = /tmp/stunnel-serveur.pid debug = 7 foreground = yes output = stunnel-serveur.log verify = 2 CApath = ca [test] accept = 1234 connect = 2345

Client Récupérer les clés et certificats du client depuis l IGC stunnel-client.cnf cert = stunnel-client.crt key = stunnel-client.key client = yes pid = /tmp/stunnel-client.pid debug = 7 foreground = yes output = stunnel-client.log verify = 2 CApath = ca [test] accept = 9876 connect = server:1234