Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
ssl [2020/09/25 13:42] wikisio |
ssl [2021/09/08 09:50] wikisio |
||
---|---|---|---|
Ligne 42: | Ligne 42: | ||
__Installer la bibliothèque OpenSSL__ | __Installer la bibliothèque OpenSSL__ | ||
<code lscript> | <code lscript> | ||
+ | |||
+ | __Installer les outils de manipulation des éléments de sécurité__ | ||
+ | <code lscript> | ||
Cet outil propose notamment des commandes pour la création de clé secrète (//gendh//, //genrsa//, ...) ou la génération de certificat (//x509//). | Cet outil propose notamment des commandes pour la création de clé secrète (//gendh//, //genrsa//, ...) ou la génération de certificat (//x509//). | ||
Ligne 47: | Ligne 50: | ||
== 1 : Création d'une clé privée == | == 1 : Création d'une clé privée == | ||
- | La base des techniques de cryptage asymétrique repose sur la présence, à un endroit unique, d'une **clé privée**. | + | La base des techniques de <wrap em>cryptage asymétrique</ |
- | Elle permettra de créer une **clé publique** (dans un **certificat**) et de décrypter ce qui aura été chiffré par cette **clé publique**. | + | Elle permettra de créer une **//clé publique//** (dans un **//certificat//**) et de décrypter ce qui aura été chiffré par cette **//clé publique//**. |
On utilisera (pour l' | On utilisera (pour l' | ||
<code lscript> | <code lscript> | ||
- | __Exemple : crée une clé privée dans un dossier | + | __Exemple : créer |
<code lscript> | <code lscript> | ||
- | cd /etc/ssl | + | cd /etc/ssl/private |
- | mkdir mesCles | + | |
- | cd mesCles | + | |
openssl genrsa -out cleGSB.key 2048 | openssl genrsa -out cleGSB.key 2048 | ||
</ | </ | ||
- | On pourra alors éditer la clé et en lire le contenu (évidemment inaccessible). | + | On pourra alors éditer la clé (avec nano) et en lire le contenu (évidemment inaccessible). |
Cette même clé peut servir à établir des certificats différents pour des usages distincts (serveur FTP, serveur Web, messagerie, etc). | Cette même clé peut servir à établir des certificats différents pour des usages distincts (serveur FTP, serveur Web, messagerie, etc). | ||
== 2 : Création d'un certificat X509 == | == 2 : Création d'un certificat X509 == | ||
- | La clé privée ne doit jamais être diffusée. On va donc générer la partie publique sous forme d'un certificat. | + | <wrap em>La clé privée ne doit jamais être diffusée</ |
Pour que ce dernier soit accessible aux navigateurs, | Pour que ce dernier soit accessible aux navigateurs, | ||
+ | |||
+ | Les certificats sont à stocker dans le dossier **// | ||
La création va donc passer par deux étapes : | La création va donc passer par deux étapes : | ||
Ligne 79: | Ligne 83: | ||
<code lscript> | <code lscript> | ||
- | __Exemple : création d'un certificat dans un dossier | + | __Exemple : création d'un certificat dans le dossier |
<WRAP group> | <WRAP group> | ||
<WRAP half column> | <WRAP half column> | ||
<code lscript> | <code lscript> | ||
- | cd /etc/ssl | + | cd /etc/ssl/certs |
- | mkdir mesCertifs | + | openssl req -new -key ../private/cleGSB.key -out GSBCertGen.csr |
- | cd mesCertifs | + | openssl x509 -req -days 365 -in GSBCertGen.csr -signkey ../private/cleGSB.key -out GSBcertif.crt |
- | openssl req -new -key ../mesCles/cleGSB.key -out GSBCertGen.csr | + | |
- | openssl x509 -req -days 365 -in GSBCertGen.csr -signkey ../mesCles/cleGSB.key -out GSBcertif.crt | + | |
</ | </ | ||
</ | </ | ||
Ligne 110: | Ligne 112: | ||
| | ||
// | // | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Si la commande ne fonctionne pas, faire les commandes suivantes : | ||
+ | * cp / | ||
+ | * cp / | ||
+ | * cp / | ||
+ | * systemctl restart apache2 ou service apache2 restart | ||
+ | </ | ||
+ | |||
+ | | ||
On peut alors voir dans /// | On peut alors voir dans /// | ||
Ligne 122: | Ligne 134: | ||
nano 000-default.conf | nano 000-default.conf | ||
</ | </ | ||
- | On **ajoutera** un hôte virtuel pour cette écoute : | + | On <wrap em>ajoutera</ |
<code apache> | <code apache> | ||
#on adaptera le numéro de port conformément à ce qui a été écrit dans ports.conf | #on adaptera le numéro de port conformément à ce qui a été écrit dans ports.conf | ||
Ligne 128: | Ligne 140: | ||
DocumentRoot / | DocumentRoot / | ||
SSLEngine on # active le SSL | SSLEngine on # active le SSL | ||
- | SSLCertificateFile /etc/ssl/mesCertifs/ | + | SSLCertificateFile /etc/ssl/certs/ |
- | SSLCertificateKeyFile /etc/ssl/mesCles/ | + | SSLCertificateKeyFile /etc/ssl/private/ |
</ | </ | ||
</ | </ | ||
Ligne 137: | Ligne 149: | ||
__Contrôle depuis un navigateur__ | __Contrôle depuis un navigateur__ | ||
- | Dans la barre de navigation du navigateur, on tapera [[https:// | + | Dans la barre de navigation du navigateur, on tapera [[https://<adresseServeur>]]. |
{{: | {{: | ||
Ligne 160: | Ligne 172: | ||
TLSLog / | TLSLog / | ||
TLSProtocol SSLv23 # versions supportées (2 et 3) | TLSProtocol SSLv23 # versions supportées (2 et 3) | ||
- | TLSRSACertificateFile /etc/ssl/mesCertifs/ | + | TLSRSACertificateFile /etc/ssl/certs/ |
- | TLSRSACertificateKeyFile /etc/ssl/mesCles/cleGSB.key # chemin de la clé | + | TLSRSACertificateKeyFile /etc/ssl/private/cleGSB.key # chemin de la clé |
TLSVerifyClient off # n' | TLSVerifyClient off # n' | ||
# | # |