1 Génération des clés SSL avec OpenSSL

Documents pareils
Sécurité du Système d Information. Mini PKI

Les certfcats. Installation de openssl

Méthode 1 : Mise en place IPSEC

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

CONFIGURATION DE OPENVPN AVEC CLIENT FEDORA ET CLIENT WINDOWS. Distribution : Fedora 14 Noyau GNU/Linux : Version document : 1

Concepts de sécurité informatique

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

Installation GLPI-OCSNG-SSL Linux Debian Sarge

Une introduction à SSL

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

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Architectures PKI. Sébastien VARRETTE

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

IGC-CPS2bis. Gabarits des certificats X.509. des Classes 4, 5 et mars Version mars 2012 Document ASIP-Santé Page 1 / 34

Utilisation des certificats X.509v3

Fonctionnement des PKI Architecture PKI

Acronymes et abréviations. Acronymes / Abbréviations. Signification

Instructions Mozilla Thunderbird Page 1

Installation et utilisation d'un certificat

Modèle de sécurité de la Grille. Farida Fassi Master de Physique Informatique Rabat, Maroc May 2011

SÉCURITÉ DU SI. Mini PKI. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (3): Version : 1.0

Réaliser un inventaire Documentation utilisateur

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Les certificats numériques

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

VXPERT SYSTEMES. CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2. Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6.

Authentification unique Eurécia

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

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

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

M2-RADIS Rezo TP13 : VPN

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

SSH, le shell sécurisé

Procédure d installation de la Sauvegarde de Windows Server

CA SIC Directives de certification Certificate Practice Statement (CPS) du SIC Customer ID CA 1024 Level 2

WEB page builder and server for SCADA applications usable from a WEB navigator

Guide d installation de FreeRadius avec EAP-TLS + MySQL

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

Gestion des certificats en Internet Explorer

Sécurisation des accès au CRM avec un certificat client générique

Direction des Systèmes d'information

Public Key Infrastructure (PKI)

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

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

EJBCA PKI Open Source

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Once the installation is complete, you can delete the temporary Zip files..

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

La base de données dans ArtemiS SUITE

WDpStats Procédure d installation

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

AUTHENTIFICATION x FREERADIUS. Objectifs

Compléter le formulaire «Demande de participation» et l envoyer aux bureaux de SGC* à l adresse suivante :

Gui!aume THIRION - Bac Pro MRIM

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

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Guide d'installation rapide TFM-560X YO.13

Installation d'un serveur RADIUS

ScTools Outil de personnalisation de carte

Les GPO 2012 server R2 (appliqués à Terminal Serveur Edition)

(1) Network Camera

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

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

LP ASUR - Sécurité. Introduction à la Sécurité des Systèmes d'information. Florent Autréau - florent@mataru.com 28 Mai 2013

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte

Application Form/ Formulaire de demande

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Vanilla : Virtual Box

Créer et partager des fichiers

La citadelle électronique séminaire du 14 mars 2002

If the corporation is or intends to become a registered charity as defined in the Income Tax Act, a copy of these documents must be sent to:

COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : URGENTE NON URGENTE TEMPORAIRE DEFINITIVE

How to Login to Career Page

Gestion des Clés Publiques (PKI)

Guide Numériser vers FTP

2013 Installation de GLPI-OCS. Florian MICHEL BTS SIO LYCEE SAINTE URSULE

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

Autorité de certification

Configurer la supervision pour une base MS SQL Server Viadéis Services

Cadre de Référence de la Sécurité des Systèmes d Information

Olivier Mondet

Practice Direction. Class Proceedings

MS SQL Express 2005 Sauvegarde des données

Mise en place d un serveur HTTPS sous Windows 2000

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

A B A C U S DESCRIPTIF D'INSTALLATION SAAS ABAWEB. septembre 2014 / OM / COB. Version 5.5

PKI PKI IGC IGC. Sécurité des RO. Partie 4. Certificats : pourquoi?

POLITIQUE DE CERTIFICATION DE L'AC KEYNECTIS SSL RGS * (authentification serveur) Date : 12/08/2011

LEGALBOX SA. - Politique de Certification -

Wireless IP Camera 75790, 75790WH, Quick Start Guide Guide de départ rapide

Installation d'un TSE (Terminal Serveur Edition)

1. Mise en œuvre du Cegid Web Access Server en https

Petit guide pour l installation de CVW sous Linux

Transcription:

1 Génération des clés SSL avec OpenSSL 1.1 Alice, Bob et Nestor FIGURE 1 Nestor génère les certificats, les clés privées et les listes de révocation 1.2 Installation de l outil SSL OpenSSL est maintenant inclus dans la distribution du serveur HTTP Apache 2.2. Création d un script de démarrage C :\tools\opensslenv.bat SET OPENSSL_HOME=E:\apache\bin SET PATH=%OPENSSL_HOME%;%PATH% SET BASE_HOME=C:\tools\ssl 1 Dominique Huguenin

IF NOT EXIST %BASE_HOME% ( mkdir %BASE_HOME% mkdir %BASE_HOME%\certs mkdir %BASE_HOME%\newcerts mkdir %BASE_HOME%\private ) cd %BASE_HOME% cmd lancer le script opensslenv.bat. A la première exécution, le script crée l arborescence ci-dessous. -tools -opensslenv.bat -openssl.config -ssl -certs # emplacement des certificats et listes de révocation -newcert # emplacement des certificats non-signés -private # emplacement des clés privées Création d un fichier vide C :\tools\ssl\index.txt Création d un ficher C :\tools\ssl\serial contenu uniquement la valeur 00. Création d un fichier de configuration C :\tools\openssl.config #---Begin--- # # Fichier de configuration pour OpenSSL. # S emploie surtout pour les demandes de certificats. # # NdT: autre chose que de l ASCII dans les fichiers de # configuration me rend nerveux. Il y a donc un zest de triche # dans ce qui suit. Vous ne voudriez pas me rendre nerveux, non? :o) # RANDFILE =./.rnd oid_file =./.oid oid_section = new_oids # Section des extension X.509v3 pour se servir du # fichier avec l option -extfile de la commande # "openssl x509" # extensions = # (Variante: employer un fichier de configuration qui # n a que des extensions X.509v3 dans sa section # principale [= default]) [ new_oids ] # On ajoute des OID pour les commandes ca et req. # Par exemple: # testoid1=1.2.3.4 # L emploi de substitutions est possible: # testoid2=${testoid1}.5.6 #################################################################### [ ca ] default_ca = CA_default # Section de la CA standard 2 Dominique Huguenin

#################################################################### [ CA_default ] dir =. # Emplacement de base certs = $dir/certs # Emplacement de stockage des # nouveaux certificats crl_dir = $dir/certs # Emplacement des nouvelles CRL database = $dir/index.txt # Fichier d index new_certs_dir = $dir/newcerts # Emplacement des nouveaux certificats certificate = $dir/certs/cacert.pem # Certificat de la CA serial = $dir/serial # Numero de serie en cours crl = $dir/crl.pem # CRL en cours private_key = $dir/private/cakey.pem # Clef privee RANDFILE = $dir/private/.rand # Fichier d alea x509_extensions = usr_cert # Extensions pour les certificats # Extensions pour la CRL. # Remarque: Netscape communicator n aime pas les CRL de version 2, # on commente donc pour avoir une CRL version 1 # crl_extensions = crl_ext default_days = 365 # Duree de vie d un certificat default_crl_days= 7 # Intervalle entre CRLs default_md = sha1 # Algorithme de hachage preserve = no # Conserve-t-on l ordre du DN? # Diverses facons de specifier l allure des requetes # Pour une requete de type CA, les attributs doivent etre les memes # Les champs optional et supplied correspondent respectivement # a des champs optionnels et fournis :o) policy = policy_match # Typage CA [ policy_match ] countryname = match stateorprovincename = optional localityname = match organizationname = match organizationalunitname = optional commonname = supplied emailaddress = optional # Typage tout-venant # Tous les types d objets acceptables doivent etre enumeres [ policy_anything ] countryname = optional stateorprovincename = optional localityname = optional organizationname = optional organizationalunitname = optional commonname = supplied emailaddress = optional #################################################################### [ req ] 3 Dominique Huguenin

default_bits = 1024 default_keyfile = privkey.pem distinguished_name = req_distinguished_name attributes = req_attributes default_md = sha1 x509_extensions = v3_ca # Extensions pour un certificat auto-signant # Mot de passe pour les clefs privees (l application le demande s il est vide). # input_password = secret # output_password = secret # Masque pour les types de chaines valides. Plusieurs choix sont possibles. # default: PrintableString, T61String, BMPString. # pkix : PrintableString, BMPString. # utf8only: only UTF8Strings. # nombstr : PrintableString, T61String (pas de BMPStrings ni de UTF8Strings). # MASK:XXXX valeur litterale. # Attention: certaines versions de Netscape plantent sur # les BMPStrings ou les UTF8Strings. # A utiliser avec prudence! string_mask = nombstr # req_extensions = v3_req # Extensions pour une demande de certificat [ req_distinguished_name ] countryname = Nom du pays (code sur 2 lettres) countryname_default = CH countryname_min = 2 countryname_max = 2 stateorprovincename = Etat ou province (nom complet) stateorprovincename_default = Neuchatel localityname = Ville localityname_default = Neuchatel 0.organizationName = Organisation (nom de l entreprise par exemple) 0.organizationName_default = ESNE # Possible mais pas normalement pas necessaire :-) #1.organizationName = Second nom de l organization #1.organizationName_default = World Wide Web SARL organizationalunitname = Nom du departement dans l organisation organizationalunitname_default = ig commonname = Nom d usage commonname_max = 64 emailaddress = Addresse e-mail emailaddress_max = 40 # SET-ex3 = SET extension number 3 [ req_attributes ] challengepassword = Un mot de passe de challenge challengepassword_min = 4 challengepassword_max = 20 unstructuredname = Nom optionnel [ usr_cert ] # Extensions ajoutees quand ca signe une requete. # Contraire aux suggestions PKIX mais des CA le font et certains # logiciels le demandent pour ne pas confondre un certificat 4 Dominique Huguenin

# utilisateur avec un certificat de CA basicconstraints=ca:false # Examples d utilisation de nscerttype. En cas d omission, # le certificat peut servir a tout sauf a signer des objets # Serveur SSL # nscerttype = server # Certificat promis a signer des objets. # nscerttype = objsign # Client normal. # nscerttype = client, email # Tout. # nscerttype = client, email, objsign # Classique pour un certificat client. # keyusage = nonrepudiation, digitalsignature, keyencipherment # Pour la boiboite de commentaire de Netscape. nscomment = "Certificate issued by https://www.entreprise.lan/ssl/" # Recommandations PKIX sans effets secondaires facheux. subjectkeyidentifier=hash authoritykeyidentifier=keyid,issuer:always # On importe l adresse e-mail # pour les attributs subjectaltname et issueraltname. # subjectaltname=email:copy # Informations relatives au sujet. # issueraltname=issuer:copy # Adresse de base des autres URL si on n en donne pas # au cas par cas. nsbaseurl = https://www.entreprise.lan/ssl/ # Adresse de la CRL du moment. nscarevocationurl = https://www.entreprise.lan/ssl/entreprise-ca.crl # Adresse pour revoquer un certificat. #nsrevocationurl = https://www.entreprise.lan/ssl/revocation.html? # Adresse pour renouveller un certificat. #nsrenewalurl = https://www.entreprise.lan/ssl/renewal.html? # Adresse des pratiques de la CA. #nscapolicyurl = https://www.entreprise.lan/ssl/policy.html # Adresse du certificat du signataire. issueraltname = URI:https://www.entreprise.lan/ssl/cacert.crt # Adresse de la CRL du moment. crldistributionpoints = URI:https://www.entreprise.lan/ssl/entreprise-ca.crl [ v3_ca ] # Extensions d une CA standard # Recommandation PKIX subjectkeyidentifier=hash authoritykeyidentifier=keyid:always,issuer:always # Recommandation PKIX que certains bugware n aiment pas 5 Dominique Huguenin

# basicconstraints = critical,ca:true # On utilise donc plutot ceci basicconstraints = CA:true # Emploi de la clef: typique d un certificat de CA. # On le laisse inactif pour prevenir l emploi d un # certificat auto-signant de test. # keyusage = crlsign, keycertsign # En fonction des besoins. # nscerttype = sslca, emailca # On inclut l adresse e-mail dans le nom alternatif du sujet (recommendation PKIX) # subjectaltname=email:copy # On copie les informations du signataire # issueraltname=issuer:copy # Encodage DER en base 16 d une extension: licence de pilotage requise! # 1.2.3.5=RAW:02:03 # On peut surcharger une extension standard: # basicconstraints= critical, RAW:30:03:01:01:FF # Message pour la boite d affichage de Netscape. nscomment = "Certificat en provenance de https://www.entreprise.lan/ssl/" # Adresse de base des autres URL si on n en donne pas # au cas par cas. nsbaseurl = https://www.entreprise.lan/ssl/ # Adresse de la CRL du moment. nscarevocationurl = https://www.entreprise.lan/ssl/entreprise-ca.crl # Adresse pour revoquer un certificat. nsrevocationurl = https://www.entreprise.lan/ssl/revocation.html? # Adresse pour renouveller un certificat. nsrenewalurl = https://www.entreprise.lan/ssl/renewal.html? # Adresse des pratiques de la CA. nscapolicyurl = https://www.entreprise.lan/ssl/policy.html # Adresse du certificat du signataire. issueraltname = URI:https://www.entreprise.lan/ssl/cacert.crt # Adresse de la CRL du moment. crldistributionpoints = URI:https://www.entreprise.lan/ssl/cacert.crl [ crl_ext ] # Extensions de CRL # Seuls issueraltname et authoritykeyidentifier se justifient dans une CRL. # issueraltname=issuer:copy authoritykeyidentifier=keyid:always,issuer:always #----End---- 1.3 Création d un certificat racine Nestor génére sa clé privée et son certification X509 auto-signé. 1.3.1 Création des clés exemple de commande : openssl req -config../openssl.config -new -x509 -keyout./private/cakey.pem -out./certs/cacert.pem -days 3650 E:\sysinfo\ssl>openssl req -config../openssl.config -new -x509 -keyout./private/cakey.pem -out./certs/cacert.pem -days 3650 Loading screen into random state - done Generating a 1024 bit RSA private key 6 Dominique Huguenin

...++++++...++++++ writing new private key to./private/cakey.pem Enter PEM pass phrase: [coucou ca] Verifying - Enter PEM pass phrase: [coucou ca] ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter., the field will be left blank. ----- Nom du pays (code sur 2 lettres) [CH]: Etat ou province (nom complet) [Neuchatel]: Ville [Neuchatel]: Organisation (nom de lentreprise par exemple) [ESNE]: Nom du departement dans lorganisation [ig]: Nom dusage []:CA Entreprise.lan Addresse e-mail []: 1.3.2 Création d un certificat x509 exemple de commande : openssl x509 -in./certs/cacert.pem -out./certs/cacert.crt C:\tools\ssl>openssl x509 -in./certs/cacert.pem -out./certs/cacert.crt Création d une demande de certificat Nestor génére la clé privée et le certificat X509 de Bob. 1.3.3 Création des clés exemple de commande : openssl req -config../openssl.config -new -keyout./private/dominique_huguenin.pem -out./newcerts/dominique_huguenin.pem -days 365 C:\tools\ssl>openssl req -config../openssl.config -new -keyout./private/domi nique_huguenin.pem -out./newcerts/dominique_huguenin.pem -days 365 Loading screen into random state - done Generating a 1024 bit RSA private key...++++++...++++++ writing new private key to./private/dominique_huguenin.pem Enter PEM pass phrase: [coucou dhu] Verifying - Enter PEM pass phrase: [coucou dhu] ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter., the field will be left blank. ----- Nom du pays (code sur 2 lettres) [CH]: Etat ou province (nom complet) [Neuchatel]: 7 Dominique Huguenin

Ville [Neuchatel]: Organisation (nom de lentreprise par exemple) [ESNE]: Nom du departement dans lorganisation [ig]: Nom dusage []:dominique huguenin Addresse e-mail []:dominique.huguenin@cpln.ch Please enter the following extra attributes to be sent with your certificate request Un mot de passe de challenge []: Nom optionnel []: 1.3.4 Signature de la clé public commande : openssl ca -config../openssl.config -policy policy_anything -out./certs/dominique_huguenin_cert.pem - infiles./newcerts/dominique_huguenin.pem C:\tools\ssl>openssl ca -config../openssl.config -policy policy_anything -out./certs/dominique_huguenin_cert.pem -infiles./newcerts/dominique_huguenin.pem Using configuration from../openssl.config Loading screen into random state - done Enter pass phrase for./private/cakey.pem: [coucou ca] Check that the request matches the signature Signature ok The Subject s Distinguished Name is as follows countryname :PRINTABLE: CH stateorprovincename :PRINTABLE: Neuchatel localityname :PRINTABLE: Neuchatel organizationname :PRINTABLE: ESNE organizationalunitname:printable: ig commonname :PRINTABLE: dominique huguenin emailaddress :IA5STRING: dominique.huguenin@rpn.ch Certificate is to be certified until Feb 2 09:06:23 2008 GMT (365 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated 1.3.5 Mise en place d un certificat x509 commande : openssl x509 -in./certs/dominique_huguenin_cert.pem -out./certs/dominique_huguenin_cert.crt C:\tools\ssl>openssl x509 -in./certs/dominique_huguenin_cert.pem -out./certs/dominique_huguenin_cert.crt 1.4 Emploi du certificat S/MIME avec MS Outlook 1.4.1 Génération de la clé pkcs12 commande : openssl pkcs12 -export -in./certs/dominique_huguenin_cert.pem -inkey./private/dominique_huguenin.pem -certfile./certs/cacert.pem -out./private/dominique_huguenin.p12 -name "dominique huguenin" C:\tools\ssl>openssl pkcs12 -export -in./certs/dominique_huguenin_cert.pem -i nkey./private/dominique_huguenin.pem -certfile./certs/cacert.pem -out./privat e/dominique_huguenin.p12 -name "dominique huguenin" 8 Dominique Huguenin

Loading screen into random state - done Enter pass phrase for./private/dominique_huguenin.pem: [coucou dhu] Enter Export Password: [coucou p12] Verifying - Enter Export Password: [coucou p12] 1.4.2 Configuration dans MS Outlook Outil>Option>Sécurité > sélectionner le bouton "Importer/Exporter" Dans le fenêtre Importation/Exportation champs Importer le fichier : > sélectionner le bouton Parcourir... rechercher le fichier./private/dominique_huguenin.p12 champs "Mot de passe" : [coucou p12] champs "Numéro d identification numérique" : dominique huguenin 1.4.3 Vérification Démarrer un console mmc Ajouter le composant logiciel enfichable "Certificats" Dans la branche "Personnel/Certificats ", on retrouve le certificat importé "dominique huguenin". Dans la branche "Autorités de certification racines/certificats", on retrouve le certificat de notre autorité de certification "CA DHU" 1.5 Révocation d un certificat Nestor génére la liste de révocation La commande suivante révoque un certificat : openssl -revoke newcert.pem La base de données index.txt est modifiée en conséquence et le certificat est annoté comme révoqué. Il reste à régénérer la liste de révocation des certificats : openssl ca -gencrl -config../openssl.config -out./crl/entreprise-ca.crl La liste de révocation (CRL/Certificate Revokation List) doit être rendue publique, par exemple sur un site web. 1.6 Publication des certificats et listes de révocation Nestor publie les certificats X509 et la liste de révocation. L autorité de certification (CA) spécifie dans le certificat l emplacement (url) de son certificat racine (openssl.config - issueraltname ) et celui de la liste de révocation (openssl.config - nscarevocationurl). Il doit donc publier sur un site web ces deux informations (certificat racine et liste de révocation). Etapes de validation d un certificat 1. Vérification que le certificat n apparaît pas dans la liste de révocation 2. Vérification que le hachage de la partie infomation du certificat est identique avec la signature décelée du certificat. 1.7 Ajouter le certificat racine dans un domaine Windows Alice prend dans le dépôt le certificat du Nestor (CA) et le pose dans son trousseau de clé. Le but est rendre disponible à toutes les machines du domaine un certificat racine. Pour ce faire, la procédure consiste à : Créer une stratégie de groupe sur une unité organisationnelle (ou) dans l Active Directory Importer le certificat racine (format x509,.crt) dans la branche Configuration ordinateur>paramètres de sécurité>stratégie de clé publique>autorité de certification racine de confiance. (menu contextuelle importer sur la branche) 9 Dominique Huguenin

FIGURE 2 Importation du certificat racine dans Active Directory 10 Dominique Huguenin