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

.env файл открыт публично

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

Файл .env содержит переменные окружения приложения: пароли базы данных, API-ключи сторонних сервисов, секреты JWT, SMTP-пароли. Если файл доступен по URL /.env, любой может скачать его и получить полный доступ к вашим системам.

Симптомы

  • GET /.env возвращает HTTP 200 с содержимым файла
  • AuditGuard: finding '.env exposed' severity CRITICAL
  • В ответе видны строки вида DB_PASSWORD=…, SECRET_KEY=…, API_KEY=…

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

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

Это критическая уязвимость без смягчающих обстоятельств. С содержимым .env злоумышленник получает: доступ к базе данных, возможность отправлять email от имени компании, полный контроль над API-интеграциями, возможность генерировать валидные JWT-токены. Компрометация происходит немедленно и незаметно.

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

Шаг 1

Немедленно заблокируйте доступ к .env через nginx: location ~ /\.env { deny all; return 404; }

Шаг 2

Смените ВСЕ секреты из .env: пароли БД, API-ключи, JWT-секреты, SMTP-пароли

Шаг 3

Проверьте логи на предмет того, кто уже скачал файл: grep '/.env' /var/log/nginx/access.log

Шаг 4

Убедитесь что .env не находится в webroot — поместите его на уровень выше

Шаг 5

Используйте .gitignore для .env чтобы файл не попал в репозиторий

Шаг 6

Проверьте наличие похожих файлов: .env.local, .env.production, .env.backup

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

AuditGuard делает HTTP-запрос к /.env, /.env.local, /.env.production и ряду других вариантов, проверяя HTTP-статус и анализируя содержимое ответа на признаки переменных окружения.

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

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