sdeon@cloud-morning.fr Septembre 2015



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

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

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

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

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

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

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

Réaliser un inventaire Documentation utilisateur

Procédure d'installation

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Autorité de certification

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7.

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

Serveur Web Apache - SSL - PHP Debian GNU/Linux

Installation d un hébergement Web à domicile

Installation GLPI-OCSNG-SSL Linux Debian Sarge

CDS Invenio Installation et configuration de base

Architectures PKI. Sébastien VARRETTE

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

Les certfcats. Installation de openssl

Étape 1 : gérer les certificats

Projet de mise en œuvre d un serveur ftp sur serveur dédié

Côté Labo : le service Web

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

REPARTITION DE CHARGE LINUX

Installation et utilisation d'un certificat

M2-RADIS Rezo TP13 : VPN

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

TP Service HTTP Serveur Apache Linux Debian

WEB-II, Compléments sous la forme de rapport de travaux pratiques. Stève Galeuchet & Florian Seuret. Massimiliano Babino

Public Key Infrastructure (PKI)

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

Fonctionnement et mise en place d un reverse proxy sécurisé avec Apache. Dimitri ségard 8 mai 2011

Serveur Subversion Debian GNU/Linux

Utilisation des certificats X.509v3

Différentes installations sur un serveur Windows 2000 ou 2003.

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

Administration Linux - Apache

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

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

Mise en œuvre d'une PKI avec OpenCA

Les serveurs WEBUne introduction

Préparation d un serveur Apache pour Zend Framework

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

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Sécurité WebSphere MQ V 5.3

Fonctionnement des PKI Architecture PKI

Dans l'épisode précédent

Les certificats numériques

Installation d OpenVPN

Les infrastructures de clés publiques (PKI, IGC, ICP)

Module 7 : Configuration du serveur WEB Apache

Gestion d identités PSL Installation IdP Authentic

La citadelle électronique séminaire du 14 mars 2002

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

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.

SSL. Secure Socket Layer. R. Kobylanski janvier version 1.1 FC INPG. Protocole SSL Application avec stunnel

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

Certificats et infrastructures de gestion de clés

Installation et configuration de Vulture Lundi 2 février 2009

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

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

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

VPN. Réseau privé virtuel Usages :

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

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

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

Déploiement d'une Infrastructure de Gestion de Clés publiques libre

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

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

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

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

Configuration du FTP Isolé Active Directory

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

Méthode 1 : Mise en place IPSEC

SERVEUR HTTP Administration d apache

Une introduction à SSL

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

HASH LOGIC. Web Key Server. Solution de déploiement des certificats à grande échelle. A quoi sert le Web Key Server? A propos de HASHLOGIC

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Exemple : vous voulez tester votre site en local avant de l uploader via FTP chez votre hébergeur externe.

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

UE5A Administration Réseaux LP SIRI

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

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

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

Guide Numériser vers FTP

Travaux Pratiques Introduction aux réseaux IP

EJBCA PKI Open Source

Gérer ses environnements de développement avec Vagrant RMLL 2012

CYBERGATE -TP-APACHE_2.DOC

Service de certificat

VPN TLS avec OpenVPN. Matthieu Herrb. 14 Mars 2005

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

SECURIDAY 2012 Pro Edition

Transcription:

sdeon@cloud-morning.fr Septembre 2015 1

Le chiffrement seul permet de protéger les informations Pour HTTP, il y a une couche de chiffrement, d authentification et de contrôle d intégrité avec la surcouche HTTPS (ou HTTP over SSL; en réalité TLS) SSL est la couche cryptographique entre TCP et HTTP SSL peut être utilisé avec IMAP, SMTP, FTP 2

On a besoin de savoir qu on se connecte bien sur un site web (ex : https://www.cloud-morning.fr et non http://www.cloud-morning.fr) certificat serveur On a besoin de savoir que c est bien l utilisateur Sébastien DEON qui se connecte au site web certificat SSL utilisateur Certificat SSL = carte d identité délivrée par une mairie (autorité) à une personne physique ou morale Certificat utilisateur + certificat server = «ceinture et bretelle» 3

Une autorité de certification (AC) qui est garante de la correspondance entre certificat et entité (personne, entreprise, site web, adresse mail, ) Une entité demande un certificat (requête ou demande de certificat) Mécanisme de bi-clés (clé privée et clé publique) La clé privée (secrète) permet de chiffrer des informations La clé publique (connue de tous) permet de déchiffrer; elle est intégrée dans la demande de certificat Les 2 clés sont stockées dans des fichiers au format PEM (le plus courant) L AC vérifie les informations de la demande L AC signe la demande certificat L AC produit le certificat valide et vérifiée L AC envoie le certificat au demandeur Le couple certificat/clé privée est utilisable par l utilisateur Quand un tiers veut vérifier l identité d une entité, il lui demande son certificat et vérifie la signature de l AC (si c est un tiers de confiance, pas de problème) 4

Certificats clients (ou utilisateurs) Sont destinés à l authentification des utilisateurs Ex : certificat des impôts Permet la signature des mails, l authentification de services VPN, Certificats serveurs Destinés aux serveurs. Permettent d assurer aux clients que l identité annoncée par le serveur est bien réelle (cas des sites bancaires) 5

Acheter un certificat serveur ou utilisateur Gandi, Verisign, TBS, StratSSL, Ex : chez Gandi, avec un nom de domaine, le certificat serveur sur un seul nom DNS (ex : www.cloudmorning.fr) est gratuit la première année (ensuite, environ 15 euros/an) Un certificat wildcard (ou joker ou *) permet de disposer d autant de certificat serveur que l on veut sur un domaine (ex : cloud-morning.fr avec certificat pour www, ftp, pki, ) Devenir sa propre autorité de certification installer une PKI (payante ou gratuite) gérer les certificats avec la commande openssl 6

Un serveur sous Linux qui est l AC avec la gestion openssl Un serveur sous Linux qui est serveur Web apache, mode SSL qui dispose d un site web sécurisé (ex : https://cloud.inpl.fr) Un poste de travail qui accède au site web sécurisé (https) 7

Créer une AC avec openssl Il faut une clé privée, une demande de certification, signer cette demande Installer openssl sous linux au préalable Répertoire de travail : # mkdir p /srv/ssl # cd /srv/ssl # mkdir certs crl newcerts private # echo 01 > serial # touch index.txt # cp /usr/lib/ssl/openssl.cnf. Sous CentOS 6.5, openssl.cnf est dans /etc/pki/tls/openssl.cnf 8

Editer le fichier openssl.cnf dir=/srv/ssl Clé privée de l AC /srv/ssl# openssl genrsa des3 out private/cakey.pem 4096 Choisir un mot de passe qui protégera la clé On obtient un fichier cakey.pem 9

Création d un certificat auto-signé /srv/ssl# openssl req config openssl.cnf new x509 nodes sha1 days 1825 key private/cakey.pem out cacert.pem On veut ainsi produire un certificat (req) avec l option 509 et qui doit être signé, avec une durée de validité de 5 ans (1825 jours). On précise la commande ou lire la clé privée et on génère le fichier cacert.pem Il faut le mot de passe de la clé privé et ensuite les informations qui seront intégrées dans le certificat : State : Lorraine Locality : Nancy Common Name : admin inpl Email : admin@inpl.fr Ce certificat auto-signé peut être utilisé auprès de futurs visiteurs de notre site web sécurisé 10

Notre serveur est une AC donc on peut générer des demandes de certificats Le point important ici est le CN qui doit être le nom du serveur web en FQDN (ex : cloud.inpl.fr) Création d une clé et demande de certificat Génération d une clé privée : /sr/ssl# openssl genrsa des3 out cloudinpl.key.pem 4096 Saisir un mot de passe protégeant la clé privée Génération de la demande de certificat # openssl req config openssl.cnf new key cloudinpl.key.pem out cloudinpl.csr.pem Saisir le common name : cloud.inpl.fr C est ce fichier.csr.pem qu il faudrait transmettre à une AC classique sur Internet Signature de la demande par l AC et production du certificat # openssl ca config openssl.cnf policy policy_anything out cloudinpl.cert.pem infiles cloudinpl.csr.pem 11

La clé privée du certificat serveur est protégée par un mot de passe; il faut retirer la protection du mot de passe (sinon, on sera bloqué à chaque redémarrage du serveur apache) # openssl rsa in cloudinpl.key.pem out cloudinpl.key.nopass.pem Saisir le mot de passe de la clé privée 12

Résolution de nom (/etc/hosts) <IP_server> cloud.inpl.fr Créer un dossier /srv/ssl/cloudinpl Copier tous les fichiers précédents (cloudinpl.*) dans ce dossier Installer le mod_ssl : #yum install mod_ssl Modifier la configuration d Apache : /etc/httpd/conf.d/ssl.conf : NameVirtualHost *:443 Ajouter un fichier de configuration pour le site protégé cloud.inpl.fr Le site web est dans /var/www/cloudinpl Créer un fichier index.html : Bonjour, vous êtes bien sur le serveur du cloud INPL Rajouter la configuration dans ssl.conf <Virtualhost *:443> ServerName cloud.inpl.fr (nom du site web sécurisé) DocumentRoot /var/www/cloudinpl (emplacement du site web) SSLEngine On SSLCertificateFile /srv/ssl/cloudinpl/cloudinpl.cert.pem (certificat serveur) SSLCertificateKeyFile /srv/ssl/cloudinpl/cloudinpl.key.nopass.pem (clé privée du certificat serveur déprotégée) SSLProtocol all SSLv2 (tous les protocoles SSL sauf la V2) </Virtualhost> - Activer le fichier de configuration : # /etc/init.d/httpd reload Accès au site : https://cloud.inpl.fr et demande d ajout d exception du certificat serveur 13

Le serveur demande aux clients de présenter leurs cartes d identité signées par une AC reconnue Création de 2 clés privées et de 2 demandes de certificats; le champs CN doit correspondre au nom de l utilisateur Clés privées : /srv/ssl/cloudinpl# openssl genrsa des3 out alice.cloudinpl.key.pem 4096 /srv/ssl/cloudinpl# openssl genrsa des3 out bob.cloudinpl.key.pem 4096 Demande de certificats : /srv/ssl/cloudinpl# openssl req config../openssl.cnf new key alice.cloudinpl.key.pem out alice.cloudinpl.csr.pem Dans le CN : mettre alice Idem pour bob Signature des certificats /srv/ssl/cloudinpl# openssl ca config../openssl.cnf policy policy_anything out alice.cloudinpl.cert.pem infiles alice.cloudinpl.csr.pem /srv/ssl/cloudinpl# openssl ca config../openssl.cnf policy policy_anything out bob.cloudinpl.cert.pem infiles bob.cloudinpl.csr.pem 14

Les certificats clients doivent comprendre la clé secrète pour être utilisables. Le seul format lisible par Firefox est le format PKCS#12 (.p12) qui contient la clé publique et la clé privée du certificat utilisateur Conversion des fichiers PEM : /srv/ssl/cloudinpl# openssl pkcs12 export inkey alice.cloudinpl.key.pem in alice.cloudinpl.cert.pem out alice.cloudinpl.cert.p12 name Alice Idem pour Bob Deux mots de passe sont demandés : Celui qui protège le fichier PEM à ouvrir Celui qui protège le fichier.p12 créé Importer le certificat.p12 dans le navigateur; il faut saisir le mot de passe du.p12 Firefox : Edition / Préférences / Avancés / Certificats / Afficher les certificats / Importer 15

Fichier /etc/httpd/conf.d/ssl.conf <VirtualHost _default_:443> ServerName cloud.inpl.fr DocumentRoot /var/www/cloudinpl <Directory /var/www/cloudinpl> Options Indexes FollowSymLinks MultiViews AllowOverride None </Directory> SSLEngine On SSLCertificateFile /srv/ssl/cloudinpl/cloudinpl.cert.pem SSLCertificateKeyFile /srv/ssl/cloudinpl/cloudinpl.key.nopass.pem SSLCACertificateFile /srv/ssl/cacert.pem SSLProtocol all -SSLv2 ErrorLog /var/log/httpd/error_ssl.log LogLevel warn CustomLog /var/log/httpd/ssl_access.log combined SSLVerifyClient require SSLVerifyDepth 1 </VirtualHost> </IfModule> SSLCACertificateFile indique au serveur quelle est l AC sur laquelle se baser pour vérifier les certificats SSLVerifyClient require permet de n autoriser que les clients qui présentent un certificat correctement signé SSLVerifyDepth permet de limiter la longueur de la chaîne de confiance Tester l accès au site web sécurisé avec le certificat client 16