Výběr důkazů HTTP: záznamy brány versus protokoly aplikace
Brána VPN vidí spojení, vaše aplikace vidí požadavky a proxy TLS vidí těla. Vyberte nejméně invazivní zdroj, který odpovídá na provozní otázku.
Webový monitoring začíná účelem, ne místem zachycení. Počítání aktivních klientů, měření volání API a čtení těl zpráv vyžaduje různá důkazní data a různá rozhodnutí o soukromí. Brána, která předává chráněný HTTPS, vidí spojení, nikoli obsah stránky. Volba špatné vrstvy přináší data, která vypadají bohatě a neodpovídají na nic.
Pojmenujte otázku dříve než zdroj dat
Začněte provozním rozhodnutím, které mají data podpořit. Otázky dostupnosti potřebují počty a časy, otázky požadavků potřebují cesty a stavové kódy a otázky obsahu potřebují těla zpráv. Každý krok dovnitř přidává citlivost a inženýrskou složitost. Získejte od vlastníka služby a vlastníka bezpečnosti schválení publika, účelu a zpracování dříve, než sběr začne, protože provoz tunelu není toto rozhodnutí.
Napište otázku v jedné větě a držte ji vedle plánu sběru. Je to jediná spolehlivá kontrola rozsahu.
Co brána může a co nemůže ukázat
Brána, která předává správně chráněný HTTPS, obvykle vidí adresy, porty a objemy, nikoli řádky požadavků nebo těla.
conntrack -L -d 203.0.113.10 | head
tcpdump -ni vpn0 -c 20 'tcp port 443'Seznam conntrack ukazuje toky a překlady a krátký záznam ukazuje pakety bez čitelného aplikačního obsahu. To stačí k odpovědi, zda provoz teče, kolik a mezi kterými koncovými body. Není to seznam URL a běžný proxy CONNECT předává šifrovanou výměnu, aniž by ukončoval TLS aplikace. Když někdo slibuje cesty požadavků z této pozice, zeptejte se, která komponenta dešifruje a pod čí důvěrou.
Protokoly aplikace odpovídají na většinu otázek požadavků
Pro aplikaci, kterou provozujete, její vlastní podporované protokolování obvykle odpovídá na otázku na úrovni požadavku, aniž by dešifrovalo cizí spojení.
curl -sS -o /dev/null -w "%{http_code} %{time_total}\n" https://app.example.com/health
tail -n 5 /var/log/nginx/access.logPožadavek na stav měří dostupnost z pozice klienta a přístupový protokol zaznamenává pole, která si server už zvolil uchovávat. Vyberte pole, která úkol potřebuje, a ostatní vynechejte, protože i URL může nést citlivé parametry. Řádek protokolu je důkaz o této službě, ne o každé další službě, k níž se uživatel dostal tunelem. Úzký sběr drží malou i otázku uchovávání, proto nastavte okno kratší než myšlenkový experiment, který požadavek vytvořil.
Zachycení je samostatný návrh důvěry
Pokud je inspekce na úrovni zpráv skutečně nutná, zachycení TLS vytváří nový důvěryhodný koncový bod a klientské uspořádání důvěry, které se musí distribuovat a udržovat. Aplikace, které pinují certifikáty, se rozbijí a operátor nyní drží soukromé klíče, jejichž ochrana je stejně důležitá jako každý serverový klíč. Přinutit sběr fungovat oslabením ověřování certifikátů nebo záplatováním aplikace, která pinuje své certifikáty, vyměňuje bezpečnostní kontrolu za řádek protokolu. Dejte přednost zdokumentovanému návrhu inspekce, jehož distribuce důvěry je už spravována, a držte soukromý klíč orgánu mimo vše sdílené.
Na konci okna sběru odstraňte konfiguraci a její důvěryhodný materiál prostřednictvím jejich vlastníků a zlikvidujte uchované důkazy podle dohodnuté politiky. Dostatek spolehlivých informací pro uvedený účel je kritérium úspěchu, ne největší možné zachycení.