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.
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
- Nikdy neservíruj kořen projektu. Webroot je
public/nebodist/, ne celý repozitář. - Zablokuj přístup na úrovni serveru — v nginx
location ~ /\.env { deny all; }. - 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