ssl
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
ssl [2022/10/10 14:31] – [Mode opératoire] admin | ssl [2025/02/15 12:16] (Version actuelle) – [Redirection de HTTP vers HTTPS] administrateur | ||
---|---|---|---|
Ligne 18: | Ligne 18: | ||
La démarche est commune quel que soit le service que l'on souhaite sécuriser. | La démarche est commune quel que soit le service que l'on souhaite sécuriser. | ||
Seuls les fichiers à modifier changent d'un service à l' | Seuls les fichiers à modifier changent d'un service à l' | ||
- | < | + | < |
- | | + | Créer le répertoire pour stocker les clés et certificats |
- Créer la clé privée | - Créer la clé privée | ||
- Créer le certificat X509 à partir de la clé privée en renseignant toutes les informations demandées | - Créer le certificat X509 à partir de la clé privée en renseignant toutes les informations demandées | ||
- | - Paramétrer le service concerné | + | - Paramétrer le service concerné |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- Tester depuis un client en lui indiquant l' | - Tester depuis un client en lui indiquant l' | ||
- | - Éventuellement, | + | * Éventuellement, |
</ | </ | ||
- | ==== Mode opératoire ==== | + | ===== Mode opératoire ===== |
- | + | ||
- | === Mise en place d'un certificat avec OpenSSL | + | |
{{ : | {{ : | ||
- | //OpenSSL// est une transposition //Open Source// ([[http:// | + | //OpenSSL// est une transposition //Open Source// ([[http:// |
Le nom est resté //OpenSSL// mais la bibliothèque supporte aussi la version TLS. | Le nom est resté //OpenSSL// mais la bibliothèque supporte aussi la version TLS. | ||
+ | |||
//OpenSSL// gère de nombreux <wrap em> | //OpenSSL// gère de nombreux <wrap em> | ||
+ | |||
+ | ==== Installation des outils ==== | ||
__Installer la bibliothèque OpenSSL__ | __Installer la bibliothèque OpenSSL__ | ||
Ligne 48: | Ligne 50: | ||
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//). | ||
- | == 1 : Création d'une clé privée == | + | ==== Mise en place d'un certificat avec OpenSSL ==== |
+ | |||
+ | === 1 : Création d'une clé privée | ||
La base des techniques de <wrap em> | La base des techniques de <wrap em> | ||
Ligne 56: | Ligne 60: | ||
<code lscript> | <code lscript> | ||
+ | <WRAP center round info 100%> | ||
__Exemple : créer une clé privée dans le dossier private__ | __Exemple : créer une clé privée dans le dossier private__ | ||
- | <code lscript> | + | {{ : |
cd / | cd / | ||
openssl genrsa -out cleGSB.key 2048 | openssl genrsa -out cleGSB.key 2048 | ||
- | </ | + | </ |
+ | </ | ||
On pourra alors éditer la clé (avec nano) 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 === |
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Ligne 80: | Ligne 87: | ||
* Création d'un d'une <wrap em> | * Création d'un d'une <wrap em> | ||
- | si la signature est faite par la même machine que la demande, le certificat est auto-signé et génèrera une alerte sur les navigateurs | + | si la signature est faite par la même machine que la demande, le <wrap em>certificat est auto-signé</ |
</ | </ | ||
<code lscript> | <code lscript> | ||
Ligne 88: | Ligne 95: | ||
<code lscript> | <code lscript> | ||
+ | <WRAP center round info 100%> | ||
__Exemple : création d'un certificat dans le dossier des certificats SSL à partir de la clé RSA__ | __Exemple : création d'un certificat dans le dossier des certificats SSL à partir de la clé RSA__ | ||
- | <WRAP group> | ||
- | <WRAP half column> | ||
<code lscript> | <code lscript> | ||
cd / | cd / | ||
Ligne 96: | Ligne 102: | ||
openssl x509 -req -days 365 -in GSBCertGen.csr -signkey ../ | openssl x509 -req -days 365 -in GSBCertGen.csr -signkey ../ | ||
</ | </ | ||
+ | |||
</ | </ | ||
- | < | + | < |
- | <WRAP center | + | |
Penser à adapter les valeurs à votre environnement | Penser à adapter les valeurs à votre environnement | ||
- | </ | ||
- | </ | ||
</ | </ | ||
Ligne 112: | Ligne 116: | ||
===== Configuration d' | ===== Configuration d' | ||
+ | ====Activation du module SSL==== | ||
La configuration nécessite l' | La configuration nécessite l' | ||
- | | + | <code lscript> |
| | ||
// | // | ||
<WRAP center round tip 90%> | <WRAP center round tip 90%> | ||
- | Si la commande a2enmod ne fonctionne pas, faire les commandes suivantes : | + | <wrap em>Si la commande a2enmod ne fonctionne pas</ |
* cp / | * cp / | ||
* cp / | * cp / | ||
Ligne 126: | Ligne 131: | ||
| | ||
+ | <WRAP center round <WRAP center round info 90%> | ||
+ | |||
**__Contrôle__** | **__Contrôle__** | ||
Ligne 131: | Ligne 138: | ||
<code apache> | <code apache> | ||
+ | |||
+ | |||
+ | </ | ||
Dans le fichier // | Dans le fichier // | ||
+ | ====Prise en charge des éléments de sécurité==== | ||
Se placer dans le dossier // / | Se placer dans le dossier // / | ||
<code lscript> | <code lscript> | ||
Ligne 139: | Ligne 150: | ||
nano 000-default.conf | nano 000-default.conf | ||
</ | </ | ||
+ | |||
On <wrap em> | On <wrap em> | ||
<code apache> | <code apache> | ||
Ligne 153: | Ligne 165: | ||
</ | </ | ||
- | Il faudra redémarrer Apache, qui indiquera si une erreur éventuelle est rencontrée (dans le chemin, dans le nom du fichier, dans le contenu du certificat, etc). | + | Il faudra |
+ | <code lscript> | ||
- | __Contrôle | + | ====Contrôle |
Dans la barre de navigation du navigateur, on tapera [[https://< | Dans la barre de navigation du navigateur, on tapera [[https://< | ||
Ligne 163: | Ligne 176: | ||
Du fait que le certificat que nous avons créé n'est pas garanti par un organisme officiel, le navigateur met en garde sur le manque de confiance accordée à un certificat signé par son créateur. | Du fait que le certificat que nous avons créé n'est pas garanti par un organisme officiel, le navigateur met en garde sur le manque de confiance accordée à un certificat signé par son créateur. | ||
On doit vérifier qu'un cadenas fermé au bas du navigateur atteste d'une navigation sécurisée. | On doit vérifier qu'un cadenas fermé au bas du navigateur atteste d'une navigation sécurisée. | ||
+ | |||
+ | ===== Redirection de HTTP vers HTTPS ===== | ||
+ | Lorsqu' | ||
+ | |||
+ | Pour cela, dans le **// | ||
+ | <code apache> | ||
+ | < | ||
+ | //ligne à ajouter en adaptant l adresse du serveur | ||
+ | Redirect permanent / https://< | ||
+ | |||
+ | </ | ||
+ | </ | ||
===== Configuration de ProFTP avec SSL/TLS ===== | ===== Configuration de ProFTP avec SSL/TLS ===== | ||
+ | ====Activation du module TLS==== | ||
Pour commencer, on devra indiquer dans le fichier /// | Pour commencer, on devra indiquer dans le fichier /// | ||
<code lscript> | <code lscript> | ||
- | On ira ensuite préciser au fichier // | + | On ira ensuite préciser au fichier // |
+ | <code lscript> | ||
+ | On dé-commentera la ligne suivante : | ||
<code apache> | <code apache> | ||
+ | |||
+ | ====Prise en charge des éléments de sécurité==== | ||
+ | La configuration se passe dans le fichier tls.conf: | ||
+ | <code lscript> | ||
Dans ce fichier // | Dans ce fichier // | ||
<code apache> | <code apache> | ||
< | < | ||
- | TLSEngine on #active le TLS | + | #active le TLS |
- | TLSLog / | + | TLSEngine on |
- | TLSProtocol SSLv23 | + | # dossier pour enregistrer les journaux tls |
- | TLSRSACertificateFile / | + | TLSLog / |
- | TLSRSACertificateKeyFile / | + | # versions supportées (2 et 3) |
- | TLSVerifyClient off # n' | + | TLSProtocol SSLv23 |
- | # | + | #chemin du certificat |
+ | TLSRSACertificateFile / | ||
+ | | ||
+ | TLSRSACertificateKeyFile / | ||
+ | # n' | ||
+ | TLSVerifyClient off | ||
+ | | ||
+ | # | ||
</ | </ | ||
</ | </ | ||
Il faudra bien entendu redémarrer le service //proftpd// qui indiquera si une erreur est rencontrée (dans le chemin, dans le nom du fichier, dans le contenu du certificat, etc). | Il faudra bien entendu redémarrer le service //proftpd// qui indiquera si une erreur est rencontrée (dans le chemin, dans le nom du fichier, dans le contenu du certificat, etc). | ||
+ | <code lscript> | ||
==== Test depuis le client ==== | ==== Test depuis le client ==== | ||
Ligne 193: | Ligne 233: | ||
On accèdera depuis un client FTP en contactant le serveur par une connexion //FTP SSL/TLS Explicite// (ici sous FileZilla Client). | On accèdera depuis un client FTP en contactant le serveur par une connexion //FTP SSL/TLS Explicite// (ici sous FileZilla Client). | ||
- | {{: | + | {{ : |
On rencontrera une mise en garde indiquant que le certificat n' | On rencontrera une mise en garde indiquant que le certificat n' | ||
- | {{: | + | {{ : |
===== Sources ===== | ===== Sources ===== | ||
* [[http:// | * [[http:// | ||
ssl.1665412290.txt.gz · Dernière modification : de admin