Attaques web utilisant Git
Attaques web utilisant Git jppFin février 2021 la fréquence des attaques fondées sur l'utilisation de "git" a augmenté de manière importante.
Il y a toujours eu quelques tentatives sur ce type d'URL mais le nombre était très marginal.
Depuis le 18/02/2021 les attaques cherchant des renseignements liés à la maintenance des fichiers du serveur WEB se multiplient. La recherche concerne les sites dont le versionning est géré par git. Beaucoup de requêtes recherchent /.git/HEAD, leur nombre dépasse la vingtaine par jour sur les derniers jours, et cela concerne surtout le port 80.
J'ai ajouté une règle pour Suricata concernant ces attaques :
drop tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB attack /.git/HEAD"; flow:established,to_server; content:"/.git/HEAD"; nocase; http_uri; classtype:web-application-attack; sid:9005782; rev:1; metadata:created_at 2020-02-18, updated_at 2020-02-18;)
Et la même règle sans le "HEAD" car tous ne cherchent pas systématiquement .git/HEAD, il peut aussi s'agir de /.git/config ...
Pour contrer les futures attaques en HTTPS j'ai ajouté une règle pour Modsecurity :
SecRule REQUEST_URI "@beginsWith /.git/" "id:962303,phase:1,t:lowercase,t:removeWhitespace,t:htmlEntityDecode,deny,msg:'Web attack /.git/', \
severity:'CRITICAL' \
setvar:'tx.msg=%{rule.msg}',status:406"
Il semble donc imprudent d'utiliser Git pour gérer directement l'arborescence de son serveur Web. Il vaut donc beaucoup mieux gérer son arborescence Web dans une machine séparée, non accessible depuis Internet, on pourra ici utiliser sont outil préféré de versionning et recopier l'arborescence sur le "vrai" serveur Web après chaque train de modifications, la commande "scp" supporte la recopie de répertoires entiers ...
On est maintenant début 2022, presque un an après l'écriture de cet article et on constate toujours de nombreuses attaques cherchant des fichiers ".git" ou ".git/HEAD". Alors même que ces fichiers et répertoires devraient, au minimum, être cachés par un .htaccess ou carrément mis ailleurs, hors de portée ... du service web.
Note 2024 : tous les jours montrent ces recherches de fichier "/.git. ;;;;" en nombre.