Outils pour utilisateurs

Outils du site


linux:nginx (lu 30102 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 [11-05-2026 21:33] – [Convertir pour le smartphone (.p12)] 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 267: Ligne 267:
 </code> </code>
  
 +Quand la commande vous demande les informations, soyez distinct :
 +  * Country Name : FR
 +  * Organization Name : Ma Maison
 +  * Common Name : Mon-Autorite-CA (Utilisez un nom qui indique clairement que c'est le "patron").
 ==== Création du certification pour le client ==== ==== Création du certification pour le client ====
 On génère une clé spécifiquer pour le client, signée par le CA. On génère une clé spécifiquer pour le client, signée par le CA.
Ligne 274: 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 286: 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.
  
-Le mot de passe sera demandé lors de l'installation du certificat sur l'appareil, mais plus ensuite.+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 de sécurité (Certificats utilisateur). 
  
 +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.
 +
 +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 310: 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.1778535193.txt.gz · Dernière modification : de edmc73