logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:reseau:apache2:tp01 [23/09/2014 19:25]
Hypathie [Sécuriser son site web]
doc:reseau:apache2:tp01 [24/09/2014 07:41]
Hypathie [OpenSSL : créer un certificat avec apache2]
Ligne 733: Ligne 733:
 Pour aller plus loin, par exemple pour la rotation des journaux voir [[http://​httpd.apache.org/​docs/​trunk/​fr/​logs.html]] Pour aller plus loin, par exemple pour la rotation des journaux voir [[http://​httpd.apache.org/​docs/​trunk/​fr/​logs.html]]
  
-====OpenSSL : créer un certificat avec apache2 ====+=====OpenSSL : créer un certificat avec apache2 ​=====
 ===Le protocole ssl === ===Le protocole ssl ===
 Le protocole ssl (Secure Socket Layer) permet la sécurisation des communications entre un serveur et un client, au moyen : Le protocole ssl (Secure Socket Layer) permet la sécurisation des communications entre un serveur et un client, au moyen :
Ligne 775: Ligne 775:
 </​note>​ </​note>​
  
 +====Créer un certificat auto-signé pour le site "​default-sll"​====
 +Cela ne garantira pas d'une éventuelle usurpation d'​identité.\\ ​
 +Le certificat auto-signé c'est bien pour l'​apprentissage en local ! 
  
 ===ssl dans la configuration d'​Apache2 === ===ssl dans la configuration d'​Apache2 ===
Ligne 783: Ligne 786:
 <code root>ls /​etc/​apache2/​mods-available | grep ssl.*</​code>​ <code root>ls /​etc/​apache2/​mods-available | grep ssl.*</​code>​
  
-Il doit y avoir ''​ssl.conf''​ et ''​ssl.load''​. Sinon il faut installer ​le module ssl ''​a2enmod ssl''​\\ ​+Il doit y avoir ''​ssl.conf''​ et ''​ssl.load''​. Sinon il faut **installer** (ne pas l'activer tout de suite).\\ 
  
-  * Il faut activer ​le module ssl : +===Configurer ​le virual host par défaut ===
-<code root>​a2enmod ssl</​code>​ +
-puis +
-<code root>​service apache2 restart</​code>​+
  
-La commande ​''​a2enmod ssl''​ a crée dans /​etc/​apache2/​mods-enabled, les liens symboliques,​ ''​ssl.conf''​ et ''​ssl.load'' ​qui activent ​le module.\\ +Sur debian, c'est le fichier **/​etc/​apache2/​sites-available/​default-ssl** qui contient ​le Virtualhost par défaut. Il faut lui créer un certificat.
  
-<code root> ls /​etc/​apache2/​mods-enabled | grep ssl.*</​code>​ +Pour cela on va se servir de l'​utilitaire openssl.
-<​code>​ +
-lrwxrwxrwx 1 root root 26 sept. 23 17:34 ssl.conf -> ../​mods-available/​ssl.conf +
-lrwxrwxrwx 1 root root 26 sept. 23 17:34 ssl.load -> ../​mods-available/​ssl.load</​code>​+
  
 +  * Création du certificat :
 +<code root>cd /​etc/​apache2/​ && mkdir ssl</​code>​
 +<code root>​openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /​etc/​apache2/​ssl/​apache.key -out /​etc/​apache2/​ssl/​apache.crt
 +Generating a 1024 bit RSA private key</​code>​
  
-  * Le fichier du virtualhost qui utilse le module: 
-Sur debian c'est le fichier **/​etc/​apache2/​sites-available/​default-ssl** qui il contient contient le Virtualhost qu'on peut utiliser par défaut pour créer celui qu'on voudrait ajouter. 
-<code root>​less /​etc/​apache2/​sites-available/​default-ssl</​code>​ 
- 
-Il est long mais intéressant ! 
- 
-====Créer un certificat auto-signé ==== 
-Cela n'est pas suffisant contre le vol d'​identité,​ mais une fois cela fait, il ne restera plus qu'à faire signer son certificat, et d'​ajouter cette signature à la configuration d'​apache avant d'​exposer son site aux yeux de tous. 
- 
-===L'​utilitaire OpenSSL=== 
-C'est l'​utilitaire qui permet de mettre en place les certificats. 
-Comme le module ssl, il est installé aussi par défaut l'​utilitaire OpenSSL.\\ ​ 
- 
-<​note>​ 
-  * __Le dossier de configuration de OpenSSL est /etc/ssl/__ : 
-Il contient deux dossiers et un fichier : 
--> **/​etc/​ssl/​openssl.cnf** 
-Fichier de configuration de opensl. On y met les directives. On peut y mettre son /home, l'​autorité de certification ... 
--> le dossier **/​etc/​ssl/​cert/​** : il contient nos certificats 
-  * le dossier **/​etc/​ssl/​private/​** : il contient nos clés privées ​ 
-</​note>​ 
- 
-Par exemple : 
- 
-<code root>​openssl req -x509 -nodes\ 
- -days 365 -newkey rsa:1024\ 
- -out /​etc/​ssl/​certs/​monsite.com.crt\ 
- ​-keyout /​etc/​ssl/​private/​monsite.com.key</​code>​ 
  
 > -x509 -nodes : type de certificat > -x509 -nodes : type de certificat
 > -days 365 : durée de vie du certificat (en jours) > -days 365 : durée de vie du certificat (en jours)
 > - newkey rsa:1024 : clé rsa de 1024 bits > - newkey rsa:1024 : clé rsa de 1024 bits
-> -out /​chemin/​fichier/​du_certificat ​: crée le fichier du certificat +> -out /​chemin/​fichier/​certificat ​: crée le fichier du certificat 
-> -keyout /etc/apache2/server.key ​: chemin du fichier de sa clé privée+> -keyout /chemin/fichier/clé : chemin du fichier de sa clé privée
  
-On répond aux questions, ​par exemple ​: +<note tip> 
-<​code>​+__**Il faut répondre à une suite de question**__ :  
 +La plus importante est "​Common Name": il faut répondre ​par le nom de domaine ou l'ip public du serveur concerné. Dans le cas de cette exemple, l'ip locale (fixe) du serveur fera l'​affaire.\\ ​ 
 + 
 +Par exemple :
 Country Name (2 letter code) [AU]:FR Country Name (2 letter code) [AU]:FR
 State or Province Name (full name) [Some-State]:​France State or Province Name (full name) [Some-State]:​France
 Locality Name (eg, city) []:Chambery Locality Name (eg, city) []:Chambery
-Organization Name (eg, company) [Internet Widgits Pty Ltd]:chez_moi+Organization Name (eg, company) [Internet Widgits Pty Ltd]:
 Organizational Unit Name (eg, section) []: Organizational Unit Name (eg, section) []:
-Common Name (e.g. server FQDN or YOUR name) []:​monsite.com+Common Name (e.g. server FQDN or YOUR name) []:​monsite.com ​  ​
 Email Address []:​example@gmx.fr Email Address []:​example@gmx.fr
-</​code>​ +</​note>​ 
-<note+ 
-Pour un certificat auto-signéil faut répondre à la question ​"Common Name" ​le nom du domaine à protéger</note>+  * Il faut ensuite éditer le fichier /​etc/​apache2/​sites-available/​default-ssl pour ajouter le certificat et la clé privée. 
 +<code root>vim /​etc/​apache2/​sites-available/​default-ssl</​code>​ 
 +On ne va modifier que les lignes : 
 +<code       # ​  ​SSLCertificateFile directive is needed. 
 +        ​SSLCertificateFile ​   /​etc/​apache2/​ssl/​apache.crt 
 +        SSLCertificateKeyFile /​etc/​apache2/​ssl/​apache.key</​code>​ 
 + 
 +  * Restreindre les droits sur le fichier de clé privée, aux droits de lecture seulement, et pour root: 
 +<code root>​chmod 400 /​etc/​apache2/​ssl/​apache.key</​code>​ 
 + 
 +  * Il faut activer le module ssl : 
 +<code root>​a2enmod ssl</​code>​ 
 +puis 
 +<code root>​service apache2 restart</​code>​ 
 + 
 +La commande ''​a2enmod ssl''​ a crée dans /​etc/​apache2/​mods-enabledles liens symboliques,​ ''​ssl.conf''​ et ''​ssl.load''​ qui activent le module.\\  
 + 
 +<code root> ls /​etc/​apache2/​mods-enabled | grep ssl.*</​code>​ 
 +<​code>​ 
 +lrwxrwxrwx 1 root root 26 sept. 23 17:34 ssl.conf -> ../​mods-available/​ssl.conf 
 +lrwxrwxrwx 1 root root 26 sept. 23 17:34 ssl.load -> ../​mods-available/​ssl.load</​code>​ 
 + 
 +  * Il faut activer le site "default-ssl" 
 +<code root>​a2ensite default-ssl</code> 
 +<code root>​service apache2 reload</​code>
  
-  * On vérifie la commande oppenssl a crée deux fichiers :+-> Il correspond comme le site "​default"​ au fichier "/​etc/​apache2/​mods-enabled/​000-default
  
-<​code ​root>ls /etc/ssl/certs/ | grep monsite.com.crt</code> +  * Visualiser la page par défaut dans son navigateur : 
-<​code>​monsite.com.crt</​code>​+<​code>​https://192.168.0.13/</​code>​
  
-<code root>ls /​etc/​ssl/​private/​ | grep monsite.com.key</​code>​ +<​code>​It works!
-<​code>​monsite.com.key</​code>+
  
-  * Restreindre aux droits de lecture seulement et seulement pour root: +This is the default web page for this server. 
-<code root>​chmod 400 /etc/ssl/​private/​monsite.com.key</​code>​+La date du jour est 24/09/2014! </​code>​
  
  
  
doc/reseau/apache2/tp01.txt · Dernière modification: 01/11/2019 08:43 par smolski

Pied de page des forums

Propulsé par FluxBB