SlideShare une entreprise Scribd logo
1  sur  14
Linux LPIC2 noelmace.com
Noël Macé
Formateur et Consultant indépendant expert Unix et FOSS
http://www.noelmace.com
Sécurisation d'un serveur web
avec SSL
Services web
Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Linux LPIC2 noelmace.com
Plan
• Secure Socket Layer
• mod_ssl
• Chiffrement par clés asymétriques
• Signature
• Certificat
• Installation
• /etc/ssl/*
• Création du certificat auto-signé
• Création d'un certificat signé par un CA
• Configuration d'un virtual host SSL
Linux LPIC2 noelmace.com
Secure Socket Layer
• protocole se situant entre un protocole réseau orienté connexion
(TCP/IP) et un protocole de la couche applicative (HTTP)
• sécurisation des communications entre un serveur et un client
 authentification mutuelle
 intégrité par signature digitale
 chiffrement par clés asymétriques
• Port 443
Listen 443Listen 443
Linux LPIC2 noelmace.com
mod_ssl
• Utilisation de SSL pour Apache via OpenSSL
 d'autres solutions dérivées existent
• Secure Web Server de Red Hat
• Raven SSL Module de Raven
• Stronghold de C2Net
 mais leur conception est assez similaire dans l'ensemble, et leur
usage spécifique (non couverts par la LPIC2 et donc par ce cours)
Linux LPIC2 noelmace.com
Chiffrement par clés asymétriques
Linux LPIC2 noelmace.com
Signature
Linux LPIC2 noelmace.com
Certificat
Linux LPIC2 noelmace.com
Installation
• Debian : installé par défaut
• CentOS
 configuration complète dans conf.d/ssl.conf
• Directives LoadModule et Listen
• Contexte global de ssl
• virtual host par défaut
# a2enmod ssl# a2enmod ssl
# yum install mod_ssl# yum install mod_ssl
Linux LPIC2 noelmace.com
/etc/ssl/*
• Configuration de OpenSSL
 certs/ : certificats SSL
 openssl.cnf : Configuration de OpenSSL
• date d'expiration des clés
• nom de l'organisation
• adresse, etc ...
 private/ : clés privées
Linux LPIC2 noelmace.com
Création du certificat auto-signé
• Options
 -x509 -nodes : type de certificat
 -days 365 : durée de validité du certificat (en jours)
 -newkey rsa:1024 : clé RSA de 1024 bits
• il est déconseillé de créer une clé plus grosse pour des histoires de compatibilité
 -out /etc/apache2/server.crt : certificat
 -keyout /etc/apache2/server.key : clé privée
• Interactif : suite de questions (Pays, Ville, Organisation, CN et Adresse mail)
pour Common Name : indiquer le nom de domaine à protéger
# openssl req -x509 -nodes -days 365 -newkey rsa:1024 
> -out /etc/ssl/certs/noelmace.com.crt 
> -keyout /etc/ssl/private/noelmace.com.key
# openssl req -x509 -nodes -days 365 -newkey rsa:1024 
> -out /etc/ssl/certs/noelmace.com.crt 
> -keyout /etc/ssl/private/noelmace.com.key
# chmod 400 /etc/ssl/private/noelmace.com.key# chmod 400 /etc/ssl/private/noelmace.com.key
Linux LPIC2 noelmace.com
Création d'un certificat signé par un CA
• génération de la clé privée
• création du CSR
 Certificate Signing Request ou fichier de demande de signature de certificat
• Envoyer le CSR au CA (Autorité de certification)
 par exemple gandi.net, tustico ou StartSSL (gratuit)
 permet d'obtenir un certificat signé par la clé privée de l'organisme
• Déposer les certificats fournis aux bons emplacements
 votre certificat ainsi que celui de votre CA dans /etc/ssl/certs/
 votre clé dans le dossier /etc/ssl/private/ avec les droits 400
# openssl genrsa 1024 > noelmace.com.key# openssl genrsa 1024 > noelmace.com.key
# openssl req -new -key servwiki.key > servwiki.csr# openssl req -new -key servwiki.key > servwiki.csr
Linux LPIC2 noelmace.com
Configuration d'un virtual host SSL
• Directives
 SSLEngine on/off : active / désactive le SSL pour ce serveur virtuel
 SSLCertificateFile file : chemin vers le certificat
 SSLCertificateFile file : chemin vers la clé privée
 SSLVerifyClient none/optional/require/optional_no_ca : niveau de vérification du certificat pour l'authentification du
client
 Require ssl : les clients ne peuvent se connecter à ce serveur virtuel que via ssl
<VirtualHost *:443>
ServerName noelmace.com
DocumentRoot /var/www/noelmace.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/noelmace.com.crt
SSLCertificateKeyFile /etc/ssl/private/noelmace.com.key
SSLCACertificateFile /etc/ssl/certs/GandiXXXSSLCA.pem
SSLVerifyClient none
Require ssl
</VirtualHost>
<VirtualHost *:443>
ServerName noelmace.com
DocumentRoot /var/www/noelmace.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/noelmace.com.crt
SSLCertificateKeyFile /etc/ssl/private/noelmace.com.key
SSLCACertificateFile /etc/ssl/certs/GandiXXXSSLCA.pem
SSLVerifyClient none
Require ssl
</VirtualHost>
Linux LPIC2 noelmace.com
Ce qu’on a couvert
• Qu'est ce que le SSL ?
 Ainsi que les principes liés.
• Les fichiers de configuration, outils et utilitaires pour SSL
 openssl, /etc/ssl/*
• Gestion des certificats SSL
• Configuration d'un virtual host pour le ssl
Weight : 2
Description : Candidates should be able to configure a web server to use
virtual hosts, Secure Sockets Layer (SSL) and customise file access.
208.2 Maintaining a web server (part 2)
Linux LPIC2 noelmace.com
Licence
Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à :
Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
Vous êtes libre de :
 partager — reproduire, distribuer et communiquer cette œuvre
 remixer — adapter l’œuvre
Selon les conditions suivantes :
 Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre
originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins
d'en demander expressément la permission).
 Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention
première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une
autorisation explicite de l'auteur est requise.
 Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de
distribuer votre création que sous une licence identique ou similaire à celle-ci.
Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une
licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs
vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration
de ce support.

Contenu connexe

Tendances

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
 
Authentification par certificat (clear box)
Authentification par certificat (clear box)Authentification par certificat (clear box)
Authentification par certificat (clear box)Ousmane BADJI
 
Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Ousmane BADJI
 
VPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCO
VPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCOVPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCO
VPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCOManassé Achim kpaya
 
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...Manassé Achim kpaya
 
Mini projet bureau à distance sécurisé
Mini projet bureau à distance sécuriséMini projet bureau à distance sécurisé
Mini projet bureau à distance sécuriséSamiMessaoudi4
 
Sécuriser & chiffrer Mariadb - JDLL 2017
Sécuriser & chiffrer Mariadb - JDLL 2017Sécuriser & chiffrer Mariadb - JDLL 2017
Sécuriser & chiffrer Mariadb - JDLL 2017Christophe Villeneuve
 
Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Alain Ganuchaud
 
Zabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertZabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertLook a box
 
Support formation vidéo : Cisco ASA, configuration
Support formation vidéo : Cisco ASA, configurationSupport formation vidéo : Cisco ASA, configuration
Support formation vidéo : Cisco ASA, configurationSmartnSkilled
 
Rapport DVWA: File Upload
Rapport DVWA: File UploadRapport DVWA: File Upload
Rapport DVWA: File UploadAyoub Rouzi
 
Meetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupalMeetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupalAurelien Navarre
 
Mise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASAMise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASAOusmane BADJI
 
Zabix formation-zabbix-supervision-d-infrastructure
Zabix formation-zabbix-supervision-d-infrastructureZabix formation-zabbix-supervision-d-infrastructure
Zabix formation-zabbix-supervision-d-infrastructureCERTyou Formation
 

Tendances (20)

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
 
OpenSSL
OpenSSLOpenSSL
OpenSSL
 
Authentification par certificat (clear box)
Authentification par certificat (clear box)Authentification par certificat (clear box)
Authentification par certificat (clear box)
 
Chiffrer et sécuriser MariaDB
Chiffrer et sécuriser MariaDBChiffrer et sécuriser MariaDB
Chiffrer et sécuriser MariaDB
 
Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7Mise en place d'un système de messagerie roundcube sous cent os 7
Mise en place d'un système de messagerie roundcube sous cent os 7
 
VPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCO
VPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCOVPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCO
VPN NOMADE AVEC AUTHENTIFICATIO AD SOUS ROUTEUR CISCO
 
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
Mise en place d'un système de messagerie sous debian avec: postfix, dovecot, ...
 
Let's encrypt
Let's encryptLet's encrypt
Let's encrypt
 
SERVICES RESEAUX AVANCES
SERVICES RESEAUX AVANCESSERVICES RESEAUX AVANCES
SERVICES RESEAUX AVANCES
 
Mini projet Zabbix
Mini projet ZabbixMini projet Zabbix
Mini projet Zabbix
 
Mini projet bureau à distance sécurisé
Mini projet bureau à distance sécuriséMini projet bureau à distance sécurisé
Mini projet bureau à distance sécurisé
 
Sécuriser & chiffrer Mariadb - JDLL 2017
Sécuriser & chiffrer Mariadb - JDLL 2017Sécuriser & chiffrer Mariadb - JDLL 2017
Sécuriser & chiffrer Mariadb - JDLL 2017
 
Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013Presentation Zabbix en Français du 6 Juin 2013
Presentation Zabbix en Français du 6 Juin 2013
 
Comprendre la securite web
Comprendre la securite webComprendre la securite web
Comprendre la securite web
 
Zabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvertZabbix, garder un oeil toujours ouvert
Zabbix, garder un oeil toujours ouvert
 
Support formation vidéo : Cisco ASA, configuration
Support formation vidéo : Cisco ASA, configurationSupport formation vidéo : Cisco ASA, configuration
Support formation vidéo : Cisco ASA, configuration
 
Rapport DVWA: File Upload
Rapport DVWA: File UploadRapport DVWA: File Upload
Rapport DVWA: File Upload
 
Meetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupalMeetup Drupal Lyon - Sécuriser un site drupal
Meetup Drupal Lyon - Sécuriser un site drupal
 
Mise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASAMise en place d'un reseau securise par Cisco ASA
Mise en place d'un reseau securise par Cisco ASA
 
Zabix formation-zabbix-supervision-d-infrastructure
Zabix formation-zabbix-supervision-d-infrastructureZabix formation-zabbix-supervision-d-infrastructure
Zabix formation-zabbix-supervision-d-infrastructure
 

En vedette

Les Firewalls / Sécurité informatique
Les Firewalls / Sécurité informatiqueLes Firewalls / Sécurité informatique
Les Firewalls / Sécurité informatiqueSylvain Maret
 
Firewalls
FirewallsFirewalls
Firewallsc0r3war
 
Configuration des services web sous centOS 5
Configuration des services web sous centOS 5Configuration des services web sous centOS 5
Configuration des services web sous centOS 5Sarah
 
06 05 résolution de nom
06 05 résolution de nom06 05 résolution de nom
06 05 résolution de nomNoël
 
Les attaques reseaux par zellagui Amine
Les attaques reseaux par zellagui AmineLes attaques reseaux par zellagui Amine
Les attaques reseaux par zellagui AmineZellagui Amine
 
06 03 route
06 03 route06 03 route
06 03 routeNoël
 
06 04 arp
06 04 arp06 04 arp
06 04 arpNoël
 
06 02 opérations de sauvegarde
06 02 opérations de sauvegarde06 02 opérations de sauvegarde
06 02 opérations de sauvegardeNoël
 
06 01 interfaces
06 01 interfaces06 01 interfaces
06 01 interfacesNoël
 
07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dnsNoël
 
SSL/TLS : Faille Heartbleed
SSL/TLS : Faille HeartbleedSSL/TLS : Faille Heartbleed
SSL/TLS : Faille HeartbleedThomas Moegli
 
LPIC1 10 01 logs
LPIC1 10 01 logsLPIC1 10 01 logs
LPIC1 10 01 logsNoël
 
10 02 authentification PAM
10 02 authentification PAM10 02 authentification PAM
10 02 authentification PAMNoël
 
Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration Bee_Ware
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur webNoël
 
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
 
Panorama de la cybercriminalité en 2016
Panorama de la cybercriminalité en 2016Panorama de la cybercriminalité en 2016
Panorama de la cybercriminalité en 2016Serrerom
 
06 02 ip
06 02 ip06 02 ip
06 02 ipNoël
 

En vedette (20)

Firewall
FirewallFirewall
Firewall
 
Les Firewalls / Sécurité informatique
Les Firewalls / Sécurité informatiqueLes Firewalls / Sécurité informatique
Les Firewalls / Sécurité informatique
 
Firewalls
FirewallsFirewalls
Firewalls
 
Configuration des services web sous centOS 5
Configuration des services web sous centOS 5Configuration des services web sous centOS 5
Configuration des services web sous centOS 5
 
06 05 résolution de nom
06 05 résolution de nom06 05 résolution de nom
06 05 résolution de nom
 
Les attaques reseaux par zellagui Amine
Les attaques reseaux par zellagui AmineLes attaques reseaux par zellagui Amine
Les attaques reseaux par zellagui Amine
 
06 03 route
06 03 route06 03 route
06 03 route
 
06 04 arp
06 04 arp06 04 arp
06 04 arp
 
06 02 opérations de sauvegarde
06 02 opérations de sauvegarde06 02 opérations de sauvegarde
06 02 opérations de sauvegarde
 
06 01 interfaces
06 01 interfaces06 01 interfaces
06 01 interfaces
 
07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns07 03 sécurisation d'un serveur dns
07 03 sécurisation d'un serveur dns
 
Ethical Hacking
Ethical HackingEthical Hacking
Ethical Hacking
 
SSL/TLS : Faille Heartbleed
SSL/TLS : Faille HeartbleedSSL/TLS : Faille Heartbleed
SSL/TLS : Faille Heartbleed
 
LPIC1 10 01 logs
LPIC1 10 01 logsLPIC1 10 01 logs
LPIC1 10 01 logs
 
10 02 authentification PAM
10 02 authentification PAM10 02 authentification PAM
10 02 authentification PAM
 
Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration Waf, le bon outil, la bonne administration
Waf, le bon outil, la bonne administration
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
 
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)
 
Panorama de la cybercriminalité en 2016
Panorama de la cybercriminalité en 2016Panorama de la cybercriminalité en 2016
Panorama de la cybercriminalité en 2016
 
06 02 ip
06 02 ip06 02 ip
06 02 ip
 

Similaire à 08 03 sécurisation d'un serveur web avec ssl

Guide pratique openssl sous debian
Guide pratique openssl sous debianGuide pratique openssl sous debian
Guide pratique openssl sous debianyahyaf10
 
08 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 208 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 2Noël
 
05 01 open-vpn
05 01 open-vpn05 01 open-vpn
05 01 open-vpnNoël
 
Certifs x509
Certifs x509Certifs x509
Certifs x509hamduvski
 
Authentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPNAuthentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPNIsmail Rachdaoui
 
07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dnsNoël
 
05 03 dépannage réseau
05 03 dépannage réseau05 03 dépannage réseau
05 03 dépannage réseauNoël
 
Apache ssl
Apache sslApache ssl
Apache sslGSI
 
Strong Authentication with PKI
Strong Authentication with PKIStrong Authentication with PKI
Strong Authentication with PKISylvain Maret
 
05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpipNoël
 
Génération de certificats SSL
Génération de certificats SSLGénération de certificats SSL
Génération de certificats SSLFabian Vandendyck
 
01 04 compilation du noyau
01 04 compilation du noyau01 04 compilation du noyau
01 04 compilation du noyauNoël
 
Weos tunnel ssl hôte à site
Weos   tunnel ssl hôte à siteWeos   tunnel ssl hôte à site
Weos tunnel ssl hôte à siteFabian Vandendyck
 
04 03 logical volume manager
04 03 logical volume manager04 03 logical volume manager
04 03 logical volume managerNoël
 
06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes système06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes systèmeNoël
 
LPIC1 07 04 udev
LPIC1 07 04 udevLPIC1 07 04 udev
LPIC1 07 04 udevNoël
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxNoël
 
04 01 configuration raid
04 01 configuration raid04 01 configuration raid
04 01 configuration raidNoël
 
10 01 configuration dhcp
10 01 configuration dhcp10 01 configuration dhcp
10 01 configuration dhcpNoël
 
Comment choisir son certificat ssl fr v01
Comment choisir son certificat ssl fr v01Comment choisir son certificat ssl fr v01
Comment choisir son certificat ssl fr v01ssleuropa
 

Similaire à 08 03 sécurisation d'un serveur web avec ssl (20)

Guide pratique openssl sous debian
Guide pratique openssl sous debianGuide pratique openssl sous debian
Guide pratique openssl sous debian
 
08 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 208 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 2
 
05 01 open-vpn
05 01 open-vpn05 01 open-vpn
05 01 open-vpn
 
Certifs x509
Certifs x509Certifs x509
Certifs x509
 
Authentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPNAuthentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPN
 
07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns
 
05 03 dépannage réseau
05 03 dépannage réseau05 03 dépannage réseau
05 03 dépannage réseau
 
Apache ssl
Apache sslApache ssl
Apache ssl
 
Strong Authentication with PKI
Strong Authentication with PKIStrong Authentication with PKI
Strong Authentication with PKI
 
05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip
 
Génération de certificats SSL
Génération de certificats SSLGénération de certificats SSL
Génération de certificats SSL
 
01 04 compilation du noyau
01 04 compilation du noyau01 04 compilation du noyau
01 04 compilation du noyau
 
Weos tunnel ssl hôte à site
Weos   tunnel ssl hôte à siteWeos   tunnel ssl hôte à site
Weos tunnel ssl hôte à site
 
04 03 logical volume manager
04 03 logical volume manager04 03 logical volume manager
04 03 logical volume manager
 
06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes système06 03 notification aux utilisateurs des problèmes système
06 03 notification aux utilisateurs des problèmes système
 
LPIC1 07 04 udev
LPIC1 07 04 udevLPIC1 07 04 udev
LPIC1 07 04 udev
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseaux
 
04 01 configuration raid
04 01 configuration raid04 01 configuration raid
04 01 configuration raid
 
10 01 configuration dhcp
10 01 configuration dhcp10 01 configuration dhcp
10 01 configuration dhcp
 
Comment choisir son certificat ssl fr v01
Comment choisir son certificat ssl fr v01Comment choisir son certificat ssl fr v01
Comment choisir son certificat ssl fr v01
 

Plus de Noël

LPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingLPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingNoël
 
présentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linuxprésentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/LinuxNoël
 
LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeNoël
 
LPIC1 10 04 anacron
LPIC1 10 04 anacronLPIC1 10 04 anacron
LPIC1 10 04 anacronNoël
 
LPIC1 10 05 at
LPIC1 10 05 atLPIC1 10 05 at
LPIC1 10 05 atNoël
 
LPIC1 10 03 cron
LPIC1 10 03 cronLPIC1 10 03 cron
LPIC1 10 03 cronNoël
 
LPIC1 10 02 temps
LPIC1 10 02 tempsLPIC1 10 02 temps
LPIC1 10 02 tempsNoël
 
LPIC1 09 06 kill
LPIC1 09 06 killLPIC1 09 06 kill
LPIC1 09 06 killNoël
 
LPIC1 09 05 priorités
LPIC1 09 05 prioritésLPIC1 09 05 priorités
LPIC1 09 05 prioritésNoël
 
LPIC1 09 04 bg fg
LPIC1 09 04 bg fgLPIC1 09 04 bg fg
LPIC1 09 04 bg fgNoël
 
LPIC1 09 03 top
LPIC1 09 03 topLPIC1 09 03 top
LPIC1 09 03 topNoël
 
LPIC1 09 02 ps
LPIC1 09 02 psLPIC1 09 02 ps
LPIC1 09 02 psNoël
 
LPIC1 09 01 intro
LPIC1 09 01 introLPIC1 09 01 intro
LPIC1 09 01 introNoël
 
LPIC1 08 05 runlevels
LPIC1 08 05 runlevelsLPIC1 08 05 runlevels
LPIC1 08 05 runlevelsNoël
 
LPIC1 08 03 grub2
LPIC1 08 03 grub2LPIC1 08 03 grub2
LPIC1 08 03 grub2Noël
 
LPIC1 08 02 grub legacy
LPIC1 08 02 grub legacyLPIC1 08 02 grub legacy
LPIC1 08 02 grub legacyNoël
 
LPIC1 08 01 démarrage
LPIC1 08 01 démarrageLPIC1 08 01 démarrage
LPIC1 08 01 démarrageNoël
 
LPIC1 07 14 mount
LPIC1 07 14 mountLPIC1 07 14 mount
LPIC1 07 14 mountNoël
 
LPIC1 07 13 fsck
LPIC1 07 13 fsckLPIC1 07 13 fsck
LPIC1 07 13 fsckNoël
 
LPIC1 07 18 debugfs
LPIC1 07 18 debugfsLPIC1 07 18 debugfs
LPIC1 07 18 debugfsNoël
 

Plus de Noël (20)

LPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et natingLPIC2 12 01 pare-feu et nating
LPIC2 12 01 pare-feu et nating
 
présentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linuxprésentation des services Open Source pour GNU/Linux
présentation des services Open Source pour GNU/Linux
 
LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité système
 
LPIC1 10 04 anacron
LPIC1 10 04 anacronLPIC1 10 04 anacron
LPIC1 10 04 anacron
 
LPIC1 10 05 at
LPIC1 10 05 atLPIC1 10 05 at
LPIC1 10 05 at
 
LPIC1 10 03 cron
LPIC1 10 03 cronLPIC1 10 03 cron
LPIC1 10 03 cron
 
LPIC1 10 02 temps
LPIC1 10 02 tempsLPIC1 10 02 temps
LPIC1 10 02 temps
 
LPIC1 09 06 kill
LPIC1 09 06 killLPIC1 09 06 kill
LPIC1 09 06 kill
 
LPIC1 09 05 priorités
LPIC1 09 05 prioritésLPIC1 09 05 priorités
LPIC1 09 05 priorités
 
LPIC1 09 04 bg fg
LPIC1 09 04 bg fgLPIC1 09 04 bg fg
LPIC1 09 04 bg fg
 
LPIC1 09 03 top
LPIC1 09 03 topLPIC1 09 03 top
LPIC1 09 03 top
 
LPIC1 09 02 ps
LPIC1 09 02 psLPIC1 09 02 ps
LPIC1 09 02 ps
 
LPIC1 09 01 intro
LPIC1 09 01 introLPIC1 09 01 intro
LPIC1 09 01 intro
 
LPIC1 08 05 runlevels
LPIC1 08 05 runlevelsLPIC1 08 05 runlevels
LPIC1 08 05 runlevels
 
LPIC1 08 03 grub2
LPIC1 08 03 grub2LPIC1 08 03 grub2
LPIC1 08 03 grub2
 
LPIC1 08 02 grub legacy
LPIC1 08 02 grub legacyLPIC1 08 02 grub legacy
LPIC1 08 02 grub legacy
 
LPIC1 08 01 démarrage
LPIC1 08 01 démarrageLPIC1 08 01 démarrage
LPIC1 08 01 démarrage
 
LPIC1 07 14 mount
LPIC1 07 14 mountLPIC1 07 14 mount
LPIC1 07 14 mount
 
LPIC1 07 13 fsck
LPIC1 07 13 fsckLPIC1 07 13 fsck
LPIC1 07 13 fsck
 
LPIC1 07 18 debugfs
LPIC1 07 18 debugfsLPIC1 07 18 debugfs
LPIC1 07 18 debugfs
 

08 03 sécurisation d'un serveur web avec ssl

  • 1. Linux LPIC2 noelmace.com Noël Macé Formateur et Consultant indépendant expert Unix et FOSS http://www.noelmace.com Sécurisation d'un serveur web avec SSL Services web Licence Creative Commons Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France.
  • 2. Linux LPIC2 noelmace.com Plan • Secure Socket Layer • mod_ssl • Chiffrement par clés asymétriques • Signature • Certificat • Installation • /etc/ssl/* • Création du certificat auto-signé • Création d'un certificat signé par un CA • Configuration d'un virtual host SSL
  • 3. Linux LPIC2 noelmace.com Secure Socket Layer • protocole se situant entre un protocole réseau orienté connexion (TCP/IP) et un protocole de la couche applicative (HTTP) • sécurisation des communications entre un serveur et un client  authentification mutuelle  intégrité par signature digitale  chiffrement par clés asymétriques • Port 443 Listen 443Listen 443
  • 4. Linux LPIC2 noelmace.com mod_ssl • Utilisation de SSL pour Apache via OpenSSL  d'autres solutions dérivées existent • Secure Web Server de Red Hat • Raven SSL Module de Raven • Stronghold de C2Net  mais leur conception est assez similaire dans l'ensemble, et leur usage spécifique (non couverts par la LPIC2 et donc par ce cours)
  • 5. Linux LPIC2 noelmace.com Chiffrement par clés asymétriques
  • 8. Linux LPIC2 noelmace.com Installation • Debian : installé par défaut • CentOS  configuration complète dans conf.d/ssl.conf • Directives LoadModule et Listen • Contexte global de ssl • virtual host par défaut # a2enmod ssl# a2enmod ssl # yum install mod_ssl# yum install mod_ssl
  • 9. Linux LPIC2 noelmace.com /etc/ssl/* • Configuration de OpenSSL  certs/ : certificats SSL  openssl.cnf : Configuration de OpenSSL • date d'expiration des clés • nom de l'organisation • adresse, etc ...  private/ : clés privées
  • 10. Linux LPIC2 noelmace.com Création du certificat auto-signé • Options  -x509 -nodes : type de certificat  -days 365 : durée de validité du certificat (en jours)  -newkey rsa:1024 : clé RSA de 1024 bits • il est déconseillé de créer une clé plus grosse pour des histoires de compatibilité  -out /etc/apache2/server.crt : certificat  -keyout /etc/apache2/server.key : clé privée • Interactif : suite de questions (Pays, Ville, Organisation, CN et Adresse mail) pour Common Name : indiquer le nom de domaine à protéger # openssl req -x509 -nodes -days 365 -newkey rsa:1024 > -out /etc/ssl/certs/noelmace.com.crt > -keyout /etc/ssl/private/noelmace.com.key # openssl req -x509 -nodes -days 365 -newkey rsa:1024 > -out /etc/ssl/certs/noelmace.com.crt > -keyout /etc/ssl/private/noelmace.com.key # chmod 400 /etc/ssl/private/noelmace.com.key# chmod 400 /etc/ssl/private/noelmace.com.key
  • 11. Linux LPIC2 noelmace.com Création d'un certificat signé par un CA • génération de la clé privée • création du CSR  Certificate Signing Request ou fichier de demande de signature de certificat • Envoyer le CSR au CA (Autorité de certification)  par exemple gandi.net, tustico ou StartSSL (gratuit)  permet d'obtenir un certificat signé par la clé privée de l'organisme • Déposer les certificats fournis aux bons emplacements  votre certificat ainsi que celui de votre CA dans /etc/ssl/certs/  votre clé dans le dossier /etc/ssl/private/ avec les droits 400 # openssl genrsa 1024 > noelmace.com.key# openssl genrsa 1024 > noelmace.com.key # openssl req -new -key servwiki.key > servwiki.csr# openssl req -new -key servwiki.key > servwiki.csr
  • 12. Linux LPIC2 noelmace.com Configuration d'un virtual host SSL • Directives  SSLEngine on/off : active / désactive le SSL pour ce serveur virtuel  SSLCertificateFile file : chemin vers le certificat  SSLCertificateFile file : chemin vers la clé privée  SSLVerifyClient none/optional/require/optional_no_ca : niveau de vérification du certificat pour l'authentification du client  Require ssl : les clients ne peuvent se connecter à ce serveur virtuel que via ssl <VirtualHost *:443> ServerName noelmace.com DocumentRoot /var/www/noelmace.com SSLEngine on SSLCertificateFile /etc/ssl/certs/noelmace.com.crt SSLCertificateKeyFile /etc/ssl/private/noelmace.com.key SSLCACertificateFile /etc/ssl/certs/GandiXXXSSLCA.pem SSLVerifyClient none Require ssl </VirtualHost> <VirtualHost *:443> ServerName noelmace.com DocumentRoot /var/www/noelmace.com SSLEngine on SSLCertificateFile /etc/ssl/certs/noelmace.com.crt SSLCertificateKeyFile /etc/ssl/private/noelmace.com.key SSLCACertificateFile /etc/ssl/certs/GandiXXXSSLCA.pem SSLVerifyClient none Require ssl </VirtualHost>
  • 13. Linux LPIC2 noelmace.com Ce qu’on a couvert • Qu'est ce que le SSL ?  Ainsi que les principes liés. • Les fichiers de configuration, outils et utilitaires pour SSL  openssl, /etc/ssl/* • Gestion des certificats SSL • Configuration d'un virtual host pour le ssl Weight : 2 Description : Candidates should be able to configure a web server to use virtual hosts, Secure Sockets Layer (SSL) and customise file access. 208.2 Maintaining a web server (part 2)
  • 14. Linux LPIC2 noelmace.com Licence Ce(tte) œuvre (y compris ses illustrations, sauf mention explicite) est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 France. Pour voir une copie de cette licence, visitez http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ ou écrivez à : Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. Vous êtes libre de :  partager — reproduire, distribuer et communiquer cette œuvre  remixer — adapter l’œuvre Selon les conditions suivantes :  Attribution — Vous devez clairement indiquer que ce document, ou tout document dérivé de celui, est (issu de) l’œuvre originale de Noël Macé (noelmace.com) (sans suggérer qu'il vous approuve, vous ou votre utilisation de l’œuvre, à moins d'en demander expressément la permission).  Pas d’Utilisation Commerciale — Vous n’avez pas le droit d’utiliser cette œuvre à des fins commerciales (ie. l'intention première ou l'objectif d'obtenir un avantage commercial ou une compensation financière privée). Pour obtenir ce droit, une autorisation explicite de l'auteur est requise.  Partage dans les Mêmes Conditions — Si vous modifiez, transformez ou adaptez cette œuvre, vous n’avez le droit de distribuer votre création que sous une licence identique ou similaire à celle-ci. Pour toute demande de collaboration, d'utilisation commerciale ou de publication de ce support ou d'un dérivé de celui-ci sous une licence incompatible, contacter l'auteur via les contacts indiqués sur le site http://www.noelmace.com. Vous êtes par ailleurs vivement encouragé (sans obligation légale) à communiquer avec celui-ci si vous réalisez une œuvre dérivée ou toute amélioration de ce support.