Quand tu initialises un dépôt Git pour un projet, il y a un dossier .git qui se crée. Lorsque tu vas faire des commits, les différentes informations sur les changements vont être stockées dans ce répertoire.
Si une personne arrivait à récupérer ce répertoire, elle pourrait exécuter la commande git reset –hard et obtenir tous les fichiers du site qui aurait été commit. Donc avoir potentiellement accès à des informations très importantes.
La première chose, et sans doute la plus importante, est de ne jamais lister les fichiers présents sur le serveur. Pour cela, on va utiliser une petite directive que l’on va placer dans un fichier .htaccess (pour le cas de Apache).
Après cela, on va piéger le « hacker » et simuler une 404 pour lui faire croire qu’il n’existe pas de .git sur le serveur si il tente d’y accéder.
Une autre solution, tout aussi valable, est de créer un fichier .htaccess dans le répertoire .git et d’y ajouter le code suivant, qui empêchera l’accès au répertoire, tout simplement. L’avantage est qu’il y a très peu de chance qu’un programme touche à ce fichier qui pourrait enlever la sécurité mise en place.
La meilleure solution est sans doute de sortir le dossier .git de la racine du dossier public (httpdocs) et de le mettre un niveau au-dessus. A mon sens c’est la méthode la plus efficace, car en cas d’oubli « d’ajout de sécurité », le répertoire n’est pas accessible publiquement.
15/12/2021
Yann Vangampelaere - nouslesdevs -