Cara Menangani Outgoing Brute Force dari Server
0 people liked this article
A. Pendahuluan
Outgoing Brute Force adalah kondisi ketika server melakukan percobaan koneksi atau login secara berulang dan dalam jumlah besar ke server atau layanan lain. Aktivitas ini dapat terjadi karena server terinfeksi malware, terdapat akun yang berhasil dikompromikan, aplikasi yang rentan, maupun konfigurasi layanan yang disalahgunakan.
Aktivitas outgoing brute force perlu segera diperiksa karena selain dapat menyebabkan IP server masuk ke dalam blacklist atau mendapatkan laporan abuse, aktivitas tersebut juga dapat meningkatkan penggunaan resource dan berdampak pada reputasi IP server.
Panduan ini menjelaskan beberapa langkah yang dapat dilakukan untuk mengidentifikasi sumber aktivitas outgoing brute force serta tindakan pencegahan yang dapat diterapkan pada server Linux.
B. Langkah-langkah
1. Identifikasi Aktivitas Outgoing Brute Force
Langkah pertama adalah memastikan apakah memang terdapat proses atau koneksi mencurigakan yang berjalan pada server.
a. Memeriksa proses yang sedang berjalan
Gunakan salah satu perintah berikut:
top
htop
ps auxf
Hal-hal yang perlu diperhatikan antara lain:
- Proses yang tidak dikenal.
- Proses yang berjalan menggunakan user yang tidak sesuai.
- Proses dengan penggunaan CPU atau RAM yang tinggi.
- Proses yang berjalan terus-menerus tanpa alasan yang jelas.
- File executable yang berada di direktori seperti /tmp, /var/tmp, atau home directory user tetapi tidak dikenal.
Untuk melihat proses yang paling banyak menggunakan CPU:
ps aux --sort=-%cpu | head -20
Untuk melihat proses yang paling banyak menggunakan memory:
ps aux --sort=-%mem | head -20
b. Memeriksa koneksi jaringan yang sedang aktif
Selain melihat proses, penting untuk mengetahui apakah terdapat koneksi outbound yang mencurigakan.
Gunakan perintah berikut untuk mengecek detail koneksi yang di lakukan pada server:
ss -tunapatau
netstat -tunapHal-hal yang perlu diperhatikan yaitu:
- IP tujuan yang diakses server
- Port tujuan
- Proses yang membuat koneksi
- Jumlah koneksi aktif
Sebagai contoh, jika terlihat satu proses membuat ratusan koneksi ke port SMTP, SSH, FTP, atau layanan lainnya pada banyak IP tujuan, kondisi tersebut perlu diperiksa lebih lanjut.
Untuk melihat koneksi TCP yang sedang aktif:
ss -antpUntuk melihat koneksi berdasarkan port tertentu, misalnya port 22:
ss -antp | grep ':22'
c. Memeriksa history login
Untuk mengetahui user yang sedang atau sebelumnya melakukan login, gunakan perintah berikut:
wPerintah tersebut digunakan untuk menampilkan user yang sedang login dan aktivitas session yang sedang berjalan.
Untuk melihat riwayat login gunakan perintah berikut:
lastPada OS Ubuntu/Debian, dapat juga memeriksa log autentikasi dengan perintah berikut:
grep -i "accepted" /var/log/auth.logPada OS AlmaLinux/Rocky/CentOS gunakan perintah berikut:
grep -i "accepted" /var/log/securePerhatikan detail login yang terdapat indikasi sebagai berikut:
- Berasal dari IP yang tidak dikenal.
- Terjadi pada waktu yang tidak biasa.
- Menggunakan user yang seharusnya tidak melakukan login.
- Menggunakan metode autentikasi yang tidak biasa.
Jika ditemukan login yang mencurigakan, lakukan investigasi terhadap user tersebut dan pertimbangkan untuk mengganti password atau menonaktifkan akun terkait.
d. Memeriksa command history
Gunakan perintah berikut untuk melihat riwayat perintah yang dijalankan pada server:
historyUntuk user tertentu:
cat /home/username/.bash_historyUbah username pada perintah di atas dengan nama user yang ingin dicek riwayat perintah yang di jalankan oleh user tersebut.
Namun perlu dicatat bahwa history tidak dapat dijadikan satu-satunya sumber pengecekan, karena history dapat dihapus dan tidak mencatat semua command pada seluruh shell, atau bahkan tidak tersedia untuk beberapa jenis session.
Karena itu, perintah history sebaiknya digunakan bersama dengan pemeriksaan berikut:
- Login history.
- Process list.
- Network connection.
- File yang baru dibuat.
- Cronjob.
-
Log sistem.
e. Memeriksa Cronjob
Serangan atau malware dapat menggunakan cronjob untuk menjalankan kembali script secara otomatis.
Untuk melihat cronjob milik user yang sedang digunakan:
crontab -lUntuk melihat cronjob user tertentu:
crontab -u username -lUbah username pada perintah di atas dengan nama user yang ingin dicek cronjob yang di buat oleh user tersebut.
Periksa juga cronjob pada sistem:
ls -lah /etc/cron.d/
ls -lah /etc/cron.daily/
ls -lah /etc/cron.hourly/
ls -lah /etc/cron.weekly/
ls -lah /etc/cron.monthly/Waspadai cronjob yang terdapat indikasi sebagai berikut:
- Menjalankan script dari /tmp
- Mengunduh file dari internet menggunakan curl atau wget
- Menjalankan file yang tidak dikenal
- Menggunakan nama file yang acak
- Menjalankan command menggunakan base64, eval, atau teknik obfuscation lainnya
-
Dibuat tanpa diketahui oleh administrator
f. Memeriksa direktori /tmp dan /var/tmp
Direktori temporary sering disalahgunakan oleh malware untuk menyimpan script atau executable.
Periksa isi dari direktori /tmp dan /var/tmp dengan perintah berikut:
ls -lah /tmpls -lah /var/tmpPerhatikan file dengan detail sebagai berikut:
- Baru dibuat
- Memiliki nama acak
- Memiliki permission executable
- Tidak diketahui asal-usulnya
Untuk mencari file executable pada direktori /tmp gunakan perintah berikut:
find /tmp -type f -perm /111 -lsJika menemukan file mencurigakan, jangan langsung di jalankan atau eksekusi. Lakukan pemeriksaan terlebih dahulu pada detail isi dari file tersebut dan pastikan bukan file yang diperlukan system.
2. Periksa Log untuk Menemukan Sumber Aktivitas
Setelah menemukan indikasi koneksi atau proses yang mencurigakan, langkah berikutnya adalah mencari sumber aktivitas tersebut.
Beberapa log yang dapat diperiksa:
/var/log/auth.log
/var/log/secure
/var/log/syslog
/var/log/messagesUntuk aplikasi web, periksa juga access log dan error log pada web server.
Berikut contoh perintah yang dapat digunakan untuk melakukan pengecekan log pada web server:
tail -100 /var/log/nginx/access.logatau:
tail -100 /var/log/apache2/access.logApabila server menjalankan aplikasi berbasis web, jangan hanya memeriksa di sisi server, namun lakukan pengecekan juga di sisi aplikasi, CMS, plugin, dan script yang berjalan pada server juga dapat menjadi sumber aktivitas outgoing brute force.
3. Lakukan Scanning Malware
Jika ditemukan aktivitas yang tidak dikenal, lakukan pemeriksaan menggunakan tools keamanan.
Berikut beberapa tools yang dapat digunakan untuk melakukan pengecekan keamanan pada server:
- ClamAV – untuk mendeteksi file yang diketahui sebagai malware.
- Linux Malware Detect (LMD/maldet) – berfokus pada deteksi malware pada lingkungan Linux.
- rkhunter – membantu mendeteksi indikasi rootkit dan perubahan mencurigakan pada sistem.
- chkrootkit – digunakan untuk pemeriksaan indikasi rootkit.
Sebagai contoh, ClamAV dapat digunakan untuk melakukan scanning dengan perintah berikut:
clamscan -r /homeUntuk kebutuhan server production dengan jumlah file yang besar, lakukan scanning secara terencana agar tidak memberikan beban resource yang terlalu besar.
C. Tindakan Pencegahan Outgoing Brute Force
Setelah sumber masalah ditemukan dan ditangani, lakukan beberapa langkah berikut untuk mengurangi kemungkinan kejadian terulang.
1. Terapkan firewall
Jika menggunakan layanan VPS seperti Neo Lite atau Neo Lite Pro yang menyediakan fitur security group, gunakan fitur tersebut untuk membatasi trafik yang tidak diperlukan. Jika tidak terdapat fitur seperti security group maka dapat menggunakan firewall di sisi server.
Prinsip yang disarankan sebagai berikut:
- Hanya mengizinkan trafik yang memang dibutuhkan
- Membatasi akses management berdasarkan source IP apabila memungkinkan
- Membatasi koneksi outbound ke port atau tujuan yang tidak diperlukan oleh server
Sebagai contoh, server web yang hanya digunakan untuk melayani HTTP/HTTPS tidak selalu membutuhkan akses outbound ke seluruh port.
Namun, rule security group/firewall perlu disesuaikan dengan kebutuhan aplikasi dan pastikan tidak memblokir trafik outbound secara sembarangan karena beberapa aplikasi membutuhkan akses ke DNS, repository, API, NTP, payment gateway, atau layanan eksternal lainnya.
2. Nonaktifkan service yang tidak diperlukan
Periksa service yang aktif dengan perintah berikut:
systemctl list-units --type=service --state=runningIdentifikasi service yang memang tidak diperlukan dan nonaktifkan sesuai kebutuhan jika memang tidak digunakan.
Semakin sedikit service yang berjalan, semakin kecil percobaan serangan dan kemungkinan service tersebut disalahgunakan.
3. Gunakan password yang kuat
Gunakan password yang unik dan kuat untuk akun-akun berikut:
- SSH
- FTP
- Control panel
- Database
- Aplikasi web
Gunakan kombinasi huruf besar, huruf kecil, angka, dan simbol.
Untuk akses SSH, penggunaan SSH Key lebih disarankan dibandingkan hanya menggunakan password untuk aksesnya.
4. Batasi akses SSH
Jika SSH tidak perlu dapat diakses dari seluruh internet, batasi akses berdasarkan source IP melalui firewall/security group.
Selain itu, pertimbangkan juga hal berikut:
- Mengubah konfigurasi SSH sesuai kebutuhan
- Menonaktifkan login root langsung jika tidak diperlukan
- Menggunakan user administrator dengan sudo
-
Menggunakan SSH key authentication
5. Perbarui OS dan software
Pastikan sistem operasi dan aplikasi selalu mendapatkan security update.
Pada OS Ubuntu/Debian, gunakan perintah berikut untuk melakukan pembaruan:
apt update
apt upgradePada OS AlmaLinux/Rocky, gunakan perintah berikut untuk melakukan pembaruan:
dnf updatePembaruan ini penting karena malware sering memanfaatkan vulnerability pada OS, web server, CMS, plugin, maupun aplikasi yang belum diperbarui.
6. Periksa aplikasi dan CMS
Untuk server yang menjalankan WordPress, Laravel, framework PHP, Node.js, atau aplikasi lainnya, lakukan pemeriksaan terhadap hal-hal berikut:
- Plugin atau package yang rentan
- Script yang tidak dikenal
- File yang berubah tanpa diketahui
- User aplikasi yang mencurigakan
- Upload directory yang dapat menjalankan script
Sering kali sumber outgoing brute force bukan berasal dari OS melainkan dari aplikasi yang berhasil dieksploitasi.
D. Monitoring Setelah Perbaikan
Setelah pembersihan dan tindakan pencegahan dilakukan, lakukan juga monitoring untuk memastikan aktivitas outgoing brute force sudah berhenti.
Periksa kembali aktivitas pada server menggunakan perintah berikut:
ss -tunap
ps auxf
topdan log terkait.
Anda juga dapat menggunakan monitoring seperti Netdata, Zabbix, Grafana, atau tools lainnya untuk memantau detail berikut:
- Network traffic outbound
- Jumlah koneksi
- CPU dan RAM
- Process usage
- Network anomaly
Jika terdapat indikasi bahwa koneksi mencurigakan kembali muncul setelah proses pembersihan, kemungkinan masih terdapat source of compromise yang belum ditemukan baik di sisi OS, aplikasi, plugin, atau lainnya.
E. Penutup
Outgoing brute force umumnya menunjukkan adanya aktivitas yang tidak normal dari dalam server, sehingga penanganannya tidak cukup hanya dengan menghentikan koneksi atau memblokir IP tujuan. Administrator perlu mencari sumber aktivitas, memastikan tidak ada akun atau aplikasi yang telah dikompromikan, serta melakukan pemeriksaan terhadap process, network connection, login history, cronjob, file mencurigakan, dan malware.
Setelah kondisi server kembali normal, lakukan hardening dan monitoring secara berkala. Pembaruan sistem, pembatasan akses melalui firewall, penggunaan autentikasi yang kuat, serta pemeriksaan aplikasi dan service yang berjalan merupakan langkah penting untuk mengurangi risiko outgoing brute force terulang kembali.
Semoga artikel ini dapat membantu Anda untuk kebutuhan melakukan delete pada layanan Biznetgio. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silakan hubungi Support Biznet GIO melalui email support@biznetgio.com atau WhatsApp maupun Livechat di website www.biznetgio.com dan bisa juga melalui telepon ke nomor (021) 5714567.
Popular Articles
-
Cara Install & Konfigurasi Monitoring Cacti Serta Mengetahui Fungsi Fitur Pada Cacti
15 people say this guide was helpful
-
Cara Mengaktifkan Telnet pada Windows 7, 8 dan 10
5 people say this guide was helpful
-
Install dan Konfigurasi Samba Server pada Ubuntu
5 people say this guide was helpful
-
Cara Membuat atau Menambahkan SSH Key pada Layanan Neo Lite dan NEO Lite Pro
3 people say this guide was helpful