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.