Izin file WordPress: panduan untuk mengonfigurasi izin situs web & server web yang aman
Diterbitkan: 2020-07-02WordPress dapat berjalan di hampir semua sistem operasi yang menjalankan PHP. Namun, sebagian besar situs WordPress berjalan di Linux. Oleh karena itu, penting bagi Anda untuk memahami izin file Linux.
Sangat penting untuk mendapatkan hak akses file. Menyetel izin file yang salah dapat membuka situs web Anda untuk diserang. Izin file yang salah dapat memungkinkan pengguna yang tidak sah untuk mendapatkan akses ke file dan data yang berpotensi sensitif. Data tersebut kemudian dapat digunakan sebagai batu loncatan untuk serangan yang lebih besar.
Sebagai administrator WordPress, izin file mungkin tampak sedikit menakutkan, terutama jika Anda baru mengenal Linux. Jangan takut! Panduan ini menjelaskan izin file apa di Linux dari awal. Ini juga menjelaskan bagaimana izin file Linux berlaku untuk situs web WordPress Anda.
Daftar Isi
- Apa itu izin file?
- Grup izin
- Jenis izin
- Representasi izin
- Izin file WordPress yang disarankan
- Cara memperbaiki izin file WordPress
- Pada layanan hosting bersama
- melalui FTP
- melalui SSH
- Kiat bonus: keamanan di luar izin file
Apa itu izin file?
Grup izin
Semua berawal dari siapa . Seperti sistem operasi lainnya, Linux memiliki konsep pengguna dan grup . Saat menentukan siapa yang mendapatkan akses ke file, setiap file dan direktori pada sistem Linux memiliki tiga grup izin.
- Pemilik
- Setiap file atau direktori memiliki pemilik.
- Izin pemilik hanya berlaku untuk pemilik file atau direktori. Mereka tidak akan memengaruhi tindakan pengguna lain.
- Kelompok
- Setiap file atau direktori dapat diberikan sekelompok pengguna yang diberikan akses ke sana.
- Izin grup hanya berlaku untuk grup yang telah ditetapkan ke file atau direktori. Mereka tidak akan memengaruhi tindakan pengguna lain.
- Lainnya
- Setiap file atau direktori dapat menentukan izin apa yang dimiliki "orang lain". Artinya, selain dari pemilik atau grup yang kita tetapkan.
- Izin lainnya berlaku untuk semua pengguna lain di sistem. Ini adalah grup izin yang paling ingin Anda tonton karena tanpa disadari Anda mungkin mengizinkan akses ke semua orang.
Jenis izin
Sekarang setelah kita mengetahui cara menentukan siapa yang memiliki akses ke file atau direktori, kita perlu memilih jenis izin yang kita berikan kepada setiap pemilik , grup , dan lainnya untuk file atau direktori. Berikut ini adalah jenis izin yang dapat kami berikan kepada grup izin ( pemilik , grup , lainnya ):
- Membaca
- Jenis izin baca mengacu pada kemampuan pengguna untuk membaca konten file.
- Menulis
- Izin menulis mengacu pada kemampuan pengguna untuk menulis dan/atau mengubah konten file.
- Dimungkinkan untuk mengizinkan pengguna menulis ke file tanpa mereka memiliki kemampuan untuk membaca isinya.
- Menjalankan
- Izin eksekusi memengaruhi kemampuan pengguna untuk menjalankan file, misalnya skrip.
- Izin eksekusi juga memungkinkan pengguna untuk melihat konten direktori.
Representasi izin
Sekarang setelah kita memiliki pemahaman tentang cara kerja izin, mari kita lihat bagaimana izin Linux sebenarnya direpresentasikan. Izin file disimpan sebagai rangkaian 3 angka. Namun, mereka juga dapat direpresentasikan sebagai huruf, membuatnya sedikit lebih mudah dibaca. Mari kita pahami dulu apa arti angka-angka ini.
- nomor pertama
- Izin diberikan kepada pemilik
- Nomor kedua
- Izin diberikan kepada grup
- nomor ketiga
- Izin yang diberikan kepada orang lain (semua orang, kecuali pemilik dan grup )
Setiap nomor sesuai dengan kombinasi dari satu atau lebih jenis izin yang telah kita bahas sebelumnya. Memahami ini jauh lebih mudah bila divisualisasikan. Setiap jenis izin membawa bobot yang ditambahkan bersama untuk setiap grup izin .
Bingung? Mungkin perlu beberapa saat dan beberapa latihan untuk membungkus kepala Anda di sekitarnya. Sementara itu, berikut adalah tabel dari semua kemungkinan izin file yang dapat Anda tetapkan untuk setiap grup izin .
Nomor | Surat | Keterangan |
---|---|---|
0 (0+0+0) | --- | Tidak ada akses |
1 (0+0+1) | --x | Menjalankan |
2 (0+2+0) | -w- | Menulis |
3 (0+2+1) | -wx | Tulis dan Jalankan |
4 (4+0+0) | R-- | Membaca |
5 (4+0+1) | rx | Baca dan Jalankan |
6 (4+2+0) | rw- | Baca dan tulis |
7 (4+2+1) | rwx | Baca, Tulis, dan Jalankan |
Untuk melihat contoh konkret, izin file 644 berarti
- izin pemilik untuk membaca dan menulis file atau direktori
- grup memiliki izin untuk membaca file atau direktori
- lainnya memiliki izin untuk membaca file atau direktori
Anda biasanya akan melihat nilai-nilai ini direpresentasikan tanpa spasi di antaranya, dan dengan tambahan – atau d di awal. The – menunjukkan file biasa. d menunjukkan direktori. Berikut ini adalah contohnya menggunakan perintah ls -la Linux untuk membuat daftar file dalam direktori.
$ ls -la jumlah 0 drwxr-xr-x 4 grup pengguna 128 25 Mei 23:25 . drwxrwxrwt 8 root wheel 256 25 Mei 23:25 .. drwxr-xr-x 2 grup pengguna 64 25 Mei 23:25 direktori -rw-r--r-- 1 grup pengguna 0 25 Mei 23:25 file.txt
Izin file WordPress yang disarankan
Menyetel izin file WordPress yang salah dapat mengakibatkan pemberian akses ke pengguna lain secara tidak sengaja daripada yang Anda maksudkan. Dalam skenario terburuk, ini memungkinkan penyerang mengubah konten file penting yang tidak seharusnya mereka akses. Ini juga memungkinkan setiap pengguna di Internet untuk membaca file sensitif dalam instalasi WordPress Anda.
Inilah sebabnya mengapa Anda tidak boleh mengatur izin file WordPress ke 777 (-rwxrwxrwx). Ini akan memungkinkan akses baca, tulis, dan eksekusi penuh kepada siapa saja yang berada dalam posisi untuk mengontrol file itu. Ini bisa menjadi pihak ketiga yang membuat perubahan melalui FTP atau SSH, atau penyerang melalui formulir unggahan.
Di sisi lain, Anda perlu berhati-hati untuk tidak membuat hal-hal terlalu membatasi WordPress untuk melakukan tugasnya. Karena WordPress sendiri, serta tema dan plugin sering kali perlu melakukan perubahan pada beberapa file dengan aman. Misalnya, ketika WordPress melakukan pembaruan otomatis untuk menjaga situs Anda tetap aman dari kerentanan keamanan.
Jadi demi argumen, izin 444 (-r–r–r–) dapat menyebabkan situs WordPress Anda tidak berfungsi. Dengan 444 WordPress hanya akan diizinkan untuk dibaca , sehingga pembaruan otomatis akan gagal . Dengan ini dikatakan , dimungkinkan untuk menjalankan WordPress dengan izin baca-saja ( 444 , atau r–r–r–). Ini akan menjadi instalasi yang sangat sukses. Namun, Anda harus mempertimbangkan batasan yang disebutkan di atas.
Beberapa penyedia hosting WordPress yang dikelola mendukung ini di luar kotak. Meskipun jika Anda ingin menjalankan WordPress dengan izin seperti itu, coba dulu di lingkungan staging.
Izin file yang direkomendasikan oleh WordPress adalah sebagai berikut.
Jenis | angka | Surat | Keterangan |
---|---|---|---|
Direktori | 755 | drwx-wx-wx | Direktori instalasi WordPress |
File | 644 | -rwxr--r-- | Inti WordPress, tema dan plugin WordPress (pengecualian mungkin berlaku untuk beberapa tema dan plugin) |
wp-config.php | 600 | -rw------- | File konfigurasi WordPress |
.htaccess | 644 atau 600 | -rw-r--r-- -rw------- | File konfigurasi Apache HTTP Server (mungkin tidak berlaku jika Anda menjalankan Nginx atau server web selain Apache HTTP Server) |
Cara memperbaiki izin file WordPress
Meskipun satu lingkungan hosting berbeda dari yang lain, Anda akan selalu memiliki cara untuk mengontrol izin file WordPress.
Memperbaiki izin file WordPress melalui panel kontrol hosting bersama Anda
Jika Anda menggunakan shared hosting, Anda mungkin memiliki akses ke beberapa panel kontrol seperti cPanel atau Plesk. Dalam hal ini, tanyakan kepada penyedia hosting Anda mengenai langkah-langkah yang perlu Anda ambil untuk mengubah izin file di situs WordPress Anda.
Memperbaiki izin file WordPress melalui FTP
Memperbaiki izin file WordPress dapat dilakukan dengan mudah melalui klien FTP seperti FileZilla atau Cyberduck. Tangkapan layar berikut dari Cyberduck. Cukup klik kanan file atau direktori yang ingin Anda ubah izinnya, klik Info , lalu klik tab Izin .
Prosesnya serupa di Filezilla. Klik kanan file, pilih Izin file dan Anda akan disajikan dengan dialog serupa.
Memperbaiki izin WordPress melalui SSH
Jika Anda sudah menggunakan klien SSH, Anda dapat menjalankan perintah chmod Linux untuk mengubah izin file. Mengambil contoh yang sama seperti di atas, untuk mengubah hak akses wp-config.php dari 644 menjadi 600 , kita akan menggunakan perintah berikut:
# ubah direktori ke lokasi instalasi WordPress Anda $cd /var/www/html # daftar detail file wp-config.php $ls -la wp-config.php -rw-r--r-- 1 www-data www-data 7368 2 Sep 2019 wp-config.php # ubah izin wp-config.php dari 644 saat ini menjadi 600 $ chmod 600 wp-config.php # verifikasi perubahan Anda $ls -la wp-config.php -rw------- 1 www-data www-data 7368 2 Sep 2019 wp-config.php
Izin file WordPress yang dikonfigurasi dengan benar berarti situs web yang lebih aman
Mari kita rekap apa yang dibahas. Kami melihat bahwa izin file memungkinkan kami untuk menentukan siapa dan bagaimana file atau direktori dapat diakses dan/atau dimodifikasi pada sistem Linux. Kami juga membahas cara mengubah izin baik menggunakan klien SFTP maupun melalui SSH. Namun, hal terpenting yang kami diskusikan adalah mengapa Anda harus berhati-hati untuk mengatur izin file di situs web WordPress Anda dengan benar.
Meskipun ini mungkin merupakan proses yang membosankan pada awalnya, izin file yang salah dapat mengekspos file sensitif di situs WordPress Anda. Selain itu, mereka memungkinkan penyerang untuk meningkatkan kerentanan dengan tingkat keparahan rendah menjadi yang lebih berbahaya dengan kondisi yang tepat.
Sekarang setelah Anda memiliki pemahaman yang lebih baik tentang cara kerja izin file di Linux, dan bagaimana pengaruhnya terhadap keamanan situs WordPress Anda, gunakan informasi ini untuk menopang semua izin file WordPress yang terlalu liberal.
Kiat keamanan bonus: di luar izin file WordPress
Izin file WordPress yang benar adalah tempat yang bagus untuk mulai bekerja sehubungan dengan keamanan WordPress. Namun, jauh dari satu-satunya hal yang perlu dikhawatirkan. Hal lain yang harus Anda lakukan untuk meningkatkan postur keamanan situs WordPress Anda adalah:
- Catat semua yang terjadi di situs Anda di log aktivitas WordPress,
- Gunakan plugin monitor integritas file WordPress,
- Terapkan kebijakan kata sandi WordPress yang kuat,
- Tambahkan otentikasi dua faktor ke situs WordPress Anda,
- Instal firewall WordPress / gunakan layanan firewall WordPress online.