Permintaan TOTP OpenConnect tidak muncul di NetworkManager: empat pemeriksaan
Gerbang meminta kode sekali pakai dan dialog NetworkManager tidak pernah menyediakan kolom untuknya. Periksa di mana autentikasi berhenti sebelum menyunting rahasia.
Gerbang menerima kata sandi, meminta kode, dan dialog tidak menyediakan kolom untuknya. Tidak ada yang salah ketik: plugin NetworkManager menyelesaikan pertukaran rahasia tanpa meminta nilai enam digit. Jalankan empat pemeriksaan di bawah secara berurutan, karena hanya satu di antaranya yang mengubah klien. Sisa daftar menyingkirkan gerbang, akun, dan build plugin.
Pemeriksaan satu: baca di mana autentikasi berhenti
Kata sandi salah langsung gagal. Faktor kedua yang hilang gagal setelah langkah kredensial, biasanya dengan permintaan berulang atau batas waktu di sisi gerbang. Waktu dan log gerbang menunjukkan putaran mana yang tidak dijawab.
Baca log koneksi sebelum menyentuh profil. Jika gerbang melaporkan autentikasi tidak lengkap atau tantangan kedaluwarsa, klien tidak pernah mengirim kode. Jika gerbang melaporkan kredensial tidak valid, masalahnya ada pada kata sandi dan tidak ada pengaturan TOTP yang akan memperbaikinya.
Catat urutan permintaan yang diharapkan gerbang: nama pengguna, kata sandi, lalu kode, atau nama pengguna, kode, lalu kata sandi. Beberapa gerbang mengubah urutan putaran, dan klien yang hanya tahu urutan pertama akan macet pada urutan kedua.
Pemeriksaan dua: gunakan klien yang memiliki tantangan
OpenConnect sendiri mengimplementasikan seluruh percakapan, termasuk putaran tantangan. Menjalankannya langsung adalah cara paling mudah diprediksi untuk memastikan akun dan gerbang berfungsi:
sudo openconnect --protocol=anyconnect --useragent=AnyConnect vpn.example.netKlien meminta dalam urutan yang diminta gerbang. Agen pengguna penting karena beberapa gerbang menyesuaikan alur masuk untuk klien yang dikenal, dan string umum dapat menghasilkan alur lebih pendek yang tidak pernah meminta kode. Jalankan sekali di latar depan sebelum mengatur layanan latar belakang apa pun.
Jika baris perintah meminta dengan benar, akun, gerbang, dan faktor kedua baik-baik saja. Masalah yang tersisa adalah dialog plugin, bukan layanan autentikasi. Itu mengisolasi komponen yang gagal tanpa menyentuh server. Simpan keluaran perintah bersama catatan insiden.
Jika baris perintah juga melewati permintaan, berhenti dan periksa konfigurasi gerbang bersama pemiliknya. Tidak ada klien desktop yang dapat menjawab tantangan yang tidak pernah dikirim server.
Pemeriksaan tiga: lihat apakah plugin Anda menampilkan mode TOTP
Beberapa build NetworkManager OpenConnect menampilkan mode token dan kolom agen pengguna di tab Identity koneksi. Atur agen pengguna ke nilai yang diharapkan gerbang, pilih entri TOTP manual, dan simpan koneksi.
Ada atau tidaknya kolom tersebut bergantung pada versi plugin dan editor koneksi yang dipakai desktop. Editor mandiri mungkin menampilkan opsi yang disembunyikan panel GNOME, atau sebaliknya. Periksa versi paket yang terpasang sebelum mencari pengaturan tersembunyi.
Jika mode token ada dan permintaan tetap tidak muncul, build tidak memiliki penyerahan tantangan antara plugin dan dialog rahasia umum. Mengetik ulang kata sandi, memasang ulang paket yang sama, atau membersihkan keyring tidak akan membuat kolom yang tidak diimplementasikan build.
Pemeriksaan empat: perlakukan kode yang dihasilkan sebagai kompromi
Skrip dapat memanggil oathtool untuk kode saat ini dan menyalurkan nama pengguna, kata sandi, dan kode ke nmcli connection up --ask. Urutannya berfungsi, tetapi rahasia bersama akhirnya tersimpan di tempat yang dapat dibaca siapa pun yang bisa membuka skrip, dan pembaca itu dapat membuat kode selamanya. Itu perluasan permanen permukaan kredensial, bukan perbaikan klien.
Siapa pun yang memilihnya harus mengunci berkas rahasia ke root, menjaga nilai yang dihasilkan di luar riwayat shell, dan memperlakukan skrip sebagai materi kredensial. Pembungkus yang menggemakan kode ke terminal membuang faktor kedua. Uji pembungkus dengan akun sekali pakai lebih dulu.
Skrip juga harus mengikuti urutan permintaan gerbang. Jika server meminta kode sebelum kata sandi, urutan masukan tetap mengirim nilai yang salah ke permintaan yang salah dan menghasilkan autentikasi tidak lengkap yang sama. Latih dengan akun uji sebelum menghubungkannya ke tugas masuk.
Pastikan gerbang dan akun yang sama
Uji setiap solusi sementara terhadap gerbang yang sama, akun yang sama, dan grup terowongan yang sama. Gerbang yang juga memerlukan sertifikat perangkat dapat menolak klien baris perintah karena alasan yang tidak terkait TOTP, dan urutan permintaan dapat berbeda dari yang dilatih.
Catat klien, versinya, agen pengguna, dan urutan permintaan yang berhasil. Catatan itu memberi tahu orang berikutnya apakah masalahnya build plugin, alur gerbang, atau kebijakan akun, tanpa putaran pengaturan ulang kata sandi lagi.
Akhiri dengan menyambung ulang sekali setelah keluar sepenuhnya. Rahasia yang di-cache dapat membuat alur rusak tampak diperbaiki sampai sesi berikutnya, dan pada sambungan kedua permintaan yang hilang biasanya kembali.