Autoriser uniquement certains navigateurs sur un site web Apache2

Cette astuce permet de sélectionner les clients qui se connecteront à un site web, hébergé par Apache. Je rédige cette bidouille car j’ai bien galéré lors de mon passage de la version 2.2.22 à la version 2.4.2. La syntaxe a effectivement changé… En bonus donc, la même bidouille mais valable pour 2 versions d’Apache!

hey_17

L’exemple ici démontre comment n’autoriser QUE les utilisateurs surfant avec Firefox ou Chrome. Idéalement, ces directives sont à insérer dans un VirtualHost:

Version Apache 2.2:

SetEnvIfNoCase User-Agent "Firefox" get_in
SetEnvIfNoCase User-Agent "Chrome" get_in

    Order Deny,Allow
    Deny from All
    Allow from env=get_in

Version Apache 2.4.x:

SetEnvIfNoCase User-Agent Firefox get_in
SetEnvIfNoCase User-Agent Chrome get_in

    Require env get_in

Cette bidouille est efficace pour barrer la route à tout types de robots, du légal à l’illégal… Efficace donc contre les systèmes venus scanner votre arborescence et laissant des signatures de ce type: « Morfeus Fucking Scanner », « ZmEu/blackhat » et j’en passe et des meilleurs. Évidement, si quelqu’un sait modifier la signature de son navigateur de telle sorte qu’elle intègre le mot « Chrome » ou « Firefox », cela n’aura pas d’effet…

En complément, il est possible de sécuriser le serveur Apache via ces paramètres a rajouter tout à la fin du fichier de configuration générale apache.conf ou dans /etc/apache2/mods-enabled/security.conf:

ServerSignature Off
ServerTokens Prod

Le premier, ServerSignature Off, permet de ne pas afficher la version du serveur sur les pages d’erreur, ou toute autre page générée par Apache.
La seconde, ServerTokens Prod, indique au serveur de ne retourner que le mot « Apache » dans les en-têtes HTTP, envoyés lors de chaque demande d’une page. De ce fait, le système d’exploitation du serveur ainsi que d’autres paramètres restent confidentiels.

Concernant les pages d’erreur, il est possible de les réduire au strict minimum afin qu’elles ne contiennent plus aucune information, mise à part le code d’erreur:

ErrorDocument 404 "404 Error"
ErrorDocument 403 "Forbidden"

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.