Par défaut Pihole est uniquement en HTTP… En 2020, c’est inenvisageable de faire ça en production (même chez soi à la maison !) Du coup, pour des raisons évidentes de sécurité, j’ai décidé d’accéder à mon Pihole en HTTPS.
Si on remonte aux origines du Pihole, celui-ci embarquait pleins de composants et notamment lighttpd pour la partie web. Et oui, pas d’Apache ou encore Nginx qui sont pour l’heure les plus répandus !
Passons maintenant à la mise en place de l’HTTPS !
Tout d’abord, créons le certificat SSL, direction le répertoire prévu à cet effet, à savoir /etc/ssl/
cd /etc/ssl
On crée un répertoire pour le serveur web puis on génère le certificat
mkdir lighttpd
openssl req -new -x509 -days 365 -nodes -out monpihole.mondomaine.fr.crt -keyout monpihole.mondomaine.fr.key
Puis on concatène la clé privée et le certificat :
cat monpihole.mondomaine.fr.key monpihole.mondomaine.fr.crt > www.mondomaine.com.pem
Ensuite, direction le dossier de configuration de lighttpd :
cd /etc/lighttpd
Puis on crée le fichier external.conf
, puis on ajoute dans ce fichier ces lignes :
$HTTP["host"] == "monpihole.mondomaine.fr" {
# Ensure the Pi-hole Block Page knows that this is not a blocked domain
setenv.add-environment = ("fqdn" => "true")
# Enable the SSL engine with a LE cert, only for this specific host
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/ssl/lighttpd/monpihole.mondomaine.fr.pem"
ssl.ca-file = "/etc/ssl/lighttpd/monpihole.mondomaine.fr.pem"
ssl.honor-cipher-order = "enable"
ssl.cipher-list = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"
ssl.use-sslv2 = "disable"
ssl.use-sslv3 = "disable"
}
# Redirect HTTP to HTTPS
$HTTP["scheme"] == "http" {
$HTTP["host"] =~ ".*" {
url.redirect = (".*" => "https://%0$0")
}
}
}
Ensuite, on redémarre le service lighttpd
systemctl restart lighttpd
Ca y est, c’est terminé, puis rendez-vous sur votre pihole (avec le FQDN complet 🙂 ) et hop redirigé en HTTPS !
Mes sources et éventuelles pistes en cas de troubleshooting :
https://serverfault.com/questions/718623/missing-mod-ssl-so-for-lighttpd
https://discourse.pi-hole.net/t/enabling-https-for-your-pi-hole-web-interface/5771
0 commentaire