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

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *