Pemantauan web dimulai dengan tujuan, bukan dengan titik tangkap. Menghitung klien aktif, mengukur waktu panggilan API dan membaca isi pesan masing-masing memerlukan bukti berbeda dan keputusan privasi berbeda. Gerbang yang meneruskan HTTPS terlindungi melihat koneksi, bukan konten halaman. Memilih lapisan yang salah menghasilkan data yang tampak kaya dan tidak menjawab apa pun.

Beri nama pertanyaan sebelum sumber data

Mulailah dengan keputusan operasional yang harus didukung data. Pertanyaan ketersediaan memerlukan hitungan dan waktu, pertanyaan permintaan memerlukan jalur dan kode status, dan pertanyaan konten memerlukan isi pesan. Setiap langkah ke dalam menambah sensitivitas dan kompleksitas teknik. Mintalah pemilik layanan dan pemilik keamanan menyetujui audiens, tujuan dan penanganan sebelum pengumpulan dimulai, karena mengoperasikan terowongan bukan keputusan itu.

Tulis pertanyaan dalam satu kalimat dan simpan di samping rencana pengumpulan. Itu satu-satunya kendali cakupan yang andal.

Apa yang bisa dan tidak bisa ditunjukkan gerbang

Gerbang yang meneruskan HTTPS terlindungi dengan benar biasanya melihat alamat, port dan volume, bukan baris permintaan atau isi.

conntrack -L -d 203.0.113.10 | head
tcpdump -ni vpn0 -c 20 'tcp port 443'

Daftar conntrack menunjukkan aliran dan terjemahan, dan tangkapan singkat menunjukkan paket tanpa konten aplikasi yang terbaca. Itu cukup untuk menjawab apakah lalu lintas mengalir, berapa banyak, dan di antara titik akhir mana. Itu bukan daftar URL, dan proxy CONNECT biasa meneruskan pertukaran terenkripsi tanpa mengakhiri TLS aplikasi. Ketika seseorang menjanjikan jalur permintaan dari posisi itu, tanyakan komponen mana yang mendekripsi dan di bawah kepercayaan siapa.

Log aplikasi menjawab sebagian besar pertanyaan permintaan

Untuk aplikasi yang Anda operasikan, pencatatan yang didukungnya sendiri biasanya menjawab pertanyaan tingkat permintaan tanpa mendekripsi koneksi orang lain.

curl -sS -o /dev/null -w "%{http_code} %{time_total}\n" https://app.example.com/health
tail -n 5 /var/log/nginx/access.log

Permintaan kesehatan mengukur ketersediaan dari posisi klien, dan log akses mencatat bidang yang sudah dipilih server untuk disimpan. Pilih bidang yang dibutuhkan tugas dan biarkan sisanya di luar, karena bahkan URL dapat membawa parameter sensitif. Baris log adalah bukti tentang layanan itu, bukan tentang setiap layanan lain yang dicapai pengguna melalui terowongan. Menjaga pengumpulan tetap sempit juga menjaga pertanyaan penyimpanan tetap kecil, jadi tetapkan jendela lebih pendek daripada eksperimen pemikiran yang menghasilkan persyaratan.

Intersepsi adalah desain kepercayaan terpisah

Jika inspeksi tingkat pesan benar-benar diperlukan, intersepsi TLS menciptakan titik akhir tepercaya baru dan pengaturan kepercayaan klien yang harus didistribusikan dan dipelihara. Aplikasi yang menyematkan sertifikat akan rusak, dan operator kini memegang kunci privat yang perlindungannya sama pentingnya dengan kunci server mana pun. Membuat pengumpulan berfungsi dengan melemahkan validasi sertifikat, atau menambal aplikasi yang menyematkan sertifikatnya, menukar kontrol keamanan dengan baris log. Utamakan desain inspeksi terdokumentasi yang distribusi kepercayaannya sudah dikelola, dan jauhkan kunci privat otoritas dari apa pun yang dibagikan.

Pada akhir jendela pengumpulan, hapus konfigurasi dan materi kepercayaannya melalui pemiliknya, dan buang bukti yang disimpan sesuai kebijakan yang disepakati. Informasi tepercaya yang cukup untuk tujuan yang dinyatakan adalah kriteria keberhasilan, bukan tangkapan terbesar yang mungkin.

Artikel terkait