HTTPS

Cette documentation est indicative car non-spécifique à GeoNature. Elle donne des indications sur la mise en place d’un certificat SSL pour une application web servie par Apache.

Utilisation de Cerbot

Source. Sécuriser facilement et gratuitement un site avec HTTPS

La procédure décrit une méthode de certification HTTPS de votre domaine, grâce au service Let’s Encrypt. Les manipulations ont été effectuées sur un serveur Debian 9 avec Apache2 installé, et un utilisateur bénéficiant des droits sudo.

Cerbot ne peut pas être utilisé pour la création d’un certificat sur une adresse IP (Exemple d’instances de test sans nom de domaine). Pour celà utiliser OpenSSL présenté rapidement ci-dessous. Installation :

sudo apt-get install python3-certbot-apache

Lancer la commande suivante pour générer des certificats et des clés pour le nom de domaine que vous souhaitez mettre en HTTPS.

sudo certbot --apache --email monemail@mondomaine.fr

Activer les modules ssl, headers et rewrite puis redémarrer Apache :

sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2enmod headers
sudo apachectl restart

Les fichiers de configuration du site UsersHub n’est pas à modifier, il sera automatiquement associé à la configuration HTTPS. En revanche, la configuration de GeoNature doit être mise à jour.

Utilisation de OpenSSL sur un environnement de test

Cette procédure a été testée sur Debian 12 et Apache2 avec l’utilisation d’un certificat auto-signé. Cela signifie qu’une alerte sera envoyée aux navigateurs indiquant un manque de sécurisation du serveur. Cette méthode fonctionne avec un serveur sans nom de domaine.

Création d’un nouveau certificat de 365 jours (30 jours par défaut), de type X509 avec l’emplacement des fichiers de certificat et de clé privé.

sudo openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/mailserver.crt -keyout /etc/ssl/private/mailserver.key

Sécurisation de la clé

sudo chmod 440 /etc/ssl/private/mailserver.key

Chargement du module ssl dans Apache

sudo a2enmod ssl

Modification de la configuration du VirtualHost en éditant le fichier /etc/apache2/sites-available/geonature.conf

<VirtualHost *:443>
    ServerName x.x.x.x
    […]
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/mailserver.crt
    SSLCertificateKeyFile /etc/ssl/private/mailserver.key
</VirtualHost>
sudo apachectl restart

Configuration de l’application GeoNature

Il est nécessaire de mettre à jour le fichier de configuration geonature_config.toml situé dans le répertoire geonature/config :

cd geonature/config
nano geonature_config.toml

Modifier les éléments suivants :

URL_APPLICATION = 'https://mondomaine.fr/geonature'
API_ENDPOINT = 'https://mondomaine.fr/geonature/api'

Pour que ces modifications soient prises en compte, exécuter les actions à effecture après modification de la configuration.

Les applications sont désormais accessibles sur votre domaine sécurisé en HTTPS !