Reconvio
Zpět na blog
Bezpečnost 1 min čtení

Proč je odhalený .env katastrofa (a jak to opravit za minutu)

Jeden soubor, jeden request, a útočník má klíče k databázi i platební bráně. Vysvětlení, proč se to děje, a jak to spolehlivě zavřít.

Marek Křivan · 10. července 2026

Soubor .env je tichý střed většiny aplikací. Drží připojení k databázi, API klíče, tajemství pro podpisy session. Je navržený tak, aby nikdy neopustil server. A přesto je to jeden z nejčastějších vážných nálezů, které vidím.

Jak se to stane

Nasazení „zkopíruj celý adresář na server" vezme i .env. Když web servíruje statické soubory z kořene projektu, stane se z něj tohle:

GET /.env HTTP/1.1
Host: vas-web.cz

HTTP/1.1 200 OK
Content-Type: text/plain

DATABASE_URL=postgres://user:heslo@db:5432/app
STRIPE_SECRET_KEY=sk_live_...

Během jednoho requestu má útočník připojení k produkční databázi a živý platební klíč.

Proč je to horší, než to vypadá

Nejde jen o ten jeden soubor. S DATABASE_URL čte a maže data. Se STRIPE_SECRET_KEY vidí zákazníky a vystavuje refundy. A protože se secrets recyklují napříč prostředími, jeden únik často odemkne i staging a lokál.

Oprava

  1. Nikdy neservíruj kořen projektu. Webroot je public/ nebo dist/, ne celý repozitář.
  2. Zablokuj přístup na úrovni serveru — v nginx location ~ /\.env { deny all; }.
  3. Zrotuj všechny klíče, které kdy byly odhalené. Když unikly, jsou kompromitované, i kdyby to bylo pět minut.

Ověřit, jestli je tvůj .env venku, trvá vteřinu. Neověřit to může stát všechno.

Zjistěte, co váš web prozrazuje

Spusťte zdarma audit a za půl minuty máte konkrétní nálezy — bez registrace.

Zkontrolovat web