Kebijakan kata sandi seharusnya membuat akun lebih sulit diretas tanpa membuat perilaku aman menjadi tidak perlu rumit. Kebijakan terbaik bersifat jelas, praktis, dan selaras dengan cara orang benar-benar bekerja. Kebijakan ini mendorong kata sandi yang panjang dan unik, mendukung penggunaan pengelola kata sandi, mewajibkan autentikasi multi-faktor jika sesuai, serta menghilangkan aturan kuno yang memaksa pengguna berperilaku bisa ditebak.
Artikel ini menjelaskan yang boleh dan tidak boleh dalam kebijakan kata sandi modern, apa yang harus dihindari, praktik terbaik yang harus diikuti, serta template siap pakai yang dapat Anda sesuaikan untuk organisasi Anda.
Kebijakan kata sandi adalah seperangkat aturan yang mendefinisikan bagaimana kata sandi dibuat, disimpan, digunakan, dibagikan, diubah, dan dilindungi. Ini berlaku untuk karyawan, kontraktor, administrator, akun layanan, dan terkadang pelanggan, tergantung sistem yang dibahas.
Kebijakan kata sandi yang baik harus menjawab pertanyaan praktis berikut:
Tujuannya bukan membuat aturan yang paling rumit. Tujuannya adalah mengurangi risiko nyata.
Panjang adalah salah satu pertahanan terkuat terhadap penebakan dan serangan brute-force. Satu aturan panjang minimum secara organisasi biasanya lebih mudah dipahami orang dan ditegakkan tim TI dibanding aturan terpisah untuk pengguna biasa, administrator, dan kasus khusus. Standar praktis adalah mewajibkan minimal 16 karakter untuk semua akun pengguna manusia. Makin panjang, makin baik, apalagi jika pengguna mengandalkan pengelola kata sandi atau frasa acak.
Pengguna harus dapat membuat kata sandi yang jauh lebih panjang dari minimum. Hindari batas maksimum rendah seperti 16 atau 20 karakter. Panjang maksimum minimal 64 karakter adalah standar masuk akal, dan banyak sistem dapat mendukung lebih dari ini secara aman.
Frasa sandi (passphrase) boleh digunakan asal cukup panjang dan tidak didasarkan pada kutipan umum, lirik lagu, nama perusahaan, atau frasa yang mudah ditebak. Misalnya, passphrase dari beberapa kata acak biasanya lebih baik daripada kata sandi pendek dengan penggantian paksa.
Setiap akun harus punya kata sandi unik. Pengulangan kata sandi adalah alasan utama terjadinya pengambilalihan akun di layanan berbeda setelah satu kebocoran. Pengelola kata sandi membuat keunikan ini jadi praktis karena pengguna tak perlu mengingat semua kredensial.
Kebijakan Anda harus secara eksplisit mengizinkan dan mendorong penggunaan pengelola kata sandi yang disetujui. Pengguna harus diperbolehkan menempel (paste) kata sandi ke formulir login, menggunakan autofill, dan membuat kata sandi acak. Pemblokiran fitur paste memang terasa melindungi, tapi justru sering menghambat penggunaan pengelola kata sandi secara benar.
Kata sandi harus ditolak jika muncul dalam daftar kebocoran yang sudah diketahui, daftar kata sandi umum, atau daftar merah spesifik organisasi. Ini lebih berguna ketimbang memaksa pengguna memakai satu huruf besar, satu angka, dan satu simbol.
Autentikasi multi-faktor harus diaktifkan di mana pun secara teknis memungkinkan, terutama untuk administrator, akses jarak jauh, layanan cloud, email, pengelola kata sandi, sistem keuangan, dan sistem bernilai tinggi lain. MFA tidak menggantikan kata sandi kuat, tapi mengurangi dampak jika kredensial dicuri.
Lebih utamakan MFA yang tahan phishing seperti passkey, kunci keamanan perangkat keras, atau authenticator perangkat. Authenticator berbasis aplikasi umumnya lebih baik daripada SMS. MFA berbasis SMS tidak boleh digunakan jika metode MFA lain secara teknis memungkinkan karena nomor telepon dapat disadap, SIM-swap, dialihkan, atau disalahgunakan lewat proses pemulihan akun.
Ini bukan cuma teori. Pada 2018, Reddit mengungkap penyerang berhasil menyadap 2FA berbasis SMS dan mengakses sistem internal: https://www.reddit.com/r/announcements/comments/93qnm5/wehadasecurityincidenthereswhatyouneed_to/. Pada 2021, Coinbase melaporkan hacker mencuri uang pelanggan (aset kripto) setelah mengakali kredensial dan memanfaatkan kelemahan SMS recovery: https://www.reuters.com/technology/coinbase-says-hackers-stole-cryptocurrency-least-6000-customers-2021-10-01/.
Kata sandi harus segera diganti jika ada bukti atau kecurigaan kompromi. Contohnya: pengguna kena phishing, perangkat kena malware, kredensial bocor dalam pelanggaran data, aktivitas login mencurigakan, atau pengungkapan tidak sengaja.
Kata sandi bersama harus dihindari jika memungkinkan penggunaan akun pribadi. Jika tak terelakkan, kredensial bersama harus disimpan di pengelola kata sandi yang disetujui, akses dibatasi hanya untuk yang berwenang, dan proses berbagi dilog secara aman jika memungkinkan.
Reset kata sandi sering jadi titik terlemah keamanan akun. Prosedur reset harus memverifikasi identitas, mengekspirasikan tautan reset dengan cepat, menggunakan token sekali pakai, dan memberi notifikasi bila terjadi pergantian kata sandi.
Penggantian kata sandi wajib setiap 30, 60, atau 90 hari sering membuat kata sandi jadi lemah. Pengguna akan membuat perubahan kecil dan mudah ditebak seperti menambah angka atau mengganti nama musim. Pedoman Identitas Digital NIST telah mencoret perubahan kata sandi berkala tanpa bukti kompromi (lihat bagian 3.1.1.2: https://pages.nist.gov/800-63-4/sp800-63b.html#passwordver). Wajibkan penggantian kata sandi hanya jika ada kecurigaan kompromi, perubahan peran, pemulihan akun, atau kalau kata sandi sudah tidak sesuai kebijakan.
Aturan seperti "harus ada huruf besar, kecil, angka, dan simbol" tidak menjamin kekuatan. Password1! memenuhi banyak aturan kompleksitas tapi tetap lemah. Utamakan panjang, keunikan, keacakan, dan pengecekan terhadap kebocoran.
Memblokir paste membuat pengelola kata sandi sulit digunakan. Ini mendorong pengguna memilih kata sandi pendek yang mudah diketik. Izinkan paste dan autofill kecuali ada alasan keamanan khusus yang terdokumentasi.
Petunjuk/hint kata sandi sering membocorkan terlalu banyak. Jika pengguna bisa menebak jawabannya dari hint, penyerang pun bisa. Gunakan prosedur reset yang aman.
Sistem tidak pernah boleh menyimpan kata sandi dalam bentuk teks biasa atau enkripsi yang dapat dibalik. Kata sandi harus di-hash dengan algoritma kuat dan lambat serta memakai salt, seperti Argon2id, bcrypt, scrypt, atau PBKDF2, sesuai kebutuhan sistem dan regulasi.
Hash fungsi umum dan cepat seperti MD5, SHA-1, SHA-256, atau SHA-512 tidak cocok sebagai algoritma hash kata sandi utama. Algoritma ini terlalu cepat, sehingga serangan brute-force ofline pasca kebocoran database jadi lebih mudah. Baca lebih lanjut di artikel kami tentang evolusi password hashing.
Kata sandi tidak boleh dikirim lewat email, chat, tiket dukungan, dokumen, atau screenshot. Gunakan pengelola kata sandi dengan fitur berbagi dan kontrol akses yang aman.
Kata sandi tidak boleh mengandung nama, tanggal lahir, nama perusahaan, pola keyboard, karakter berulang, atau penggantian umum seperti @ untuk a dan 0 untuk o. Pola-pola ini biasanya dicoba lebih dulu oleh peretas.
Gunakan aturan yang mudah dipahami:
Akun administrator, layanan, dan akses produksi butuh kontrol lebih ketat. Wajibkan kata sandi lebih kuat, MFA, akses terbatas, pemantauan, dan rotasi segera setelah ada perubahan akses.
Kata sandi kuat tidak bisa memperbaiki kelemahan jika hak akses pengguna terlalu luas. Pengguna hanya boleh mengakses sistem dan rahasia sesuai perannya.
Deteksi pola login aneh, perjalanan tak mungkin, percobaan gagal berulang, login dari negara baru, dan akses di luar jam kerja normal. Kebijakan kata sandi mesti didukung dengan pemantauan dan respons insiden.
Pelatihan harus fokus pada bahaya penggunaan ulang kata sandi, phishing, halaman login palsu, fatigue MFA, berbagi kata sandi aman, dan cara melaporkan kompromi. Jangan menyalahkan pengguna. Buat perilaku aman jadi mudah.
Kebijakan kata sandi harus mudah dipahami. Jika terlalu panjang, kabur, atau terlalu ketat, orang akan mencari celahnya. Kebijakan terbaik adalah yang benar-benar bisa diterapkan dan diikuti.
Gunakan template di bawah ini sebagai titik awal. Sesuaikan bagian dalam kurung agar sesuai organisasi, sistem, tingkat risiko, dan syarat hukum Anda.
Kebijakan Kata Sandi
Versi: [1.0]
Pemilik: [Departemen Keamanan / TI]
Tanggal berlaku: [YYYY-MM-DD]
Siklus tinjauan: [Setiap 12 bulan]
1. Tujuan
Kebijakan ini mendefinisikan persyaratan pembuatan, penggunaan, penyimpanan, berbagi, dan perubahan kata sandi untuk [Nama Organisasi]. Tujuannya adalah mengurangi risiko akses tidak sah, pencurian kredensial, pengambilalihan akun, dan kehilangan data.
2. Cakupan
Kebijakan ini berlaku untuk seluruh karyawan, kontraktor, staf sementara, penyedia layanan, dan setiap pengguna yang mengakses sistem, aplikasi, jaringan, layanan cloud, atau data [Nama Organisasi].
Kebijakan ini berlaku untuk akun pengguna standar, akun istimewa, akun layanan, akun bersama, dan sistem lain di mana kata sandi digunakan untuk autentikasi.
3. Persyaratan pembuatan kata sandi
Semua kata sandi harus memenuhi syarat berikut:
- Akun pengguna manusia wajib menggunakan kata sandi minimal 16 karakter.
- Kata sandi harus unik dan tidak boleh digunakan ulang pada akun kerja maupun pribadi lainnya.
- Kata sandi tidak boleh memuat nama, nama pengguna, nama perusahaan, tanggal lahir, pola keyboard, karakter berulang, atau informasi yang mudah ditebak lainnya.
- Kata sandi tidak boleh berbasis frasa umum, kutipan, lirik lagu, atau penggantian yang mudah ditebak.
- Kata sandi tidak boleh muncul di daftar kebocoran kata sandi maupun daftar kata sandi umum.
- Kata sandi boleh memuat spasi, simbol, angka, huruf kapital, dan huruf kecil.
- Passphrase (frasa sandi) diperbolehkan jika panjang, unik, dan tidak berbasis frasa publik atau mudah ditebak.
4. Pengelola kata sandi
[Nama Organisasi] mewajibkan atau sangat menganjurkan penggunaan pengelola kata sandi yang disetujui untuk membuat, menyimpan, dan berbagi kata sandi.
Pengguna boleh menggunakan fitur generator, autofill, dan copy-paste dari pengelola yang disetujui. Pengguna tidak boleh menyimpan kata sandi di browser, spreadsheet, dokumen, aplikasi catatan, email, chat, screenshot, atau alat tidak sah lain.
5. Autentikasi multi-faktor
MFA harus diaktifkan di mana pun memungkinkan secara teknis, termasuk namun tidak terbatas pada:
- Akun email
- Sistem akses jarak jauh
- Akun pengelola kata sandi
- Layanan cloud
- Akun administrator
- Sistem keuangan, SDM, dan lainnya yang berisiko tinggi
- Sistem apa pun yang diklasifikasikan sebagai [rahasia/kritikal]
Jika tersedia, pengguna wajib memakai MFA tahan phishing seperti passkey, kunci keamanan perangkat keras, atau authenticator perangkat. Aplikasi authenticator lebih disarankan daripada SMS. MFA berbasis SMS dilarang bila ada opsi MFA lain yang lebih kuat secara teknis dan hanya boleh digunakan jika tidak ada opsi MFA lain yang tersedia.
6. Perubahan kata sandi
Kata sandi harus segera diganti apabila:
- Kata sandi diketahui atau dicurigai telah dikompromikan.
- Pengguna memasukkan kata sandi ke situs phishing.
- Kata sandi dibagikan ke orang tidak berwenang.
- Ditemukan malware atau akses tidak sah pada perangkat pengguna.
- Kata sandi muncul dalam insiden kebocoran data.
- Perubahan peran akun istimewa atau status kepegawaian.
- TI atau Keamanan memerintahkan penggantian kata sandi.
Penggantian kata sandi rutin tidak diwajibkan kecuali dimandatkan oleh hukum, regulasi, kontrak, atau keterbatasan sistem. Perubahan kata sandi tidak boleh hanya dengan perubahan kecil yang mudah ditebak dari kata sandi sebelumnya.
7. Pembagian kata sandi
Kata sandi tidak boleh dibagikan melalui email, chat, tiket, dokumen, screenshot, telepon, maupun percakapan lisan.
Kredensial bersama hanya boleh digunakan jika akun pribadi tidak memungkinkan secara teknis atau dengan persetujuan [Keamanan / TI]. Kredensial bersama yang disetujui wajib disimpan dan dibagikan melalui pengelola kata sandi yang disetujui, dengan akses hanya untuk pengguna yang berwenang.
8. Akun istimewa
Akun istimewa harus menggunakan kata sandi unik yang tidak digunakan pada akun pengguna standar mana pun. Akun istimewa wajib memakai MFA di mana pun secara teknis memungkinkan dan harus ditinjau secara berkala.
Kata sandi akun istimewa harus diganti bila administrator keluar dari organisasi, pindah peran, tidak lagi butuh akses, atau ada dugaan kompromi.
9. Akun layanan dan rahasia aplikasi
Kata sandi akun layanan, API key, token, dan rahasia aplikasi harus disimpan pada sistem pengelolaan rahasia atau pengelola kata sandi yang disetujui.
Kredensial akun layanan tidak boleh disisipkan pada kode sumber, file konfigurasi, gambar, dokumentasi, atau skrip kecuali dilindungi lewat proses manajemen rahasia yang disetujui.
10. Reset kata sandi dan pemulihan akun
Proses reset kata sandi harus memverifikasi identitas pengguna sebelum akses dipulihkan. Tautan reset dan kata sandi sementara wajib sekali pakai, cepat kedaluwarsa, dan dikirim via jalur yang sah.
Pengguna harus diberi notifikasi setiap kali kata sandinya diubah atau direset. Kata sandi sementara harus diganti saat login pertama.
11. Kontrol teknis
Sistem yang menyimpan atau memproses kata sandi harus:
- Tidak pernah menyimpan kata sandi dalam teks biasa.
- Melakukan hash kata sandi menggunakan algoritma hash salted modern yang disetujui: PBKDF2, scrypt, bcrypt, atau Argon2.
- Tidak menggunakan MD5, SHA-1, SHA-256, SHA-512, atau hash cepat umum lain sebagai algoritma hash kata sandi utama.
- Melindungi endpoint autentikasi dengan rate limiting atau kontrol setara.
- Menolak kata sandi yang umum, lemah, dan sudah diketahui dikompromikan.
- Mengizinkan pengguna menempel (paste) kata sandi dari pengelola kata sandi.
- Mendukung panjang kata sandi yang wajar, setidaknya 64 karakter jika memungkinkan.
- Mencatat log peristiwa autentikasi penting terkait keamanan.
12. Pelaporan dugaan kompromi
Pengguna wajib melaporkan dugaan kompromi kata sandi, phishing, prompt login mencurigakan, prompt MFA yang tidak mereka lakukan, atau pengungkapan kata sandi tak sengaja ke [kontak Keamanan / TI] segera.
13. Pengecualian
Pengecualian kebijakan ini harus didokumentasikan, dinilai risikonya, dibatasi waktunya, dan disetujui oleh [pimpinan Keamanan/TI]. Kontrol kompensasi wajib diterapkan jika memungkinkan.
14. Penegakan
Kegagalan mematuhi kebijakan ini dapat mengakibatkan pencabutan akses, pelatihan keamanan wajib, sanksi disiplin, atau langkah lain sesuai kebijakan [Nama Organisasi] dan hukum berlaku.
15. Tinjauan
Kebijakan ini harus ditinjau minimal setahun sekali atau setelah perubahan besar pada sistem, ancaman, regulasi, atau aktivitas bisnis.
Kebijakan kata sandi yang kuat bukan soal membuat aturan menyulitkan. Intinya adalah menghilangkan kebiasaan lemah, mendukung pengelola kata sandi, menggunakan MFA, dan merespons cepat saat kredensial terekspos. Jaga kebijakan tetap praktis, dapat ditegakkan, dan fokus pada serangan nyata seperti phishing, credential stuffing, penggunaan ulang kata sandi, serta akun yang diretas.