J'ai un serveur Web Apache exécutant des hôtes virtuels, site1.com et site2.com.
Que dois-je faire avec les requêtes adressées à l'adresse IP du serveur?
Est-il prudent d'autoriser les demandes par IP ou ai-je besoin de bloquer, rediriger ou quoi?
En regardant mon error.log
je vois:
[Tue Dec 12 12:30:45.211539 2017] [:error] [pid 1681] [client 18x.x1.xx1.xx1:55060] [client 18x.x1.xx1.xx1] ModSecurity: Warning. Pattern match "^[\\\\d.:]+$" at REQUEST_HEADERS:Host. [file "/usr/share/modsecurity-crs/rules/REQUEST-920-PROTOCOL-ENFORCEMENT.conf"] [line "793"] [id "920350"] [rev "2"] [msg "Host header is a numeric IP address"] [data "3x.x1.xx1.xx1"] [severity "WARNING"] [ver "OWASP_CRS/3.0.0"] [maturity "9"] [accuracy "9"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-protocol"] [tag "OWASP_CRS/PROTOCOL_VIOLATION/IP_Host"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] [hostname "3x.x1.xx1.xx1"] [uri "/img/icon_menu_00A3E0.svg"] [unique_id "Wi-gsrgergegraRlUMAAAAE"], referer: `http://3x.x1.xx1.xx1/css/style.css`
Le message qui me préoccupe est le suivant: msg "Host header is a numeric IP address"
.
Si vous avez plusieurs hôtes/sites virtuels sur le même serveur, vous devez soit bloquer toute demande directe d'adresse IP du serveur, soit servir une autre page Web "par défaut" (noindex), non associée aux sites existants sur le serveur.
Cela n'aurait pas vraiment de sens de rediriger la requête lorsque vous avez plusieurs sites différents sur le serveur. À quel site redirigeriez-vous? Et pourquoi?
Ces requêtes ne proviennent pas d'utilisateurs réels (du moins, pas de vrais utilisateurs) ou de bots importants.
Cependant, si vous n'avez qu'un seul hôte/site virtuel sur cette adresse IP, il est logique de rediriger les tâches, car il n'y a aucune ambiguïté quant au site à desservir.