Peringatan login VPN bukan peringatan intrusi: pantau sesinya
Login yang tidak biasa adalah pemicu peninjauan, bukan vonis. Kaitkan catatan autentikasi ke sebuah sesi, lalu ke apa yang disentuhnya, sebelum menyebutnya intrusi.
Peringatan VPN yang menyala untuk negara baru terasa meyakinkan, dan biasanya tidak. Autentikasi mengatakan sebuah upaya diterima; sesi mengatakan koneksi mana yang membawanya; catatan sumber daya mengatakan apa yang terjadi di dalam koneksi itu. Masing-masing menjawab pertanyaan berbeda. Aturan yang menggabungkan ketiganya menghasilkan tiga puluh tiket pada Senin dan melewatkan kasus sebenarnya pada Jumat.
Alamat asing adalah pertanyaan, bukan jawaban
Perjalanan, operator seluler yang keluar di negara lain, proxy web korporat, dan kumpulan NAT tingkat operator yang dialokasikan ulang semuanya menggeser sumber yang tampak tanpa menggeser penyerang. Catatan login mencerminkan dari mana koneksi masuk ke jaringan, bukan siapa yang memegang perangkat.
Kegagalan sebaliknya lebih buruk karena sunyi. Kata sandi curian yang dipakai dari kota pengguna sendiri menghasilkan login yang cocok dengan semua login sebelumnya pada pemeriksaan geografi.
Memperlakukan geografi sebagai vonis punya biaya terukur. Laptop yang bepergian menghasilkan aliran peninjauan yang stabil, peninjau belajar menutupnya tanpa membaca, dan kebiasaan itu bertahan sampai kasus nyata masuk ke antrean yang sama.
Tiga jenis catatan menjawab tiga pertanyaan berbeda
Mulailah dari apa yang benar-benar dipancarkan produk yang diterapkan, bukan dari apa yang disiratkan brosur produk. Keputusan autentikasi menyebut identitas yang diklaim, metode, dan hasilnya. Siklus hidup sesi menyebut koneksi, gateway, dan alamat yang diberikan, dari mulai sampai berhenti.
| Record | Question it answers | What it cannot prove |
|---|---|---|
| Authentication decision | Which identity was accepted or rejected, by which method, at what time | That the person operating the device was the account owner |
| Session lifecycle | Which connection, gateway and assigned address were active, and for how long | What the session did with that access |
| Resource event | Which read, write or denied operation a service observed | Which human behind the session triggered it |
| Policy change | Whether an administrator altered the rule that governs the access | Whether the change was reviewed or intended |
Sel kosong adalah celah pengumpulan, bukan pembebasan. Jika peristiwa sumber daya tidak pernah datang, tidak adanya pembacaan mencurigakan berarti pipeline tidak punya apa pun untuk dilaporkan, dan dasbor yang sunyi menggambarkan pipeline, bukan jaringan. Catat catatan mana yang benar-benar dihasilkan penerapan sebelum menjanjikan aturan yang bergantung padanya, dan sebutkan pemilik setiap feed yang hilang.
Detail akuntansi adalah tempat sesi menjadi dapat diperiksa. Akuntansi RADIUS seperti dijelaskan dalam RFC 2866 membawa pembaruan mulai, berhenti, dan sementara yang dikunci ke pengenal sesi, sehingga sesi dengan awal tanpa akhir adalah celah yang bisa Anda sebut alih-alih misteri.
Gabungkan pada sesi, bukan pada nama pengguna
Satu akun secara sah menyimpan beberapa sesi sekaligus: laptop, ponsel, mesin laboratorium yang dibiarkan terhubung semalaman. Menggabungkan setiap peristiwa untuk nama pengguna itu melebur tiga perangkat menjadi satu cerita lalu membaca kombinasinya sebagai kompromi. Alamat yang diberikan juga didaur ulang, sehingga penggabungan yang terus mencocokkan alamat setelah sesi berakhir menyeret perangkat bulan lalu ke insiden hari ini. Simpan kunci sesi di samping alamat dan batasi pencocokan pada jendela waktu yang benar-benar dicakup sesi.
Di mana terjemahan menghapus sumber asli sebelum layanan melihatnya, gunakan identitas yang bertahan di batas itu, seperti subjek TLS timbal balik atau pernyataan login tunggal. Menciptakan pemetaan satu-ke-satu antara alamat dan orang adalah kesalahan yang sama dengan langkah tambahan.
Peringatan tanpa pemilik adalah dasbor
Setiap aturan memerlukan kondisi, penjelasan jinak yang menghasilkannya, bukti yang harus diambil, dan orang yang bertindak. Operasi administratif yang ditolak berulang, ledakan kata sandi gagal, dan pengumpul yang diam adalah tiga insiden berbeda dengan tiga jam berbeda.
Notifikasi bukan penahanan, dan daftar distribusi tidak membatasi apa pun. Mengubah sesi hidup memerlukan komponen yang bisa melakukannya, entah gateway yang memutus koneksi atau penyedia identitas yang mencabut sesi. Feed basi dan catatan berhenti yang hilang juga termasuk dalam teks aturan, karena pengumpul yang tidak mengirim apa pun selama sehari terlihat persis seperti jaringan sunyi dari dasbor. Perbedaannya hanya terlihat di pipeline itu sendiri.
Periksa jalur pengumpulan sebelum memercayai pekan yang sunyi
Buktikan pipeline dari ujung ke ujung sebelum menyetel satu aturan pun. Perintah di bawah ini memastikan pendengar autentikasi dan akuntansi hidup, bahwa kredensial uji ditolak karena alasan yang benar, dan bahwa peristiwa sesi masih datang:
ss -uanp | grep -E ':(1812|1813)\b' radtest alice 'not-the-password' 127.0.0.1 0 testing123 journalctl -u openvpn-server@server --since '-30 min' | grep -c 'Peer Connection Initiated' timedatectl | grep -E 'System clock|synchronized'
Access-Reject dari pengujian membuktikan permintaan mencapai server dan rahasia bersama cocok, dan itulah bagian yang dilewati orang. Waktu habis justru menunjuk ke rahasia, pendengar, atau filter di depannya, dan setiap peringatan di hilir tidak dapat diverifikasi sampai itu diperbaiki.
Status jam penting karena jendela korelasi mengasumsikan kesepakatan. Gateway yang meleset beberapa menit membuat penggabungan sesi yang bersih tampak mustahil, dan peninjau mengompensasi dengan melebarkan jendela sampai penggabungan berhenti membedakan. Periksa selisihnya sebelum menyunting aturan.
Lalu jalankan satu aturan dalam pengujian tak berbahaya: hasilkan login dari alamat tak terduga, pastikan peringatan menyala, pastikan penanggap dapat menarik sesi dan peristiwa sumber dayanya, dan pastikan tiket membawa pengenal sesi. Aturan yang menghasilkan cerita koheren lulus. Aturan yang menghasilkan tumpukan baris log masih sebuah dasbor. Catat hasilnya di samping aturan agar peninjauan berikutnya dimulai dari bukti, bukan intuisi.