Bacalah frasa itu sebagai pernyataan tentang objek bersama dan penunjuk fungsi, bukan tentang kata sandi. Kata-kata yang sama bisa datang dari OpenVPN plugin, dari tumpukan PAM yang dimuat untuk satu layanan, atau dari dalam daemon RADIUS, dan itu tiga penyelidikan berbeda. Tentukan dulu prosesnya.

Pemeriksaan di bawah mengasumsikan pesan muncul melalui integrasi Linux-PAM saat login VPN. Jika pesan berasal dari konfigurasi server RADIUS itu sendiri, bukti daemon tersebut adalah tempat memulai.

Sebut nama prosesnya sebelum menyebut nama paketnya

Tiga komponen disebut modul dan tidak satu pun dapat dipertukarkan. Plugin autentikasi OpenVPN dimuat oleh daemon VPN dan mengimplementasikan antarmuka callback daemon itu. Modul PAM adalah objek bersama yang dimuat libpam untuk layanan yang disebut namanya, dan mengimplementasikan titik masuk seperti pam_sm_authenticate. Modul FreeRADIUS adalah bagian dari konfigurasi daemon itu sendiri. Pesan dengan kata-kata yang sama dapat berasal dari salah satu dari ketiganya, jadi pertanyaan pertama adalah baris log mana yang menghasilkannya.

Korelasikan cap waktu satu upaya gagal antara log VPN dan log autentikasi sistem, lalu bacalah baris-baris sebelum ringkasan. Pesan pemuat yang spesifik biasanya sudah ada di sana.

Baca galat pemuatan, lalu titik masuknya

PAM melaporkan modul tidak dikenal ketika ia tidak dapat memuat objek bersama yang dipilih, atau ketika objek yang dimuat tidak menyediakan fungsi yang dibutuhkan entri tumpukan itu. Ini perbaikan yang berbeda: yang pertama adalah masalah jalur, pemaketan, atau ABI, dan yang kedua adalah titik masuk yang tidak cocok. Baris auth membutuhkan pam_sm_authenticate sedangkan baris akun membutuhkan pam_sm_acct_mgmt, dan pustaka yang hanya mengimplementasikan salah satunya akan gagal pada yang lain, seperti yang kode pengirim tunjukkan. Menemukan berkas itu di disk tidak membuktikan keduanya.

Mengambil pustaka dengan nama serupa dari distribusi atau arsitektur CPU lain bukan perbaikan, dan itu dapat membuat proses memuat modul yang tidak pernah diuji terhadap libpam-nya. Periksa paket yang memiliki jalur yang dimaksud dan arsitektur berkas yang sebenarnya sebelum mengubah apa pun.

Pertahankan jaminan yang diberikan tumpukan itu

Cara tercepat membungkam galat ini juga yang terburuk: menandai modul wajib sebagai opsional, menghapus tahap akun, atau menyisipkan izin tanpa syarat. Setiap cara itu mengubah pemeriksaan yang gagal menjadi pemeriksaan yang tidak ada, dan login lalu berhasil karena alasan yang tidak dimaksudkan siapa pun. Pengaturan ulang kata sandi dan perubahan rahasia bersama juga tidak menyediakan fungsi yang hilang, karena kegagalan terjadi sebelum kredensial apa pun mencapai backend.

Tumpukan bermodul banyak mungkin telah menjalankan backend lain sebelum entri yang gagal, jadi galat itu tidak membuktikan bahwa tidak ada permintaan RADIUS yang dikirim.

Verifikasi loginnya, bukan modulnya

Setelah ketidakcocokan diperbaiki, ujilah jalur penerimaan yang sebenarnya. Akun yang valid harus berhasil, kredensial yang tidak valid harus tetap gagal, dan akun yang dilarang harus tetap ditolak. Pastikan juga bahwa persyaratan sertifikat atau faktor tambahan masih diberlakukan, karena tumpukan yang diperbaiki tetapi melewati satu tahap terlihat seperti keberhasilan dari sisi klien.

Modul yang dimuat dengan bersih adalah kemajuan, bukan uji yang selesai.

Catat nama layanan, berkas kebijakan, dan titik masuk mana yang terlibat, bersama satu-satunya upaya yang Anda gunakan sebagai bukti. Catatan itulah yang membuat kejadian berikutnya menjadi pencarian, bukan latihan arkeologi.

Artikel terkait