Contactez-Nous:email icon 

WiFi France
×
 x 

Panier Vide
Panier
Panier Vide
Taille du texte: +

Installation certificat SSL Let's Encrypt sur serveur UniFi

Dans cet article nous allons voir comment installer un certificat Let'sEncrypt valide sur un serveur UniFi sous linux ou sur la CloudKey.

Pourquoi me diriez vous ? Eh bien tout simplement car par défaut le contrôleur UniFi génère un certificat SSL qui n'est pas validé par une autorité de certification. Le résultat, votre navigateur vous affiche une demande de validation pour vous connecter au Contrôleur.

De plus, si vous mettez en place le Hotspot vous allez pouvoir mettre en place le cryptage de la communication sans que vos utilisateurs ne reçoivent un avertissement sur leurs smartphones, tablettes ou ordinateurs.

Bien sur vous devez avoir un nom de domaine valide pour obtenir un certificat de Let'sEncrypt. Vous pouvez très bien acquérir un nom de domaine auprès d'OVH ou autre et ensuite créer un sous domaine unifi.votredomaine.fr en renseignant dans la partie DNS la valeur A pour pointer vers votre contrôleur. Toutes les infos ici.


Sans certificat valide:

Avec certificat Let'sEncrypt valide:


1- Se connecter en ssh sur le contrôleur

​La première étape consiste à se connecter en SSH sur votre contrôleur UniFi installé sous Linux (la CloudKey tourne sous linux)

- Avec OSX terminal fera très bien l'affaire.

- Sous Windows vous pouvez utiliser putty pour effectuer la connexion.

​Le nom d'utilisateur par défaut de la CloudKey est : root et le mode de passe : ubnt sur le port 22

2- Installer Certbot-auto pour générer le certificat

Avant toute chose assurez-vous qu'un ping arrive bien sur l'adresse IP de votre contrôleur ; ping unifi.votredomaine.fr​ et que le port 80 http redirige correctement vers le contrôleur (vous pourrez désactiver la redirection une fois le certificat généré).

Ensuite une fois connecté à votre contrôleur en ligne de commande nous allons récupérer l'utilitaire Certbot-auto afin de générer notre certificat.

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto 

Cette dernière ligne configurera certbot et installera également certaines dépendances. Maintenant, en utilisant certbot, nous générons le certificat signé. Lançons donc l'assistant:

./certbot-auto certonly 

​Sélectionnez l'option 1 (pour utiliser un serveur Web temporaire), puis entrez votre adresse e-mail (pour que vous obteniez des alertes en cas de problème), acceptez l'accord, puis tapez votre nom de domaine (avec le sous-domaine). Si tout s'est bien passé, vous devriez recevoir un message de félicitations.

3- Charger les certificats obtenu au contrôleur UniFi

Les services Ubiquiti sont basés sur Java et utilisent le keystore Java pour stocker les clés privées et les certificats. Nous devons d'abord générer un certificat PKCS # 12 parmi ceux que nous venons de recevoir:

sudo openssl pkcs12 -export -inkey /etc/letsencrypt/live/unifi.votredomaine.fr/privkey.pem -in /etc/letsencrypt/live/unifi.votredomaine.fr/fullchain.pem -out /home/ubuntu/cert.p12 -name ubnt -password pass:temppass 

​Maintenant, nous devons charger le certificat PKCS # 12 dans son propre fichier de clés.

sudo keytool -importkeystore -deststorepass aircontrolenterprise -destkeypass aircontrolenterprise -destkeystore /var/lib/unifi/keystore -srckeystore /home/ubuntu/cert.p12 -srcstoretype PKCS12 -srcstorepass temppass -alias ubnt -noprompt 

​Enfin, supprimez les fichiers PKCS # 12 (car ils ont déjà été importés) et redémarrez les services (le cas échéant).

sudo rm /home/ubuntu/cert.p12
sudo /etc/init.d/unifi restart 
Vous pouvez maintenant tester la connection et constater que le certificat Let'sEncrypt est bien installé

3- Génération d'un certificat tous les mois

​Eh oui, un certificat Let'sEncrypt n'est valable que 3 mois, nous devons donc régénérer un certificat avant 3 mois. Nous allons le faire simplement avec la commande cron qui permet de mettre en place des taches planifiées sous linux.

Créer un fichier certificat-unifi.sh comme suit : 

# Demande de certificat auprès de let'sencrypt
/home/ubuntu/certbot-auto renew --quiet --no-self-upgrade
# Convertir certificat au format PKCS #12 format
openssl pkcs12 -export -inkey /etc/letsencrypt/live/unifi.votredomaine.fr/privkey.pem -in /etc/letsencrypt/live/unifi.votredomaine.fr/fullchain.pem -out /home/ubuntu/cert.p12 -name ubnt -password pass:temppass
# Chargez-le dans le keystore java
keytool -importkeystore -deststorepass aircontrolenterprise -destkeypass aircontrolenterprise -destkeystore /var/lib/unifi/keystore -srckeystore /home/ubuntu/cert.p12 -srcstoretype PKCS12 -srcstorepass temppass -alias ubnt -noprompt
# Nettoyage
rm /home/ubuntu/cert.p12
/etc/init.d/unifi restart 

Assurez-vous de rendre le script exécutable:

sudo chmod +x /home/ubuntu/certificat-unifi.sh 

​Commençons à modifier le fichier crontab avec sudo crontab -e et mettons les éléments suivants en bas:

sudo crontab -e 

​Element à ajouter au fichier crontab: 

0 0 12 1 * ? /home/ubuntu/certificat-unifi.sh
 

Le tout en video pour vous laisser apprécier...

WnLogs et Ubiquiti présent au Salon Data Centre Wo...
Loi Hadopi et Conservation des données
Ubiquiti Logo Mikrotik Logo Cisco Meraki Logo Cisco Logo Tycon Power Logo Netonix Logo Linksys Logo Edimax Logo Grandstream Logo Mimosa Logo TP Link Logo WiFi France Logo