Keamanan Kata Sandi dan Hashing WordPress

Diterbitkan: 2017-11-10

Kata sandi adalah bentuk otentikasi yang terkait dengan pengguna atau proses. Mereka digunakan untuk memvalidasi identitas pengguna atau proses terhadap sistem komputer atau sumber daya. Di web modern ultra-konektivitas, perangkat IoT dan seluler, keamanan kata sandi adalah topik yang lebih serius dari sebelumnya. Kebocoran basis data kata sandi terjadi setiap saat, dengan perusahaan besar seperti LinkedIn, Tumblr, dan Yahoo terpengaruh. Bob Diachenko dari MacKeeper Security, menulis awal tahun ini tentang 560 juta daftar email/kata sandi raksasa yang ditemukan mengambang bebas di Internet!

Jadi dalam artikel ini, kita akan membicarakan tiga hal yang berkaitan dengan kata sandi dan WordPress:

  1. Pembuatan dan pengelolaan kata sandi yang kuat.
  2. Bagaimana WordPress melakukan hashing kata sandi.
  3. Menerapkan hashing kata sandi Anda sendiri.

Kata sandi yang lemah dan kuat

Kekuatan kata sandi, dalam hal kompleksitas kekuatan kasar, adalah topik yang banyak diperdebatkan, dan gagasan tentang seberapa kuat kata sandi sebagian besar telah didefinisikan ulang selama beberapa dekade, karena sumber daya komputasi yang lebih kuat tersedia untuk individu. Pakar Keamanan terkenal di dunia Bruce Schneier telah menulis posting yang sangat bagus yang membahas keamanan kata sandi dan cara memilih kata sandi yang aman.

Saat berbicara tentang kekuatan kata sandi, seseorang harus menyertakan konteks dan tingkat ancaman:

Ini berbeda dan jauh lebih sulit ketika penyerang mencoba menebak kata sandi WordPress Anda daripada jika dia telah membahayakan keamanan Anda dan memiliki akses ke seluruh daftar kata sandi yang di-hash.

Dalam situasi pertama, penyerang akan dengan cepat diblokir oleh layanan otentikasi karena terlalu banyak upaya login dalam waktu singkat. Biasanya, penyerang menemukan kata sandi melalui cara lain, berbeda dari brute-forcing, seperti phishing, malware, dan semacamnya. Namun jika target telah memilih kata sandi menggunakan informasi yang relatif publik seperti tanggal, nama/nama keluarga, dll, maka penyerang akan lebih mudah menebaknya.

Dalam situasi kedua, jika penyerang memiliki akses ke file kata sandi, itu mungkin hanya masalah waktu, terutama jika fungsi hash yang digunakan adalah MD5. Itu rusak dan terbukti tidak aman sejak lama. Penyerang dapat menggunakan perangkat keras modern (seperti papan GPU) yang dikombinasikan dengan tabel "pelangi" yang telah dihitung sebelumnya untuk mendekripsi seluruh file kata sandi dalam waktu yang sangat singkat. Selain itu, dalam beberapa kasus ekstrem, kata sandi untuk semua pengguna disimpan dalam 'teks biasa' di database. Dalam kedua kasus ini, "kekuatan" kata sandi Anda dibatalkan.

Cara membuat dan menyimpan kata sandi yang kuat

Yang terbaik adalah menyerahkan pembuatan dan pengelolaan kata sandi ke komputer yang Anda percayai, daripada mencoba memikirkan kata sandi yang kuat secara teratur. Anda manusia dan mau tidak mau Anda akan salah dan memilih sesuatu yang komputer anggap sebagai pilihan yang lemah.

Menggunakan pengelola kata sandi untuk menghasilkan dan menyimpan kata sandi untuk setiap layanan adalah efisien dan dengan jumlah ancaman paling sedikit. Meskipun pemikiran untuk menyimpan semua kata sandi Anda di satu tempat bisa menakutkan, itu sebenarnya merupakan nilai tambah: dengan mengetahui bahwa semua kata sandi Anda ada di satu tempat, Anda dapat mengamankannya dengan lebih mudah. Tidak ada lagi menggunakan potongan kertas acak atau permutasi kata sandi lemah yang mudah Anda ingat tetapi mudah ditebak. Selain itu, pengelola kata sandi dapat membantu Anda membuat kata sandi yang kuat tanpa repot.

Pilihan yang paling populer (dan mahal) adalah 1Password, tetapi Anda dapat mencoba dan menggunakan yang disediakan di sistem operasi Anda (seperti Apple's iCloud KeyChain) atau menggunakan solusi multi-platform open-source seperti KeePass.

Host situs web Anda dengan Pressidium

GARANSI UANG KEMBALI 60 HARI

LIHAT RENCANA KAMI

hashing kata sandi WordPress

Password hashing adalah teknik dimana password plaintext dilewatkan ke fungsi hash dan diubah menjadi nilai alfanumerik yang panjang. WordPress menggunakan ini untuk menyimpannya di database, mencegah mata-mata membaca kata sandi WordPress secara langsung. Saat Anda masuk ke WordPress dan mengirim kata sandi Anda, itu menghitung hash dan membandingkannya dengan yang ada di database. Jika sama, Anda diberikan akses, jika tidak, Anda ditolak. Metode ini berfungsi karena string teks tertentu (dalam hal ini kata sandi WordPress), akan selalu menghasilkan nilai hash yang sama. Karena nilai hash tidak dapat dikonversi kembali ke teks asli, WordPress hanya dapat mengetahui bahwa Anda telah memasukkan yang benar, jika nilai hash dari kata sandi yang Anda berikan dan yang disimpan dalam database sama.

Secara default, fungsi WordPress wp_hash_password() menggunakan algoritma MD5 8-pass untuk menghasilkan hash. Namun , MD5 telah berhasil dipecahkan menggunakan kombinasi perangkat keras modern dan teknik yang disebut tabel pelangi yang menyimpan sejumlah besar nilai yang telah dihitung sebelumnya. Ini membantu penyerang mencoba miliaran kombinasi per detik, hanya pada satu GPU modern.

Terapkan hashing kata sandi WordPress Anda sendiri

Anda dapat (dan harus) memilih implementasi yang berbeda, seperti Bcrypt dengan meneruskan Tuple (16, FALSE) ke objek PasswordHash dalam instantiasi. Kedua fungsi wp_hash_password() dan wp_set_password() dapat dipasang, sehingga Anda dapat menyediakan implementasi Anda sendiri. Mereka dapat ditemukan di bawah wp-include/pluggable.php.

Roots.io (orang-orang di balik sistem WordPress boilerplate Trellis, Bedrock, dan Sage) juga telah merilis plugin WordPress yang mengimplementasikan fungsionalitas bcrypt untuk fungsi hash WordPress default.

Kesimpulan

Untuk memastikan bahwa Anda menggunakan kata sandi yang kuat dan sering mengubahnya, yang terbaik adalah menggunakan pengelola kata sandi. Ini dapat membantu mengatur semua kata sandi Anda di satu tempat dan mengingatkan Anda kapan saatnya untuk mengubahnya. Ketika berbicara tentang hashing kata sandi, yang terbaik adalah menggunakan algoritme yang aman secara kriptografis seperti SHA-2 atau Bcrypt daripada kembali ke default WordPress. Menggulirkan fungsi hash Anda sendiri sebaiknya dihindari, karena satu kesalahan dapat menimbulkan masalah keamanan.