Ce poate și ce nu poate dovedi un jurnal VPN despre navigare
Înregistrările de sesiune, rezolvitor, flux și aplicație dovedesc evenimente diferite. Alegeți întrebarea auditului și îmbinarea identității înainte de a o numi istoric de navigare.
Înainte de a alege un colector de jurnale, decideți ce eveniment trebuie să stabilească auditul. Întrebarea care sesiune VPN a contactat o adresă de destinație este diferită de întrebarea care persoană a deschis o pagină anume. Ambele cer înregistrări diferite, îmbinări diferite și niveluri de încredere diferite. Un jurnal de conexiune OpenVPN răspunde la prima și nu poate răspunde la a doua.
Numiți evenimentul înainte de a alege un colector
O înregistrare de sesiune arată o identitate acceptată, un timp de început și de sfârșit și o adresă pe care serverul a alocat-o conform propriei politici. Jurnalul unui rezolvitor arată că un nume a fost interogat la acel rezolvitor. O înregistrare de flux arată adrese, porturi, protocol și timp, iar un jurnal de aplicație arată tranzacția pe care aplicația a tratat-o efectiv. Niciuna dintre cele patru nu o înlocuiește pe alta.
Fiecare dintre ele stabilește un eveniment și le lasă pe celelalte deschise. Scrierea întrebării mai întâi vă împiedică să compuneți o poveste pe care datele nu o pot susține.
journalctl -u [email protected] --since today | grep -i 'peer info\|assigned' cat /etc/openvpn/server/openvpn-status.log | head -20 conntrack -L -p tcp --dport 443 2>/dev/null | head -20
Prima comandă arată evenimente de sesiune din jurnalul serviciului. A doua tipărește lista curentă de clienți cu adresele alocate, adică maparea de care depinde o îmbinare de audit. A treia arată starea fluxului în timp real, utilă doar cât timp conexiunea există.
O căutare nu este o vizită
Un browser rezolvă nume speculativ, păstrează răspunsurile în cache și le refolosește fără a mai întreba rezolvitorul monitorizat. Un nume din jurnalul unui rezolvitor dovedește așadar o căutare, nu o vizită. DNS prin HTTPS lărgește acest gol, pentru că un browser configurat astfel își trimite întrebările acolo unde înregistratorul obișnuit nu le vede niciodată.
Adresele de destinație nu sunt mai bune de la sine. O adresă poate găzdui multe site-uri nelegate între ele, DNS invers este o presupunere și nu o reconstrucție, iar un nume de gazdă vizibil în timpul unui handshake TLS nu este calea cererii din interiorul sesiunii criptate.
Pentru tranzacții exacte aveți nevoie de înregistrările de evenimente ale aplicației sau de o concepție de proxy acceptată explicit pentru jurnalizare. Un tunel CONNECT îi dă proxy-ului destinația și volumul, nu căile paginilor din interior. Accesul administrativ la rețea nu este o licență de a înlocui în tăcere modelul de încredere al aplicației.
Îmbinați identitatea și timpul înainte de a numi o persoană
O înregistrare de flux cu o adresă sursă internă nu înseamnă nimic până când acea adresă nu este îmbinată cu o sesiune în același moment. Adresele sunt refolosite, iar aceeași adresă poate să fi aparținut altei sesiuni cu o oră înainte. Alocarea statică este o modalitate de a păstra asocierea, nu singura.
Frontierele de traducere slăbesc și mai mult îmbinarea. Dacă mai multe dispozitive împărțeau deja o adresă sursă înainte de punctul dumneavoastră de observare, cel mai bun lucru pe care îl puteți identifica este sesiunea de gateway partajată, nu un singur dispozitiv. Un certificat sau un cont folosit de mai multe persoane are același efect.
Înregistrați fusurile orare, sursele de ceas, punctele de observare și fiecare salt de traducere. Înregistrările lipsă pot însemna că o intrare de flux a expirat, că un senzor a fost ocolit sau că un jurnal de aplicație era oprit. Absența nu este dovada că nu s-a întâmplat nimic.
Apoi definiți câmpurile minime, cititorii permisi și perioada de păstrare pentru scopul declarat. Corelarea și atribuirea greșită sunt chestiuni de proiectare, nu o idee ulterioară, iar metadatele care identifică persoane merită aceeași protecție ca maparea identității de care depind.
Testați auditul cu activitate pe care o controlați
Generați trafic permis a cărui sesiune și aplicație le cunoașteți deja, apoi verificați ce a capturat efectiv fiecare înregistrare. Faceți o căutare fără a încărca pagina, încărcați o pagină din cache și deschideți o conexiune printr-un proxy, și observați ce evenimente apar.
Raportați evenimentul pe care probele îl susțin și spuneți ce nu acoperă. O înregistrare modestă cu un domeniu declarat trece de revizuire; un istoric de navigare ambițios alcătuit din presupuneri nu trece.