W tym tutorial pokażemy Ci, jak zablokować dostęp do katalogu .git.

Kiedy inicjujesz lub wdrażasz aplikację Git, tworzony jest katalog .git, który zawiera poufne informacje. Jeśli katalog .git jest dostępny przez Internet, może potencjalnie wyciekać twoje dane.

Oto przykład wycieku danych wykryty przez skaner podatności takiego jak gitjacker

Gitjacker pobiera repozytoria Git i wyciąga ich zawartość z witryn, na których katalog .git został błędnie przesłany. Narzędzie to może odzyskać znaczną część repozytorium nawet w przypadku, gdy wykaz katalogów jest wyłączony.

Webserwery pozwalają zablokować dostęp do określonych plików lub katalogów znajdujących się pod głównym katalogiem dokumentów, aby nie były one dostępne przez sieć.

Nginx

Aby zablokować dostęp do katalogu .git, dodaj poniższe informacje do wpisu serwera Nginx

location ~ /\.git {
deny all;
}

Teraz zrestartuj Nginx.

systemctl restart nginx

Apache

Aby zablokować dostęp do katalogu .git, dodaj poniższe informacje do pliku httpd.conf.

<Directorymatch "^/.*/\.git/">
  Order 'deny,allow'
  Deny from all
</Directorymatch>

Teraz zrestartuj Apache.

RHEL & Centos

systemctl restart httpd

Ubuntu / Debian

systemctl restart apache2

htaccess rule

Otwórz katalog główny swojej strony internetowej i umieść następujący plik obok pliku .htaccess:

RedirectMatch 404 ^/\.git

Reguła zacznie obowiązywać zaraz po zapisaniu wprowadzonych zmian.