Dua hari bertempur melawan ganasnya Distributed Denial Of Service ( Ddos ) Attack

lagi sibuk nganggur, tiba-tiba dapet notifikasi pesan seperti dibawah ini

504 adalah error dengan pesan Gateway Time Out, dimana backend dari sebuah service tidak mampu melayani request. bahasa singkatnya, website down.

hal pertama yang saya lakukan adalah cek resource dari server. dan hasilnya full senyumm..

resource mentok gaess. FYI, ini adalah aplikasi web base yang hanya menampilkan informasi publik, tidak ada proses yang terlalu rumit, sehingga menjadi tidak wajar ketika server penuh dari segala sisi.

hal berikutnya yang saya lakukan adalah cek log dari web server,

dari hasil tangkapan layar, diketahui terdapat trafik dengan jumlah besar pada web server dengan kegiatan Scanning. kegiatan scanning adalah kegiatan yang dilakukan oleh seorang atau kelompok peretas ( hacker ) untuk mendapatkan Bug atau kelemahan dari sebuah sistem yang kemudian di exploitasi untuk mendapatkan informasi bahkan takeover sistem tersebut. ,

lo mas, kok kegiatan scanning bisa lolos ya, ?? ya karena request bernilai TRUE, sehingga oleh web server permintaannya dilayani. ini yang bikin web servernya sibuk melayani, akhirnya stress dan hank. kamu kalo ngelayani terus, stress juga kan ? wkwkwk.

lo mas, scanning gak bisa dihalau ta ? bisa, kalau punya perangkat seperti WAF, kalau punya…..

saya coba menaikkan resource server, namun tidak mengatasi, dan tetap full.

dari hasil bertapa tengah malam, saya coba otak atik dari sisi konfigurasi, bahasa kerennya performance tuning, wkwkwkwk. beberapa item yang saya lakukan untuk performance tuning, yaitu :

  1. mengubah atau menerapkan PHP-FPM / mpm-event sebagai backend proses,karena ini lebih stabil daripada mpm-prefork
  2. melakukan perubahan nilai dari konfigurasi PHP-FPM, perlu diingat, setiap konfigurasi berbeda sesuai dengan spek server
pm = dynamic
pm.max_children = 690
pm.start_servers = 40
pm.min_spare_servers = 20
pm.max_spare_servers = 60
pm.max_requests = 1000

3. melakukan perubahan nilai pada php-event.

<IfModule mpm_event_module>
    StartServers             4
    ServerLimit             30
    ThreadsPerChild         25
    MinSpareThreads        100
    MaxSpareThreads        250
    MaxRequestWorkers      750
    MaxConnectionsPerChild  1000
</IfModule>

4. mengaktifkan KeepAlive (hemat overhead koneksi) di konfig apache

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 3

5. melakukan tuning php-fpm

pm = dynamic
pm.max_children = 690
pm.start_servers = 40
pm.min_spare_servers = 20
pm.max_spare_servers = 60
pm.max_requests = 1000

6. merubah limits dari server itu sendiri.

www-data soft nproc 65535
www-data hard nproc 65535
www-data soft nofile 65535
www-data hard nofile 65535


perlu diingat, nilai konfigurasi ini tidak sama tiap-tiap server. karena menyesuikan spesifikasi maupun tingkah laku wkwkwk server tersebut. tapi secara konsep ThroubleShooting, ya kurang lebih begitulah konsepnya.

nah, setelah saya menerapkan konfig tersebut, sambil saya anu-anuin pake kemenyan, saya start semua service dan layanan kembali normal dengan hasil yang cukup memuaskan. ah…….

Bagikan saja, itu tidak berat

Bagaimana bisa sih server terserang Rootkit ? begini kronologinya.

Beberapa waktu lalu, salah satu Virtual Private Server terserang Rootkit.

Rootkit ini adalah kode jahat atau didalam dunia IT biasa disebut Malware. melakukan pekerjaan di server yang terinfeksi sesuai dengan perintah programmernya. ya pokoknya kalau mau tau lengkap tentang rootkit, bisa brosing-brosing yaks.

setelah di telusuri dari log, baik log firewall maupun log sistem operasi. kemungkinan besar rootkit itu masuk melalui port default SSH , yaitu 22.

metode yang digunakan adalah Brute Force, yaitu sebuah teknik mencocokkan kombinasi username dan password untuk akses ke remote SSH.

Brute Force Attack

nah, kok bisa masuk melalui port tersebut ? setelah di telusuri, kombinasi username dan password server yang terjangkir Rootkit untuk remote SSH itu sangat default, dengan loginnya root ( user tertinggi pula ).
username : root
passwd : rahasia

berikut bukti bahwa ada ribuan kali percobaan untuk login,

Brute Force 3

tidak butuh waktu lama untuk Script Brute Force tersebut mampu menebak kombinasi loginnya.

Brute Force Attack 1setelah berhasil masuk ke server, scipt tersebut menanamkan Malware, melakukan Sync Flood ke IP luar Negeri.

ini malwarenya :

Brute Force 5

Screenshot_535

dan ini kegiatannya :

Brute Force 5

ini bisa terjadi juga dikarenakan konfigurasi firewall yang kurang tepat, sehingga mengijinkan trafik yang dinilai tidak lazim untuk melewati jaringan.

sekian, mitigasi dari saya. semoga kejadian ini tidak terjadi lagi. amin.

Bagikan saja, itu tidak berat