it-swarm-id.com

Apa pengaturan ideal untuk mengatasi masalah keamanan?

Saya mengetahui persyaratan yang dimiliki WP untuk direktori dan file tertentu agar dapat ditulis. Saya juga sadar bahwa membuat izin terlalu longgar dapat membuka lubang keamanan. Akhirnya, saya tahu bahwa pengguna yang (memasukkan server Anda di sini) berjalan seperti pada sistem Linux dapat menjadi faktor.

Selain keamanan, saya suka mengunduh tema dan plugin ke blog saya, dan memperbaruinya bila perlu. Izin yang tepat tampaknya agak bertentangan dengan preferensi ini.

Saya telah mengumpulkan sedikit detail di sana-sini, tetapi saya ingin melihat jawaban yang lebih pasti, jika ada: apa pengaturan yang disukai dengan anggukan keamanan? Izin apa yang harus ada, pengguna apa yang harus menjalankan situs, dll.

8
Grant Palin

Jika Anda memiliki akses FTP ke server Anda, setup paling aman adalah tidak memiliki tema atau direktori plugin yang dapat ditulis oleh server web Anda dan sebaliknya memiliki file pembaruan WordPress menggunakan FTP. Ketika Anda pergi untuk memperbarui plugin, WordPress akan meminta Anda untuk rincian FTP Anda.

Metode FTP jauh lebih lambat daripada menulis file langsung, tetapi jauh lebih aman karena skrip nakal tidak akan dapat memodifikasi file Anda.

10
Viper007Bond

Seperti yang dicatat @ Viper007Bond, memperbarui inti, plugin, dan tema Anda melalui mekanisme pembaruan bawaan cukup aman, sejauh izin file berjalan, karena mereka dapat menggunakan kredensial pengguna Anda yang sebenarnya. Untuk keamanan maksimum, Anda ingin memastikan bahwa Anda memiliki SSH2 PHP ekstensi diinstal. Metode pemasangan (jika mungkin) dapat bervariasi dari Host-ke-Host, jadi jika belum ada, Anda mungkin perlu meminta layanan hosting, atau melakukan beberapa Googling.

Banyak layanan hosting bersama akan menggunakan suexec dalam pengaturan Apache mereka, sehingga layanan web berjalan sebagai pengguna yang sebenarnya. Ini menghilangkan sebagian besar masalah izin dan membantu melindungi file Anda dari pengguna lain di server. Namun, dalam kasus di mana Apache berjalan sebagai pengguna terpisah, jika Anda ingin mengunggah file ke WordPress, Anda harus membuka izin pada direktori unggah.

Dalam hal ini, Anda mungkin ingin direktori wp-content/uploads Anda memiliki izin 0713, (AKA rwx--x-wx). Ini memberikan izin penuh kepada pemilik direktori, grup mereka dapat membaca file jika mereka mengetahui path lengkap, dan yang lain (termasuk server web) dapat membaca file yang mereka tahu path dan dapat membuat/menulis file.

Beberapa plugin caching juga berharap memiliki direktori wp-content/cache (atau serupa) yang dapat mereka tulis. Saran izin yang sama akan berlaku untuk itu.

Terakhir, untuk permalink yang cantik, WordPress harus dapat memodifikasi file .htaccess, kecuali jika Anda berencana untuk memperbaruinya secara manual. Dalam hal ini, Anda ingin 0646 untuk mode file. Namun, setelah Anda menetapkan struktur permalink Anda, Anda biasanya tidak perlu mengubahnya lagi, sehingga Anda bisa mematikan izin menulis tambahan, dan mengaturnya menjadi 0644. Kadang-kadang, plugin atau peningkatan inti mungkin memerlukan akses ke sana, dan Anda dapat mengaktifkan sementara izin menulis kembali untuk itu, lalu matikan kembali.

Semua file lain harus memiliki izin 0644. Direktori harus 0711 jika Anda ekstra-paranoid, tetapi itu dapat mengganggu plugin apa pun yang perlu mendapatkan daftar file dari direktori. Dalam hal ini, atau jika Anda tidak cukup paranoid, gunakan 0755, yang akan memungkinkan orang lain membaca, tetapi tidak menulis.

Sebagian besar ini terutama menjadi perhatian jika Anda menggunakan shared hosting. Jika Anda memiliki server khusus (termasuk VPS), tanpa pengguna lain yang memiliki akses ssh/ftp, maka Anda dapat lebih santai. Saya tidak bermaksud bahwa Anda harus membuat semuanya dapat ditulis secara terbuka, tetapi Anda mungkin hanya bisa memercayai default sistem, yang mungkin merupakan izin 0755 pada direktori alih-alih 0711.

Jika itu merupakan opsi, dapatkan sertifikat SSL yang diinstal untuk situs tersebut, dan setelah Anda menguji bahwa Anda dapat mengakses situs Anda melalui https, Anda dapat memaksa SSL untuk login admin dan akses dengan menambahkan baris-baris ini ke file wp-config.php Anda, tepat sebelum komentar 'Hentikan pengeditan':

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
8
Dougal Campbell