Developer Security
6 min

Як безпечно пережити'.

Khvatit otpravlyat' paroli ot baz dannykh і API-klyuchi cherez Telegram. Вот як безперечно delit'sya .env fajlami s komandoj razrabotki.

LOCK.PUB
Як безпечно пережити'.

Як безопасно перейти'.

"Sejchas skinu v Telegram"

У команди пришёл новий разработчик. Настріває місцеве оздоблення і задає небезпечний фон:

"Mozhete sknut' mne .env fajl?"

Дальше все проісходить по стандартному сценарію. Кто-то з команди відкриває Telegram або Slack, копирує все содержімое .env - paroli ot бази dannyhh, API-klyuchi, секрети третіх servisov - і вставляет в лічне soobshchenie. Це спообщення залишаються в історії чата навседда.

My vse eto delali. І це горадо оpasnee, chem bol'shinstvo komand osoznayot.

Pochemu .env fajly nel'zya peredavat' nezashchishchyonnymi

Ваш .env fajl - eto, po suti, hranilishche uchyотних dannykh:

  • Stroki podklyucheniya k baze - host, port, положувач', parol'
  • API-klyuchi — Stripe, AWS, Firebase та інші послуги, де комунікація stoit real'nykh deneg
  • Sekrety tret'ikh storon - OAuth client secret, klyuchi podpisi webhooks
  • Vnutrenie tokeny servisov — autentifikácia між mikroservisami

Когда ви встановлюєте все це в Telegram ili Slack, danny sohranyayutsya на их serverakh. Lyboj, хто має доступ до робочого простору, може знайти ти своєрідне здобуття здобутків - через месяці ілі годі. А якщо техніка потеряно або компрометіроване, uchyотние днині вкрадуть разом з ним.

Rasprostrannyonnye (не opasnye) способи peredachi .env

Sposob ризик
Telegram/Slack DM Postoyannoe гранення на serverakh, dostupnо cherez поиск
Введення в електронну пошту Остаётся на поштових серверах, може бути перенаправлено
Google Docs Utechka sylki = доступ для всіх, історія версій сограняет содержімое
Commit v Git Даже постав усвідомлення залишаються в git log, які сканують GitHub за секунди
Notion/Confluence Dostupno cherez poisk vsem chlenam workspace

Слухай з Гіт - самий опасний. Автоматизовані boty безперервно сканують громадські репозиторії на GitHub. Якщо ви виразно запустили '.env' fajl, ваші AWS-klyuchi можуть бути 'компроменрированы за шпитальні хвилини.

Беззахисні способи переважають .env fajlov

1. Менеджери секретов

Doppler, HashiCorp Vault i AWS Secrets Manager sozdany imenno dl etogo. Вони централізують перемінні озброєння, представляють granularnoe регулювання доstupом, audit-logi і автоматічну ротацію. Для bol'shikh komand - це ideal'noe resheni.

2. Командні menedzhery parolej

1Password Teams і Bitwarden Organization podderzhivayut obshchie khranilishcha, gde можна sokhranit' soderzhimoe .env v video zashchishchyonnykh замiток. Доступ kontroliruyetsya poimen'no, все зашифровано end-to-end.

3. Zametki s parolem i avtoudaleniem

Для того, щоб відновити регуляцію - напрімер, при onboardinge нового розробочника - добре використовувати LOCK.PUB. Вставляєте содержімое '.env' в секретну замітку, встановлюєте parol' і srok dejstviya, потім відправляєте sylku cherez Slack, a parol' - cherez Telegram (або golosom по телефону). Постання істокенія зрока содержімое ісчезает — нікікіх постоянних записей.

4. GPG-shifrovanie fajlov

Для коменд з підвищеними требованнями безпеки можна зашифровать '. Недостаток - kazhdyj chlen komandy dolzhen umet' rabotat' s GPG-kliuchami.

Luchshie praktiki upravleniya .env

  1. Srazu dobav'te '.env' v '.gitignore' - Eto pervoe, що нужно сделать' при совданні нового проекта.

  2. **Ведіть fajl`.

  3. Іспол'ізуйте raznye uchyотні dannye длa kazhdogo okruzheniya - Dev, staging і production nikogda ne dolzhny ispol'zovat' odni klyuchi.

  4. Regulyarno menyajte sekrety - Kak minimum, raz v kvartal.

  5. Отзивайте доставку при ukhode sotrudnikov — Kogda chlen komandy ukhodit, зміняйте всі секрети, до яких на імел доstup.

Bystraya nastrojka: .gitignore + .env.example

Dobav'te eto v vash .gitignore pryamo sejchas:

# Перемінні окруженія
.env
.env.local
.env.*.local

Zatem sozdajte .env.example:

# .env.example
DATABASE_URL=postgresql://user:password@localhost:5432/mydb
STRIPE_SECRET_KEY=sk_test_xxxxxxxxxxxx
FIREBASE_API_KEY=your_firebase_api_key_here
NEXT_PUBLIC_BASE_URL=http://localhost:3000

Закоммітуйте цей файл в репозиторій. На дорозі kazhdomu новому razrabotchiku, які перемінні нужни - без raskrytiya реальних značень.

Prekratite otpravlyat' sekrety відкритим текстом

Передача '.env' fajlov mozhet kazat'sya meloch'yu, no eto odin iz samykh chastykh istochnikov utechki uchyотних dannykh. Investirujte якщо ви в повноцінний менеджер секретів або існують LOCK.PUB для передання uchyотних dannykh з datoy istechenie — glavnoe **izbavit'sya ot privychovy vstavyat'sekre.

Попробуй pryamo sejchas: pojshchite в вашем Telegram ili Slack по zaprosam DATABASE_URL ili API_KEY. Rezul'taty mogut vas udivit'.

Ключові слова

bezopasno peredat' .env fajl
peredat' переменні окруженія команда
upravlenie sekretami razrabotchikov

Створіть захищене паролем посилання зараз

Створюйте безкоштовно захищені паролем посилання, секретні нотатки та зашифровані чати.

Почати безкоштовно
Як безпечно пережити'. | LOCK.PUB Blog