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.

 

💡 NOTE SUR L'USAGE DU VPN (WIREGUARD)

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.

Prérequis : Posséder un nom de domaine (ex: DuckDNS) et avoir ouvert le port 80.
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.

Note : Votre navigateur affichera une alerte "Connexion non privée" la première fois. Il suffira de cliquer sur "Paramètres avancés" puis "Continuer vers le site".
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.

 
Étape A : Activer les modules Proxy sur Apache
sudo a2enmod proxy proxy_http ssl
Étape B : Configurer l'hôte virtuel (VirtualHost)

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éthodeAvantagesInconvénients
CertbotCadenas vert, Gratuit, Automatique.Nécessite un nom de domaine.
Auto-SignéRapide, fonctionne sans domaine.Alerte de sécurité du navigateur.
Transfert PICentralisation, pas de nouveau certificat.Synchronisation manuelle nécessaire.
⚠️ ATTENTION :

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.

⬅️ Retour à la page précédente