VPS melakukan DDoS?

Ternyata ada satu email terlewat dan mengeluhkan adanya masalah bahwa satu Droplet Digital Oceannya telah dimatikan karena dibuat menyerang DDoS (Distributed Denial of Service). Dari pihak support DigitalOcean juga memberikan log (atau lebih tepatnya bukti karena membacanya pun tidak bisa dipakai untuk diagnosa):

2016-07-08 00:25:11 EST - [ NETWORK ALERT ] [ Droplet 18102843 - FLOODING ][ Bw 522.39 mb OUT | 0.00 mb IN ] [ pps 5.2m OUT | 67 IN ]
2016-07-08 00:20:11 EST - [ NETWORK ALERT ] [ Droplet 18102843 - FLOODING ][ Bw 473.27 mb OUT | 0.00 mb IN ] [ pps 4.7m OUT | 61 IN ]
2016-07-08 00:15:08 EST - [ NETWORK ALERT ] [ Droplet 18102843 - FLOODING ][ Bw 545.36 mb OUT | 0.00 mb IN ] [ pps 5.5m OUT | 92 IN ]
2016-07-08 00:10:09 EST - [ NETWORK ALERT ] [ Droplet 18102843 - FLOODING ][ Bw 501.30 mb OUT | 0.00 mb IN ] [ pps 5m OUT | 92 IN ]
2016-07-08 00:05:12 EST - [ NETWORK ALERT ] [ Droplet 18102843 - FLOODING ][ Bw 486.31 mb OUT | 0.00 mb IN ] [ pps 4.9m OUT | 19 IN ]

Ya… sungguh angka tidak wajar bisa mencapai 5 juta pps bandwidth keluarnya, 500 Mb dalam satu detik memang cukup masif nilainya dan bukan penggunaan wajar untuk hosting website.

Isinya dikatakan Nginx, PHP-FPM, PostgreSQL dan Softether VPN dan tidak pakai port standar.

Saya katakan dulu diawal sebelum ada salah paham. Jangan repot – repot mencoba memperbaiki servernya, lebih baik install ulang dari awal. Dan kali ini pastikan semuanya lebih aman lagi. Intinya kalau sudah terinfeksi/dibobol akan sangat sulit kita menemukan dimananya yang salah dan apalagi memulihkannya ke kondisi normal. Dari pengalaman lebih cepat kalau kita bikin VPS baru dan merestore semua datanya disana, ingat data lho ya bukan aplikasinya yang ikut dikembalikan.

Kalau tidak ada backup bagaimana? Selama VPSnya belum dihapus (disable saja) bisa mencoba Emergency Console seperti DigitalOcean dan provider VPS yang menggunakan SolusVM. Nanti akan ada sesi SSH dari panelnya dalam browsers. Kalau malah tambah bingung minta bantuan supportnya saja untuk backup data yang ada.

Tapi kalau mau diagnosa anda bisa mencoba menggunakan beberapa perintah ini:

  • ls -al /boot

    Lokasi umum malware/trojan yang ada pada Linux. Perhatikan saja apakah ada nama – nama yang tidak wajar. Termasuk yang bertipe hidden files.

  • lsof -i

    Menampilkan proses yang menggunakan network socket dan file, jadi anda bisa tahu mana saja aplikasi yang aktif menggunakan internet.

  • ps -ef

    Akan memperlihatkan semua proses yang sedang berjalan.

  • netstat -pan

    Seluruh aktivitas jaringan akan dapat dipantau dari sini.

  • ss -ap

    Daftar network socket yang terbuka akan muncul disini.

Terus apa yang sebenarnya kita cari? Dan tahu darimana kalau itu adalah file yang berbahaya atau pelakunya? Nah ini masalahnya. Saya cuma bisa menyarankan anda membandingkan daftar proses yang seharusnya memang ada dan apa saja yang berjalan. Kalau ragu Google saja apa nama proses/filenya. Serius. Saya sendiri seperti itu kok, berdasarkan pengalaman saja pas baca – baca hasil beberapa tool diatas.

Tapi kalau bicara dari pengalaman dulu saya menemukan adanya file bernama .IptabLes dan .IptabLex. Nama filenya memang diawali titik dan ini menandakan hidden file kalau di Linux. Dan tidak ada hubungannya dengan iptables, jadi memang sengaja dimiripkan untuk menipu.

Bagaimana cara mencegah agar kasus serupa tidak terulang lagi? Ada beberapa hal yang bisa dilakukan untuk mengunci akses lebih menyeluruh lagi:

  • Jangan gunakan password untuk login root, perlahan – lahan pakailah SSH Key untuk semuanya.
  • Mengganti port SSH juga saya rekomendasikan.
  • Install aplikasi yang perlu saja, kalau anda perlu web server (Apache, Nginx) maka mail server (Postfix) belum tentu ada butuhkan. Sebaliknya juga sama, aplikasi yang sudah ada tapi tidak terpakai misal BIND maka uninstall saja. Ini intinya mengurangi celah keamanan.
  • Atur firewall anda agar berdasarkan whitelist. Jadi ada koneksi tidak dikenal defaultnya akan DROP atau dibuang. Hanya yang dipakai saja misal HTTP, SMTP, SSH dan seterusnya yang diperbolehkan. Tujuannya membatasi koneksi yang diluar kebutuhan.
  • Jangan biasakan menggunakan barang – barang bajakan, nulled atau semacamnya. Godaannya besar (premium tapi gratis) tapi dari pengalaman hampir pasti disisipi kode malware. Minimal cuma pembajakan iklan pada websitenya, atau redirect ke situs lain. Tapi kalau parah bisa dibuat spam dan DDoS.
  • Backup, backup, backup! Anda harus memiliki sistem backup. Apapun itu. Yang merugikan pas VPS dibobol hacker, dibajak websitenya, dimatikan provider bukan masalah mesinnya tapi isinya.

Mohon maaf kalau ada yang kurang mendetail, bisa anda tanyakan. Saya juga agak bingung menjelaskannya karena selama ini memang pakai feeling. 😀 Harap maklum saya belajarnya otodidak 😥 dan untuk urusan keamanan server juga tipe Sparta dimana sudah musibah baru kelabakan cari solusi. Hehe. 😀

Anggap saja ini share dan mungkin kalau ada alternatif silahkan ditambahkan juga, saya juga masih belajar kok dan ini catatan prosedur saya pas mengalami masalah yang sama.

6 Comments

  1. nah, bagaimana caranya agar server kita terhindar dari ddos attack itu sendiri mas?

    Btw, saran saya mas, jumlah list “komentar terbaru” di sidebar ditambahkan lagi dong, saya suka lupa soalnya pernah komentar di artikel yg mana. Jadi tidak bisa ngecek apakah sudah dijawab sama mas chandra atau belum. *Efek blog populer ya begini ya mas…. cihhuuuiiiii hihihi

    1. Wah… kalau menghindari ini paling jangan hosting konten kontroversial mas. Supaya ga ada musuhnya. Meminimalisasi efek DDoS kalau dari sisi VPS sendiri juga sangat terbatas, bisa dikatakan pasrah kalau ga ada DDoS Protectionnya. Analoginya ada resepsionis satu dalam gedung tapi tamunya yang antri puluhan ribu, ya kapasitas prosesnya jelas kalah jauh. Misal mau difilter pun ya tetap KO karena trafik yang masuk tetap diproses untuk diperiksa ini valid tidak. Memang sebaiknya ada proteksi DDoS kalau sewa VPS, terutama kalau yakin akan diserang.

      Tapi kalau alamat IP anda belum diketahui ya pasang CloudFlare sudah mengurangi sedikit.

      Sudah saya buat jadi 20 komentar terakhir mas. Syukurlah ada manfaatnya mas. Hehe 🙂

  2. Mas Chandra,
    Terima kasih sudah nulis artikel ini. Sangat bermanfaat sekali infonya. Saya menemukan script aneh di server saya yang terindikasi dijadikan DDoS Attacker.
    Ada isian mencurigakan di :
    – file cron (scheduler)
    – file & folder dengan nama random di /etc/init.d
    – file dengan nama random di /usr/local
    Tiap sekian menit, nama file random itu berubah-ubah. Jika dihapus, akan muncul lagi.
    Seperti anjuran Mas Chandra, paling gampang ya backup data lalu destroy VPS nya, bikin VPS baru. Hehehehe…

    1. Sama – sama mas Danny, sekalian nostalgia masalah serupa dulu. Dan sudah merasakan betapa percumanya memperbaiki VPS yang sudah dibobol hacker. Mending setting dari awal lagi dan lupakan sajalah. 😀

      Dan trims tambahannya, saya kok lupa bahas cron padahal ini sering juga ketemu mahkluk – makhluk anehnya. 🙂

  3. Lagi nyari postingan di blog ini soal menangani DDOS eh malah mampir kesini. bentar bentar sebelah mana ya lupa lagi hihi.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *