Visualiser une révision

[Tuto/HowTo] HaProxy - bannir les requêtes quand l'User-Agent est vide

voxdemonix : révision n°1 (20 juillet 2018 15:07:01)

Introduction
============

Il n'est pas rare que des [robots](https://fr.wikipedia.org/wiki/Bot_informatique) crawlent les sites internet sans utiliser d'[User-Agent](https://fr.wikipedia.org/wiki/User_agent).
Si vous souhaitez les bannir de vos frontends HaProxy, voici comment faire.

Éditez votre fichier de configuration _/etc/haproxy/haproxy.cfg_

Ensuite selon vos envies: ajoutez une des deux règles suivantes.

* **Si vous souhaitez renvoyer une erreur [HTTP 403 Forbidden](https://fr.wikipedia.org/wiki/Liste_des_codes_HTTP#4xx_-_Erreur_du_client_web) (accès interdis) quand l'user-agent est vide, ajoutez la règle HaProxy pour frontend suivante.**

```
http-request deny if { hdr_cnt(user-agent) eq 0 }
```

![screenshot-2018-07-20-14-firefox-haproxy-send-http-403-error-if-empty-user-agent](https://image.noelshack.com/fichiers/2018/29/5/1532091737-screenshot-2018-07-20-14-firefox-haproxy-send-http-403-error-if-empty-user-agent.png)


* **Si vous voulez bannir toute réponse quand l'user-agent est vide, ajoutez la règle suivante dans votre frontend HaProxy.**

```
tcp-request content reject if { hdr_cnt(user-agent) eq 0 }
```

![screenshot-2018-07-20-14-firefox-haproxy-do-not-respond-if-empty-user-agent](https://image.noelshack.com/fichiers/2018/29/5/1532091789-screenshot-2018-07-20-14-firefox-haproxy-do-not-respond-if-empty-user-agent.png)


Farm Link
=========

* [HaProxy Bannir User-Agent vide / HaProxy ban empty user agent](https://www.0rion.netlib.re/forum4/viewtopic.php?f=113&t=780&p=1871#p1871) (article original)
* [HaProxy - Documentation - Examples of Conditions](https://www.haproxy.com/documentation/aloha/10-0/traffic-management/lb-layer7/writing-conditions/)