Postmortem inżynierski
Postmortem — Eliminacja IDOR w Załącznikach S3
Paweł Bereś7 min lektury
Streszczenie inżynierskie
Dlaczego presigned URL-e to pozorne bezpieczeństwo i jak zastąpiliśmy je uwierzytelnionym proxy z PostgreSQL Row Level Security (RLS) i strumieniowaniem zakresów bajtowych.
Problem z presigned URL w systemach wielofirmowych
Presigned URL w chmurze S3 jest często traktowany jako bezpieczny sposób udostępniania plików. W praktyce wygenerowany link może zostać przekazany osobie nieuprawnionej lub podsłuchany w historii przeglądarki.
Rozwiązanie: Autoryzowane Proxy z PostgreSQL RLS
Zastąpiliśmy bezpośrednie linki S3 dedykowanym proxy aplikacyjnym. Każde żądanie pobrania załącznika wymaga aktywnej sesji, a baza danych weryfikuje przynależność pliku do firmy użytkownika na poziomie reguł Row Level Security (RLS).
CREATE POLICY attachment_tenant_isolation ON attachments
FOR SELECT
USING (tenant_id = current_setting('app.current_tenant_id')::uuid);Wynik produkcyjny
Całkowita eliminacja podatności IDOR i pełna kontrola nad uprawnieniami w czasie rzeczywistym.
Autor analizy
Omów architekturę systemuPaweł Bereś · UnitAI