Certificat SSL/TLS serveur
Résolu/Fermé
A voir également:
- You are running composer with ssl/tls protection disabled
- Uac disabled - Guide
- Https //www.google.com/ gws_rd=ssl - Forum Réseaux sociaux
- Télécharger sans chiffrement ssl - Forum Réseaux sociaux
- Noteworthy composer - Télécharger - Création musicale
- Setup is already running ✓ - Forum Antivirus
1 réponse
avion-f16
Messages postés
19249
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2024
4 504
Modifié le 1 févr. 2022 à 14:49
Modifié le 1 févr. 2022 à 14:49
Bonjour,
Le certificat ne se configure pas au niveau du serveur pour protéger l'ensemble des services, mais individuellement sur chaque application que tu souhaites protéger.
Si le serveur dispose d'un service HTTP (Apache, Nginx, ...), c'est donc dans la configuration de ce logiciel qu'il faut activer TLS et préciser le chemin vers le certificat et la clé privée.
Si le serveur offre d'autres services (comme FTP, IMAP, ...), il faut alors recommencer la configuration pour chacun de ces services.
La documentation de chacune de ces applications devrait détailler la configuration TLS. Pour qu'on puisse t'aider davantage, sois plus spécifique (quels logiciels ? quelles erreurs ?).
Je redirigerai la question vers le bon forum car elle ne semble pas concerner les réseaux.
Le certificat ne se configure pas au niveau du serveur pour protéger l'ensemble des services, mais individuellement sur chaque application que tu souhaites protéger.
Si le serveur dispose d'un service HTTP (Apache, Nginx, ...), c'est donc dans la configuration de ce logiciel qu'il faut activer TLS et préciser le chemin vers le certificat et la clé privée.
Si le serveur offre d'autres services (comme FTP, IMAP, ...), il faut alors recommencer la configuration pour chacun de ces services.
La documentation de chacune de ces applications devrait détailler la configuration TLS. Pour qu'on puisse t'aider davantage, sois plus spécifique (quels logiciels ? quelles erreurs ?).
Je redirigerai la question vers le bon forum car elle ne semble pas concerner les réseaux.
1 févr. 2022 à 15:11
Je redirigerai la question vers le bon forum car elle ne semble pas concerner les réseaux.
Tout à fait, c'est plutôt du webmastering, si ce sont des serveurs web.
1 févr. 2022 à 15:13
J'ai développé une architecture dit de "Cyber Threat Intelligence", cela regroupe les outils comme MISP, TheHive, Cortex, Wazuh etc.
J'ai donc pour chaque outils, un conteneur ou une VM dédiés.
Ensuite, j'accède aux interfaces WEB de mes outils via des VMs clientes, dans le réseau local.
Tout ces outils resteront dans ce réseau local, c'est pour cela que les certificats auto-signés me paraissent suffisants.
En effet, j'ai trouvé quelques documentations tels que pour TheHive le lien suivant : http://docs.thehive-project.org/thehive/installation-and-configuration/configuration/ssl/
Cependant je voulais éclaircir les choses ...
Après avoir regardé sur internet, j'ai pu voir cela :
Créer une clé privée de 4096 bit encrypté avec AES 256 bit :
Ensuite génération du certificat déverrouillé :
A ce moment, j'ai donc une clé privée déverrouillée et une clé privée verrouillée.
Ensuite on créé un fichier de demande de signature : (Je ne sais pas trop pourquoi)
Et pour auto-signer mon certificat :
Une fois cela fait, je dois indiquer à chaque application, comme par exemple Apache, d’utiliser le certificat SSL, c'est cela ?
Cette manipulation doit être effectuée sur chaque machine (CT, VM) ?
PS : je m'excuse pour avoir choisi le mauvais forum
1 févr. 2022 à 15:57
Toutefois, puisque tu as l'intention d'émettre toi-même plusieurs certificats (plusieurs machines, plusieurs noms à protéger), je pense qu'il est préférable de mettre en place une PKI/CA plutôt que de générer des certificats un à un et devoir les accepter un à un en exception. De cette manière, il suffit d'ajouter le certificat de la CA sur une machine afin qu'elle accepte tous les certificats signés par cette CA.
> Une fois cela fait, je dois indiquer à chaque application, comme par exemple Apache, d’utiliser le certificat SSL, c'est cela ?
En effet, pour chaque nom que tu souhaites protéger par HTTPS, il faut que le serveur correspondant soit configuré avec un certificat qui couvre ce nom (attribut CN).
> Cette manipulation doit être effectuée sur chaque machine (CT, VM) ?
Je recommande plutôt de dédier une machine/container pour la création des certificats. Il est tout à fait possible de créer les certificats sur une machine et de les transférer vers la machine adéquate. En fait, si tu crées ta propre CA (autorité de certification), il devient même évident que la clé privé de la CA doit rester inaccessible aux autres machines.
Il y a plusieurs façons de procéder, mais le plus simple est de générer un certificat par nom que tu souhaites protéger (attribut CN). Si plusieurs machines hébergent le même nom (par exemple avec un load balancer), il vaut mieux créer un certificat par machine, plutôt que de distribuer le même certificat sur ces machines. Ainsi, si une machine est compromise, tu peux révoquer le certificat de cette machine sans impacter les autres.
Il est aussi possible d'utiliser l'extension SAN (Subject Alternative Name) mais je m'en sers uniquement dans le cas d'un domaine + un wildcard sur tous ses sous-domaines. Si par exemple mon serveur #1 gère plusieurs services, je vais générer un seul certificat avec CN=server1.example.com et en SAN je mets *.server1.example.com. De cette manière, cette machine dispose d'un seul certificat qui gère monapp.server1.example.com, autreapp.server1.example.com, etc.
> PS : je m'excuse pour avoir choisi le mauvais forum
Pas de soucis, les questions concernant les serveurs surfent un peu sur plusieurs forums à la fois (Linux, webmastering, réseau, ...).
1 févr. 2022 à 17:13
En effet, l'idée de créé une machine dédiée pour la création de certificats me convient très bien.
J'ai juste quelques dernières questions : lorsque j'ai effectué les commandes ci-dessus, j'ai effectivement dû donner un attribut CN. Cependant, je n'ai pas de nom de domaine, le serveur auquel je me connecte via le client est par exemple http://192.168.x.x:port. Je n'ai pas de nom dédié, cela pose problème ?
Si je prend l'exemple de Cortex, un service que je start sur un CT d'adresse hôte 192.168.x.x.
Je dois configurer son fichier .conf, soit les lignes suivantes :
Si je comprend bien, je dois indiquer le chemin du certificat, le mot de passe etc.
Avant d'avoir fait cela, j'ai généré via les commandes ci-dessus un certificat dédié au CN cortex, mais c'est ici que j'ai un doute.
1 févr. 2022 à 22:38
> In some cases, the URI is specified as an IP address rather than a
> hostname. In this case, the iPAddress subjectAltName must be present
> in the certificate and must exactly match the IP in the URI.
> — https://www.rfc-editor.org/rfc/rfc2818#section-3.1
Pour générer des certificats avec un SAN :
https://medium.com/@antelle/how-to-generate-a-self-signed-ssl-certificate-for-an-ip-address-f0dd8dddf754
Je ne connais pas le logiciel Cortex mais la configuration que tu montres semble concerner un mécanisme d'authentification (sûrement basé sur TLS) entre plusieurs nodes/applications, cela ne concerne apparemment pas la configuration du serveur HTTP(S).
La documentation indique que Cortex doit être rendu accessible derrière un proxy (comme Nginx) et c'est le proxy qui prend en charge la connexion HTTPS/TLS entre le visiteur et le proxy.
https://github.com/TheHive-Project/CortexDocs/blob/master/admin/admin-guide.md#https