Sécuriser JanusEye avec SSL
Certificat de Sécurité SSL
Cryptez vos communications pour une protection maximale
Par défaut, JanusEye circule en HTTP. Pour protéger votre code PIN et vos images des regards indiscrets, il est fortement conseillé de passer en HTTPS via l'une des trois méthodes ci-dessous.
Si vous utilisez déjà un VPN (WireGuard ou Tailscale) pour accéder à JanusEye, l'installation d'un certificat SSL n'est pas indispensable. Le tunnel VPN crée déjà un blindage de sécurité qui chiffre toutes vos données entre votre téléphone et votre Raspberry Pi.
1. Méthode Certbot (Let's Encrypt)
C'est la méthode la plus professionnelle. Elle offre un cadenas vert dans le navigateur et est reconnue partout.
sudo apt install certbot python3-certbot-nginx Une fois Certbot installé, lancez la génération du certificat. Cette commande configure automatiquement votre serveur web (Nginx ou Apache) et active le HTTPS :
sudo certbot --nginx -d votre-domaine.org Note : Si vous utilisez Apache, remplacez --nginx par --apache.
Si vous choisissez Certbot, vous devez vous assurer que le port 80 est ouvert temporairement sur votre box pour que Let's Encrypt puisse vérifier que vous possédez bien le domaine. Une fois le certificat obtenu, vous pouvez le refermer et ne garder que le 443 (HTTPS).
Certbot génère un certificat gratuit et le renouvelle automatiquement tous les 3 mois.
2. Méthode Auto-Signée (Self-Signed)
Idéal pour un usage strictement personnel. Vous créez votre propre "clé" de sécurité sans dépendre d'un tiers.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout janus.key -out janus.crt 3. Importation depuis un autre Raspberry Pi
Si vous possédez déjà un Raspberry Pi faisant office de serveur principal (Nginx Reverse Proxy), vous pouvez réutiliser son certificat.
Il suffit de copier les fichiers fullchain.pem et privkey.pem vers votre dossier JanusEye à l'aide de la commande scp ou via FileZilla.
4. Utiliser un serveur Apache2 existant
Si vous avez déjà un Raspberry Pi avec Apache2 et un certificat SSL, vous pouvez l'utiliser pour "servir" JanusEye de manière sécurisée.
sudo a2enmod proxy proxy_http ssl Modifiez votre fichier de configuration Apache (souvent /etc/apache2/sites-available/000-default-le-ssl.conf) et ajoutez ces lignes à l'intérieur du bloc <VirtualHost *:443> :
ProxyPreserveHost On
ProxyPass / http://IP_DU_PI_JANUSEYE:5000/
ProxyPassReverse / http://IP_DU_PI_JANUSEYE:5000/
Cette configuration permet d'accéder à JanusEye via https://votre-domaine.com tout en laissant JanusEye en interne sur le port 5000.
sudo systemctl restart apache2 5. Tableau Comparatif
| Méthode | Avantages | Inconvénients |
|---|---|---|
| Certbot | Cadenas vert, Gratuit, Automatique. | Nécessite un nom de domaine. |
| Auto-Signé | Rapide, fonctionne sans domaine. | Alerte de sécurité du navigateur. |
| Transfert PI | Centralisation, pas de nouveau certificat. | Synchronisation manuelle nécessaire. |
Une fois le certificat installé, vous devrez modifier votre fichier app.py pour activer le mode SSL (ssl_context='adhoc' ou pointer vers vos fichiers .crt/.key).
⚠️ CONFIGURATION FLASK :
Si vous utilisez la méthode Apache2 (Reverse Proxy) ou un autre Raspberry Pi comme serveur frontal, vous n'avez aucune modification à faire dans votre fichier app.py. C'est le serveur distant qui gère le chiffrement pour vous.
La modification du script app.py (ajout de ssl_context) n'est nécessaire que si vous demandez à JanusEye de porter lui-même le certificat sans serveur intermédiaire.
