TP4 Annuaires et Sécurité



Documents pareils
Les certfcats. Installation de openssl

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

Méthode 1 : Mise en place IPSEC

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

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

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

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

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

Réaliser un inventaire Documentation utilisateur

Installation GLPI-OCSNG-SSL Linux Debian Sarge

INSTALLATION ET CONFIGURATION DE OPENLDAP

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

LDAP et carnet d'adresses mail

Architectures PKI. Sébastien VARRETTE

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

OpenLDAP, un outil d administration Réseau. Une implémentation d OpenLDAP

Une introduction à SSL

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

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

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

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

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

Tutorial OpenLDAP. Installation et configuration (clients/serveurs) Migration NIS LDAP dans GRID5000 Sécurisation par SSL et optimisations

Installation et utilisation d'un certificat

Configuration d'un annuaire LDAP

Utilisation des certificats X.509v3

M2-ESECURE Rezo TP3: LDAP - Mail

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

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

Instructions Mozilla Thunderbird Page 1

Utiliser Améliorer Prêcher. Introduction à LDAP

Guide d installation de FreeRadius avec EAP-TLS + MySQL

Procédure d'installation

Fonctionnement des PKI Architecture PKI

Authentification des utilisateurs avec OpenLDAP

Public Key Infrastructure (PKI)

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

La double authentification dans SharePoint 2007

Introduction aux services de domaine Active Directory

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.

Gui!aume THIRION - Bac Pro MRIM

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

Annexes. OpenVPN. Installation

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

Groupe Eyrolles, 2004 ISBN :

AUTHENTIFICATION x FREERADIUS. Objectifs

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

Outils Logiciels Libres

LINUX Préparation à la certification LPIC-3 (examen LPI 300) - 2ième édition

Guide Installation Serveur Extensive Testing

Application Form/ Formulaire de demande

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Présentation, mise en place, et administration d'ocs Inventory et de GLPI

Couplage openldap-samba

Installation de VirtualPOPC-1 sur Ubuntu Server LTS 64bits

Contenu. Cocher : Network Policy and Access Services > Next > Next. Cocher : Network Policy Server > Next > Install

Vanilla : Virtual Box

Description de la maquette fonctionnelle. Nombre de pages :

Guide Installation Serveur Extensive Testing

Internet Le service de noms - DNS

Mise en place d un firewall d entreprise avec PfSense

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

CONFIGURATION DU SERVEUR DE MAILS EXIM. par. G.Haberer, A.Peuch, P.Saade

Architecture PKI en Java

WDpStats Procédure d installation

M2-RADIS Rezo TP13 : VPN

PHOTO ROYAUME DE BELGIQUE /KINDOM OF BELGIUM /KONINKRIJK BELGIE. Données personnelles / personal data

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

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

Firewall ou Routeur avec IP statique

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:

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

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Préparation d un serveur Apache pour Zend Framework

DOCUMENTATION - FRANCAIS... 2

LDAP : pour quels besoins?

Formulaire d inscription (form also available in English) Mission commerciale en Floride. Coordonnées

SSH, le shell sécurisé

Authentification unique Eurécia

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

OpenLDAP au quotidien: trucs et astuces

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

UNIVERSITE DE YAOUNDE II

EJBCA PKI Open Source

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

A. À propos des annuaires

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

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

Olivier Mondet

Cours Bases de données 2ème année IUT

Installation et configuration de Vulture Lundi 2 février 2009

Serveur Web Apache - SSL - PHP Debian GNU/Linux

INDUSTRIALISATION «802.1X» CONFIG : 802.1X PEAP MSCHAPV2

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

Transcription:

IUT de Villetaneuse Année 2015-2016 Annuaires unifiés 2 année L objectif de ce TP est de : 1. manipuler des certificats autosignés TP4 Annuaires et Sécurité 2. sécuriser l accès à l annuaire LDAP à l aide des certificats 3. manipuler des Access List LDAP Lisez bien la description du TP avant d effectuer les opérations demandées. 1 Gestion des certificats Cette partie du TP peut se réaliser directement sur la machine Fortier, sans connexion sur un conteneur. Nous allons travailler avec OpenSSL, qui nous fournira tous les outils nécessaires. 1.1 Création de l autorité de certification Première étape créer un dossier qui contiendra nos données, disons /root/pki, et la base de données des certificats : # mkdir / root / pki # cd / root / pki # mkdir p db/ ca. db. c e r t s # mkdir c o n f i g # mkdir c e r t i f i c a t s Pour notre mini PKI, nous avons besoin de gérer les numéros de série de chaque certificat émis. Initialisez ce fichier : # echo 01 > db/ ca. db. s e r i a l Il faut également gérer un index des certificats qui sera mis à jour lors de l émission d un nouveau certificat. Initialisez ce fichier : # cp /dev/ n u l l db/ ca. db. index Attention : Ce dossier est sensible car il contient des donnes importantes qui permettrait à n importe qui, si son contenu venait à "fuiter", de créer des certificats à notre nom!! Maintenant nous allons créer le fichier de configuration config/ca.config (basé sur /etc/ssl/openssl.cnf) qui va permettre à openssl d utiliser notre nouvelle base : [ ca ] default_ca = CA_own config/ca.config [ CA_own ] d i r = / root / pki /db c e r t s = / root / pki /db new_certs_dir = / root / pki /db/ ca. db. c e r t s database = / root / pki /db/ ca. db. index s e r i a l = / root / pki /db/ ca. db. s e r i a l RANDFILE = / root / pki /db/ ca. db. rand c e r t i f i c a t e = / root / pki / c e r t i f i c a t s / ca. c r t private_key = / root / pki / c e r t i f i c a t s / ca. key default_days = 3000 1

default_crl_days = 30 default_md = md5 p r e s e r v e = no p o l i c y = policy_anything [ policy_anything ] countryname stateorprovincename localityname organizationname organizationalunitname commonname emailaddress [ req ] distinguished_name = s u p p l i e d = req_distinguished_name [ req_ distinguished_ name ] countryname = Country Name ( 2 l e t t e r code ) countryname_ default = FR stateorprovincename = State or Province Name ( f u l l name) stateorprovincename_ default = I l e de France localityname = L o c a l i t y Name ( eg, c i t y ) localityname_default = V i l l e t a n e u s e 0. organizationname = Organization Name ( eg, company ) 0. organizationname_default = I n t e r n e t Widgits Pty Ltd organizationalunitname = O r g a n i z a t i o n a l Unit Name ( eg, s e c t i o n ) commonname = Common Name ( e. g. s e r v e r FQDN or YOUR name) commonname_max = 64 emailaddress = Email Address emailaddress_max = 64 Bien d autres options sont disponibles! Vous pouvez les visualiser dans le fichier de base /etc/ssl/openssl.cnf. Tout est en place, nous allons maintenant générer la clef privée de notre AC maison : # o p e n s s l genrsa des3 out c e r t i f i c a t s / ca. key 1024 Une passephrase est demandée. Remarque : Préférez un mot de passe à 12 caractères contenant des chiffres, des symboles, des lettres, et des variations de majuscules/minuscules, et surtout, ne voulant rien dire!! N utilisez pas non plus de générateur par internet ou de vérificateur de solidité de mot de passe par internet. Rien de plus idiot que de fournir ou de demander votre mot de passe stratégique à un inconnu... Tout ceci est d ailleurs valable pour tout les mots de passe... Attention aussi à ne pas perdre le mot de passe qui va vous être demandé, il vous servira pour chaque nouvelle signature de certificat. La clef de notre CA étant générée, nous allons créer un certificat "auto-signé" valable pour 3000 jours (cela nous laisse un peu de marge ;-). Auto-signé veut dire que le certificat est utilisé pour se signer lui-même. # o p e n s s l req c o n f i g c o n f i g / ca. c o n f i g u t f 8 new x509 days 3000 key \ c e r t i f i c a t s / ca. key out c e r t i f i c a t s / ca. c r t Enter pass phrase f o r c e r t i f i c a t s / ca. key:# toto You are about to be asked to e n t e r i n f o r m a t i o n that w i l l be i n c o r p o r a t e d i n t o your c e r t i f i c a t e r e q u e s t. What you are about to e n t e r i s what i s c a l l e d a D i s t i n g u i s h e d Name or a DN. There are q u i t e a few f i e l d s but you can l e a v e some blank For some f i e l d s t h e r e w i l l be a d e f a u l t value, I f you e n t e r., the f i e l d w i l l be l e f t blank. Country Name (2 l e t t e r code ) [GB]:# FR State or Province Name ( f u l l name) [ B e r k s h i r e ]:# I l e de France L o c a l i t y Name ( eg, c i t y ) [ Newbury ]:# V i l l e t a n e u s e Organization Name ( eg, company ) [My Company Ltd ]:# La Bonne Baguette 2

O r g a n i z a t i o n a l Unit Name ( eg, s e c t i o n ) [ ] : # LBB Common Name ( eg, your name or your s e rver s hostname ) [ ] : # lbb. f r Email Address [ ] : # admin@lbb. f r # A ce stade, notre AC est complet, nous allons juste générer un fichier de plus, le "DER". C est, comme nous l avons vu, lui que nous allons fournir au clients (navigateur web entre autre) pour que la 3ième règle soit satisfaite et que le client ne couine plus pour tous les futurs certificats générés. # o p e n s s l x509 in c e r t i f i c a t s / ca. c r t outform DER out c e r t i f i c a t s / ca. pem Le fichier ca.pem est le seul fichier que vous donnerez aux utilisateurs. Tout le reste doit être strictement privé!! A ce stade notre mini pki est fonctionnelle, il ne nous reste plus qu à générer notre premier certificat serveur. 1.2 Création du certificat serveur Dans la mesure où un certificat est lié à un nom de machine, on va créer un certificat pour la machine ldap.lbb.fr qui portera le nom ldap.lbb.fr.pem Pour avoir un certificat en règle, nous devons d abord, comme pour l AC, générer une clef. A la différence du AC, nous ne demandons pas de mot de passe. # o p e n s s l genrsa out c e r t i f i c a t s / ldap. lbb. f r. key 1024 L étape suivante change un peu. Comme nous devons faire signer notre certificat, nous allons générer un ficher intermédiaire appelé CSR pour Certificate Signature Request (ou Demande de Signature de Certificat). Ce fichier contient déjà tout ce qu un certificat contiendra sauf la signature du CA. C est là qu intervient notre tiers de confiance qui, en signant notre demande de certificat, nous permet d obtenir en retour un certificat valide. La seule chose que nous devons donner comme information est le nom de la machine. C est très important car sans cela, nous violerions la règle voulant que le certificat doit contenir une signature fiable. Dans notre exemple, lorsque openssl demandera YOUR name, vous répondrez ldap.lbb.fr, et ce n est pas la peine de rajouter un mot de passe. # o p e n s s l req c o n f i g c o n f i g / ca. c o n f i g days 365 new key \ c e r t i f i c a t s / ldap. lbb. f r. key out c e r t i f i c a t s / ldap. lbb. f r. c s r You are about to be asked to e n t e r i n f o r m a t i o n that w i l l be i n c o r p o r a t e d i n t o your c e r t i f i c a t e r e q u e s t. What you are about to e n t e r i s what i s c a l l e d a D i s t i n g u i s h e d Name or a DN. There are q u i t e a few f i e l d s but you can l e a v e some blank For some f i e l d s t h e r e w i l l be a d e f a u l t value, I f you e n t e r., the f i e l d w i l l be l e f t blank. Country Name (2 l e t t e r code ) [GB]:# FR State or Province Name ( f u l l name) [ B e r k s h i r e ]:# I l e de France L o c a l i t y Name ( eg, c i t y ) [ Newbury ]:# V i l l e t a n e u s e Organization Name ( eg, company ) [My Company Ltd ]:# La Bonne Baguette SARL O r g a n i z a t i o n a l Unit Name ( eg, s e c t i o n ) [ ] : # LBB Common Name ( eg, your name or your s e rver s hostname ) [ ] : # ldap. lbb. f r Email Address [ ] : # admin@lbb. f r Please e n t e r the f o l l o w i n g extra a t t r i b u t e s to be sent with your c e r t i f i c a t e r e q u e s t A c h a l l e n g e password [ ] : # An o p t i o n a l company name [ ] : # root# Nous allons maintenant utiliser notre PKI et notre CA pour signer cette demande et obtenir notre certificat final : # o p e n s s l ca c o n f i g c o n f i g / ca. c o n f i g out c e r t i f i c a t s / ldap. lbb. f r. pem \ i n f i l e s c e r t i f i c a t s / ldap. lbb. f r. c s r Using c o n f i g u r a t i o n f r o m c o n f i g / ca. c o n f i g Enter pass phrase f o r / root / pki / c e r t i f i c a t s / ca. key : Check that the r e q u e s t matches the s i g n a t u r e Signature ok The Subject s D i s t i n g u i s h e d Name i s as f o l l o w s countryname : PRINTABLE: FR 3

stateorprovincename :ASN. 1 1 2 : I l e de France localityname :PRINTABLE: V i l l e t a n e u s e organizationname : PRINTABLE: La Bonne Baguette SARL organizationalunitname :PRINTABLE: LBB commonname :PRINTABLE: ldap. lbb. fr emailaddress : IA5STRING : admin@lbb. f r C e r t i f i c a t e i s to be c e r t i f i e d u n t i l Mar 31 1 0 : 2 2 : 4 4 2019 GMT (3000 days ) Sign the c e r t i f i c a t e? [ y/n ]:# y 1 out o f 1 c e r t i f i c a t e r e q u e s t s c e r t i f i e d, commit? [ y/n]# y Write out database with 1 new e n t r i e s Data Base Updated # Voilà, vous avez maintenant un certificat tout neuf dans le dossier certificats. Vous pouvez en vérifier le contenu par la commande : # o p e n s s l x509 t e x t in c e r t i f i c a t s / ldap. lbb. f r. pem C e r t i f i c a t e : Data : Version : 1 (0 x0 ) S e r i a l Number : 1 (0 x1 ) Signature Algorithm : md5withrsaencryption 9d : 1 8 BEGIN CERTIFICATE MIICyjCCAjMCAQEwDQYJKoZIhvcNAQEEBQAwgbAxCzAJBgNVBAYTAkZSMR0wGwYD bt6uimb9n7xx9dqvur5dd29e4fh0kkqbxwdwkstw73ap3sneo8xepf5bwladga== END CERTIFICATE 2 Sécurisation des accès 2.1 Serveur LDAP Maintenant que nous disposons de certificats, nous pouvons les utiliser pour sécuriser l accès au serveur OpenLDAP. Ré-utilisez l annuaire mis en place dans le TP1 Rappatriez les certificats serveur et CA dans le conteneur Utilisez le cours par configurer TLS dans slapd.conf Modifiez le fichier /etc/default/slapd la ligne contenant SLAPD_SERVICES, pour prendre en compte ldaps, puis redémarrez votre service slapd. Testez l authentification sécurisée avec Apache Directory Studio. Assurez-vous que l entrée cn=admin,dc=villetaneuse,dc=lbb dispose bien du champ userpassword (et que vous connaissez le mot de passe...) Supprimez la configuration rootpw dans slapd.conf, puis testez l authentification sécurisée avec Apache Directory Studio. 2.2 Clients LDAP Sur chaque machine cliente LDAP, il faut installer le certificat du serveur dans /etc/ldap et ajouter la ligne dans : TLS_CACERT / e t c / ldap / ldap. lbb. f r. pem /etc/ldap/ldap.conf Reprenez le TP2 avec les modifications de sécurité nécessaires, et testez l authentification des utilisateurs 4

3 Gestion des ACLs Par défaut n importe quel utilisateur peut lire n importe quelle entrée de l annuaire. En revanche l utilisateur défini par l entrée rootdn n est pas soumis à ces autorisations. Reprenez l annuaire configuré dans le TP1, et vérifiez que les utilisateurs possèdent bien la classe inetorgperson. Répondez aux questions suivantes : Créez un utilisateur dans le noeud uid=bob,ou=siege,dc=lbb,dc=fr Testez la règle : a c c e s s to a t t r s=homephone by s e l f w r i t e by group="uid=bob, ou=s i e g e, dc=lbb, dc=f r " read Pourquoi ne fonctionne-t-elle pas? Testez la règle : a c c e s s to a t t r s=carlicense, homephone by s e l f w r i t e by u s e r s read by anonymous none Fonctionne-t-elle? Créez une ACL dans le fichier de configuration de slapd empêchant l utilisateur bob d accéder à la valeur description Modifiez cette ACL pour que bob ait un droit de lecture sur tous les champs description, et un droit d écriture sur son propre champ description Créez une ACL permettant à tous les utilisateurs un accès en lecture et autorisez les modifications des objets de type inetorgperson dans le noeud : ou=rh,ou=siege,dc=lbb,dc=fr Cette ACL vous semble-t-elle sensée? Créez les règles qui répondent à ces besoins : les utilisateurs anonymes ne pourront pas accéder aux attributs description et employeetype. C est-à-dire ni lecture, ni modification. les utilisateurs autorisés pourront modifier leur propre mot de passe. Par contre, ils ne pourront pas lire celui des autres utilisateurs. les utilisateur autorisés pourront modifier leur propre attribut description, mais ne pourront que lire cet attribut dans les autres cas. l utilisateur bob aura également le droit de modifier l attribut description. les utilisateurs autorisés pourront lire l attribut employeetype. l utilisateur bob fera partie d un groupe qui leur donnera le droit de modifier l attribut employeetype 5