Nama pengguna muncul dalam direktori baharu, migrasi diisytiharkan selesai, dan log masuk masih gagal. Gerbang masih memerlukan laluan pengesahan yang disokong dan hasil kebenaran yang betul, dan kedua-duanya tidak datang daripada direktori yang kini mengandungi akaun. Pemindahan backend ialah pemotongan dengan kitaran hayat, bukan kerja menyalin. Gejala di bawah ialah yang biasanya mendedahkan perbezaannya.

Gejala: akaun wujud, sesi tidak

Direktori baharu mengandungi setiap nama pengguna, ikatan ujian berjaya, dan klien VPN masih memulangkan kegagalan pengesahan. Gabungan itu bermakna identiti wujud, tetapi laluan pengesahan yang digunakan gerbang tidak mencapainya, atau mencapainya dengan kaedah yang tidak dapat dipenuhinya. Kedua-duanya konfigurasi, dan kedua-duanya masalah berbeza.

Yang pertama ialah pendawaian: gerbang menunjuk kepada backend yang tidak menjawab, menggunakan rahsia kongsi yang tidak dijangka pihak lain, atau meminta atribut yang tidak dikembalikan perkhidmatan baharu. Yang kedua bersifat kriptografi: kaedah memerlukan rahsia asal, dan storan baharu hanya menyimpan hash-nya. Teks ralat kelihatan serupa dalam kedua-dua kes, kerana itu kedua-duanya dianggap satu masalah.

Memisahkan kedua-duanya sebelum menyentuh akaun menjimatkan seminggu. Satu ialah soal penghalaan dan kepercayaan, yang lain keputusan tentang set semula kelayakan, dan mencampurkannya menghasilkan perubahan yang tiada siapa dapat mengesan puncanya.

Petakan rantaian sebelum memindahkan sesiapa

Tulis enam perkara untuk setiap profil klien: kaedah pengesahan luar, kaedah dalam jika ada, identiti pelayan yang dijangka klien, antara muka antara gerbang dan backend, atribut yang dipetakan gerbang kepada keahlian kumpulan, dan dasar sumber yang terhasil. Membacanya mengikut urutan menunjukkan pautan mana yang tiada pemilik. Setiap butiran ada orang bertanggungjawab, dan pemotongan gagal pada butiran yang tiada siapa periksa.

LinkQuestion it answers
Client profileWhich method and server name does the client use?
Inner methodIs there a second authentication step?
Server identityWhich certificate or name must the client accept?
Gateway to backendWhich protocol, port and shared secret?
Attribute mappingWhich returned value becomes group membership?
Resource policyWhat the resulting session may reach

Log masuk direktori biasa hampir tidak melalui apa-apa daripada rantaian itu. Ia membuktikan akaun wujud dan kata laluan berfungsi, iaitu bahagian yang tidak pernah diragui.

Hash tidak bergerak antara kaedah

Keserasian kelayakan mesti diperiksa sekali, sebelum mana-mana kumpulan berpindah. FreeRADIUS mendokumentasikan pemisahan itu dengan jelas: semakan CHAP yang dilakukan pelayan sendiri memerlukan kata laluan sebenar, dan MS-CHAP menerima kata laluan itu atau bahan NT yang sesuai. Hash yang dibuat untuk tujuan lain tidak sepadan dengan mana-mana kes, sekuat mana pun ia.

Perbezaannya terletak pada siapa mengira bukti. Kaedah yang mengesahkan dengan mengikat kepada direktori membiarkan direktori memeriksa apa yang mampu. Kaedah yang mengesahkan dengan mengira semula respons cabaran memerlukan rahsia itu sendiri, kerana pelayan mesti melakukan pengiraan yang sama.

Apabila bahan tiada, pilihan jujur ialah set semula yang disokong, pendaftaran semula, perkhidmatan pengesahan luar atau pertukaran kaedah. Eksport sementara kata laluan yang boleh dipulihkan tiada dalam senarai itu. Ia mencipta storan kelayakan teks biasa pada minggu paling huru-hara projek, dan biasanya bertahan lebih lama daripada migrasi.

Kohort perintis, kemudian perubahan kitaran hayat

Pindahkan kohort kecil identiti yang diluluskan dengan klien sebenar, dan uji empat perkara: log masuk baharu, kelayakan yang sengaja salah, sumber yang boleh dicapai sesi, dan sumber yang tidak boleh. Periksa juga identiti pelayan yang diterima klien, kerana ketidakpadanan nama sijil tidak kelihatan sehingga seseorang membaca log klien.

Kemudian latih perubahan yang benar-benar menjadi sandaran penggunaan. Tukar kata laluan, perbaharui atau daftar semula sijil, dan tarik balik akses daripada satu akaun perintis. Selepas setiap satu, sahkan pengesah mana yang mengendalikan percubaan itu, kerana sesi yang dicipta sebelum pemotongan boleh terus berfungsi dan tidak membuktikan apa-apa tentang log masuk seterusnya.

Pisahkan penghantaran profil daripada pertukaran identiti. Setiap kohort memerlukan profil yang dimaksudkan, status kelayakan atau pendaftarannya, perkhidmatan pengesahan yang patut digunakan dan hubungan sokongan, dan tiada satu pun rekod itu boleh mengandungi rahsia.

Jika laluan lama dan baharu wujud bersama, hadkannya dengan tarikh tamat. Kemerosotan automatik boleh meloloskan akaun melalui kelayakan lama selepas pemilik baharu menarik balik akses, dan itu regresi keselamatan yang menyamar sebagai ketersediaan.

Pengunduran tidak boleh memulihkan kelayakan

Membalikkan pemotongan membiarkan direktori tepat seperti keadaannya sekarang. Kata laluan yang ditetapkan semula kekal ditetapkan semula, sijil yang dibatalkan kekal dibatalkan, dan format kelayakan yang diubah kekal berubah. Itu peristiwa dalam direktori, dan gerbang tidak pernah menjadi sumbernya. Pemulihan mesti ditakrifkan bagi setiap peristiwa, dan tiada bahagiannya boleh bergantung pada pembinaan semula rahsia daripada hash yang tidak serasi.

Kekalkan laluan pentadbiran yang tidak menggunakan sambungan yang sedang dimigrasikan. Apabila pengesahan baharu gagal, hentikan kohort dan gunakan laluan pemulihannya yang didokumenkan, bukan melemahkan pengesahan untuk semua orang demi menepati tarikh akhir.

Selepas kohort diliputi, nyahlaksanakan kelayakan, profil dan hubungan kepercayaan backend lama melalui pemiliknya. Sahkan laluan lama tidak lagi meloloskan pengguna, dan kekalkan pemetaan identiti kepada dasar tanpa rahsia yang masih diperlukan sokongan. Migrasi selesai apabila kitaran hayat baharu berfungsi dan tiada siapa lagi masuk melalui laluan lama, bukan apabila senarai akaun kelihatan lengkap.

Artikel berkaitan