Di mana menyimpan kunci API dan kata sandi di WordPress dengan aman?

11

Saya mencari untuk menggunakan beberapa API dan banyak yang datang dengan kunci, kunci rahasia dan kata sandi yang diperlukan untuk bekerja. Di mana di WordPress Anda dapat menyimpan informasi itu? Dengan asumsi siapa pun dapat meretas DB Anda, apakah ada WordPress untuk menyimpan informasi itu lebih aman? Juga, pertimbangkan kemampuan untuk mengubah kunci-kunci ini begitu sering sehingga saya perlu memperbarui kunci pada halaman opsi.

MEMPERBARUI

jgraup
sumber

Jawaban:

9

Tidak ada cara yang benar-benar aman untuk menyimpan informasi seperti itu secara permanen.
Anda memiliki dua opsi untuk sedikit meningkatkan keamanan:

  1. Gunakan tabel opsi dan enkripsi data

    Gunakan metode enkripsi yang kuat , dan ikat ke:

    • kata sandi Anda saat Anda ingin menggunakan panggilan API hanya saat Anda masuk, atau
    • kunci rahasia yang disimpan di Anda wp-config.php- maka penyerang membutuhkan keduanya, kode PHP dan database
  2. Simpan informasi akses di luar WordPress

    Jika Anda menggunakan sistem untuk penyebaran otomatis, misalnya berdasarkan Komposer dan wpstarter , Anda mungkin memiliki beberapa jenis server penyebaran seperti Envoyer yang membuat file dengan variabel konfigurasi penting yang disimpan di luar root dokumen server situs .
    Kemudian Anda bisa menggunakan backend server deployment alih-alih backend WordPress untuk mengubah data ini.

Kedua opsi tidak sepenuhnya aman. Anda masih harus memantau penggunaan API yang sebenarnya untuk mendeteksi aktivitas yang tidak diinginkan. Pastikan ada log yang tidak dapat dikompromikan dari seseorang dengan akses penuh ke situs web Anda.

fuxia
sumber
Apakah ada cara untuk mengintegrasikan sesuatu seperti Azure Key Vault ke WP?
PoorInRichfield
4

Jawabannya adalah tidak. Jika DB Anda dapat dimata-matai, kode Anda mungkin juga bisa jadi bahkan jika Anda mengenkripsi data itu dapat didekripsi.

Jika Anda akan menyimpan data sensitif, tidak ada solusi tingkat rendah untuk membantu Anda dengan itu dan Anda hanya perlu membuat seluruh aplikasi Anda aman untuk membuat masalah penyimpanan tidak relevan.

Saya benar-benar bertemu dengan persyaratan untuk mengenkripsi data sehingga jika keamanan aplikasi dilanggar dan Anda mendapatkan akses hanya ke DB, Anda tidak dapat menggunakan data itu, tetapi dalam kehidupan nyata Anda lebih mungkin diretas pada tingkat wordpress daripada tingkat DB .

Mark Kaplun
sumber