Security

Titokkezelés: hol tárolod a jelszavakat, kulcsokat, tokeneket?

A beégetett titok a felhős biztonság egyik leggyakoribb hibája. Nézzük, hogyan kezeld a jelszavakat és kulcsokat rendesen — és miért baj a .env a repóban.

Röviden: A beégetett titok a felhős biztonság egyik leggyakoribb hibája. Nézzük, hogyan kezeld a jelszavakat és kulcsokat rendesen — és miért baj a .env a repóban.

A felhős biztonsági incidensek egyik legrégibb, mégis leggyakoribb oka a rosszul kezelt titok: egy adatbázis-jelszó a forráskódban, egy API-kulcs egy commitban, egy hozzáférési token egy elfelejtett fájlban. A titokkezelés nem izgalmas téma, de kevés dolog buktat el annyi rendszert, mint a hanyag titokkezelés. Nézzük, hogyan csináld rendesen.

Miért baj a beégetett titok?

A forráskódba írt jelszó vagy kulcs több sebből vérzik. Bárki, aki hozzáfér a repóhoz, látja. A verziótörténetben örökre benne marad, még ha később ki is törlöd. És ha a repó valaha kiszivárog vagy nyilvánossá válik, a titkod is vele megy. A .env fájl a repóban ugyanez a probléma más köntösben.

A megoldás: dedikált titoktár

A titkokat erre a célra tervezett tárban tartsd (secrets manager). Ezek titkosítva tárolják az értékeket, szabályozzák, ki férhet hozzá, és naplózzák a hozzáféréseket. A kód futásidőben kéri le a titkot, nem tárolja magában. Így a titok sosem kerül a repóba, és központilag forgatható.

A legkisebb jogosultság elve

  1. Minden titokhoz csak az férjen hozzá, akinek tényleg kell.
  2. Válaszd külön a környezeteket — a fejlesztői titok ne legyen azonos az élessel.
  3. Naplózd a hozzáféréseket, hogy incidenskor lásd, ki mit ért el.
  4. Forgasd rendszeresen a kulcsokat, ne évekig ugyanaz.

A rotáció mint rutin

A titkok forgatása (rendszeres cseréje) sokáig fájdalmas kézi munka volt, ezért elmaradt. A modern titoktárak támogatják az automatikus rotációt: a rendszer időnként új értéket generál, és a hozzáférők átállnak rá. Így egy esetleg kiszivárgott titok élettartama korlátozott — nem marad használható örökre.

Mit jelent ez neked?

Soha ne tarts titkot a forráskódban vagy a repóban lévő fájlban — még .env-ben sem. Használj dedikált titoktárat, ami titkosít, szabályozza a hozzáférést és naplóz. Adj a legkisebb szükséges jogosultságot, válaszd külön a környezeteket, és forgasd rendszeresen a kulcsokat. És ha egy titok valaha a git-történetbe került, ne csak töröld — rotáld, mert a történet megőrzi. Ez a legkevésbé látványos, mégis egyik legnagyobb hatású biztonsági fegyelem.