Hardening WordPress Configuration

William Stallings dan Lawrie Brown dalam bukunya yang berjudul Computer Security: Principles and Practice pada bagian Application Security (Chapter 12) merupakan bagian terpenting setelah melakukan proses pengamanan Sistem Operasi. Pada kasus ini apikasi utama pada server berjalan adalah WordPress. Oleh karenanya, proses pengamanan WordPress dimasukkan dalam bahagian tersendiri.

Agar WordPress dapat berjalan maka ada beberapa prasyarat yang harus terpenuhi, yaitu :

  • Apache Deamon sudah aktif
  • MySQL Deamon sudah aktif
  • PHP

Ketiga proses tersebut telah dijelaskan pada bahagian Application and Service Configuration, gunakan versi terbaru. satu lagi paket yang harus dimiliki yaitu WordPress source biasanya dalam bentuk .zip atau .tar.gz apabila diunduh dari situs resmi https://wordpress.org/. Berikut langkah-langkah instalasi dan konfigurasi wordpress.

  • Memastikan Prasyarat dari WordPress.

Untuk PHP ketikkan :

Untuk MySql ketikkan :

Untuk Apache ketikkan :

  • Download WP terbaru

Setelah semua aplikasi di atas terinstal dan terkonfigurasi, periksa apakah sudah jalan dengan benar. Selanjutnya unduh wordpress versi terbaru dari situsnya dengan memberikan perintah wget –secure-protocol=auto https://wordpress.org/latest.tar.gz

Dikarenakan fitur wget yang tersedia (versi terbaru) belum mendukung protokol sekuriti yang terdapat pada situs https://wordpress.org maka WP versi terbaru yaitu wordpress v3.7.1 diunduh dengan menggunakan browser terlebih dahulu.

setelah proses pengunduhan selesai, untuk alasan keamanan maka disarankan untuk

  • Extract file nya dan mounting di direktori apache nya

[root@localhost /]# tar -xvzf latest.tar.gz
[root@localhost /]# cp -R wordpress-3.3.1 /var/www/html/blog

  • Buka browser anda dan arahkan urlnya ke localhost/blog maka proses instalasi akan muncul apabila tidak maka arahkan ke //localhost/blog/wp-admin/install.php

Securing WordPress

Setelah selesai melakukan instalasi WordPress, langkah selanjutnya adalah mengamankannya dari berbagai macam kemungkinan celah keamanan. Adapun langkah-langkah mengamankannya, yaitu :

  • Gunakan password yang tangguh

Gunakan password dengan kombinasi yang tangguh sehingga sulit untuk dicoba-coba secara acak. Minimalkan penggunaan akun admin dalam mengisi konten. Dan untuk menjaga keamaan akun anda agar tidak mudah diretas melalui password berikut diberikan tips sehingga akan akun akan sulit diretas :

Password yang kuat adalah:

Minimal 8 karakter (lebih banyak lebih baik)
Mengandung lebih dari 1 huruf kecil, 1 huruf besar, 1 angka dan 1 simbol
Setiap karakter selang-seling antara huruf kecil, huruf besar, angka & simbol
Tanpa ada karakter yang sama atau berulang

Password yang ideal adalah:

Mudah diingat
Beda akun/ web/ aplikasi, beda password
Diganti setidaknya sebulan sekali

Password yang harus dihindari adalah:

Berupa kata yang ada di kamus dalam bahasa apapun
Singkatan-singkatan yang umum
Karakter berurutan baik angka maupun huruf pada keyboard
Informasi pribadi seperti nama atau tanggal lahir

  • Lindungi akses admin wordpress

Rubahlah username default dari administrator. Pada bagian Users di halaman admin, terdapat bagian pengaturan profil.

  • Update wordpress

Ini sangat penting untuk memperbarui WordPress anda dari bugs dan masalah keamanan. Anda dapat menggunakan Automatic Upgrade (Tools > Upgrade), atau 3 langkah upgrade manual.

  • Hapus file WordPress/../readme.html

Selalu periksa file readme.html apabila masih ada segera hapus, karena dengan mengetahui versi yang sedang digunakan mempermudah salah satu langka peretas dalam menyusup.

  • Konfigurasi file .htaccess untuk tutorial lengkap dapat dilihat ada creativebloq.com

Lindungi direktori WP-Admin dengan password dari sisi server. Letakkan file .htaccess pada direktori yang ingin anda amankan. Berikut adalah kode dari file .htaccess

AuthName “WP-Admin”
AuthType Basic
AuthUserFile /path/ke/passwd  #(direktori tujuan file .htpasswd)
Require valid-user

Gunakan htpasswd untuk membuat file passwd (.htpasswd) dan letakkan file ini pada direktori yang tidak bisa diakses dari web (htpasswd -c /tujuan/direktori/passwd username).

  • Monitor Malware

Instal plugin yang terpercaya guna melakukan monitoring terhadap malware serta memberikan laporan kepada admin web apabila ada malware detection sehingga apabila terindikasi dapat dihapus.

  • Lindungi dari serangan “brute force” untuk tutorial dapat dilihat pada copyblogger.com

Kadangkalanya sebuah web diserang secara ‘brute force’/acak, sehingga akan terdapat laporan percobaan penyusupan hingga berkali-kali. Blok IP yang kelihatan mencoba secara terus menerus dan berkala.

  • Block Akses Search Engine ke Direktori WP-

Direktori WP- tidak perlu di-index oleh search engine, jadi blok saja akses ke direktori ini. Anda bisa menggunakan konfigurasi berikut di file robots.txt.

              Dissalow: /wp-*

  • PLugin

Kelola plugin yang digunakan secara bijak. pastikan plugin yang digunakan berasal dari sumber yang sangat aman. Periksa daftar plugin yang sudah aktif di web, selanjutnya optimalkan dengan cara menghapus plugin yang tidak digunakan

  • Backup

Ini adalah aturan dasar yang sederhana yang dapat menyelamatkan web dalam banyak kasus. Jangan lupa untuk selalu mem-backup website (root folder dan semua file-file yg ada) dan database secara berkala, agar website dapat dikembalikan apabila terjadi serangan.

Dapat dilakuan dengan menggunakan PhpMyAdmin untuk backup database. Bukalah database anda, klik tab Export, pilih semua tabel pada pilihan SQL (jangan lupa centang “Add DROP TABLE“). Selain itu, gunakan fungsi GZIP Compression.

Kompresi adalah cara cepat dan efektif untuk menghemat bandwidth dan mempercepat website.Apache memungkinkan kompresi melalui mod_deflate dan tambahkan kode berikut di dalam file .htaccess sehngga akan mengaktifkan kompresi GZIP pada halaman web Anda.

# BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/xml text/css application/x-javascript application/javascript
</ifmodule>
# END GZIP

Ditulis oleh:  Adrian Dwiananto A (23212035) & Mulkan Fadhli (23212034)

Leave a Reply

Your email address will not be published. Required fields are marked *