PortSentry Penjaga Serangan Port Scan di Jaringan

Onno W. Purbo

Mengapa kita perlu mendeteksi Port Scan? Jawaban versi hebohnya kira-kira sebagai berikut, Port Scan adalah awal dari masalah besar yang akan datang melalui jaringan. Port Scan merupakan awal serangan dan hasil Port Scan membawa beberapa informasi kritis yang sangat penting untuk pertahanan mesin & sumber daya yang kita miliki. Keberhasilan untuk menggagalkan Port Scan akan menyebabkan kita tidak berhasil memperoleh informasi strategis yang dibutuhkan sebelum serangan yang sebetulnya dilakukan.

PortSentry dapat di terjemahkan ke bahasa Indonesia sebagai Penjaga Gerbang / Pelabuhan. Sentry berarti penjaga, Port dapat diterjemahkan gerbang atau pelabuhan. Sekedar latar belakang informasi, pada jaringan komputer (Internet), masing-masing server aplikasi akan stand-by pada port tertentu, misalnya, Web pada port 80, mail (SMTP) pada port 25, mail (POP3) pada port 110. PortSentry adalah program yang di disain untuk mendeteksi dan merespond kepada kegiatan port scan pada sebuah mesin secara real-time.

PortSentry tersedia untuk berbagai platform Unix, termasuk Linux, OpenBSD & FreeBSD. Versi 2.0 dari PortSentry memberikan cukup banyak fasilitas untuk mendeteksi scan pada berbagai mesin Unix. Versi 1.1 mendukung mode deteksi PortSentry yang klasik yang tidak lagi digunakan pada versi 2.0. PortSentry 2.0 membutuhkan library libpcap untuk dapat di jalankan, biasanya sudah tersedia berbentuk RPM dan akan terinstall secara automatis jika anda menggunakan Linux Mandrake. Bagi yang tidak menggunakan Linux Mandrtake dapat mengambilnya dari situs tcpdump.org.

Bagi pembaca yang ingin mengambil PortSentry langsung dari sumbernya dapat mengambilnya di http://www.psionic.com/products/portsentry.html. Source portsentry terdapat dalam format tar.gz atau .rpm.

Bagi pengguna Mandrake 8.0, PortSentry telah tersedia dalam CD-ROM dalam format RPM. Instalasi PortSentry menjadi amat sangat mudah dengan di bantu oleh program Software Manager. Yang kita lakukan tinggal:
•	Mencari PortSentry dalam paket program.
•	Pilih (Klik) PortSentry.
•	Klik Install maka PortSentry.
Secara automagic anda akan memperoleh PortSentry.

Bagi pengguna Mandrake 8.2 ternyata PortSentry tidak dimasukan dalam CD-ROM Mandrake 8.2, jadi anda harus menggunakan CD Mandrake 8.0 untuk mengambil PortSentry dan menginstallnya.

Beberapa fitur yang dimiliki oleh PortSentry, antara lain adalah:

•	Mendeteksi adanya Stealth port scan untuk semua platform Unix. Stealth port scan adalah teknik port scan yang tersamar / tersembunyi, biasanya sukar di deteksi oleh sistem operasi.
•	PortSentry akan mendeteksi berbagai teknik scan seperti SYN/half-open, FIN, NULL dan X-MAS. Untuk mengetahui lebih jelas tentang berbagai teknik ini ada baiknya untuk membaca-baca manual dari software nmap yang merupakan salah satu software portscan terbaik yang ada.
•	PortSentry akan bereaksi terhadap usaha port scan dari lawan dengan cara membolkir penyerang secara real-time dari usaha auto-scanner, probe penyelidik maupun serangan terhadap sistem.
•	PortSentry akan melaporkan semua kejanggalan & pelanggaran kepada software daemon syslog lokal maupun remote yang berisi nama sistem, waktu serangan, IP penyerang maupun nomor port TCP atau UDP di mana serangan di lakukan. Jika PortSentry didampingkan dengan LogSentry,  dia akan memberikan berita kepada administrator melalui e-mail.
•	Fitur cantik dari PortSentry adalah pada saat terdeteksi sebuah scan, sistem anda tiba-tiba menghilang dari hadapan si penyerang. Fitur ini betul-betul membuat penyerang tidak berkutik.
•	PortSentry selalu mengingat alamat IP penyerang, jika ada serangan Port Scan yang sifatnya random PortSentry akan bereaksi.

Salah satu hal yang menarik dari PortSentry adalah dia disain agar dapat dikonfigurasi secara sederhana sekali dan bebas dari keharusan memelihara.

Beberapa hal yang mungkin menarik dari kemampuan PortSentry antara lain, PortSentry akan mendeteksi semua hubungan antar komputer menggunakan protokol TCP maupun UDP. Melalui file konfigurasi yang ada PortSentry akan memonitor ratusan port yang di scan secara berurutan maupun secara random. Karena PortSentry juga memonitor protokol UDP, PortSentry akan memberitahukan kita jika ada orang yang melakukan probing (uji coba) pada servis RPC, maupun servis UDP lainnya seperti TFTP, SNMP dll.

Setup Parameter PortSentry

Setup Parameter PortSentry dilakukan secara sangat sederhana melalui beberapa file yang berlokasi di

	/etc/portsentry

adapun file tersebut adalah

always_ignore
portsentry.blocked.atcp
portsentry.blocked.audp
portsentry.conf
portsentry.history
portsentry.ignore
portsentry.modes

dari sekian banyak file yang ada, yang perlu kita perhatikan sebetulnya tidak banyak hanya

•	Always_ignore – yang berisi alamat IP yang tidak perlu di perhatikan oleh PortSentry.
•	Portsentry.conf – yang berisi konfigurasi portsentry, tidak terlalu sukar untuk di mengerti karena keterangannya cukup lengkap.

Mengedit portsentry.conf tidak sukar & dapat dilakukan menggunaan teks editor biasa saja. Sebetulnya portsentry dapat langsung bekerja hampir tanpa perlu mengubah file konfigurasi yang ada. Beberapa hal yang perlu diperhatikan dalam mengedit konfigurasi file portsentry.conf adalah:

•	Konfigurasi Port – disini di set port mana saja di komputer yang kita gunakan yang perlu di perhatikan. Pada konfigurasi port ini tersedia juga pilihan untuk menghadapi advanced stealth scan.
•	Pilihan untuk melakukan respons (Reponds Options) – seperti Ignore options yang memungkinkan kita untuk mengacuhkan serangan, menghilang dari tabel routing yang akan mengakibatkan paket dari penyerang tidak di proses routingnya, setting untuk TCP Wrappers yang akan menyebabkan paket dari penyerang tidak akan masuk ke server.
•	Serang balik – ini adalah bagian paling berbahaya dari PortSentry, pada file konfigurasi PortSentry telah di sediakan link untuk menyambungkan / menjalankan script untuk menyerang balik ke penyerang. Bagian ini sebaiknya tidak digunakan karena akan menyebabkan terjadinya perang Bharatayudha.

Dari sekian banyak parameter yang ada di konfigurasi file portsentry.conf, saya biasanya hanya menset bagian routing table saja untuk menghilangkan semua paket dari  penyerang yang mengakibatkan paket tidak di proses. Kebetulan saya menggunakan Mandrake 8.0 yang proses paket dilakukan oleh iptables, kita cukup menambahkan perintah di bagian Dropping Routes: dengan perintah iptables.

# PortSentry Configuration
#
# $Id: portsentry.conf,v 1.13 1999/11/09 02:45:42 crowland Exp crowland $
#
# IMPORTANT NOTE: You CAN NOT put spaces between your port arguments.
# 
# The default ports will catch a large number of common probes
#
# All entries must be in quotes.

###################
# Dropping Routes:#
###################
# For those of you running Linux with ipfwadm installed you may like
# this better as it drops the host into the packet filter.
# You can only have one KILL_ROUTE turned on at a time though.
# This is the best method for Linux hosts.
#
#KILL_ROUTE="/sbin/ipfwadm -I -i deny -S $TARGET$ -o"
#
# This version does not log denied packets after activation
#KILL_ROUTE="/sbin/ipfwadm -I -i deny -S $TARGET$"
#
# New ipchain support for Linux kernel version 2.102+
# KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY -l"
#
# New iptables support for Linux kernel version 2.4+

KILL_ROUTE="/sbin/iptables -I INPUT -s $TARGET$ -j DROP"

Check adanya Serangan

Untuk mencheck adanya serangan, ada beberapa file & perintah yang dapat dilihat, yaitu:

•	/etc/hosts.deny – yang berisi daftar IP mesin yang tidak diperkenankan untuk berinteraksi ke server kita. Daftar ini di gunakan oleh TCP Wrappers & di hasilkan secara automatis oleh PortSentry pada saat serangan di lakukan.

•	/etc/portsentry/portsentry.blocked.atcp – daftar alamat IP mesin yang di blok akses-nya ke semua port TCP.

•	/etc/portsentry/portsentry.blocked.audp – daftar alamat IP mesin yang di blok akses-nya ke semua port UDP.

•	/etc/portsentry/portsentry.history – sejarah serangan yang diterima oleh mesin kita.

Pada Mandrake 8.0 & Mandrake 8.2, untuk melihat paket yang di tabel paket filter oleh PortSentry dapat dilakukan menggunakan perintah:

	# iptables –L

Jika hanya PortSentry yang digunakan maka tabel filter iptables seluruhnya secara automatis di hasilkan oleh PortSentry. Untuk membuang semua tabel filter dapat dilakukan dengan perintah:

	# iptables –F