Le Blog de C-quad

Forcer l’utilisation de https pour certaines pages

Nous avons vu précédemment comment sécuriser l’accès à un site web en activant le support de https, nous allons voir maintenant comment forcer l’utilisation d’une page en https.

L’intérêt d’utiliser le protocole https est d’éviter que vos identifiants et mot de passe circulent en clair sur le réseau. C’est bien joli de pouvoir accéder aux pages sécuriser, mais si l’accès aux pages non sécurisées est toujours disponible, le travail n’est qu’a moitié accompli.

La configuration a éffectuer

Le principe utilisé sera de réaliser une redirection à partir du répertoire que l’on désire sécuriser. Pour cela, il existe plusieurs solutions:

  • Via .htaccess
  • Via la configuration d’apache

La solution que j’ai choisie est de modifier directement la configuration d’apache.

Beaucoup de sites proposent de modifier le fichier httpd.conf, je le déconseille fortement ! il existe un répertoire dédié aux personnalisations d’apache : conf.d, c’est dans le répertoire conf.d qu’il faut créer un fichier avec ce que l’on souhaite modifier.

Cette façon de procéder permettra de s’affranchir de tout risque lors d’une mise à jour d’apache. Le paquet apache écrasera le fichier httpd.conf lors d’une mise à jour, alors que le répertoire conf.d sera lui conservé et de ce fait vous n’auriez rien perdu.

Voici un exemple pour sécuriser l’accès à la page d’administration d’un blog wordpress :

<Directory "/var/www/html/wordpress/wp-admin">
 RewriteEngine on
 RewriteBase /var/www/html/wordpress/wp-admin
 RewriteCond %{SERVER_PORTS} !^443$
 RewriteRule ^(.*)?$ https://%{SERVER_NAME}/wordpress/wp-admin/ [L,R]
 </Directory>

Il vous suffit de recopier cette section dans un fichier et de le déposer dans le répertoire /etc/httpd/conf.d/

On vérifiera ensuite que la configuration est correcte,

  • soit directement avec apachectl :
$ apachectl configtest
Syntax OK
  • soit avec la commande service
# service httpd configtest
Syntax OK

Il faut bien sur que la syntaxe soit OK avant de procéder à un rechargement de la configuration d’apache.

# service httpd reload

4 réponses à to “Forcer l’utilisation de https pour certaines pages”

  • BossPicman:

    Salut, on donne le nom que l’on veut au fichier que l’on va placer dans le répertoire /etc/apache2/conf.d ??? c’est ça ?

    • CedricOLIVIER:

      On donne effectivement le nom que l’on veut a condition qu’il possède bien l’extension .conf
      Le principe de créer son propre fichier de configuration à placer dans conf.d permet de ne pas toucher à la configuration « globale » d’apache et donc de ne pas risquer de perdre la configuration spécifique lors des mises à jour.

  • BossPicman:

    Dsl! enfin je veux dire , est ce qu’on peut faire la même chose sur debian ???

    • CedricOLIVIER:

      Il n’y a aucune raison que cela ne fonctionne pas sous Debian. Cet article a été réalisé sous Fedora, mais cela apache et le fonctionnement d’apache est normalement identique quelque soit la distribution.

Laisser un commentaire