Cara Mengamankan Linux Server Dari Port Scanning Dengan Portsentry - Portsentry adalah aplikasi yang dirancang untuk mendeteksi port scanning dan merespon secara aktif dengan cara melakukan blocking terhadap IP yang melakukan scanning ke server kita. Portsentry dapat dikategorikan sebagai tool yang berfungsi sebagai intrusion detection, intrusion detection sendiri adalah suatu metode yang digunakan untuk mendeteksi aktivitas mencurigakan yang tidak wajar di dalam sebuah sistem komputer atau jaringan.
Apa itu port scanning?
Port scanning adalah aktivitas yang dilakukan oleh attacker sebagai bagian dari proses footprinting sebelum melakukan tahap penetration testing (percobaan penetrasi) ke dalam sistem komputer yang ditargetkan, dengan teknik port scanning ini maka attacker akan mengetahui layanan (service) apa dan port berapa yang statusnya terbuka pada server atau sistem target.
Jika diketahui ada layanan dan juga port yang statusnya terbuka, misalnya saja layanan SSH Server, maka si attacker akan mencoba melakukan serangkaian eksploitasi ke server kita melalui layanan SSH Server tersebut, contoh yang paling umum yaitu serangan brute force yang bertujuan untuk membobol password dengan metode dictionary attack.
Baca juga :
Oleh karena itu kita perlu memasang software intrusion detection seperti portsentry ini, dengan tool ini kita akan lebih aware jika ada attacker yang mencoba melakukan scanning port pada server kita, selain mampu mendeteksi serangan port scanning, portsentry juga mampu melakukan blocking alamat IP yang mencoba melakukan scanning port ke server kita.
Portsentry mampu mendeteksi port scanning baik melalui protokol TCP maupun UDP, dan juga mampu mendeteksi stealth scan seperti SYN/half-open, FIN, NULL, dan X-MAS scan. Setiap mesin yang menjalankan port scanning akan dideteksi oleh portsentry kemudian alamat IPnya dimasukkan ke file hosts.deny oleh TCPWrapper untuk kemudian akan diblock oleh ipchain/iptables.
Ketika proses instalasi berlangsung, akan muncul tampilan seperti gambar di bawah ini yang memberitahukan bahwa portsentry secara default tidak melakukan blocking apapun, tekan enter pada keyboard untuk melanjutkan.
Cara Install PortSentry di Linux
PortSentry sendiri sudah tersedia di repositori ubuntu, sehingga untuk menginstallnya kita tinggal menjalankan perintah apt-get install saja melalui konsol terminal.$ sudo apt-get install portsentry
Ketika proses instalasi berlangsung, akan muncul tampilan seperti gambar di bawah ini yang memberitahukan bahwa portsentry secara default tidak melakukan blocking apapun, tekan enter pada keyboard untuk melanjutkan.
Cara Konfigurasi PortSentry di Linux
Jika sudah selesai, kita harus melakukan beberapa perubahan pada file konfigurasi portsentry agar portsentry dapat melakukan deteksi port scanning dari mesin lain dan juga melakukan blocking terhadap alamat IP tersebut. Buka file portsentry.conf dengan teks editor, contoh disini saya pakai teks editor nano, jika kamu kurang familiar dengan teks editor berbasis CLI, kamu bisa pakai teks editor GUI seperti gedit, mousepad atau leafpad.$ sudo nano /etc/portsentry/portsentry.conf
Kemudian cari baris berikut.
Ganti angka 0 menjadi 1 seperti gambar berikut.
Lalu cari baris berikut.
BLOCK_UDP="0"
BLOCK_TCP="0"
Ganti angka 0 menjadi 1 seperti gambar berikut.
Lalu cari baris berikut.
#KILL_ROUTE="/sbin/iptables -I INPUT -s $TARGET$ -j DROP"
Fungsinya yaitu agar iptables mendrop koneksi yang berasal dari alamat IP yang melakukan scanning port ke server kita, agar perintah tersebut bisa bergungsi maka hilangkan tanda pagar di belakang baris tersebut seperti ini.
Hilangkan tanda pagar di belakang baris tersebut, tapi secara default tanda pagar di belakang baris tersebut sudah hilang, jadi biarkan saja begitu. Fungsi baris perintah tersebut yaitu agar alamat IP yang melakukan scanning port ke server kita dimasukkan secara otomatis oleh TCPWrapper ke file hosts.deny.
Kita cukup melakukan perubahan konfigurasi 3 itu saja pada file portsentry.conf, jika sudah, kita restart service portsentry dengan menjalankan perintah berikut.
Untuk melihat status dari portsentry, kamu bisa jalankan perintah.
Kemudian untuk memantau aktivitas port scanning ke server kita, jalankan perintah berikut.
Jika ada aktivitas port scanning ke server kita, maka portsentry akan mendeteksinya yang bisa kita pantau melalui syslog. Contohnya seperti gambar di bawah ini, dimana terdapat aktivitas scanning port dari alamat IP 192.168.12.76 dan berhasil diblock oleh portsentry.
Setiap alamat IP yang melakukan scanning port akan dimasukkan oleh TCPWrapper secara otomatis ke file hosts.deny, kamu bisa mengeceknya dengan perintah berikut.
Selain itu, portsentry juga memiliki kemampuan untuk mengingat alamat IP mana yang sering melakukan scanning port, ini karena setiap alamat IP yang melakukan scanning port akan dimasukkan juga ke dalam file portsentry.history, kamu bisa mengeceknya dengan perintah.
Kita cukup melakukan perubahan konfigurasi 3 itu saja pada file portsentry.conf, jika sudah, kita restart service portsentry dengan menjalankan perintah berikut.
$ sudo service portsentry restart
Untuk melihat status dari portsentry, kamu bisa jalankan perintah.
$ sudo service portsentry restart
Kemudian untuk memantau aktivitas port scanning ke server kita, jalankan perintah berikut.
$ tail -f /var/log/syslog
Jika ada aktivitas port scanning ke server kita, maka portsentry akan mendeteksinya yang bisa kita pantau melalui syslog. Contohnya seperti gambar di bawah ini, dimana terdapat aktivitas scanning port dari alamat IP 192.168.12.76 dan berhasil diblock oleh portsentry.
Setiap alamat IP yang melakukan scanning port akan dimasukkan oleh TCPWrapper secara otomatis ke file hosts.deny, kamu bisa mengeceknya dengan perintah berikut.
$ cat /etc/hosts.deny
Selain itu, portsentry juga memiliki kemampuan untuk mengingat alamat IP mana yang sering melakukan scanning port, ini karena setiap alamat IP yang melakukan scanning port akan dimasukkan juga ke dalam file portsentry.history, kamu bisa mengeceknya dengan perintah.
$ sudo cat /var/lib/portsentry/portsentry.history
Berikut adalah hasil scanning dari komputer lain menggunakan aplikasi nmap ke server yang menjalankan portsentry.
Dari gambar di atas bisa dilihat bahwa semua port pada server statusnya filtered, hal ini karena aktivitas scanning port terdeteksi oleh portsentry kemudian alamat IPnya dimasukkan ke file hosts.deny oleh TCPWrapper dan berdasarkan file hosts.deny tersebut iptables melakukan blocking koneksi agar komputer penyerang tidak dapat berkomunikasi dengan server kita.
Demikianlah langkah-langkah instalasi dan konfigurasi portsentry untuk memproteksi server dari serangan port scanning. Semoga bermanfaat dan terimakasih.