Analogi Sederhana: Pintu Rumah Dibobol vs Papan Petunjuk Diubah
Membedakan Dua Mekanisme Pembobolan
index.html bajakan atau webshell tersembunyi) atau memodifikasi entri database. Jalur pencegahan untuk kasus semacam ini pernah kita bahas dalam panduan seputar mencegah web defacement judi online lewat arsitektur read-only filesystem. Tandanya jelas: file di server berubah, timestamp file baru mencurigakan, dan log akses server mencatat request POST berbahaya ke file endpoint aplikasi.
Kasus kedua adalah dangling DNS atau subdomain hijacking. Pada skenario ini, integritas server milik kita sebetulnya 100 persen aman. Subdomain yang terkena defacement umumnya merupakan subdomain lawas, misalnya subdomain untuk kegiatan tahunan kampus, kampanye produk yang sudah lewat, atau dokumentasi lama. Di panel DNS utama, subdomain tersebut dihubungkan melalui CNAME ke layanan eksternal. Begitu langganan atau akun di layanan eksternal itu kedaluwarsa atau dihapus oleh pemilik aslinya, rute DNS masih aktif menunjuk ke sana. Penyerang cukup membuat akun baru di penyedia layanan eksternal tersebut, lalu mendaftarkan nama workspace atau bucket yang sama persis dengan tujuan CNAME tadi. Server penyeranglah yang merespons trafik pengunjung, bukan server kita.
Triase Cepat: Baca Header Respons Sebelum Buka SSH
curl.
BASH
curl -ILs -o /dev/null -w 'HTTP Status : %{http_code}
IP Remote : %{remote_ip}
' https://subdomain.contoh.idServer: atau header penanda platform yang dikembalikan. Jika server produksimu menjalankan LiteSpeed atau Apache di Linux CentOS/Ubuntu, tetapi respons curl -I mengembalikan header web server proprietary milik penyedia hosting statis global, maka membedah file PHP di cPanel atau VPS tidak ada gunanya. Konten yang tampil di browser disajikan langsung dari infrastruktur penyedia luar tersebut.
Penjelasan mendalam mengenai siklus pembersihan record DNS saat mematikan infrastruktur cloud juga dapat kamu pelajari lebih lanjut di artikel tentang menghapus dangling CNAME pada arsitektur cloud.
Kesalahan Umum Saat Menangani Tiket Subdomain Deface
- Memulihkan file cadangan (restore backup) tanpa cek DNS terlebih dahulu. Begitu melihat subdomain menampilkan konten slot online, teknisi langsung melakukan full restore direktori webroot dari cadangan minggu lalu. Tindakan ini membuang waktu unduh dan ekstrak puluhan gigabyte data, padahal konten deface tersebut sama sekali tidak berasal dari file server lokal.
- Menghapus folder subdomain di server tetapi membiarkan DNS aktif. Karena mengira subdomain sudah tidak dipakai, teknisi menghapus folder virtual host di cPanel atau Nginx. Jika masalah aslinya adalah dangling DNS, menghapus folder lokal tidak menyelesaikan apa pun karena penyerang tetap menyajikan konten lewat rute DNS yang mengarah ke server luar.
-
Lupa memeriksa recursive CNAME. Sering kali subdomain A menunjuk ke subdomain B (misalnya
event.domain.idCNAME keevent-archive.domain.id), dan subdomain B inilah yang mengarah ke layanan pihak ketiga yang mati. Memeriksa hanya record tingkat pertama kadang mengecoh pandangan kita jika tidak ditelusuri sampai ke IP target paling ujung. - Mengira sertifikat SSL yang valid berarti server lokal aman. Saat ini banyak penyedia cloud pihak ketiga otomatis menerbitkan sertifikat SSL gratis (seperti Let's Encrypt) begitu sebuah domain berhasil diarahkan ke platform mereka. Gembok hijau atau sertifikat HTTPS yang valid pada subdomain yang terbajak bukan bukti bahwa request diproses oleh server kita sendiri.
