Imad’s wiki
GithubLinkedInXMailHashnode
  • ADMINISTRATION LINUX
    • Linux et ses distributions
    • Commandes Utiles
    • Gestion des paquets
    • SSH
    • Partitionnement LVM
  • Base de données
    • PostgreSQL
      • Quelques commandes Postgres
      • Mise à jour de Postgresql sous windows
  • Tutoriels
    • Securité
      • Wazuh
      • Intégration Debian sur Active Directory
      • Certificat SSL
    • SingleSignOn
      • Authentik
      • SAML + CENTREON
      • OpenID + Apache Guacamole
      • OpenID + Proxmox
    • Git
      • Git
    • Infra-As-Code
      • Terraform + Proxmox
      • Ansible
    • Conteneurisation
      • Docker
        • Quelques commandes Docker utiles
Powered by GitBook
On this page
  • Création de la clé privée:
  • Création du signature request:
  • Signature

Was this helpful?

  1. Tutoriels
  2. Securité

Certificat SSL

Générer un certificat SSL autosigné ou signé avec un CA avec un Subject Alt Name ( SAN )

Création de la clé privée:

sudo openssl genrsa -out example.key 2048

Déposer la clé dans /etc/ssl/private

Créer un ficher de conf avec l'option subjectAltName qui contiendra le common name du service ainsi que l'ip

vi template.conf 
[ req ]
prompt = no
distinguished_name = dn
req_extensions = req_ext
[ dn ]
CN = testweb.domain.tld
emailAddress = mail@domain.tld
O = Organisation
OU = FIKARA
L = PARIS
ST = PARIS
C = FR
[ req_ext ]
subjectAltName = DNS:testweb.domain.tld, IP: ip_du_serveur_web_correspondant

Pour que cela fonctionne correctement, le nom de domaine testweb.domain.tld doit résoudre vers l'adresse IP ip_du_serveur_web_correspondant

Création du signature request:

sudo openssl req -new -config template.conf -key example.key -out testwebsign.csr

Signature

Déposer la clé et la demande de signature .csr respectivement dans /etc/ssl/private et /etc/ssl/certs

Pour signer la CSR et générer un certificat auto-signé :

sudo openssl x509 -req -in testwebsign.csr -signkey /etc/ssl/private/example.key -out /etc/ssl/certs/testwebsign.crt -days 365 -extensions req_ext -extfile template.conf

Si vous avez une autorité de certification (CA), utilisez-la pour signer la CSR :

sudo openssl x509 -req -in testwebsign.csr -CA myCA.crt -CAkey myCA.key -CAcreateserial -out testwebcert.crt -days 365 -sha256 -extfile template.conf -extensions req_ext

myCA.crt représente le certificat de l'autorité de certification.

Si vous avez déjà configuré une CA sur un serveur, le certificat de la CA devrait se trouver à un emplacement spécifique (souvent dans /etc/ssl/certs/ ou /etc/pki/CA/) et la clée privée associée dans /etc/ssl/private/. Vous pouvez le vérifier avec ces commandes : ls /etc/ssl/certs/myCA.crt et ls /etc/ssl/private/myCA.key

Remplacez myCA.crt par le nom du fichier de certificat de votre CA myCA.key par le nom du fichier de clée privée de votre CA

Installer le certificat

Copier le certificat signé et la clé privée dans les répertoires appropriés :

sudo cp testwebcert.crt /etc/ssl/certs/
sudo cp /etc/ssl/private/example.key /etc/ssl/private/
sudo chmod 600 /etc/ssl/private/example.key

Si vous utilisez un ADCS ( Rôle de certificat sur Active Directory ), vous pouvez générer votre certificat ( .cer, .crt , .pfx ) avec "certsrv.msc" : vous importerez la demande de signature .csr et choisirez comme modèle de certificat " Serveur Web " ou un autre basé sur un server web

Configurer le serveur pour utiliser le certificat

Configurer votre serveur web pour utiliser le certificat. Par exemple, dans Nginx :


server {
    listen 443 ssl;
    server_name testweb.domain.tld;

    ssl_certificate /etc/ssl/certs/testwebsign.crt;
    ssl_certificate_key /etc/ssl/private/example.key;

    # Autres configurations...
}

Tester le certificat

Enfin, testez le certificat en accédant à https://testweb.domain.tld dans votre navigateur.

PreviousIntégration Debian sur Active DirectoryNextSingleSignOn

Last updated 8 months ago

Was this helpful?

Page cover image