Dua pertanyaan tercampur dalam setiap diskusi penagihan VPN: apakah pengguna ini diizinkan terhubung, dan apa yang sebenarnya ia lakukan. Pertanyaan pertama dijawab oleh autentikasi. Yang kedua memerlukan catatan akuntansi yang dimulai, diperbarui, dan berakhir. Login yang berhasil membuktikan yang pertama dan tidak mengatakan apa pun tentang yang kedua, karena itu penyiapan autentikasi RADIUS yang bekerja masih bisa menghasilkan laporan penggunaan kosong.

Dua pertanyaan berbeda

Autentikasi memutuskan apakah koneksi boleh dimulai, dan ia mengembalikan putusan beserta atribut seperti kumpulan alamat atau grup. Akuntansi mencatat layanan yang menyusul, sebagai rangkaian peristiwa yang terikat pada satu sesi.

Keduanya berjalan melalui protokol yang sama dan biasanya ke server yang sama, dan justru karena itulah orang menganggap yang satu menyiratkan yang lain.

Tidak ada apa pun dalam permintaan akses yang membawa durasi sesi, dan tidak ada apa pun dalam catatan Stop yang memutuskan ulang apakah pengguna seharusnya diterima. Memperlakukannya sebagai kontrak terpisah membuat pekerjaan integrasi terlihat: satu jalur membutuhkan keputusan, jalur lain membutuhkan siklus hidup dengan awal, tengah, dan akhir.

Apa yang diberikan tiga jenis catatan

Catatan Start membuka sesi, Interim-Update melaporkan aktivitas selama sesi terbuka, dan Stop menutupnya. Ketiganya membawa pengenal sesi agar penerima dapat menghubungkannya dengan satu peristiwa layanan.

Pengenal itu adalah satu-satunya tautan andal di antara keduanya, karena nama pengguna yang sama dapat memiliki beberapa sesi secara berurutan atau paralel. Rancang penyimpanan di sekitarnya, bukan di sekitar nama akun.

Mengakui sebuah catatan adalah hal berbeda dari menyimpannya dengan baik. Spesifikasi akuntansi melarang pengakuan ketika catatan tidak dapat ditulis, jadi sebuah respons memang memberi tahu Anda bahwa penerima menerima tanggung jawab. Respons itu tidak memberi tahu Anda bahwa tugas pelaporan berikutnya, dasbor, atau ekspor penagihan mengonsumsinya dengan benar.

Mengapa nama pengguna bukan sesi

Satu orang terhubung dari laptop pada pagi hari dan dari ponsel pada sore hari, dan kedua sesi membawa nama akun yang sama. Start yang datang tanpa Stop yang cocok tidak dapat ditutup dengan mencari nama dan memilih baris terbuka tertua.

Jalan pintas itulah cara laporan penggunaan memperoleh durasi yang mustahil.

Pertahankan identitas server akses jaringan bersama pengenal sesi, karena dua server dapat menetapkan nilai yang sama dalam konteks berbeda dan penggabungan hanya berdasarkan pengenal dapat menyatukan sesi yang tidak terkait. Ketika sesi berakhir secara tidak rapi, kebijakan rekonsiliasi harus memutuskan cara menutupnya, dan keputusan itu termasuk dalam desain, bukan dalam penyuntingan basis data manual yang dilakukan sebulan sekali.

Di mana PAM cocok dan di mana tidak

Plugin autentikasi OpenVPN memanggil tahap autentikasi dan manajemen akun PAM. Tahap akun memeriksa kelayakan; namanya tidak berarti akuntansi penggunaan, dan plugin tidak menjalankan kait pembukaan dan penutupan sesi PAM.

Beberapa modul PAM RADIUS dapat mengirim catatan akuntansi melalui kait sesi tersebut, dan itu hanya bekerja ketika aplikasi benar-benar memanggilnya.

Menambahkan modul semacam itu ke tumpukan autentikasi karena itu tidak menciptakan peristiwa pemutusan. Jika Anda memerlukan siklus hidup lengkap, pilih integrasi yang memilikinya: plugin atau build yang didukung yang memancarkan Start, Interim-Update, dan Stop saat koneksi berubah status. Periksa status pemeliharaannya dan perilaku terdokumentasinya ketika penerima tidak tersedia, karena plugin yang menjatuhkan catatan secara diam-diam tampak identik dengan plugin yang tidak pernah mengirimnya. Spesifikasi akuntansi mendefinisikan semantik catatan yang harus dipatuhi integrasi.

Uji penerimaan yang membuktikan kontrak

Uji koneksi dan pemutusan normal, lalu sambung ulang di bawah akun yang sama, lalu klien yang menghilang tanpa memutuskan koneksi.

Ikuti satu pengenal sesi dari pembuatan melalui pengakuan hingga penyimpanan, dan periksa arah, satuan, serta antarmuka penghitung. Jumlah byte tanpa label mustahil diaudit nanti.

Terakhir, pastikan sesi yang harus diakhiri server karena waktu habis direpresentasikan dengan cara yang dipahami laporan. Kontrak yang hanya mencakup pemutusan yang rapi adalah kontrak yang gagal pada hari-hari ketika Anda paling membutuhkannya.

Artikel terkait