Outils pour utilisateurs

Outils du site


linux:nginx (lu 30104 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
linux:nginx [12-05-2026 20:00] – [Création du notre Autorité de Certification (CA)] edmc73linux:nginx [10-07-2026 19:42] (Version actuelle) – [Convertir pour le smartphone (.p12)] edmc73
Ligne 74: Ligne 74:
   dpkg -i geoipupdate_7.1.0_linux_amd64.deb   dpkg -i geoipupdate_7.1.0_linux_amd64.deb
  
-<code>+<code bash>
 # configuration # configuration
 vi /etc/GeoIP.conf vi /etc/GeoIP.conf
Ligne 105: Ligne 105:
 Pour Nginx Pour Nginx
  
-<code>+<code nginx>
 #Fichier de config pour spécifier l'emplacement de la base de données #Fichier de config pour spécifier l'emplacement de la base de données
 vi /etc/nginx/conf.d/geoip2.conf vi /etc/nginx/conf.d/geoip2.conf
Ligne 125: Ligne 125:
   apt install mmdb-bin   apt install mmdb-bin
  
-<code>+<code json>
 mmdblookup --file /usr/share/GeoIP/GeoLite2-Country.mmdb --ip 152.65.252.11 mmdblookup --file /usr/share/GeoIP/GeoLite2-Country.mmdb --ip 152.65.252.11
  
Ligne 213: Ligne 213:
 Config pour restreindre par pays Config pour restreindre par pays
  
-<code>+<code nginx>
 server{ server{
     server_name toto.com; # managed by Certbot     server_name toto.com; # managed by Certbot
Ligne 278: Ligne 278:
 # Générer la clé du smartphone # Générer la clé du smartphone
 openssl genrsa -out smartphone.key 4096 openssl genrsa -out smartphone.key 4096
 +
 # Créer la demande de signature # Créer la demande de signature
 openssl req -new -key smartphone.key -out smartphone.csr openssl req -new -key smartphone.key -out smartphone.csr
 +
 # Signer le certificat avec votre CA # Signer le certificat avec votre CA
 +# Notez qu'on défini ici un numéro de série 01
 openssl x509 -req -days 365 -in smartphone.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out smartphone.crt openssl x509 -req -days 365 -in smartphone.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out smartphone.crt
 </code> </code>
  
 +C'est ici qu'il faut être vigilant :
 +  * Country Name : FR
 +  * Organization Name : Ma Maison (Le même que le CA, c'est mieux).
 +  * Common Name : Smartphone-Jean (Il doit être différent du CN de l'autorité).
 ==== Convertir pour le smartphone (.p12) ==== ==== Convertir pour le smartphone (.p12) ====
 <code> <code>
Ligne 290: Ligne 297:
 Un mot de passe sera demandé, il permet de sécuriser le fichier car il contient à la fois le certificat et sa clé privée. Un mot de passe sera demandé, il permet de sécuriser le fichier car il contient à la fois le certificat et sa clé privée.
  
 +Pour lire le contenu de ce fichier
 +  openssl pkcs12 -in smartphone.p12 -info -nodes
  
  
-Envoyez ce fichier .p12 à votre téléphone et installez-le dans les paramètres / Sécurité et confidentialité / Autres options de sécurité et confidentialité / Chiffrement et identifiants / Installer un certificat / Certificat utilisateur VPN et appli+Envoyez ce fichier .p12 à votre téléphone et installez-le dans les ''paramètres'' ''Sécurité et confidentialité'' ''Autres options de sécurité et confidentialité'' ''Chiffrement et identifiants'' ''Installer un certificat'' ''Certificat utilisateur VPN et appli''
  
 Le mot de passe sera demandé lors de l'installation du certificat sur l'appareil. Le mot de passe sera demandé lors de l'installation du certificat sur l'appareil.
 +
 +Sur Chrome, il faut aller ici -> ''[[chrome://certificate-manager/clientcerts/platformclientcerts]]''
 +
 +Sur Zen browser, ''about:preferences#connectionSecurity'' puis ''Gérer les certificats'', sur l'onglet ''Vos certificats'', cliquez sur ''Importer...''
 ==== Configuration Nginx ==== ==== Configuration Nginx ====
-<code>+<code nginx>
 server { server {
     listen 443 ssl;     listen 443 ssl;
Ligne 315: Ligne 328:
 } }
 </code> </code>
 +
 +==== Révocation de certificat ====
 +
 +Générer et gérer une CRL (Certificate Revocation List) demande un peu d'organisation, car il faut tenir une sorte de petit "registre" de vos certificats.
 +
 +Voici la procédure étape par étape pour révoquer un certificat et générer ce fichier.
 +
 +=== 1. Préparer l'infrastructure de révocation ===
 +Pour qu'OpenSSL puisse gérer une liste noire, il a besoin d'un fichier texte qui sert de base de données (index.txt) et d'un fichier pour le numéro de série de la future CRL.
 +
 +Exécutez ces commandes dans le dossier où se trouvent vos clés :
 +
 +<code bash>
 +touch index.txt
 +echo 1000 > crl_number
 +</code>
 +
 +=== 2. Créer un fichier de configuration minimal (crl.conf) ===
 +OpenSSL a besoin de savoir où chercher les informations. Créez un fichier nommé crl.conf et collez ceci dedans :
 +
 +<code ini>
 +[ ca ]
 +default_ca = CA_default
 +
 +[ CA_default ]
 +database = ./index.txt
 +crlnumber = ./crl_number
 +certificate = ./ca.crt
 +private_key = ./ca.key
 +default_md = sha256
 +</code>
 +
 +=== 3. Révoquer le certificat compromis ===
 +Imaginons que le certificat à bannir soit smartphone.crt.
 +
 +  openssl ca -config crl.conf -revoke smartphone.crt
 +
 +Cette commande va mettre à jour le fichier ''index.txt'' en marquant ce certificat comme révoqué (indiqué par un "R").
 +
 +=== 4. Générer le fichier .crl pour Nginx ===
 +Maintenant, créez le fichier que Nginx pourra lire :
 +
 +  openssl ca -config crl.conf -gencrl -out liste_noire.crl
 +
 +=== 5. Configurer Nginx Proxy Manager ===
 +Dans l'onglet Advanced de votre hôte Home Assistant, ajoutez cette ligne :
 +
 +  ssl_crl /data/custom_ssl/liste_noire.crl;
 +
 +(Assurez-vous que le fichier est bien présent dans le volume Docker de NPM, comme pour le ca.crt).
  
  
linux/nginx.1778616011.txt.gz · Dernière modification : de edmc73