Catégories
Serveurs Serveurs Linux Windows Server

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. 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

<Location /folder>
    Order Deny,Allow
    Deny from All
    Allow from env=get_in
</Location>

Version Apache 2.4.x:

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

<Location /folder>
    Require env get_in
</Location>

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 autres. Évidement, si quelqu’un sait modifier la signature de son navigateur (User Agent) 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 l’ensemble des options disponibles dans /etc/apache2/mods-enabled/security.conf. Par l’activer:

a2enconf security
a2enmod headers
service apache2 restart

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

ErrorDocument 404 "4xx Error"
ErrorDocument 403 "4xx Forbidden"

Laisser un commentaire

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