Výber dôkazov HTTP: záznamy brány alebo denníky aplikácie
Brána VPN vidí spojenia, vaša aplikácia vidí požiadavky a proxy TLS vidí telá. Vyberte najmenej invazívny zdroj, ktorý odpovedá na prevádzkovú otázku.
Webový monitoring sa začína cieľom, nie miestom zachytenia. Počítanie aktívnych klientov, meranie volania API a čítanie tiel správ si vyžaduje rôzne dôkazy a rôzne rozhodnutia o súkromí. Brána, ktorá prenáša chránený HTTPS, vidí spojenia, nie obsah stránky. Výber nesprávnej vrstvy prináša dáta, ktoré vyzerajú bohato a neodpovedajú na nič.
Pomenujte otázku pred zdrojom dát
Začnite prevádzkovým rozhodnutím, ktoré majú dáta podporiť. Otázky dostupnosti potrebujú počty a časy, otázky požiadaviek potrebujú cesty a stavové kódy a otázky obsahu potrebujú telá správ. Každý krok dovnútra pridáva citlivosť a inžiniersku zložitosť. Získajte od vlastníka služby a vlastníka bezpečnosti schválenie publika, účelu a spracovania pred začatím zberu, pretože prevádzka tunela nie je to rozhodnutie.
Napíšte otázku v jednej vete a držte ju vedľa plánu zberu. Je to jediná spoľahlivá kontrola rozsahu.
Čo brána môže a čo nemôže ukázať
Brána, ktorá prenáša správne chránený HTTPS, zvyčajne vidí adresy, porty a objemy, nie riadky požiadaviek alebo telá.
conntrack -L -d 203.0.113.10 | head
tcpdump -ni vpn0 -c 20 'tcp port 443'Zoznam conntrack ukazuje toky a preklady a krátky záznam ukazuje pakety bez čitateľného obsahu aplikácie. To stačí na odpoveď, či prevádzka tečie, koľko a medzi ktorými koncovými bodmi. Nie je to zoznam URL a bežný proxy CONNECT prenáša šifrovanú výmenu bez ukončenia TLS aplikácie. Keď niekto sľubuje cesty požiadaviek z tejto pozície, opýtajte sa, ktorá komponenta dešifruje a pod čou dôverou.
Denníky aplikácie odpovedajú na väčšinu otázok požiadaviek
Pre aplikáciu, ktorú prevádzkujete, jej vlastné podporované zaznamenávanie zvyčajne odpovedá na otázku na úrovni požiadavky bez dešifrovania cudzích 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žiadavka na stav meria dostupnosť z pozície klienta a prístupový denník zaznamenáva polia, ktoré si server už zvolil uchovávať. Vyberte polia, ktoré úloha potrebuje, a ostatné vynechajte, pretože aj URL môže niesť citlivé parametre. Riadok denníka je dôkaz o tejto službe, nie o každej ďalšej službe, ku ktorej sa používateľ dostal cez tunel. Úzky zber udržiava malú aj otázku uchovávania, preto nastavte okno kratšie ako myšlienkový experiment, ktorý požiadavku vytvoril.
Zachytávanie je samostatný návrh dôvery
Ak je inšpekcia na úrovni správy skutočne potrebná, zachytávanie TLS vytvára nový dôveryhodný koncový bod a klientske usporiadanie dôvery, ktoré sa musí distribuovať a udržiavať. Aplikácie, ktoré pinu certifikáty, sa rozbijú a operátor teraz drží súkromné kľúče, ktorých ochrana je rovnako dôležitá ako každý serverový kľúč. Prinútiť zber fungovať oslabením overovania certifikátov alebo záplatovaním aplikácie, ktorá pinu svoje certifikáty, vymieňa bezpečnostnú kontrolu za riadok denníka. Uprednostnite zdokumentovaný návrh inšpekcie, ktorého distribúcia dôvery je už spravovaná, a držte súkromný kľúč orgánu mimo všetkého zdieľaného.
Na konci okna zberu odstráňte konfiguráciu a jej dôveryhodný materiál prostredníctvom ich vlastníkov a zlikvidujte uchované dôkazy podľa dohodnutej politiky. Dostatok spoľahlivých informácií pre uvedený účel je kritérium úspechu, nie najväčšie možné zachytenie.