14 Cara Jitu Mencegah situs WordPress Anda dari serangan Hacker

Jika kita cari di search engine tentang bagaimana melindungi situs wordpress Anda dari google dengan beberapa jenis keyword seperti “how to prevent wordpress from hack“, atau dengan kata kunci berbahasa indonesia seperti “mencegah serangan hacker pada wordpress“, akan didapat ratusan ribu blog bahkan jutaan yang membahas tentang hal ini.
ini menunjukkan betapa seringnya website berbasis wordpress diserang hacker. Namun apakah ini menunjukkan bahwa wordpress rawan dari serangan dan banyak celah keamanannya? tentu saja tidak. Justru kitalah yang membuka celah tersebut secara tidak disadari hingga mengundang hacker untuk masuk.

Berikut ini adalah beberapa tips atau langkah yang dapat Anda terapkan untuk memproteksi web anda dari serangan hacker.

 

1. Buat Backup.

Untuk web dengan fasilitas cpanel dan softacolous, telah dilengkapi dengan fasilitas backup yang mencakup backup directory dan database. Anda bisa memilih salah satu atau keduanya. Backup sangatlah penting karena dengan backup proses restore website bisa lebih cepat, terutama untuk orang awwam seperti kita. cukup sekali klik di menu softacolous, website sudah kembali normal. Anda tidak perlu repot-repot mencari file yang telah diedit oleh hacker dan memperbaikinya. Lakukan backup sesering mungkin setiap kali dilakukan update terhadap content web.

2.Update versi wordpress Anda

Langkah selanjutnya setelah backup contentwordpress adalah selalu mengupdate versi wordpress. Dimenu dashboard, wordpress telah dilengkapi dengan oneclick update, sehingga dengan fasilitas tambahan ini, kita tidak perlu repor-repot lagi melakukan upload dari awal. Update bisa juga dilakukan melalui menu update dari softacolous. setelah Anda mengupdate, jangan lupa lakukan backup.

3. Ganti username login dan password Anda

Username default “admin” adalah username yang sangat disukai oleh para hacker. karena dengan username ini para hacker tidak perlu repot-repot mencoba beberapa kemungkinan username yang lain. hacker hanya tinggal mencari password untuk username admin ini. Karena itu, hindari nama admin untuk login. Gunakan nama lain seperti jhombloe2 atau nama-nama lain yang diluar dugaan hacker.
Untuk password, gunakan password yang baik, yaitu berupa gabungan dari karakter, angka dan tanda baca seperti P45sw0dD!. Kebanyakan hacker mencari kemungkinan password dengan cara brute force. sehingga semakin sulit password yang Anda buat, semakin lama hacker bisa menemukannya.

4. WordPress key dalam file wp-config.php

 

wordpress key berfungsi sebagai kode enkripsi yang akan menambah tingkat pengamanan database Anda. Gunakan wordpress key generator untuk mendapatkannya.

Berikut ini contoh dari wordpress key :

define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(‘NONCE_KEY’, ‘put your unique phrase here’);

5. Install plugin wp-security scan

Plugin ini sangat penting bagi Anda, karena plugin ini mampu melakukan SCAN terhadap Blog wordpress Anda.

6.Ganti tabel prefix

Secara default worpress akan membuat tabel dengan prefiks wp_. Ganti dengan nama lain misal su54h_. Hal ini akan mencegah masuknya SQL Injection ke database Anda.

Perhatian : Sebelum Anda melakukan langkah ke-6 ini, sebaiknya backup situs Anda untuk menghindari hal-hal yang tidak kita inginkan

7.Cegah WordPress dari hacker dengan memblok folder admin dari search engine

Search engine mampu mengindeks semua indeks direktory dari website Anda. Cegah hal ini dengan sedikit memodifikasi file di robot.txt di root directory website Anda:

#
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Disallow: */trackback/
Disallow: */feed/
Disallow: /*/feed/rss/$
Disallow: /category/*

8.Penyerangan Hacker terhadap file .htaccess

file .htaccess (hypertext access) adalah file untuk mengkonfigurasi level directory yang mengizinkan adanya desentralisasi di tiap directory. file .htaccess digunakan untuk memberikan spesifikasi pengamanan di setiap directory. Pembahasan mengenai file /htaccess yang lebih mendalam akan kami bahas dalam bahasan selanjutnya.

9. Melindungi file .htaccess dari serangan hacker

Karena file .htaccess itu sendiri adalah file yang mengatur level keamanan dari setiap directory, maka kita perlu melindungi file ini dari hacker agar terlindungi. Caranya cukup simple yaitu dengan menambahkan beberapa baris berikut di file .htaccess itu sendiri di root directory :

# STRONG HTACCESS PROTECTION
<Files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>

10. Disable directory Browsing

Directory browsing akan mempermudah hacker dalam menganalisa struktur directory di website kita. cegah hal ini dengan menambahkan 2 baris perintah di file .htaccess sebagai berikut:

# disable directory browsing
Options All -Indexes

11. Lindungi file wp-config.php Anda dari serangan hacker

File wp-config.php berisi informasi mengenai database kita. Jika file ini berhasil dilihat oleh hacker, maka website kita diambang kehancuran. Lindungi file ini dengan memberikan hak akses (CHMOD) 400 agar orang lain tidak bisa membaca dan mengeditnya. Tambahkan juga beberapa perintah berikut di file.htaccess di root directory Anda :

# protect wp-config.php
<files wp-config.php>
Order deny,allow
Deny from all
</files>

12. Batasi akses ke directory wp-content

Directory wp-content berisi beberapa file penting yang harus Anda amankan. Anda pasti tidak mau pengunjung web Anda mendapatkan hak akses yang tidak Anda inginkan. Sebaiknya data yang ada di directory ini hanya bisa dilihat. Tambahkan beberapa baris perintah berikut di file .htaccess di directory wp-content (buka di root directory):

Order deny,allow
Deny from all
<Files ~ “.(xml|css|jpeg|png|gif|js)$”>
Allow from all
</Files>

13. Lindungi folder wp-admin

Directory wp-admin merupakan directory terpenting. Hanya Anda yang berhak masuk ke directory ini. Membatasi IP adalah cara yang paling ampuh untuk membatasi akses ke admin. namun sayang, beberapa server tidak mendukung hal ini dan sering timbul masalah / error “TOO MANY REDIRECT”. Berikut script yang bisa anda tambahkan di file .htaccess di dalam folder wp-admin Anda :

# deny access to wp admin
order deny,allow
allow from xx.xx.xx.xx # This is your static IP
deny from all

14. Cegah Script Injection masuk ke web Anda

Lindungi web/blog wordpress Anda dari serangan SQL Injection dan modifikasi _REQUEST dan/atau GLOBALS . Sisipkan script ini di file .htaccess di root:

# protect from sql injection
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
About the Author
T. Prihartanto
Saya Tanto Prihartanto, Pemilik Bestariweb Hosting yang sudah mulai menjalankan bisnis hosting sejak tahun 2012. Saya juga aktif berbagi artikel di beberapa blog seperti Tutorial Linux, Tutorial Wordpress, Tutorial Web Design. Semoga artikel dan tutorial yang saya tulis di web ini dan blog saya yang lain bisa bermanfaat bagi Anda.

12 thoughts on “14 Cara Jitu Mencegah situs WordPress Anda dari serangan Hacker

  1. eli - Juli 30, 2013 at 3:28 pm

    mas lebh rinci cara melakukan hal di atas gimana? 🙂

    Reply
  2. Bestariweb Studio - Juli 30, 2013 at 10:42 pm

    Langkah 1 sampai 8 saya kira sudah jelas. Untuk langkah no 9 dan seterusnya, ikuti Langkah-Langkah berikut:
    1. Buka halaman Cpanel webhosting Anda
    2. Klik Menu Fie Manager
    3. Buka Folder dimana wordpress Anda diinstall. Jika di root folder, buka folder public_html
    4. Cari dan klik file .htaccess
    5. Klik EDIT
    6. Copy Paste semua source code yg saya jelaskan kedalam file .htaccess Anda
    7. Klik save

    Reply
    • sakha - Februari 6, 2014 at 2:33 am

      halo terima kasih sangat bermanfaat
      mau nanya, kok saya ngga nemu file .htaccess ya di public html?
      thx

      Reply
      • sakha - Februari 6, 2014 at 2:36 am

        maaf dopost
        solved ya sudah ketemu ternyata saya lupa centang di show hidden file 😀 hehe

        Reply
  3. Kris Teeslab - Februari 19, 2014 at 6:33 am

    Bro, thanx artikelnya, ini artikel tentang wp security paling lengkap yg pernah gw temukan, tp paling bingung juga soalnya gw newbie, wkwkwkwk…

    Tolong penjelasan detailnya tentang “ganti table prefix” itu gimana caranya?

    Reply
    • Tanto Prihartanto - Maret 1, 2014 at 9:41 pm

      Makasih sebelumnya mas kris..
      Untuk ganti tabel prefiks ada dua cara..

      Cara Pertama yang paling mudah adalah Saat installasi WordPress.. langsung ganti aja pilihan wp_ jadi yang lain. Misal kris_

      Cara kedua jika memang sudah terinstal, bisa lakukan hal berikut:
      1. Backup database dgn Softaculous
      2. Download backup Database tsb ke PC
      3. Extract dan edit dgn Notepad atau Sublime text
      4. Gunakan perintah FIND AND REPLACE untuk mengganti wp_ menjadi kata lainnya
      5. Save
      6. Masuk ke phpmyadmin, klik database untuk web wordpress
      7. Hapus semua tabel (Sebelumnya kita sudah backup dgn Softaculous)
      8. Import tabel
      Jika ada masalah karena ada salah langkah, tinggal restore database dgn softaculous

      Reply
    • Bestariweb Studio - April 24, 2015 at 7:53 am

      Saran yang bagus…
      Tapi ada cara untuk menyembunyikan robots.txt dari visitor namun tetap mengizinkan bots untuk mengaksesnya.
      Pertama sisipkan baris berikut di .htaccess Anda:

      RewriteEngine On
      RewriteCond %{http_user_agent} !(googlebot|Msnbot|Slurp) [NC]
      RewriteRule ^robots.txt$ https://www.bestariweb.com/  [R,NE,L]
      AddHandler application/x-httpd-php .txt
      

      Tujuan script diatas adalah memblok visitor untuk membuka robots.txt

      Kemudian buat file dengan nama reversedns.php. Isi file tersebut adalah:

      <?php
      $ua = $_SERVER['HTTP_USER_AGENT'];
      if(stristr($ua, 'msnbot') || stristr($ua, 'Googlebot') || stristr($ua, 'Yahoo Slurp')){
      $ip = $_SERVER['REMOTE_ADDR'];
      $hostname = gethostbyaddr($ip);
      if(!preg_match("/.googlebot.com$/", $hostname) &&!preg_match("/search.live.com$/", $hostname) &&!preg_match("/crawl.yahoo.net$/", $hostname)) {
      $block = TRUE;
      $URL="/";
      header ("Location: $URL");
      exit;
      } else {
      $real_ip = gethostbyname($hostname);
      if($ip!= $real_ip){
      $block = TRUE;
      $URL="/";
      header ("Location: $URL");
      exit;
      } else {
      $block = FALSE;
      }
      }
      }
      ?>
      

      Terakhir, sisipkan script berikut di baris awal file robots.txt:

      <?php include("reversedns.php"); ?>
      
      
      Reply
  4. Adi Nugraha - Juli 14, 2015 at 5:09 am

    Betul mas, untuk berjaga-jaga sebaiknya kita melakukan backup secara berkala.

    Reply
  5. Rahmat - Maret 3, 2016 at 10:30 pm

    terima kasih sob artikelnya sangat membantu sekali

    Reply

Leave a Reply