SlideShare une entreprise Scribd logo
Guide pratique : Openssl




                                          Guide pratique : Comment sécuriser 
                                                l’accès au site via  
 

 

 

                                                      
    A travers ce guide, vous allez apprendre à monter un serveur web sécurisé  sous Debian, Nous 
 
    allons  commencer  par  l’installation,  puis  nous  créerons  une  Autorité  de  Certification  (AC) 
    pour que le serveur puisse gérer des certificats. 
 

 

Introduction 

Pour  sécuriser  une connexion  à  un serveur  web  (https),  nous  avons  besoin  d'un  certificat. 
Dans une première approche (adopter dans ce guide) il est possible d'utiliser des certificats 
dits "auto‐signés". Générés très facilement, ils sont très pratique pour développer et tester 
un  site  sécurisé  mais  beaucoup  moins  s'agissant  d'une  utilisation  régulière  et  publique, 
principalement  à  cause  des  avertissements  de  sécurité  qu'ils  génèrent  sur  l'application 
cliente.  L'autre  option  est  alors  d'acheter  un  certificat  auprès  d'un  tiers  de  confiance(CA). 
Certificat  qui  vous  permettra  à  votre  tour  d'en  générer  d'autres  qui  cette  fois  seront 
acceptés sans erreur. 

Quelques bases 

Avant d’entrer dans le vif du sujet, précisons quelques bases, dès que l'on souhaite mettre 
en œuvre une connexion cryptée par SSL pour Apache (HTTPS), il est nécessaire d'avoir un 
certificat. Ce certificat installé sur le serveur contient une paire de clef qui va permettre aux 
deux  parties  de  mettre  en  place  un  échange  chiffré.  Une  des  informations  échangée  à  ce 
stade  est  une  autre  clef  qui  va  servir  quant  à  elle  à  chiffrer,  par  un  algorithme  dit 
"symétrique", le reste de la communication. La raison de ce changement de clef tient à ce 
que le chiffrement asymétrique est plus demandeur en ressources, mais aussi plus sécurisé, 
que sa contrepartie symétrique. Ce protocole permet en quelque sorte d'arriver au meilleur 
des deux mondes. 

Un certificat peut très facilement être généré en utilisant les outils du paquet openssl. Mais 
pour qu'un certificat serveur soit déclaré valide sur le client il doit répondre à trois règles, et 
tout  manquement  à  l'une  de  ces  règles  entraîne  l'affichage  d'un  message  d'avertissement 
sur le navigateur client. 




Yahya.charai@gmail.com | ESR Master 1                                                                        1 
Guide pratique : Openssl




    1. Le  certificat  doit  contenir  le  nom  du  site  qu'il  sécurise  (ex. www.mon_site.fr).  Si  ce 
       n'est pas le cas, le navigateur protestera que le certificat ne provient pas de la bonne 
       adresse. 
    2. Le  certificat  doit  contenir  une  signature  fiable.  Si  ce  n'est  pas  le  cas,  certain 
       navigateurs se contenterons de pleurer un peu, d'autres, comme FireFox, bloquera 
       l'accès avec une signature invalide 
    3. Le certificat doit être signé par un AC (Autorité de Certification) ou par un certificat 
       qui lui‐même est signée par un AC.  

SSL 

Le protocole SSL (Secure Socket Layer) a été créé par Netscape pour sécuriser les transactions entre 
les  serveurs  web  et  les  outils  de  navigation.  Il  a  recours  à   un  tiers,  l'autorité  de  certification 
(CA/CertificateAuthority) qui identifie n'importe laquelle des extrémités ou les deux. 

Openssl 

Pour créer nos certificats, nous utilisons l’outil de cryptographie Openssl  qui sert à : 

         ‐ Créer une Authorité de Certification pour un serveur 
         ‐ Chiffrer des données entre une application serveur et une application cliente (http, 
         vpn, etc.) 
         ‐ Chiffrer et déchiffrer des fichiers sur un disque 
         ‐ Identifier des machines clientes auprès de serveurs 
         ‐ Plus encore... 

Plateforme 

OS :Debian‐6.0.3 

Serveur web :Apache +module sslactivé 

Applications de cryptographie :Openssl‐0.9.8 

Pour  mener  bien  ce  guide  vous  devez  au  préalable  préparer  votre  machine  serveur  en 
installant  Debian,  Apache,Openssl  et  le  module  modssl  d’apache,  vous  voyez  que  c’est 
simple il faut juste cocher lors d’installation de Debian   « Serveur web »comme ça vous allez 
avoir un serveur web qui tourne bien, n’oubliez pas qu’il est possible d’installer ces outils un 
par un et les configurer par la suite ,mais pourquoi réinventer la roue si Debian nos propose 
d’installer un serveur dans les options d’installation avec le module ssl il faut juste l’activé 




Yahya.charai@gmail.com | ESR Master 1                                                                                  2 
Guide pratique : Openssl




. 

Après la fin de l’installation du système, on passe à la vérification des prérequis d’abord le 
serveur web, pour vérifier le serveur web tapez l’url ou @ip  de votre serveur sur le 
navigateur de votre choix et examinez le résultat qui doit  être identique à cela : 




                                                                                                           

Apache  doit  également  être  installé  avec  le  module  de  SSL. Il  reste  que  l’activation  de    ce 
dernier,  plus  tard  on  va  voir  comment,  précisément  dans  l’étape  de  configuration 
d’apapche2.
Vous pouvez vérifier le paquet Openssl avec la requête apt‐cache search <paquet>: 




                                                                                                           
Ou  directement avec la commande openssl: 




Yahya.charai@gmail.com | ESR Master 1                                                                         3 
Guide pratique : Openssl




                                                              
Si elle montre que la commande n'existe pas, alors vous devez le télécharger et l’installer 

Etape1 : Création de l’infrastructure CA 

Créez les dossiers destinés à contenir le certificat: 




                                                                       
/etc/ssl/ : répertoire de configuration général de openssl créé lors de l’installation  

/etc/ssl/ca/ : répertoire qui contient les fichiers de l'AC 
/etc/ssl/ca/newcerts/ : répertoire qui contient les certificats signés par l'AC 

L’étape suivante consiste à créer la base de données pour les certificats prochainement crée 
et signé,en effet la base de données est composées de 2 fichiers : 



 
Le fichier index.txt liste tous les certificats qui ont été signé. 
Le  fichier serial contient  le  prochain  numéro  de  série  disponible,  étant  donné  que  nous 
venons de mettre en place l’autorité le prochain numéro de série sera le 1,ce numéro sera 
incrémenté à chaque nouveau certificat 

Etape2 : Génération du certificat racine CA 

Il faut d’abord créer le fichier de configuration du CA (openssl.cnf)pour qu'il ressemble à ça : 
#
# OpenSSL configuration file.
#

# Establish working directory.

dir                            = .

[ ca ]
default_ca                     = CA_default

[ CA_default ]
serial                         =   $dir/serial
database                       =   $dir/index.txt
new_certs_dir                  =   $dir/newcerts
certificate                    =   $dir/cacert.pem
private_key                    =   $dir/private/cakey.pem




Yahya.charai@gmail.com | ESR Master 1                                                                 4 
Guide pratique : Openssl




default_days                   =   365
default_md                     =   md5
preserve                       =   no
email_in_dn                    =   no
nameopt                        =   default_ca
certopt                        =   default_ca
policy                         =   policy_match

[ policy_match ]
countryName                    =   match
stateOrProvinceName            =   match
organizationName               =   match
organizationalUnitName         =   optional
commonName                     =   supplied
emailAddress                   =   optional

[ req ]
default_bits                   =   1024                 #     Size of keys
default_keyfile                =   key.pem              #     name of generated keys
default_md                     =   md5                  #     message digest algorithm
string_mask                    =   nombstr              #     permitted characters
distinguished_name             =   req_distinguished_name
req_extensions                 =   v3_req

[ req_distinguished_name           ]
# Variable name                    Prompt string
#----------------------                    ----------------------------------
0.organizationName     =           Organization Name (company)
organizationalUnitName =           Organizational Unit Name (department, division)
emailAddress           =           Email Address
emailAddress_max       =           40
localityName           =           Locality Name (city, district)
stateOrProvinceName    =           State or Province Name (full name)
countryName            =           Country Name (2 letter code)
countryName_min        =           2
countryName_max        =           2
commonName             =           Common Name (hostname, IP, or your name)
commonName_max         =           64

# Default values for the above, for consistency and less typing.
# Variable name                  Value
#------------------------------          ------------------------------
0.organizationName_default     = EcoleESRmi
localityName_default           = Rabat
stateOrProvinceName_default    = Rabat
countryName_default            = MR

[ v3_ca ]
basicConstraints       = CA:TRUE
subjectKeyIdentifier   = hash
authorityKeyIdentifier = keyid:always,issuer:always

[ v3_req ]
basicConstraints               = CA:FALSE
subjectKeyIdentifier           = hash
 
Un ls de notre dossier à ce stade donne l’aperçu suivant : 




Yahya.charai@gmail.com | ESR Master 1                                                    5 
Guide pr
       ratique : Open
                    nssl




                                                                          
Maintenant  que  le    fichier  d configur
                                de         ration  est  créé  il  va  maintenant falloir  gén
                                                        c                        t            nérer  le 
        at racine du
certifica          u CA, à noteer que  la plupart des i information  ns qui iront  sur le certificat est 
prise à partir du ce
                   e fichier. 
On génè
      ère le certif
                  ficat CA  ave
                              ec la commande suivan
                                                  nte : 




                                                                                                         
Il en rés
        sulte deux f
                   fichiers: 
Un certtificat de CA
                   A racine ca
                             acert.pem             ertificat raci
                                        m, est le ce            ine publiqu
                                                                          ue qui sera  importé  
dans les browsers  des clients
                             s qui auront
                                        t besoin dee faire des ééchanges sé
                                                                          écurisés ave
                                                                                     ec notre 
serveurr. 
Une  cl privée  (private
      lé                    e/cakey.p   pem)  (L'ex xtension  "p
                                                               pem"  est  Privacy  En
                                                                                    nhanced 
Messagge)cette  clé
                  é  est deman
                             ndée lors de
                                        e  la signatu
                                                    ure d’un nouveau certificat. 

      En  important le  certificat  cacert
                    t                      t.pem sur  les  browwsers,  nous  serions  do plus 
                                                                                       onc 
valables s en tant quue CA pourr le navigate
                                           eur et chaq
                                                     que fois que
                                                                e le client se
                                                                             e connecte à notre 
serveur votre  na
        r,          avigateur  n sera  plu montran la  boîte de  dialog
                               ne          us         nt        e            gue  qui  demande 
d'acceppter la connexion sécur  risée. 
Voilà, vous avez maintenant u
                            une autorité
                                       é de certific
                                                   cation.  




Yahya.ch
       harai@gmail.c
                   com | ESR Ma
                              aster 1                                                                       6 
Guide pratique : Openssl




Des clients peuvent vous soumettre des CSR que vous signerez (s'ils vous payent ! ☺)   

Etape3 : Création d'une demande de signature de certificat (CSR)  
(CertificateSigningRequest) 

À  ce  stade,  nous  avons  un  certificat  racine  valide,  claire,  pour  créer  des  certificats  non 
seulement pour https, mais SPOP, ou SIMAP ou créer d'authentification pour les connexions 
VPN. 
Deux  étapes à effectuer pour créer CSR: 
            •   Créez une clé privée et la demande de certificat. 
            •   Signez la demande et  générer un certificat signé. 
On génère la demande de certificat avec la commande suivante : 

                                                                                       
Une  nouvelle  demande  de  certificat    implique  de  renseigner  certaines  informations 
demandée,  remplissez‐les  en  adaptant  ou  laissez  les  paramètres  par  défaut  du  fichier  de 
configuration sauf le champ "Common Name" qui doit être identique au nom d'hôte/@ip de 
votre serveur  
     •   les deux lettres qui identifient le pays  
     •   le nom de du pays. 
     •   le nom de la ville. 
     •   le nom de l’entreprise ou autre si particulier. 
     •   le nom du site. 
     •   l’adresse mail de l’administrateur. 
 




Yahya.charai@gmail.com | ESR Master 1                                                                       7 
Guide pratique : Openssl




                                                                                              
Les fichiers suivants donc été générés : 
        key.pem >> la clé privée 
        req.pem >> la demande de signature de certificat (CSR) 
Nous pouvons voir le contenu de notre formulaire de demande dans un format plus lisible : 



Etape 4 : La signature du certificat serveur par le CA (Certificate Autority) 
 

La commande qui signe la demande de certificat est la suivante : 




Yahya.charai@gmail.com | ESR Master 1                                                            8 
Guide pratique : Openssl




                                                                                                               
La procédure de signature met à jour la base de données du CA (le fichier index.txt, serial) 
elle crée aussi une copie de certificat dans newcerts/<serial>.pem 
Le  fichier  index.txt  contient  les  références  des  certificats  créés  par  OpenSSL.  Les 
enregistrements sont annotés avec un R pour indiquer que le certificat est révoqué, V qu'il 
est valide et E qu'il a expiré. 


                                                                                                           
Après vous pouvez inspecter votre certificat: 

                                                                             

Etape 5 : Configuration spécifique  d'Apache2 

Dans un premier temps il est nécessaire que le serveur apache écoute sur le port 443. Pour 
cela il suffit d’éditer le ficher /etc/apache2/ports.conf et vérifier que la ligne 
Listen  443 
y soit présente. 
La meilleure manière de l’intégrer est de l’écrire de la sorte : 



                                         
Ensuite  il  faut  configurer  le  site  que  l’on  veut  mettre  en  place  dans  « /etc/apache2/site-
available/»  Par  défaut  un  site  est  configuré  dans  le  fichier  « default-ssl ».  On  peut 
l’adapter en fonction de la configuration souhaitée, mais au moins  il faut que les directives 




Yahya.charai@gmail.com | ESR Master 1                                                                             9 
Guide pratique : Openssl




suivantes y soit présent (commentez avec le caractère dièse "#" toute référence à d’autres 
certificats : 




Après activez le module ssl d’apache2 si n’est pas encore activé ; 



Et redémarrez le serveur apache2 pour activer  la nouvelle configuration ; 




                                                                                                     

Voilà le serveur écoute sur le porte 443, il est nécessaire maintenant d'activer le site :  

 

Et bien sûr que ça nécessite un restart encore une fois de notre  serveur 

En  essayant  maintenant  à  accéder  à  notre  site  qu’on  vient  de  sécuriser  avec  https://  on 
obtient l’alerte suivante qu’indique que  cette certificat est signée avec un CA qui ne figure 
pas  parmi  les  AC  racine  de  confiance,  l’étape  suivante  explique  comment  importer  le  CA 
pour ne pas avoir cet alerte prochainement. 




Yahya.charai@gmail.com | ESR Master 1                                                                    10 
Guide pratique : Openssl




                                                                  

Etape 6 : Installation du certificat d'autorité de certification 

Il faut maintenant installer le certificat de l'autorité de certification dans chaque navigateur 
client. C'est ce dernier qui va valider le certificat reçu par le client lors de la requête https://, 
Pour cela "Arrangez‐vous" pour avoir le certificat (fichier cacert.pem)  disponible à partir du 
client par la suite importer  ce fichier sur le navigateur. 

Une fois le fichier copié, suivre la procédure suivante : 

Pour Internet Explorer : 

            ‐     Allez dans  le menu Outils / Options/Contenu/Certificats/importer 

Pour Firefox : 

            ‐     Outils/Options/Avancé/Afficher les certificats /Autorités/Importer 
                   

 

 

 

 

 




Yahya.charai@gmail.com | ESR Master 1                                                                    11 
Guide pr
       ratique : Open
                    nssl




Déroul
     lement de échange SSL
             es      es


s
                      Un navigatteur demande une page web
                                                      w
                      sécurisée ( général h
                                (en        https://)
 

                 
                      Le serveur web émet sa clef publiqu
                                           a            ue
                      accompagn de son c
                                née       certificat
 
                      Le navigate vérifie qu le certifica a été
                                  eur          ue            at
                      émis par un autorité de certification racine,
                                  ne
                      qu'il est tou
                                  ujours valide et qu'il se ra
                                                             apporte
                      bien au site en cours.
                                  e


 
                      Le navigate emploie l clef publique du
                                eur           la
                      serveur pou chiffrer un clef de chiffrement
                                 ur          ne
                      symétrique aléatoire et l'envoie au serveur
                                                          s
                      web avec l''URL demandée et divers  ses
                      données HT  TTP chiffrée
                                             es.

                      Le serveur web déchiffr la clef de chiffrement
                                             re          c
                      symétrique grâce à sa clef privée et utilise la
                                                        e
                                  frement symétrique pour récupérer
                      clef de chiff                     r
                      l'URL et les données HT
                                 s           TTP.

                      Le serveur renvoie le do
                                             ocument htm et les
                                                       ml
                      données HTTTP chiffrée avec la cle
                                            es         ef
                      symétrique

                     Le navigate déchiffre l'ensemble avec la clef
                               eur                       a
                     symétrique et affiche les information
                                             s           ns.




Yahya.ch
       harai@gmail.c
                   com | ESR Ma
                              aster 1                                   12 

Contenu connexe

Tendances

OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版Bruce Chen
 
Windows Attacks AT is the new black
Windows Attacks   AT is the new blackWindows Attacks   AT is the new black
Windows Attacks AT is the new blackRob Fuller
 
Alphorm.com Formation Hacking et Sécurité 2020 (4of4) : Attaques AD et Web
Alphorm.com Formation Hacking et Sécurité 2020 (4of4) : Attaques AD et WebAlphorm.com Formation Hacking et Sécurité 2020 (4of4) : Attaques AD et Web
Alphorm.com Formation Hacking et Sécurité 2020 (4of4) : Attaques AD et WebAlphorm
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1Tarek MOHAMED
 
Introduction to PKI & SafeNet Luna Hardware Security Modules with Microsoft W...
Introduction to PKI & SafeNet Luna Hardware Security Modules with Microsoft W...Introduction to PKI & SafeNet Luna Hardware Security Modules with Microsoft W...
Introduction to PKI & SafeNet Luna Hardware Security Modules with Microsoft W...SafeNet
 
Install Redis on Oracle Linux
Install Redis on Oracle LinuxInstall Redis on Oracle Linux
Install Redis on Oracle LinuxJohan Louwers
 
A Forgotten HTTP Invisibility Cloak
A Forgotten HTTP Invisibility CloakA Forgotten HTTP Invisibility Cloak
A Forgotten HTTP Invisibility CloakSoroush Dalili
 
体系的に学ばないXSSの話
体系的に学ばないXSSの話体系的に学ばないXSSの話
体系的に学ばないXSSの話Yutaka Maehira
 
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015CODE BLUE
 
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違いLinuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違いRetrieva inc.
 
DNS Rebinding Attack
DNS Rebinding AttackDNS Rebinding Attack
DNS Rebinding AttackFelipe Japm
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentationYassine Badri
 
JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御OSSラボ株式会社
 
64 Methods for Mimikatz Execution
64 Methods for Mimikatz Execution64 Methods for Mimikatz Execution
64 Methods for Mimikatz ExecutionHadess
 

Tendances (20)

OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版
 
Windows Attacks AT is the new black
Windows Attacks   AT is the new blackWindows Attacks   AT is the new black
Windows Attacks AT is the new black
 
Alphorm.com Formation Hacking et Sécurité 2020 (4of4) : Attaques AD et Web
Alphorm.com Formation Hacking et Sécurité 2020 (4of4) : Attaques AD et WebAlphorm.com Formation Hacking et Sécurité 2020 (4of4) : Attaques AD et Web
Alphorm.com Formation Hacking et Sécurité 2020 (4of4) : Attaques AD et Web
 
Systemes authentification
Systemes authentificationSystemes authentification
Systemes authentification
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
 
Introduction to PKI & SafeNet Luna Hardware Security Modules with Microsoft W...
Introduction to PKI & SafeNet Luna Hardware Security Modules with Microsoft W...Introduction to PKI & SafeNet Luna Hardware Security Modules with Microsoft W...
Introduction to PKI & SafeNet Luna Hardware Security Modules with Microsoft W...
 
Install Redis on Oracle Linux
Install Redis on Oracle LinuxInstall Redis on Oracle Linux
Install Redis on Oracle Linux
 
Web-App Remote Code Execution Via Scripting Engines
Web-App Remote Code Execution Via Scripting EnginesWeb-App Remote Code Execution Via Scripting Engines
Web-App Remote Code Execution Via Scripting Engines
 
A Forgotten HTTP Invisibility Cloak
A Forgotten HTTP Invisibility CloakA Forgotten HTTP Invisibility Cloak
A Forgotten HTTP Invisibility Cloak
 
体系的に学ばないXSSの話
体系的に学ばないXSSの話体系的に学ばないXSSの話
体系的に学ばないXSSの話
 
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
XSS Attacks Exploiting XSS Filter by Masato Kinugawa - CODE BLUE 2015
 
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違いLinuxカーネルを読んで改めて知るプロセスとスレッドの違い
Linuxカーネルを読んで改めて知るプロセスとスレッドの違い
 
DNS Rebinding Attack
DNS Rebinding AttackDNS Rebinding Attack
DNS Rebinding Attack
 
Initiation à Bootstrap
Initiation à BootstrapInitiation à Bootstrap
Initiation à Bootstrap
 
Mimikatz
MimikatzMimikatz
Mimikatz
 
cours j2ee -présentation
cours  j2ee -présentationcours  j2ee -présentation
cours j2ee -présentation
 
JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御
 
Linux shell
Linux shellLinux shell
Linux shell
 
Tp java ee.pptx
Tp java ee.pptxTp java ee.pptx
Tp java ee.pptx
 
64 Methods for Mimikatz Execution
64 Methods for Mimikatz Execution64 Methods for Mimikatz Execution
64 Methods for Mimikatz Execution
 

En vedette

Projects kazansummit 2014
Projects  kazansummit 2014Projects  kazansummit 2014
Projects kazansummit 2014InvestTatarstan
 
Seguridad en internet
Seguridad en internetSeguridad en internet
Seguridad en internetmicacor
 
Coexisting of Android & Robots
Coexisting of Android & RobotsCoexisting of Android & Robots
Coexisting of Android & RobotsHasan Hosgel
 
Dirección de proyectos comerciales - 1 Punto de partida
Dirección de proyectos comerciales - 1 Punto de partidaDirección de proyectos comerciales - 1 Punto de partida
Dirección de proyectos comerciales - 1 Punto de partidaGuillermo Montero Fdez-Vivancos
 
Procedure Text
Procedure TextProcedure Text
Procedure TextFaiz Irfan
 
Infografías e historias del barrio de Villa del Parque
Infografías e historias del barrio de Villa del ParqueInfografías e historias del barrio de Villa del Parque
Infografías e historias del barrio de Villa del ParqueEscuela17DE17
 
Administracion del tiempo y realizacion personal
Administracion del tiempo y realizacion personalAdministracion del tiempo y realizacion personal
Administracion del tiempo y realizacion personalMonroy Asesores, S.C.
 
Cine Forum Wes Anderson Villarrubia de los Ojos
Cine Forum Wes Anderson Villarrubia de los OjosCine Forum Wes Anderson Villarrubia de los Ojos
Cine Forum Wes Anderson Villarrubia de los OjosAndrés Romero Montero
 
Photovoltaik – Produktionstechnik und Technologie im Wandel der Zeit
Photovoltaik – Produktionstechnik und Technologie im Wandel der ZeitPhotovoltaik – Produktionstechnik und Technologie im Wandel der Zeit
Photovoltaik – Produktionstechnik und Technologie im Wandel der Zeitengineeringzhaw
 
MonetizacióN 2.0 3dic09 (Marta Dominguez)
MonetizacióN 2.0   3dic09  (Marta Dominguez)MonetizacióN 2.0   3dic09  (Marta Dominguez)
MonetizacióN 2.0 3dic09 (Marta Dominguez)Marta Dominguez
 
Investment proposal for sustainable energy project
Investment proposal for sustainable energy projectInvestment proposal for sustainable energy project
Investment proposal for sustainable energy projectAnuron Technologies
 
Trastorno antisocial de la personalidad
Trastorno antisocial de la personalidadTrastorno antisocial de la personalidad
Trastorno antisocial de la personalidadDiego Neyra
 
Procesos para llegar a la calidad total
Procesos para llegar a la calidad totalProcesos para llegar a la calidad total
Procesos para llegar a la calidad totalAndres Rodriguez
 
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de Software
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de SoftwareArquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de Software
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de SoftwareMarta Silvia Tabares
 

En vedette (20)

Projects kazansummit 2014
Projects  kazansummit 2014Projects  kazansummit 2014
Projects kazansummit 2014
 
Industrias del neumático
Industrias del neumáticoIndustrias del neumático
Industrias del neumático
 
Seguridad en internet
Seguridad en internetSeguridad en internet
Seguridad en internet
 
Coexisting of Android & Robots
Coexisting of Android & RobotsCoexisting of Android & Robots
Coexisting of Android & Robots
 
Factura
FacturaFactura
Factura
 
Dirección de proyectos comerciales - 1 Punto de partida
Dirección de proyectos comerciales - 1 Punto de partidaDirección de proyectos comerciales - 1 Punto de partida
Dirección de proyectos comerciales - 1 Punto de partida
 
Procedure Text
Procedure TextProcedure Text
Procedure Text
 
Infografías e historias del barrio de Villa del Parque
Infografías e historias del barrio de Villa del ParqueInfografías e historias del barrio de Villa del Parque
Infografías e historias del barrio de Villa del Parque
 
Juknis bos 2013.pdf final
Juknis bos 2013.pdf finalJuknis bos 2013.pdf final
Juknis bos 2013.pdf final
 
Administracion del tiempo y realizacion personal
Administracion del tiempo y realizacion personalAdministracion del tiempo y realizacion personal
Administracion del tiempo y realizacion personal
 
MANTENER EL CEREBRO SIEMPRE JOVEN
MANTENER EL CEREBRO SIEMPRE JOVENMANTENER EL CEREBRO SIEMPRE JOVEN
MANTENER EL CEREBRO SIEMPRE JOVEN
 
Cine Forum Wes Anderson Villarrubia de los Ojos
Cine Forum Wes Anderson Villarrubia de los OjosCine Forum Wes Anderson Villarrubia de los Ojos
Cine Forum Wes Anderson Villarrubia de los Ojos
 
Photovoltaik – Produktionstechnik und Technologie im Wandel der Zeit
Photovoltaik – Produktionstechnik und Technologie im Wandel der ZeitPhotovoltaik – Produktionstechnik und Technologie im Wandel der Zeit
Photovoltaik – Produktionstechnik und Technologie im Wandel der Zeit
 
Waste management presentation
Waste management presentationWaste management presentation
Waste management presentation
 
MonetizacióN 2.0 3dic09 (Marta Dominguez)
MonetizacióN 2.0   3dic09  (Marta Dominguez)MonetizacióN 2.0   3dic09  (Marta Dominguez)
MonetizacióN 2.0 3dic09 (Marta Dominguez)
 
Investment proposal for sustainable energy project
Investment proposal for sustainable energy projectInvestment proposal for sustainable energy project
Investment proposal for sustainable energy project
 
Trastorno antisocial de la personalidad
Trastorno antisocial de la personalidadTrastorno antisocial de la personalidad
Trastorno antisocial de la personalidad
 
Procesos para llegar a la calidad total
Procesos para llegar a la calidad totalProcesos para llegar a la calidad total
Procesos para llegar a la calidad total
 
Los Flip Flops
Los Flip FlopsLos Flip Flops
Los Flip Flops
 
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de Software
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de SoftwareArquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de Software
Arquitecturas empresariales para Ingenieros de Sistemas/Informáticos/de Software
 

Similaire à Guide pratique openssl sous debian

08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec sslNoël
 
Ssl et certification electronique - (construction de certification)
Ssl et certification electronique  - (construction de certification)Ssl et certification electronique  - (construction de certification)
Ssl et certification electronique - (construction de certification)achraf_ing
 
Certifs x509
Certifs x509Certifs x509
Certifs x509hamduvski
 
08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)Noël
 
Mise en place d’un système de détection
Mise en place d’un système de détectionMise en place d’un système de détection
Mise en place d’un système de détectionManassé Achim kpaya
 
Apache ssl
Apache sslApache ssl
Apache sslGSI
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
Mop export-dataloader-salesforce-en-ligne-commande
Mop export-dataloader-salesforce-en-ligne-commandeMop export-dataloader-salesforce-en-ligne-commande
Mop export-dataloader-salesforce-en-ligne-commandeCyrille Coeurjoly
 
Compte rendu chaberge
Compte rendu chabergeCompte rendu chaberge
Compte rendu chabergeshiruh
 
Mise en place d'un serveur de mail complet linux server wiki
Mise en place d'un serveur de mail complet   linux server wikiMise en place d'un serveur de mail complet   linux server wiki
Mise en place d'un serveur de mail complet linux server wikidebaros
 
Le PowerShell et la ModernAuth
Le PowerShell et la ModernAuthLe PowerShell et la ModernAuth
Le PowerShell et la ModernAuthClément SERAFIN
 
Memcached, une solution de cache par excellence
Memcached, une solution de cache par excellenceMemcached, une solution de cache par excellence
Memcached, une solution de cache par excellenceMehdi Mehni
 
Webinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeWebinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeMarie Tapia
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonyVincent Composieux
 
chap 4 Sécurité des accès.pdf
chap 4 Sécurité des accès.pdfchap 4 Sécurité des accès.pdf
chap 4 Sécurité des accès.pdfdepinfo
 

Similaire à Guide pratique openssl sous debian (20)

08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl
 
Ssl et certification electronique - (construction de certification)
Ssl et certification electronique  - (construction de certification)Ssl et certification electronique  - (construction de certification)
Ssl et certification electronique - (construction de certification)
 
Certifs x509
Certifs x509Certifs x509
Certifs x509
 
08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)08 04 mise en place d'un serveur mandataire (proxy)
08 04 mise en place d'un serveur mandataire (proxy)
 
Mise en place d’un système de détection
Mise en place d’un système de détectionMise en place d’un système de détection
Mise en place d’un système de détection
 
Apache ssl
Apache sslApache ssl
Apache ssl
 
Sécurité MySQL
Sécurité MySQLSécurité MySQL
Sécurité MySQL
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Mop export-dataloader-salesforce-en-ligne-commande
Mop export-dataloader-salesforce-en-ligne-commandeMop export-dataloader-salesforce-en-ligne-commande
Mop export-dataloader-salesforce-en-ligne-commande
 
Implémentation d'openvpn
Implémentation d'openvpnImplémentation d'openvpn
Implémentation d'openvpn
 
Compte rendu chaberge
Compte rendu chabergeCompte rendu chaberge
Compte rendu chaberge
 
Mise en place d'un serveur de mail complet linux server wiki
Mise en place d'un serveur de mail complet   linux server wikiMise en place d'un serveur de mail complet   linux server wiki
Mise en place d'un serveur de mail complet linux server wiki
 
Le PowerShell et la ModernAuth
Le PowerShell et la ModernAuthLe PowerShell et la ModernAuth
Le PowerShell et la ModernAuth
 
Memcached, une solution de cache par excellence
Memcached, une solution de cache par excellenceMemcached, une solution de cache par excellence
Memcached, une solution de cache par excellence
 
Retour d'expérience sur PowerShell
Retour d'expérience sur PowerShellRetour d'expérience sur PowerShell
Retour d'expérience sur PowerShell
 
Webinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeWebinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme Thémée
 
Soutenance Zend Framework vs Symfony
Soutenance Zend Framework vs SymfonySoutenance Zend Framework vs Symfony
Soutenance Zend Framework vs Symfony
 
chap 4 Sécurité des accès.pdf
chap 4 Sécurité des accès.pdfchap 4 Sécurité des accès.pdf
chap 4 Sécurité des accès.pdf
 

Guide pratique openssl sous debian

  • 1. Guide pratique : Openssl Guide pratique : Comment sécuriser  l’accès au site via             A travers ce guide, vous allez apprendre à monter un serveur web sécurisé  sous Debian, Nous    allons  commencer  par  l’installation,  puis  nous  créerons  une  Autorité  de  Certification  (AC)  pour que le serveur puisse gérer des certificats.      Introduction  Pour  sécuriser  une connexion  à  un serveur  web  (https),  nous  avons  besoin  d'un  certificat.  Dans une première approche (adopter dans ce guide) il est possible d'utiliser des certificats  dits "auto‐signés". Générés très facilement, ils sont très pratique pour développer et tester  un  site  sécurisé  mais  beaucoup  moins  s'agissant  d'une  utilisation  régulière  et  publique,  principalement  à  cause  des  avertissements  de  sécurité  qu'ils  génèrent  sur  l'application  cliente.  L'autre  option  est  alors  d'acheter  un  certificat  auprès  d'un  tiers  de  confiance(CA).  Certificat  qui  vous  permettra  à  votre  tour  d'en  générer  d'autres  qui  cette  fois  seront  acceptés sans erreur.  Quelques bases  Avant d’entrer dans le vif du sujet, précisons quelques bases, dès que l'on souhaite mettre  en œuvre une connexion cryptée par SSL pour Apache (HTTPS), il est nécessaire d'avoir un  certificat. Ce certificat installé sur le serveur contient une paire de clef qui va permettre aux  deux  parties  de  mettre  en  place  un  échange  chiffré.  Une  des  informations  échangée  à  ce  stade  est  une  autre  clef  qui  va  servir  quant  à  elle  à  chiffrer,  par  un  algorithme  dit  "symétrique", le reste de la communication. La raison de ce changement de clef tient à ce  que le chiffrement asymétrique est plus demandeur en ressources, mais aussi plus sécurisé,  que sa contrepartie symétrique. Ce protocole permet en quelque sorte d'arriver au meilleur  des deux mondes.  Un certificat peut très facilement être généré en utilisant les outils du paquet openssl. Mais  pour qu'un certificat serveur soit déclaré valide sur le client il doit répondre à trois règles, et  tout  manquement  à  l'une  de  ces  règles  entraîne  l'affichage  d'un  message  d'avertissement  sur le navigateur client.  Yahya.charai@gmail.com | ESR Master 1  1 
  • 2. Guide pratique : Openssl 1. Le  certificat  doit  contenir  le  nom  du  site  qu'il  sécurise  (ex. www.mon_site.fr).  Si  ce  n'est pas le cas, le navigateur protestera que le certificat ne provient pas de la bonne  adresse.  2. Le  certificat  doit  contenir  une  signature  fiable.  Si  ce  n'est  pas  le  cas,  certain  navigateurs se contenterons de pleurer un peu, d'autres, comme FireFox, bloquera  l'accès avec une signature invalide  3. Le certificat doit être signé par un AC (Autorité de Certification) ou par un certificat  qui lui‐même est signée par un AC.   SSL  Le protocole SSL (Secure Socket Layer) a été créé par Netscape pour sécuriser les transactions entre  les  serveurs  web  et  les  outils  de  navigation.  Il  a  recours  à   un  tiers,  l'autorité  de  certification  (CA/CertificateAuthority) qui identifie n'importe laquelle des extrémités ou les deux.  Openssl  Pour créer nos certificats, nous utilisons l’outil de cryptographie Openssl  qui sert à :  ‐ Créer une Authorité de Certification pour un serveur  ‐ Chiffrer des données entre une application serveur et une application cliente (http,  vpn, etc.)  ‐ Chiffrer et déchiffrer des fichiers sur un disque  ‐ Identifier des machines clientes auprès de serveurs  ‐ Plus encore...  Plateforme  OS :Debian‐6.0.3  Serveur web :Apache +module sslactivé  Applications de cryptographie :Openssl‐0.9.8  Pour  mener  bien  ce  guide  vous  devez  au  préalable  préparer  votre  machine  serveur  en  installant  Debian,  Apache,Openssl  et  le  module  modssl  d’apache,  vous  voyez  que  c’est  simple il faut juste cocher lors d’installation de Debian   « Serveur web »comme ça vous allez  avoir un serveur web qui tourne bien, n’oubliez pas qu’il est possible d’installer ces outils un  par un et les configurer par la suite ,mais pourquoi réinventer la roue si Debian nos propose  d’installer un serveur dans les options d’installation avec le module ssl il faut juste l’activé  Yahya.charai@gmail.com | ESR Master 1  2 
  • 3. Guide pratique : Openssl .  Après la fin de l’installation du système, on passe à la vérification des prérequis d’abord le  serveur web, pour vérifier le serveur web tapez l’url ou @ip  de votre serveur sur le  navigateur de votre choix et examinez le résultat qui doit  être identique à cela :    Apache  doit  également  être  installé  avec  le  module  de  SSL. Il  reste  que  l’activation  de    ce  dernier,  plus  tard  on  va  voir  comment,  précisément  dans  l’étape  de  configuration  d’apapche2. Vous pouvez vérifier le paquet Openssl avec la requête apt‐cache search <paquet>:    Ou  directement avec la commande openssl:  Yahya.charai@gmail.com | ESR Master 1  3 
  • 4. Guide pratique : Openssl   Si elle montre que la commande n'existe pas, alors vous devez le télécharger et l’installer  Etape1 : Création de l’infrastructure CA  Créez les dossiers destinés à contenir le certificat:    /etc/ssl/ : répertoire de configuration général de openssl créé lors de l’installation   /etc/ssl/ca/ : répertoire qui contient les fichiers de l'AC  /etc/ssl/ca/newcerts/ : répertoire qui contient les certificats signés par l'AC  L’étape suivante consiste à créer la base de données pour les certificats prochainement crée  et signé,en effet la base de données est composées de 2 fichiers :    Le fichier index.txt liste tous les certificats qui ont été signé.  Le  fichier serial contient  le  prochain  numéro  de  série  disponible,  étant  donné  que  nous  venons de mettre en place l’autorité le prochain numéro de série sera le 1,ce numéro sera  incrémenté à chaque nouveau certificat  Etape2 : Génération du certificat racine CA  Il faut d’abord créer le fichier de configuration du CA (openssl.cnf)pour qu'il ressemble à ça :  # # OpenSSL configuration file. # # Establish working directory. dir = . [ ca ] default_ca = CA_default [ CA_default ] serial = $dir/serial database = $dir/index.txt new_certs_dir = $dir/newcerts certificate = $dir/cacert.pem private_key = $dir/private/cakey.pem Yahya.charai@gmail.com | ESR Master 1  4 
  • 5. Guide pratique : Openssl default_days = 365 default_md = md5 preserve = no email_in_dn = no nameopt = default_ca certopt = default_ca policy = policy_match [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional [ req ] default_bits = 1024 # Size of keys default_keyfile = key.pem # name of generated keys default_md = md5 # message digest algorithm string_mask = nombstr # permitted characters distinguished_name = req_distinguished_name req_extensions = v3_req [ req_distinguished_name ] # Variable name Prompt string #---------------------- ---------------------------------- 0.organizationName = Organization Name (company) organizationalUnitName = Organizational Unit Name (department, division) emailAddress = Email Address emailAddress_max = 40 localityName = Locality Name (city, district) stateOrProvinceName = State or Province Name (full name) countryName = Country Name (2 letter code) countryName_min = 2 countryName_max = 2 commonName = Common Name (hostname, IP, or your name) commonName_max = 64 # Default values for the above, for consistency and less typing. # Variable name Value #------------------------------ ------------------------------ 0.organizationName_default = EcoleESRmi localityName_default = Rabat stateOrProvinceName_default = Rabat countryName_default = MR [ v3_ca ] basicConstraints = CA:TRUE subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer:always [ v3_req ] basicConstraints = CA:FALSE subjectKeyIdentifier = hash   Un ls de notre dossier à ce stade donne l’aperçu suivant :  Yahya.charai@gmail.com | ESR Master 1  5 
  • 6. Guide pr ratique : Open nssl   Maintenant  que  le    fichier  d configur de  ration  est  créé  il  va  maintenant falloir  gén c t  nérer  le  at racine du certifica u CA, à noteer que  la plupart des i information ns qui iront  sur le certificat est  prise à partir du ce e fichier.  On génè ère le certif ficat CA  ave ec la commande suivan nte :    Il en rés sulte deux f fichiers:  Un certtificat de CA A racine ca acert.pem ertificat raci m, est le ce ine publiqu ue qui sera  importé   dans les browsers  des clients s qui auront t besoin dee faire des ééchanges sé écurisés ave ec notre  serveurr.  Une  cl privée  (private lé  e/cakey.p pem)  (L'ex xtension  "p pem"  est  Privacy  En nhanced  Messagge)cette  clé é  est deman ndée lors de e  la signatu ure d’un nouveau certificat.    En  important le  certificat  cacert t  t.pem sur  les  browwsers,  nous  serions  do plus  onc  valables s en tant quue CA pourr le navigate eur et chaq que fois que e le client se e connecte à notre  serveur votre  na r,  avigateur  n sera  plu montran la  boîte de  dialog ne  us  nt  e  gue  qui  demande  d'acceppter la connexion sécur risée.  Voilà, vous avez maintenant u une autorité é de certific cation.   Yahya.ch harai@gmail.c com | ESR Ma aster 1  6 
  • 7. Guide pratique : Openssl Des clients peuvent vous soumettre des CSR que vous signerez (s'ils vous payent ! ☺)    Etape3 : Création d'une demande de signature de certificat (CSR)   (CertificateSigningRequest)  À  ce  stade,  nous  avons  un  certificat  racine  valide,  claire,  pour  créer  des  certificats  non  seulement pour https, mais SPOP, ou SIMAP ou créer d'authentification pour les connexions  VPN.  Deux  étapes à effectuer pour créer CSR:  • Créez une clé privée et la demande de certificat.  • Signez la demande et  générer un certificat signé.  On génère la demande de certificat avec la commande suivante :    Une  nouvelle  demande  de  certificat    implique  de  renseigner  certaines  informations  demandée,  remplissez‐les  en  adaptant  ou  laissez  les  paramètres  par  défaut  du  fichier  de  configuration sauf le champ "Common Name" qui doit être identique au nom d'hôte/@ip de  votre serveur   • les deux lettres qui identifient le pays   • le nom de du pays.  • le nom de la ville.  • le nom de l’entreprise ou autre si particulier.  • le nom du site.  • l’adresse mail de l’administrateur.    Yahya.charai@gmail.com | ESR Master 1  7 
  • 8. Guide pratique : Openssl   Les fichiers suivants donc été générés :  key.pem >> la clé privée  req.pem >> la demande de signature de certificat (CSR)  Nous pouvons voir le contenu de notre formulaire de demande dans un format plus lisible :  Etape 4 : La signature du certificat serveur par le CA (Certificate Autority)    La commande qui signe la demande de certificat est la suivante :  Yahya.charai@gmail.com | ESR Master 1  8 
  • 9. Guide pratique : Openssl   La procédure de signature met à jour la base de données du CA (le fichier index.txt, serial)  elle crée aussi une copie de certificat dans newcerts/<serial>.pem  Le  fichier  index.txt  contient  les  références  des  certificats  créés  par  OpenSSL.  Les  enregistrements sont annotés avec un R pour indiquer que le certificat est révoqué, V qu'il  est valide et E qu'il a expiré.    Après vous pouvez inspecter votre certificat:    Etape 5 : Configuration spécifique  d'Apache2  Dans un premier temps il est nécessaire que le serveur apache écoute sur le port 443. Pour  cela il suffit d’éditer le ficher /etc/apache2/ports.conf et vérifier que la ligne  Listen  443  y soit présente.  La meilleure manière de l’intégrer est de l’écrire de la sorte :    Ensuite  il  faut  configurer  le  site  que  l’on  veut  mettre  en  place  dans  « /etc/apache2/site- available/»  Par  défaut  un  site  est  configuré  dans  le  fichier  « default-ssl ».  On  peut  l’adapter en fonction de la configuration souhaitée, mais au moins  il faut que les directives  Yahya.charai@gmail.com | ESR Master 1  9 
  • 10. Guide pratique : Openssl suivantes y soit présent (commentez avec le caractère dièse "#" toute référence à d’autres  certificats :  Après activez le module ssl d’apache2 si n’est pas encore activé ;  Et redémarrez le serveur apache2 pour activer  la nouvelle configuration ;    Voilà le serveur écoute sur le porte 443, il est nécessaire maintenant d'activer le site :     Et bien sûr que ça nécessite un restart encore une fois de notre  serveur  En  essayant  maintenant  à  accéder  à  notre  site  qu’on  vient  de  sécuriser  avec  https://  on  obtient l’alerte suivante qu’indique que  cette certificat est signée avec un CA qui ne figure  pas  parmi  les  AC  racine  de  confiance,  l’étape  suivante  explique  comment  importer  le  CA  pour ne pas avoir cet alerte prochainement.  Yahya.charai@gmail.com | ESR Master 1  10 
  • 11. Guide pratique : Openssl   Etape 6 : Installation du certificat d'autorité de certification  Il faut maintenant installer le certificat de l'autorité de certification dans chaque navigateur  client. C'est ce dernier qui va valider le certificat reçu par le client lors de la requête https://,  Pour cela "Arrangez‐vous" pour avoir le certificat (fichier cacert.pem)  disponible à partir du  client par la suite importer  ce fichier sur le navigateur.  Une fois le fichier copié, suivre la procédure suivante :  Pour Internet Explorer :  ‐ Allez dans  le menu Outils / Options/Contenu/Certificats/importer  Pour Firefox :  ‐ Outils/Options/Avancé/Afficher les certificats /Autorités/Importer              Yahya.charai@gmail.com | ESR Master 1  11 
  • 12. Guide pr ratique : Open nssl Déroul lement de échange SSL es es s Un navigatteur demande une page web w sécurisée ( général h (en https://)       Le serveur web émet sa clef publiqu a ue accompagn de son c née certificat   Le navigate vérifie qu le certifica a été eur ue at   émis par un autorité de certification racine, ne qu'il est tou ujours valide et qu'il se ra apporte bien au site en cours. e   Le navigate emploie l clef publique du eur la serveur pou chiffrer un clef de chiffrement ur ne symétrique aléatoire et l'envoie au serveur s web avec l''URL demandée et divers ses données HT TTP chiffrée es. Le serveur web déchiffr la clef de chiffrement re c symétrique grâce à sa clef privée et utilise la e frement symétrique pour récupérer clef de chiff r l'URL et les données HT s TTP. Le serveur renvoie le do ocument htm et les ml données HTTTP chiffrée avec la cle es ef symétrique Le navigate déchiffre l'ensemble avec la clef eur a symétrique et affiche les information s ns. Yahya.ch harai@gmail.c com | ESR Ma aster 1  12