Типовая проблема

.git директория открыта публично

Severity: Критический

Директория .git содержит полную историю репозитория: все коммиты, ветки, файлы в любой версии. Если она доступна по URL /.git/, злоумышленник может восстановить весь исходный код с помощью инструментов git-dumper.

Симптомы

  • GET /.git/HEAD возвращает HTTP 200
  • GET /.git/config возвращает HTTP 200 с конфигурацией git
  • AuditGuard: finding '.git directory exposed' severity CRITICAL

AuditGuard обнаруживает эту проблему автоматически.

Почему это риск

Доступ к .git даёт полный исходный код приложения. В истории коммитов часто содержатся секреты, которые были удалены из кода, но остались в git-истории. Злоумышленник изучает архитектуру, находит уязвимости, получает секреты прошлых коммитов.

Как исправить

Шаг 1

Nginx: location ~ /\.git { deny all; return 404; }

Шаг 2

Apache: .htaccess — Order allow,deny Deny from all

Шаг 3

Удалите .git из webroot если он там оказался случайно

Шаг 4

Проверьте, не была ли уже скомпрометирована история: git log для поиска секретов

Шаг 5

Используйте gitleaks для проверки истории на секреты

Шаг 6

Пересмотрите процесс деплоя чтобы .git не попадал в webroot

Как AuditGuard обнаруживает проблему

AuditGuard проверяет доступность /.git/HEAD и /.git/config, анализирует ответ на признаки git-файлов.

Проверьте ваш сайт прямо сейчас

AuditGuard находит эту проблему и 340+ других автоматически. Результат — за 2–5 минут.