User Tools

Site Tools


dev:configuration_des_certificats_ssl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dev:configuration_des_certificats_ssl [2020/01/31 08:09]
rdaulie
— (current)
Line 1: Line 1:
-Connectez-vous sous root et allez dans le répertoire de configuration de votre serveur Apache2 /etc/apache2 (on peut évidemment choisir un autre répertoire) et créez un répertoire appelé ssl. Vous vous placerez dans ce répertoire afin que les clés et les certificats soient créés à l'intérieur avant d'effectuer les manipulations. 
-Création du certificat serveur 
  
-Génération de la clé privée 
- 
-On génère la clef privée avec la commande suivante en définissant un nom de fichier : 
-<code bash> 
-openssl genrsa 1024 > servwiki.key 
-</code> 
-La sortie attendue est la suivante : 
-<code bash> 
-Generating RSA private key, 1024 bit long modulus 
- ..................++++++ 
- .................................................................++++++ 
- e is 65537 (0x10001) 
-</code> 
- 
-Si vous souhaitez que cette clé ait un mot de passe (qui vous sera demandé à chaque démarrage d'apache, donc à éviter !), ajoutez "-des3" après "genrsa". 
- 
-Ceci a pour effet de créer une clé SSL (fichier servwiki.key), ne la perdez pas... c'est votre clé privée... (ni éventuellement le mot de passe) ! 
- 
-Vous pouvez observer son contenu : less servwiki.key 
- 
-<code bash> 
------BEGIN RSA PRIVATE KEY----- 
-MIICXgIBAAKBgQDQG9wvnuLC4aqzaJCAWGA1AxFzg00hjPObhq1mukzsGyuuWBFG 
-vj/k9vFNYX55DHctb/4cXtsZRWWvgcjtYnCVwRu+DAjFsk//kOMfhplmiv9xQ+ZL 
-8w/Xrnm8JWdSS+S4LCMnsuIiQtLbhMrQnUV02hAtbIZiSM3k6OjShEZhDQIDAQAB 
-AoGAHi0cBW+1k+qjFPbBlUq7UJSMUEKmyYmlvVSPCklTZB0gfVxZzPdDTpEcNks/ 
-yo+rLFSD9Vsvy/9LGmLoXruadWlK67PCUnpM5/oRRGgy8t73YKrxflAU5Gtymjvc 
-ZCf0CAs6wBft3yLU31Qc4WqVM2vTyUH76jebVhxEw8k63OUCQQD/1OmAXV+TxBPG 
-ZTPFbzUeAE5rQqqOW4aoMNvM61Yn/19h6SzY2MfSQvF1BNns/efCRrqOMeyvPWUG 
-g1okfogTAkEA0D7pDf/D2Yu5msbOAGF4QBU1erLzpi/s6Rv6VEPYCGnHQlo3jbg9 
-FZbjHJ4UcYyYaA8jIrkY+FIJM88YlGbWXwJBAILEdvJ5R/CFCkKf2j2yIWmLaIol 
-En8fw43XI5L0PB7Hxx6KDLVu4XzVYQyahTZBdqR0eMlUNZJBhJE2tO3wi2cCQQCp 
-JkCFd3es0BrNxqfzlThozRFofcz88za7TldydL0YcFtC4Sb4vWsYizwktZ6jcPEm 
-rQz8Gl9W7MO+ynwLptB/AkEA1tsnFXoYzI71enmTdugGxbv0RqAd5iQpDYQkDSdn 
-2LImp/3YnXNJ9qpY91j87tKthh/Oetu6SHlmLg1LOYNIdw== 
------END RSA PRIVATE KEY----- 
-</code> 
- 
-Protégez votre fichier en faisant : chmod 400 servwiki.key 
- 
-De multiples autres options sont possibles mais il est inutile d'alourdir le sujet (à creuser pour une éventuelle PTI...) 
- 
-A partir de votre clé, vous allez maintenant créer un fichier de demande de signature de certificat (CSR Certificate Signing Request). 
- 
-On génère la demande de certificat avec la commande suivante : 
- 
-<code bash> 
-openssl req -new -key servwiki.key > servwiki.csr 
-</code> 
- 
-Le système va vous demander de saisir des champs ; remplissez-les en adaptant sauf le champ "Common Name" qui doit être identique au nom d'hôte de votre serveur virtuel : 
-<code bash> 
-Country Name (2 letter code) [AU]:be 
-State or Province Name (full name) [Some-State]:brussels 
-Locality Name (eg, city) []:brussels 
-Organization Name (eg, company) [Internet Widgits Pty Ltd]:ulb 
-Organizational Unit Name (eg, section) []:ltc 
-Common Name (eg, YOUR name) []:ltc.ulb.ac.be 
-Email Address []: 
-</code> 
- 
-Ce n'est pas la peine de saisir d'autres "extra attributes"... 
- 
-Ceci a pour effet de créer le formulaire de demande de certificat (fichier servwiki.csr) à partir de notre clé privée préalablement créée. 
- 
-Ce fichier contient la clé publique à certifier. Un less servwiki.csr nous donne : 
-<code bash> 
------BEGIN CERTIFICATE REQUEST----- 
-MIIBsTCCARoCAQAwcTELMAkGA1UEBhMCRlIxFTATBgNVBAgTDENvcnNlIGR1IFN1 
-ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UEChMDTExCMREwDwYDVQQLEwhCVFMg 
-SU5GTzEYMBYGA1UEAxMPcHJvZi5idHNpbmZvLmZyMIGfMA0GCSqGSIb3DQEBAQUA 
-A4GNADCBiQKBgQDSUagxPSv3LtgDV5sygt12kSbN/NWP0QUiPlksOkF2NkPfwW/m 
-f55dD1hSndlOM/5kLbSBo5ieE3TgikF0IktjBWm5xSqewM5QDYzXFt031DrPX63F 
-vo+tCKTQoVItdEuJPMahVsXnDyYHeUURRWLWwc0BzEgFZGGw7wiMF6wt5QIDAQAB 
-oAAwDQYJKoZIhvcNAQEEBQADgYEAwwI4UvkfhBvyRrUXtjrLfZXLxZlF9o+URmHJ 
-ysvrLKfesVBEzdA9mqk1OwIwLfe8Fw2fhip2LGqvcCPxDMoIE/0cDkqGRg9iKp7D 
-DMuy69lPTEB6UtpVKO/1eage0oug6VqdfGAYMMSGyWFuO9FE4UE6HspVodb20wGV 
-4H8qZuk= 
------END CERTIFICATE REQUEST----- 
-</code> 
- 
-Maintenant il faut envoyer le fichier .csr à la Cellule Web/Centre de Calcul (Michel Jansens) et ainsi obtenir le certificat dûment signé par la société DigiCert. Ce certificat est placé dans le même répertoire que la clef /etc/apache2/ssl/ 
- 
-En pratique on reçoit deux fichiers crt ; un qui correspond au serveur à sécuriser et un autre de l'Autorité de Certification. Ces deux fichiers doivent être mentionnés dans la configuration d'Apache. 
- 
- 
-GnuTLS ne gère pas tout à fait les mêmes directives que mod_ssl pour l’indication des certificats, clés et chaînes nécessaires. 
- 
-Les directives suivantes remplacent celles de mod_ssl : 
- 
-    GnuTLSCertificateFile remplace SSLCertificateFile ; 
-    GnuTLSKeyFile remplace SSLCertificateKeyFile ; 
-    GnuTLSClientCAFile remplace SSLCACertificateFile (?); 
- 
-Par contre il n’y a pas de directives pour remplacer : 
- 
-    SSLCertificateChainFile ; 
-     
- 
-Ces deux dernières directives permettent de spécifier pour mod_ssl des certificats intermédiaires ou chainés. 
- 
- 
-On ajoute dans notre virtualhost : 
-<code bash> 
-GnuTLSEnable  on 
-GnuTLSKeyFile /etc/apache2/ssl/ltc.key 
-GnuTLSCertificateFile /etc/apache2/ssl/ltc.pem 
-GnuTLSPriorities NONE:+VERS-TLS1.1:+VERS-TLS1.0:+AES-256-CBC:+DHE-RSA:+RSA:+SHA1:+COMP-NULL:+COMP-DEFLATE 
-</code> 
- 
- 
-Références en ligne :  
- 
-http://blog.lumo.fr/securiser-les-virtualhosts-dapache-grace-a-gnutls.html 
dev/configuration_des_certificats_ssl.1580458190.txt.gz · Last modified: 2024/04/04 10:18 (external edit)