Tiga ponsel, satu router, dan satu pemeriksaan pemantauan masih memegang kata sandi lama, dan salah satunya menyambung ulang setiap sembilan puluh detik. Kata sandi akun berubah sepuluh menit lalu, jadi setiap klien itu kini mengirim nilai yang ditolak server. Di situlah mitos itu pecah: perubahan kata sandi menyentuh akun, bukan salinan nilai lama yang tersimpan di tiap perangkat. Yang menyusul adalah pekerjaan yang tidak dilakukan perubahan itu.

Mitos: satu perubahan, semua tempat sekaligus

Keyakinannya adalah perubahan kata sandi mengeluarkan semua sesi dan memaksa login ulang yang bersih. Itu tidak terjadi, karena server hanya melacak kredensial mana yang terakhir diterima, sementara klien menyimpan apa pun yang mereka simpan. Perangkat dengan kata sandi tersimpan mencobanya lagi sesuai jadwalnya sendiri dan gagal diam-diam sampai seseorang menyadari akun terkunci. Begitu Anda menerima bahwa salinan hidup di luar akun, rotasi berhenti tampak sebagai satu tindakan.

Semua itu tidak menentang rotasi. Itu mendukung memperlakukan salinan tersimpan sebagai bagian dari perubahan, bukan sebagai renungan belakangan. Penguncian biasanya datang dari percobaan ulang paralel: tiap perangkat terus mengirim nilai lama sesuai jadwalnya sampai penghitung terpicu. Akun lalu tampak diserang padahal hanya ditawari kredensial yang tidak diganti siapa pun. Perbedaan itu penting, karena solusinya adalah daftar perangkat, bukan kebijakan penguncian yang lebih ketat.

Inventarisasi salinan sebelum rotasi

Tulis inventaris sebelum membuka formulir kata sandi. Daftarkan setiap klien, skrip, otomatisasi, dan profil terkelola yang mengautentikasi sebagai akun ini: ponsel yang menyambung sendiri, router yang dikonfigurasi dua tahun lalu, laptop yang hanya bangun pada hari Senin, dan pemeriksaan pemantauan yang mencoba tiap menit. Untuk masing-masing, catat di mana kredensial disimpan, apakah perangkat dapat dijangkau selama perubahan, dan jalur pemulihan apa yang ada jika tidak bisa menyambung ulang. Daftar itulah yang mengubah perubahan berisiko menjadi perubahan terjadwal, dan daftar itu harus ada sebelum kata sandi lama berhenti berfungsi.

Perangkat offline adalah kelalaian klasik. Laptop di laci kembali tiga minggu kemudian dan menyodorkan nilai basi pada saat terburuk. Catat lokasi dan jadwalnya juga, karena Anda harus memburunya, bukan menunggunya.

Di armada Linux, pencarian bersifat mekanis, bukan cerdik. Cari profil yang merujuk berkas kredensial, lalu cari berkas kredensialnya sendiri, karena daftar kedua itulah yang harus ditulis ulang. Ulangi latihan untuk klien desktop dan ponsel, tempat penyimpanannya berupa profil atau entri gantungan kunci, bukan jalur. Tujuannya adalah daftar yang bisa Anda kerjakan, bukan pemindaian yang mengklaim menemukan setiap salinan.

grep -rl auth-user-pass /etc/openvpn /etc/NetworkManager
grep -rl auth-user-pass ~/.config 2>/dev/null

Ukur salinan terhadap orang yang memilikinya. Perangkat yang tidak diklaim siapa pun adalah perangkat yang tidak akan diperbarui siapa pun, dan perangkat itulah yang paling mungkin terus mencoba ulang.

Rahasia mana yang sebenarnya Anda putar

Kata sandi akun hanyalah satu kredensial dalam penerapan VPN. Frasa sandi kunci, identitas sertifikat, dan rahasia rekan opsional masing-masing punya jalur penggantian dan pemiliknya sendiri. Mengganti kata sandi akun tidak berpengaruh pada perangkat yang mengautentikasi dengan sertifikat, dan menerbitkan ulang sertifikat tidak berpengaruh pada klien yang menyimpan kata sandi. Sebutkan rahasianya sebelum menyebutkan solusinya.

Jika rotasi didorong dugaan, bukan kebijakan, proses insiden mengalahkan rencana kenyamanan. Cabut apa yang dituntut bukti dan terima kerja tambahan pada daftar perangkat. Keputusan itu milik pemilik insiden, bukan milik siapa pun yang kebetulan memegang formulir reset kata sandi.

Ganti nilai tersimpan di tempat ia tinggal

Ubah kredensial melalui mekanisme yang didokumentasikan layanan, lalu perbarui salinan tersimpan atau jalankan alur masuk pada setiap perangkat yang ingin Anda pertahankan. Jangan menyunting konfigurasi yang dihasilkan di balik pengelola yang menulis ulangnya, karena pengelola memulihkan nilai lama pada jalannya berikutnya dan suntingan itu menjadi kegagalan tertunda. Perbarui sumber yang dibaca pengelola, atau gunakan penyimpanan kredensial milik klien. Bagaimanapun, perangkat harus berakhir dengan nilai baru di tempat yang benar-benar dibaca klien.

Klien yang menyimpan berkas kata sandi perlu berkas itu ditulis ulang, sedangkan klien yang menanyakan perlu proses masuk yang selesai. NetworkManager menyimpan rahasia di dalam profil koneksi, jadi perubahannya lewat nmcli, bukan editor teks:

nmcli connection modify work vpn.secrets "password=NEW"
nmcli connection up work

Profil yang membaca berkas kredensial adalah kasus ketiga. Ganti isi berkas itu, biarkan izinnya tertutup, dan muat ulang klien alih-alih menyunting profil yang menunjuk ke sana. Profilnya tidak berubah; hanya rahasia yang dibacanya yang berubah.

Sambungkan ulang setiap perangkat yang dituju satu kali, dengan sengaja, dan perhatikan mana yang gagal. Jika ada perangkat yang terus gagal, periksa akun yang dituju dan penyimpanan yang dibacanya sebelum mengganti kata sandi lagi, karena perubahan kedua melipatgandakan salinan yang perlu diperbarui. Perangkat yang gagal dua kali biasanya menunjuk ke akun yang salah atau membaca penyimpanan yang belum Anda temukan. Perbaiki itu, lalu sambungkan ulang.

Sesi dan token bertahan lebih lama daripada kata sandi

Mengganti kata sandi tidak membuktikan sesi yang ada atau sertifikat terpisah telah dicabut. Sebagian layanan menjaga sesi tetap hidup sampai kedaluwarsa atau dihentikan secara eksplisit, dan token yang diterbitkan membawa masa hidupnya sendiri. Periksa apa yang sebenarnya dilakukan layanan alih-alih menganggap perubahan itu global. Jika perubahan didorong dugaan, hentikan sesi secara eksplisit dan konfirmasi hasilnya.

Panduan siklus hidup kredensial dalam NIST SP 800-63B menempatkan pengautentikasi dan sesi dalam kategori terpisah, itulah sebabnya perubahan kata sandi dan keluar global adalah dua operasi berbeda. Perlakukan keduanya sebagai dua tugas dengan dua kriteria penyelesaian. Yang pertama selesai saat nilai baru berfungsi, dan yang kedua selesai saat sesi lama hilang.

Catat penyelesaian tanpa menuliskan kata sandi baru ke dalam catatan. Log rotasi yang memuat kredensial adalah insiden baru yang menunggu di disk bersama. Catat tanggal, perangkat yang diperbarui, dan perangkat yang masih tertunda.

Artikel terkait