Importer un certificat Lets Encrypt sur le USG

Vous avez d’autres questions ? Envoyer une demande

Dans cet article de la base de connaissances, je souhaite vous montrer comment utiliser un Raspberry Pi pour installer un certificat Let’s Encrypt sur votre USG.

Introduction

Nous allons utiliser un serveur Apache et le module complémentaire Let’s Encrypt pour Apache fonctionnant sur un Raspberry Pi afin de télécharger un certificat pour un nom de domaine spécifique. Nous utiliserons également le Pi pour mettre à jour ce certificat.

Nous exporterons le certificat depuis le Pi et l’importerons sur le USG.

À quoi sert un certificat ?

Avec ce certificat, vous vous débarrasserez des avertissements de sécurité dans votre navigateur, par exemple pour un HotSpot ou un VPN SSL.

Exigences

  1. Vous avez besoin d’un nom de domaine (DN) (par exemple hotspot.hotel-mayer.de)
  2. Si vous n’avez pas d’IP statique, vous devez également vous assurer que votre DN est toujours à jour,
    vous pouvez utiliser l’option DDNS de votre USG : Configuration > Réseau > DDNS
  3. Si vous utilisez votre USG dans un scénario double NAT, vous devez vous assurer que les ports HTTP et HTTPS sont redirigés vers le USG
  4. Vous devez savoir comment utiliser le NAT correctement
  5. Vous avez besoin d’un Raspberry Pi et d’une carte SD pour le système d’exploitation
  6. Un PC avec Tera Term ou Putty et WinSCP installés
  7. Vous devez savoir comment utiliser le terminal SSH sur le USG
  8. Le USG doit être au minimum en version FW 4.30

1. Configurer le Pi et Apache 

Dans ce scénario, nous avons seulement besoin d’un système d’exploitation en ligne de commande pour le Pi (Raspbian Stretch Lite)
veuillez le télécharger depuis le site Raspberry Pi et l’installer comme décrit dans la documentation.

https://www.raspberrypi.org/downloads/raspbian/
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
 

1.1 Activation de SSH et changement du mot de passe

Vous devez maintenant activer SSH. Pour cela, insérez la carte SD dans votre ordinateur et placez un fichier vide nommé « SSH » à la racine de la carte SD.

Une fois l’installation terminée, mettez le Pi dans votre réseau, démarrez-le et vérifiez si vous pouvez y accéder via SSH (par exemple avec Putty ou Tera Term)

Utilisateur : pi
Mot de passe : raspberry

Recommandation 1 : changez le mot de passe comme décrit ici :
https://www.raspberrypi.org/documentation/configuration/raspi-config.md

Recommandation 2 : assurez-vous que le Pi obtienne toujours la même adresse IP

1.2 Mettre à jour le Pi et installer le serveur Apache

Nous pouvons maintenant vérifier et installer les mises à jour

sudo apt update && sudo apt upgrade --yes

Une fois cela fait, nous pouvons installer le serveur Apache

sudo apt install apache2 --yes

Après l’installation, vous devriez pouvoir voir la page web par défaut d’Apache en naviguant vers l’adresse IP du Raspberry.

mceclip0.png

Il est maintenant temps de redémarrer le Pi :

shutdown -r

En attendant, nous allons configurer la redirection de port (temporaire) vers le Pi.

2. Redirection de port

Pour ouvrir les ports 80 et 443 vers Internet. Vous trouverez ci-dessous comment effectuer les étapes nécessaires

2.1 Changez le port HTTPS du USG en, par exemple, 8443
Vous pouvez maintenant accéder au USG ainsi : https://192.168.1.1:8443

2.2 Configurer la redirection de port pour HTTP et HTTPS
Veuillez vérifier si vous pouvez accéder à la page test de votre Pi depuis Internet

3. Créer et exporter un certificat

Avant de pouvoir obtenir un certificat Let's Encrypt, nous devons installer le module complémentaire Let’s Encrypt pour Apache. Il vous aidera à certifier votre nom de domaine.

sudo apt install certbot python-certbot-apache --yes

3.2 Génération du premier certificat

Nous allons maintenant générer le premier certificat :

sudo certbot --apache

Vous devez remplir le formulaire de manière appropriée. Il vous sera demandé si vous souhaitez une redirection permanente.

mceclip1.png

 mceclip2.png

Le certificat sera demandé et automatiquement installé sur le serveur Apache.

3.3 Exportation du certificat en le téléchargeant

Vous pouvez maintenant exporter le certificat avec un horodatage.

sudo openssl pkcs12 -export -out /tmp/myusg_"$(date +"%Y-%m-%d")".p12 -inkey /etc/letsencrypt/live/[your_domain]/privkey.pem -in /etc/letsencrypt/live/[your_domain]/cert.pem

Vous devez entrer un mot de passe. Veuillez vous assurer de le retenir, car vous en aurez également besoin pour l’importation sur le USG.

mceclip3.png

Pour récupérer le certificat depuis le Pi, nous devons modifier les droits d’accès du fichier myusg_[date].p12.

sudo chmod 777 myusg[date].p12

Vous pouvez maintenant récupérer le fichier avec WinSCP depuis le dossier /tmp.

4. Importer le certificat sur le USG

4.1 Télécharger et importer les certificats racine et intermédiaires Let's Encrypt 

Pour que le USG fasse confiance au certificat que nous avons exporté précédemment, nous devons importer les certificats racine et intermédiaire de Let's Encrypt :

https://letsencrypt.org/certificates/

Assurez-vous que les certificats sont enregistrés au format pem (par exemple letsencryptauthorityx3.pem).

Sur le USG, allez dans Configuration > Objets > Certificats > Certificats de confiance et importez les certificats racine et intermédiaire.

4.2 Importer et activer votre certificat

Sur le USG, allez dans Configuration > Objets > Certificats > Mes certificats et importez le certificat (vous devez également saisir le mot de passe)

Allez dans Configuration > Système > WWW, sous Certificat serveur vous pouvez maintenant choisir votre certificat importé.

5. Configurer correctement la redirection HTTP vers HTTPS

5.1 Désactiver le NAT pour le Pi

Pour libérer les ports 80 et 443 pour le USG, vous devez désactiver le NAT pour le Pi. Allez dans Configuration > Réseau > NAT, trouvez et désactivez les règles responsables du NAT. Veuillez ne pas supprimer ces règles, car vous en aurez besoin plus tard.

5.2 Remettre le port HTTPS du USG à 443 et configurer la redirection HTTP vers HTTPS

Allez dans Configuration > Système > WWW et remettez le port HTTPS à 443. Assurez-vous que la redirection HTTP est activée.

5.3 Se débarrasser de l’adresse IP

Le USG utilisera désormais le certificat importé. Le « problème » restant est que le USG redirigera le HTTP vers HTTPS de cette manière :

https://192.168.1.1/redirect.cgi?arip=[your_dyndns]&original_url=http://[your_dyndns]/

mceclip4.png

Cela créera bien sûr un problème de certificat. Pour vous débarrasser définitivement de ce message, ouvrez une session SSH sur votre USG et entrez ces commandes :

Router> configure terminal
Router(config)# web-auth redirect-fqdn [your_domainname]
Router(config)# write
Router(config)# exit
Router> write

La redirection ressemblera désormais à ceci :

https://[your_domain]/redirect.cgi?arip=[your_domain]&original_url=http://[your_domain]/

mceclip5.png

 Félicitations, vous avez maintenant un certificat Let's Encrypt fonctionnant sur votre USG.

Renouveler le certificat

Les certificats Let's Encrypt sont valides pendant 90 jours. Cela signifie que vous devez renouveler le certificat tous les trois mois. 

1. Rouvrez les ports HTTP et HTTPS vers le Pi

a ) changez à nouveau les ports HTTPS du USG (Point 2.1)
b ) Réactivez le NAT pour HTTP/HTTPS vers le Pi (Point 2.2)

2. SSH vers le Pi et renouveler le certificat

Ouvrez une session SSH vers votre Pi et entrez cette commande

sudo certbot renew

Cela renouvellera le certificat pour 90 jours supplémentaires

3. Exporter et importer le certificat

Vous devez maintenant suivre les étapes du point 3.3

4. Mettre à jour le certificat sur le USG 

Poursuivez maintenant avec l’étape 4.2

5. Remettre les ports en place

Suivez les étapes des points 5.1 et 5.2

Félicitations, vous avez maintenant renouvelé le certificat Let's Encrypt sur votre USG.

Clause de non-responsabilité : Veuillez comprendre qu’il ne s’agit que d’une description de la procédure pour avoir un certificat Let's Encrypt sur votre USG. En cas de problème avec le Raspberry Pi, veuillez comprendre que nous ne pouvons pas vous fournir de support concernant tout problème lié au Pi !

Articles dans cette section

Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 0 sur 3
Partager

Commentaires

0 commentaire

Vous devez vous connecter pour laisser un commentaire.