Секреты окружения
Что такое .env файлы?
.env файлы используются для хранения переменных окружения приложений. Они обычно содержат конфигурационные значения и секреты, которые не должны быть жёстко закодированы в исходном коде:
APP_SECRET=a3f2b8c9d4e5f6...
JWT_SECRET=7b1c9d2e4f5a6b8c...
DATABASE_URL=postgres://user:pass@host/db Фреймворки вроде Django, Rails, Node.js и многие другие поддерживают .env файлы нативно или через библиотеки.
Почему нельзя коммитить секреты
Случайный коммит .env файлов в систему контроля версий — одна из самых распространённых ошибок безопасности:
- Секреты навсегда видны в истории git, даже если их удалить позже
- Публичные репозитории раскрывают секреты всему интернету
- Автоматические сканеры постоянно ищут утёкшие секреты на GitHub
- Скомпрометированные секреты могут привести к утечкам данных, несанкционированному доступу и финансовым потерям
Всегда добавляйте .env в .gitignore. Для продакшн-развёртываний используйте инструменты управления секретами.
Почему важна ротация
Ротация секретов означает периодическую замену старых секретов на новые. Это ограничивает ущерб при компрометации:
- Если секрет утёк, окно уязвимости ограничено
- Регулярная ротация снижает ценность украденных секретов
- Многие стандарты соответствия (SOC 2, PCI DSS) требуют регулярной ротации
Используйте RandKit для быстрой генерации новых секретов для .env файлов — целиком в вашем браузере, без отправки данных на сервер.