Studi Kasus: Memperbaiki Situs yang Diretas

Selasa, 24 Maret 2015

Tingkat Webmaster: Semua

Setiap hari, ada ribuan situs web yang diretas. Situs yang diretas dapat membahayakan pengguna dengan menyebarkan perangkat lunak perusak, mengumpulkan informasi pribadi, atau mengalihkan mereka ke situs yang berbeda dari yang ingin dikunjungi. Webmaster pasti ingin memperbaikinya sesegera mungkin, namun sayangnya proses untuk memulihkan situs yang diretas bisa menjadi sangat rumit.

Kami mencoba mempermudah proses pemulihan situs yang diretas bagi para webmaster dengan menyediakan beragam fitur seperti Masalah Keamanan , Bantuan untuk Situs yang Diretas , dan kami pun membuat bagian khusus di forum untuk membahas situs yang diretas . Baru-baru ini, kami sempat berbincang dengan dua orang webmaster yang situsnya diretas guna mempelajari lebih lanjut cara yang mereka gunakan untuk memperbaiki situsnya. Kami akan membagikan kisah mereka kepada Anda, dengan harapan kisah tersebut bisa memberikan ide bagi webmaster lain yang menjadi korban peretasan. Kami juga menggunakan kisah ini, serta berbagai masukan lainnya, untuk menyempurnakan dokumentasi mengenai situs yang diretas agar semua orang bisa menjalani proses pemulihan yang lebih mudah di masa mendatang.

Studi Kasus #1: Situs web restoran dengan beberapa skrip peretasan yang disertakan secara diam-diam

Sebuah situs web restoran yang dibuat menggunakan Wordpress menerima pesan dari Google di akun Alat Webmasternya. Pesan itu ternyata berisi lansiran bahwa situs telah diubah oleh peretas. Untuk melindungi pengguna Google, maka situs web tersebut diberi label diretas pada hasil penelusuran Google. Sam, webmaster situs tersebut, lalu memeriksa kode sumber dan melihat ada banyak tautan tidak dikenal pada situs dengan istilah obat-obatan seperti "viagra" dan "cialis". Dia juga melihat ada banyak laman yang tag deskripsi meta-nya (di HTML) telah ditambahkan konten seperti "buy valtrex in florida". Selain itu ada juga tag div tersembunyi (masih di dalam HTML) dari banyak laman yang tertaut ke banyak situs. Padahal, Sam sama sekali tidak pernah menambahkan tautan tersebut.

Sam lalu menghapus semua konten diretas yang ditemukannya dan mengajukan permintaan pertimbangan ulang. Permintaan tersebut ditolak, namun di dalam pesan yang diterimanya dari Google, dia disarankan untuk memeriksa skrip yang tidak dikenal di file PHP mana pun (atau file server lainnya), serta memeriksa apakah ada perubahan terhadap file .htaccess . File-file ini cenderung memiliki skrip yang telah ditambahkan oleh peretas yang mengubah situs. Skrip ini biasanya hanya menampilkan konten yang diretas ke mesin telusur, dan menyembunyikan konten tersebut dari pengguna biasa. Sam memeriksa semua file .php dan membandingkannya dengan file cadangan salinan bersih yang dia miliki. Dia menemukan konten baru yang ditambahkan ke footer.php, index.php, dan functions.php. Ketika file tersebut diganti dengan salinan yang bersih, dia pun berhasil menghilangkan konten yang diretas pada situsnya. Saat mengajukan permintaan pertimbangan ulang lagi, dia mendapat tanggapan dari Google yang memberitahukan bahwa situsnya telah bebas dari konten yang diretas!

Meskipun Sam telah membersihkan konten yang diretas di situsnya, dia menyadari bahwa dia perlu menjaga keamanan situs dari serangan lainnya di masa mendatang. Lantas dia pun mengikuti langkah-langkah di bawah ini untuk menjaga keamanan situsnya di masa mendatang:
  • Selalu memperbarui CMS (sistem pengelolaan konten seperti WordPress, Joomla, Drupal, dan lain-lain) dengan versi terkini. Pastikan plugin juga selalu terbaru.
  • Pastikan akun yang digunakan untuk mengakses fitur administratif CMS menggunakan sandi yang rumit dan unik.
  • Jika didukung oleh CMS, aktifkan verifikasi 2 langkah untuk masuk. (Ini juga biasa disebut autentikasi dua faktor atau autentikasi dua langkah.) Fitur ini juga disarankan bagi akun yang digunakan untuk pemulihan sandi. Sebagian besar penyedia email, seperti Google , Microsoft , Yahoo , semuanya mendukung fitur ini!
  • Pastikan plugin dan tema yang terpasang berasal dari sumber yang memiliki reputasi baik - plugin atau tema bajakan sering kali berisi kode yang memudahkan peretas untuk masuk!
Studi Kasus #2: Situs web profesional dengan banyak laman diretas yang sulit ditemukan
Maria, pemilik bisnis kecil yang juga merangkap sebagai pengelola situs web bisnisnya, menerima pesan di Alat Webmaster yang menginformasikan bahwa situsnya telah diretas. Pesan tersebut berisi contoh laman yang ditambahkan oleh peretas: https://example.com/where-to-buy-cialis-over-the-counter/ . Dia pun menghubungi penyedia hosting yang langsung memeriksa kode sumber di beranda, namun tidak menemukan kata kunci obat-obatan apa pun. Saat penyedia hosting mengunjungi https://example.com/where-to-buy-cialis-over-the-counter/ , muncul laman kesalahan. Maria juga membeli layanan pemindaian perangkat lunak perusak, namun layanan tersebut juga tidak berhasil menemukan konten berbahaya apa pun di situsnya.

Maria lalu membuka Alat Webmaster dan menggunakan alat Ambil sebagai Google di URL contoh yang diberikan Google ( https://example.com/where-to-buy-cialis-over-the-counter/ ) dan tetap tidak memunculkan konten apa pun. Maria yang sedang kebingungan kemudian mengajukan permintaan pertimbangan ulang dan menerima pesan penolakan yang menyarankan agar dia melakukan dua hal berikut ini:

1. Memverifikasi versi non-www di situsnya karena peretas sering mencoba menyembunyikan konten di dalam folder yang mungkin diabaikan oleh webmaster.

Meskipun https://example.com dan https://www.example.com tampak seperti situs yang sama, Google sebenarnya menangani keduanya secara berbeda. https://example.com disebut sebagai "domain akar", sementara https://www.example.com disebut sebagai subdomain. Maria telah memverifikasi https://www.example.com namun tidak dengan https://example.com yang sebenarnya penting karena laman yang ditambahkan oleh peretas adalah laman non-www seperti https://example.com/where-to-buy-cialis-over-the-counter/ . Setelah https://example.com diverifikasi, dia berhasil melihat konten yang diretas pada URL yang diberikan dengan alat Ambil sebagai Google di Alat Webmaster.

2. Memeriksa peraturan baru di file .htaccess.

Maria menghubungi penyedia hostingnya dan ditunjukkan cara untuk mengakses file .htaccess yang ada di situsnya. Dia langsung menyadari bahwa di dalam file .htaccess miliknya terdapat beberapa konten asing yang tidak pernah dia tambahkan:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (google|yahoo|msn|aol|bing) [OR]
RewriteCond %{HTTP_REFERER} (google|yahoo|msn|aol|bing)
RewriteRule ^([^/]*)/$ /main.php?p=$1 [L]
</IfModule>


Peraturan mod_rewrite yang Anda lihat di atas telah disisipkan oleh peretas serta mengalihkan siapa pun yang datang dari mesin telusur tertentu dan perayap mesin telusur ke main.php, yang menghasilkan semua konten hasil peretasan. Selain itu, peraturan ini mungkin juga dapat mengalihkan pengguna yang mengakses situs di perangkat seluler. Pada hari yang sama, dia melihat pemindaian perangkat lunak perusak terkini menemukan konten mencurigakan di file main.php. Dan yang terpenting, dia juga menemukan pengguna tak dikenal di area pengguna ftp di perangkat lunak pengembangan situs web miliknya.

Maria lalu menghapus file main.php, file .htaccess, serta mengeluarkan pengguna tak dikenal dari area pengguna FTP dan situsnya tidak lagi diretas!

Langkah-langkah pencegahan peretasan di masa mendatang

  • Hindari penggunaan FTP saat mentransfer file ke server. FTP tidak mengenkripsi lalu lintas apa pun, termasuk sandi. Sebagai gantinya, gunakanlah SFTP. Itu akan mengenkripsi semuanya, termasuk sandi, sebagai perlindungan terhadap pengintai yang memeriksa lalu lintas jaringan.
  • Periksa izin pada file sensitif seperti .htaccess. Hubungilah penyedia hosting jika Anda butuh bantuan. File .htaccess dapat digunakan untuk meningkatkan dan melindungi situs Anda, namun file tersebut juga dapat digunakan dalam peretasan yang bersifat merusak jika peretas dapat mengaksesnya.
  • Waspadalah! Periksa apakah ada pengguna baru dan asing di panel administratif serta di tempat lain, yang mungkin telah disusupi oleh pengguna yang mampu mengubah situs Anda.

Semoga situs Anda tidak pernah diretas, namun jika hal itu terjadi, kami punya banyak sumber daya di laman Bantuan untuk Situs yang Diretas untuk membantu para webmaster. Jika perlu bantuan lebih lanjut atau ingin berbagi kiat, Anda dapat mengeposkannya di Forum Bantuan Webmaster . Jika Anda mengeposkan sesuatu di forum atau mengirim permintaan pertimbangan ulang untuk situs Anda, sertakan #NoHacked.

Diposkan oleh Julian Prentice dan Yuan Niu, Search Quality Team