Chrome Dev Summit 2018 is happening now and streaming live on YouTube. Watch now.

Mengidentifikasi kerentanan

Mungkin ada beberapa peretasan independen yang terjadi; oleh karena itu, meskipun Anda dapat menemukan dan mengatasi satu kerentanan, sebaiknya Anda terus mencari kerentanan lainnya. Awali penyelidikan Anda dengan membaca tentang metode yang paling sering digunakan pengirim spam untuk meretas situs.

Anda membutuhkan:

  • Akses administrator terminal/shell ke server situs Anda -- web, basis data, file.
  • Pengetahuan tentang perintah terminal/shell
  • Pemahaman tentang kode (seperti PHP atau JavaScript)
  • Kemampuan menjalankan dua pemindai antivirus

Tindakan selanjutnya:

Kami akan membahas beberapa cara umum situs dapat diretas. Semoga, salah satu kerentanan berikut sesuai dengan situs Anda atau menjelaskan kemungkinan tambahan.

Perlu diketahui, pemindai kerentanan berbeda dengan pemindai antivirus. Pemindai kerentanan dapat jauh lebih invasif dan lebih berpotensi menyebabkan kerusakan yang tak diinginkan pada situs Anda. Ikuti semua petunjuk, seperti mencadangkan situs, sebelum menjalankan pemindai.

Kerentanan potensial yang diinvestigasi mencakup:

1. Komputer administrator yang terinfeksi virus

Pada komputer administrator yang terinfeksi virus, peretas dapat memasang spyware untuk mencatat tombol yang ditekan admin situs.

  • Periksa virus di sistem administrator. Sebaiknya jalankan beberapa pemindai antivirus tepercaya, atau pemindai AV, di setiap komputer yang digunakan oleh administrator untuk masuk ke situs. Karena infeksi perangkat lunak perusak baru senantiasa dirancang untuk menghindari pemindai, tindakan ini bukan metode deteksi virus yang terjamin. Karena pemindai AV mungkin melaporkan kesalahan palsu, menjalankan beberapa pemindai dapat memberikan lebih banyak titik data untuk menentukan apakah terdapat kerentanan atau tidak. Pertimbangkan juga untuk memindai server web dan semua perangkat yang digunakan untuk memperbarui atau mengeposkan ke situs, sebagai tindakan pencegahan agar tetap aman.
    • Jika pemindai AV mendeteksi spyware, virus, trojan horse, atau program yang mencurigakan apa pun, selidiki log server situs untuk memeriksa aktivitas oleh administrator yang memiliki komputer yang terinfeksi.
    • File log mungkin diubah oleh peretas. Jika tidak, nama pengguna administrator yang terkait dengan perintah mencurigakan di file log adalah bukti lebih lanjut bahwa virus dalam sistem administrator menyebabkan situs menjadi rentan.

2. Sandi lemah atau sudah pernah digunakan

Cracking sandi yang lemah adalah hal yang relatif mudah untuk peretas dan hal itu akan memberi mereka akses langsung ke server Anda. Sandi yang rumit memiliki kombinasi huruf dan angka, tanda baca, bukan kata atau kata selengekan yang dapat ditemukan di kamus. Sandi sebaiknya hanya digunakan untuk satu aplikasi, bukan digunakan kembali di seluruh web. Saat sandi digunakan kembali, peretas hanya perlu melanggar satu keamanan di satu aplikasi untuk menemukan info masuk dan sandi lalu berupaya menggunakannya kembali di mana saja.

  • Di log server, periksa aktivitas yang tidak diinginkan, seperti beberapa upaya masuk untuk administrator atau administrator membuat perintah yang tidak diperkirakan. Catat saat aktivitas yang mencurigakan terjadi karena memahami kapan peretasan mulai terjadi membantu menentukan pencadangan yang masih bersih.

3. Perangkat lunak usang

Periksa apakah server Anda telah memasang versi terbaru sistem operasi, sistem pengelolaan konten, platform blog, aplikasi, plugin, dll.

  • Periksa (mungkin melalui penelusuran web) semua perangkat lunak yang terpasang untuk menentukan apakah versi Anda berisi nasihat keamanan. Jika demikian, kemungkinan perangkat lunak usang yang menyebabkan situs Anda menjadi cukup rentan.
  • Sebagai praktik terbaik, terus perbarui perangkat lunak server Anda, terlepas apakah perangkat lunak usang tersebut menyebabkan masalah kerentanan saat ini atau tidak.

4. Praktik pengkodean yang diizinkan, seperti pengalihan terbuka dan injeksi SQL

  • Pengalihan terbuka
  • Pengalihan terbuka dikodekan dengan maksud agar struktur URL memungkinkan penambahan URL lain sehingga pengguna dapat menjangkau file atau laman web yang berguna di situs. Misalnya:

    http://example.com/page.php?url=http://example.com/good-file.pdf
    Peretas dapat menyalahgunakan pengalihan terbuka dengan menambahkan laman perangkat lunak perusak atau berisi spam mereka ke pengalihan terbuka situs, serupa dengan yang berikut:
    http://example.com/page.php?url=<malware-attack-site>

    • Jika situs disalahgunakan oleh pengalihan terbuka, Anda akan mendapati pesan di Search Console yang menyediakan URL contoh yang menyertakan pengalihan terbuka ke tujuan yang tidak diinginkan.
    • Untuk mencegah pengalihan terbuka di masa mendatang, periksa apakah "izinkan pengalihan terbuka" diaktifkan secara default di perangkat lunak atau tidak, apakah kode Anda dapat melarang pengalihan di luar domain, atau apakah Anda dapat menandai pengalihan sehingga hanya pengalihan dengan potongan URL dan tanda tangan kriptografis yang sesuai yang dapat dialihkan.
  • Injeksi SQL
  • Injeksi SQL terjadi saat peretas dapat menambahkan perintah tidak bertanggung jawab ke bidang masukan pengguna yang dijalankan basis data Anda. Injeksi SQL memperbarui catatan di basis data Anda dengan konten spam atau perangkat lunak perusak yang tidak diinginkan, atau membuang data penting sebagai keluaran untuk peretas. Jika situs Anda menggunakan basis data, terutama jika Anda terinfeksi dengan jenis perangkat lunak perusak injeksi SQL, kemungkinan situs Anda disusupi oleh injeksi SQL.

    • Masuk ke server basis data dan cari konten mencurigakan di basis data, seperti bidang teks reguler yang kini menampilkan iframe atau skrip.
    • Untuk nilai yang mencurigakan, periksa apakah masukan pengguna divalidasi dan dikeluarkan dengan semestinya atau mungkin diketik tebal sehingga tidak dapat dijalankan sebagai kode. Jika masukan pengguna belum diperiksa sebelum pemrosesan basis data, injeksi SQL mungkin menjadi akar penyebab kerentanan di situs Anda.

Langkah berikutnya

Langkah berikutnya dalam proses ini adalah Membersihkan dan memelihara situs.