Anda di halaman 1dari 9

MODUL 6

INTRUSION DETECTION SYSTEM


[PORTSENTRY & HONEYPOT]
TUJUAN PEMBELAJARAN:
1.
2.
3.
4.

Mengenalkan pada mahasiswa tentang konsep portsentry dan honeypot di linux


Mahasiswa memahami sistem blocking portsentry di linux
Mahasiswa memahami sistem pendeteksian serangan dengan honeypot
Mahasiswa mampu melakukan analisa terhadap portsentry yang ada di linux

DASAR TEORI
A. Portsentry
Dari sekian banyak hal yang paling banyak di takuti orang pada saat mengkaitkan
diri ke Internet adalah serangan virus & hacker. Penggunaan Software Firewall akan
membantu menahan serangan dari luar. Pada kenyataan di lapangan, menahan serangan
saja tidak cukup, kita harus dapat mendeteksi adanya serangan bahkan jika mungkin
secara otomatis menangkal serangan tersebut sedini mungkin. Proses ini biasa disebut
dengan istilah Intrusion Detection.
PortSentry adalah sebuah perangkat lunak yang di rancang untuk mendeteksi
adanya port scanning & meresponds secara aktif jika ada port scanning. Port scan adalah
proses scanning berbagai aplikasi servis yang dijalankan di server Internet. Port scan
adalah langkah paling awal sebelum sebuah serangan di lakukan.
Cara kerja port sentry dengan melakukan melihat komputer yang melakukan scan dan
secara aktif akan memblokir mesin penyerang agar tidak dapat masuk & melakukan
transaksi dengan Server kita.
PortSentry dapat di download secara pada http://www.psionic.com.
Beberapa fitur utama dari PortSentry:
Berjalan di atas soket TCP & UDP untuk mendeteksi scan port ke sistem kita.
Mendeteksi stealth scan, seperti SYN/half-open, FIN, NULL, X-MAS.
PortSentry akan bereaksi secara real-time (langsung) dengan cara memblokir IP
address si penyerang. Hal ini dilakukan dengan menggunakan ipchains/ipfwadm dan
memasukan ke file /etc/host.deny secara otomatis oleh TCP Wrapper.
PortSentry mempunyai mekanisme untuk mengingat mesin / host mana yang pernah
connect ke dia. Dengan cara itu, hanya mesin / host yang terlalu sering melakukan
sambungan (karena melakukan scanning) yang akan di blokir.
PortSentry akan melaporkan semua pelanggaran melalui syslog dan mengindikasikan
nama system, waktu serangan, IP mesin penyerang, TCP / UDP port tempat serangan
dilakukan. Jika hal ini di integrasikan dengan Logcheck maka administrator system
akan memperoleh laporan melalui e-mail.

Dengan adanya berbagai fitur di atas maka system yang kita gunakan tampaknya
seperti hilang dari pandangan penyerang. Hal ini biasanya cukup membuat kecut nyali
penyerang.
Penggunaan PortSentry sendiri sangat mudah sekali, bahkan untuk penggunaan
biasa saja praktis semua instalasi default tidak perlu di ubah apa-apa dapat langsung
digunakan.
Yang mungkin perlu di tune-up sedikit adalah file konfigurasi portsentry yang
semuanya berlokasi di /etc/portsentry secara default. Untuk mengedit file konfigurasi
tersebut anda membutuhkan privilige sebagai root. Beberapa hal yang mungkin perlu di
set adalah:
file /etc/portsentry/portsentry.conf merupakan konfigurasi utama portsentry. Disini
secara bertahap diset port mana saja yang perlu di monitor, responds apa yang harus
di lakukan ke mesin yang melakukan portscan, mekanisme menghilangkan mesin dari
routing table, masukan ke host.deny. Proses setting sangat mudah hanya dengan
membuka / menutup tanda pagar (#) saja.
pada file /etc/portsentry/portsentry.ignore.static masukan semua IP address di LAN
yang harus selalu di abaikan oleh portsentry. Artinya memasukan IP address ke sini,
agar tidak terblokir secara tidak sengaja.
Pada file /etc/default/portsentry kita dapat menset mode deteksi yang dilakukan
portsentry. Semakin baik mode deteksi yang dipilih (advanced stealth TCP/UP
scanning), biasanya PortSentry akan semakin sensitif & semakin rewel karena
sedikit-sedikit akan memblokir mesin.
B.

Honeypot

Honeypot merupakan sumber sistem informasi yang bersifat terbuka (opensif) yang
memfocuskan pada proses pemgumpulan informasi tentang aktifitas ilegal si Attacker
yang mencoba menyusup dan mengeksplorasi authorisasi system komputer (server).
Dengan Honeypot kita bisa mengetahui tingkah laku si Attacker diantaranya : port yang
diserang, perintah-perintah yang dipergunakan, dan jenis aktifitas lainnya yang bisa
direkam. Honeypot akan melindungi server asli yang kita miliki karena kita mendirikan
server palsu yang tanpa disadari sebenarnya si Attacker sedang menyerang sistem yang
bukan sebenarnya sehingga terperangkap.
Macam-Macam Honeypot
Honeypot sendiri dibagi menjadi dua kategori yaitu :
High Interaction Honeypot
adalah sistem yang mengoperasikan Sistem Operasi penuh sehingga penyerang akan
melihatnya sebagai sebuah sistem operasi/host yang siap untuk dieksploitasi (dan
memang seperti itu lah keadaannya). Inti dari High Interaction adalah sistem ini
nantinya akandiserang oleh penyerang.
Yang perlu dipahami dari High Interaction Honeypot adalah sistem ini bukan sebuah
software ataupun daemon yang siap diinstall pada komputer Host namun lebih kepada
sebuah paradigma,sebuah arsitektur jaringan, dengan kata lain High Interaction
Honeypot adalah sekumpulan komputer yang dirancang sedemikian rupa dalam
sebuah jaringan agar terlihat dari sisi penyerang dan tentunya sekumpulan komputer

ini akan terus dimonitor dengan berbagai tools networking. Komputer-komputer ini
bisa dikatakan adalah komputer secara fisik (komputer yang benar-benar ada) atau
komputer secara virtual (Virtual Operating System seperti VMware dan XEN).
Low Interaction Honeypot
mensimulasikan sebuah sistem operasi dengan service-service tertentu(misalnya
SSH,HTTP,FTP) atau dengan kata lain sistem yang bukan merupakan sistem operasi
secara keseluruhan, service yang berjalan tidak bisa dieksploitasi untuk mendapatkan
akses penuh terhadap honeypot. Low interaction akan melakukan analisa terhadap
jaringan dan aktifitas worm. Sayangnya perkembangan dari Honeypot (Honeyd Low
Interaction Honeypot) sendiri tidak terlalu cepat bahkan update terbaru terjadi pada
tahun 2007.

TUGAS PENDAHULUAN
1. Sebutkan dan jelaskan dengan singkat apa yang disebut dengan konsep portsentry ?
2. Sebutkan fasilitas portsentry yang ada di linux !

PERCOBAAN
Bangunlah jaringan sebagai berikut :

Gambar 5 Jaringan Percobaan


NB:
Gunakan dhclient di masing-masing PC untuk mendapatkan IP dari router.
192.168.50.x & y : IP dari router
Misal :
192.168.50.10 sebagai PC Server yang dipasangi portsentry & honeypot (Target)
192.168.50.20 sebagai PC Client sebagai penyerang
A. Percobaan dengan portsentry
1. Jalankan perintah berikut untuk installasi di PC Server
# apt-get install portsentry
2. Edit file konfigurasi untuk bloking serangan dengan TCPWrapper:

# vim /etc/portsentry/portsentry.conf

Edit bagian berikut


#Edit bagian HISTORY_FILE dan BLOCKED_FILE menjadi:
#
IGNORE_FILE=/etc/portsentry/portsentry.ignore
HISTORY_FILE="/var/lib/portsentry/portsentry.history"
BLOCKED_FILE="/var/lib/portsentry/portsentry.blocked"
#
#Daftar port TCP dan UDP yang dibuka dan dicek oleh portsentry
#tetapi ini tidak berlaku untuk advanced mode
TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12
346,20034,27665,31337,32771,32772,32773,32774,40421,49724,54320"
UDP_PORTS="1,7,9,69,161,162,513,635,640,641,700,37444,34555,31335,32770,327
71,32772,32773,32774,31337,54321"
######################Ini diperlukan utk memblok TCP dan UDP
BLOCK_UDP=1
BLOCK_TCP=1
######################
#Blok dari table routing
KILL_ROUTE=/sbin/route add host $TARGET$ reject
#Blok dari TCP Wrapper
###################### Perintah ini untuk memblok ip di /etc/hosts.deny
KILL_HOSTS_DENY=ALL: $TARGET$ : DENY
######################
#EOF
3. Edit File /etc/portsentry/portsentry.ignore.static, isi dengan IP yang tidak terblokir,

misal :
# Format : <Ip Address>/<Netmask>
# Misalnya: Konfigurasi Ip di Router initrd@vmlinuz.unixminix.com
# eth0 : 202.212.77.99/30
# eth1 : 192.168.1.1/24
#
# Maka Daftar Hosts-nya menjadi :
#
# Exclude all local interface
192.168.50.1/32
192.168.50.10
192.168.50.30
127.0.0.1
#
# Exclude nameserver
202.9.85.3
#
# Catatan: jika kita tidak mencantumkan nilai mask_length-nya
# maka diasumsikan bernilai 32 bits.
# Jadi 192.168.1.1 sama dengan 192.168.1.1/32

4. File /etc/default/portsentry
TCP_MODE=tcp
UDP_MODE=udp

NB:
Pilihan TCP_MODE dan UDP_MODE :
tcp : deteksi portscan sesuai yang ditentukan di TCP_PORT di portsentry.conf
atcp : advanced tcp / udp port
stcp : adanya tambahan deteksi stealth scan
5. Insialisasi Daemon
#/etc/init.d/portsentry restart

6. Jika sudah jalan, jalankan # tail -f /var/log/syslog, akan keluar hasil spt berikut :
Nov 20 08:35:27 localhost portsentry[2192]: adminalert: PortSentry is now active
and listening.
7. Dari PC Server, lakukan scanning ke dirinya sendiri untuk mengetahui port yang dibuka dan
dicek oleh portsentry
# nmap localhost

8. Pada PC Client (attacker) jalankan nmap ke komputer yang diinstal portsentry (PC
target) apa yang terjadi. Lakukan berulang selama 2x, karena yang pertama masih
bisa melakukan scanning.
a. Scanning dengan type stealth, apakah scanning masih bisa dijalankan
# nmap sS no_IP_PC_Server
b. Gantilah dengan type scanning yang ditolak oleh poin 4, apakah scanning ini
ditolak oleh Server
# nmap sT no_IP_PC_Server
9. Cek ip yang terblokir di PC Server (Target)
# vim /etc/hosts.deny
# route -n
Hapuslah rule diatas:
a. Hapus ip yang diblok (uncomment) pada file /etc/hosts.deny : # vim /etc/hosts.deny
#ALL: ip_penyerang : DENY

b. Untuk menghapus di table routing (route n), lakukan :


# route del host no_IP_attacker reject
10. Ulangi langkah 4 - 9, tetapi pilihlah mode advanced
# vim /etc/default/portsentry
TCP_MODE=atcp
UDP_MODE=audp
11. Blocking menggunakan iptables
a. Hapuslah rule seperti langkah no 9.

b. Edit file konfigurasi : # vim /etc/portsentry/portsentry.conf


Uncomment pada perintah tcpwrapper berikut
# KILL_HOSTS_DENY=ALL: $TARGET$ : DENY
Buka comment pada perintah berikut untuk iptables
KILL_ROUTE=/sbin/iptables I INPUT s $TARGET$ -j DROP
c. Jalankan lagi portsentry
#/etc/init.d/portsentry restart
d. Lakukan lagi scanning
12. Cek informasi pada IGNORE_FILE, HISTORY_FILE, BLOCKED_FILE.
# vim /var/lib/portsentry/portsentry.blocked.atcp
# vim /var/lib/portsentry/portsentry.history
13. Uninstall aplikasi portsentry agar tidak mengganggu praktikum kelas lainnya:
# apt-get remove --purge portsentry

B. Percobaan dengan honeypot


B.1. Lakukan setting pada PC Server
1. Instalasi honeyd
# apt-get install honeyd honeyd-common
2. Matikan proses ip forward
# echo 0 > /proc/sys/net/ipv4/ip_forward
3. Buat file untuk menentukan virtual honeypot
#vim /home/tes.conf
create routerone
set routerone personality "Cisco 7206 running IOS 11.1(24)"
set routerone default tcp action reset
add routerone tcp port 23 "/usr/share/honeyd/scripts/router-telnet.pl"
create windows
set windows personality "Microsoft Windows 2000 SP3"
set windows default tcp action reset
set windows default udp action reset
add windows tcp port 80 "/usr/share/honeyd/scripts/win32/web.sh"
add windows tcp port 139 open
add windows tcp port 137 open
add windows udp port 137 open
add windows tcp port 21 "/usr/share/honeyd/scripts/win32/win2k/msftp.sh"
bind 192.168.50.120 windows
bind 192.168.50.122 routerone

# no ip bayangan (palsu)
# no ip bayangan (palsu)

NB:
Untuk nama di personality bisa dilihat di /usr/share/honeyd/nmap.prints. Nama yang ada
di personality harus sama persis dengan di nmap.prints.

Pada setting diatas, no 192.168.50.120 diberi aplikasi virtual windows berupa web (80),
ftp (21), 139 dan 137. Sedangkan IP 192.168.50.122 dibuat seolah-olah sebagai router
dengan aplikasi telnet (23).
Keterangan setting:
perintah create berfungsi untuk inisialisasi pembuatan virtual honeypot.
perintah set berfungsi untuk pemberian personality untuk virtual honeypot
perintah add berfungsi untuk mendefinisikan perlakuan default untuk protokol jaringan
bind digunakan untuk melakukan pemberian IP untuk setiap virtual Honeypot.

4. Setting konfigurasi untuk honed


# vim /etc/default/honeyd
# Defaults for honeyd initscript
# Master system-wide honeyd switch. The initscript
# will not run if it is not set to yes.
RUN="yes"
# Default options.
# Interface to listen on (if unset honeyd will select
# an interface himself)
# Note: Use only one! if you wish to use
# more than one use multiple -i in OPTIONS
INTERFACE="eth0"
# interface pada PC Server
# Network Honeyd will listen for. IF this is not set
# Honeyd will claim _all_ IP addresses set on the configured
# interface (which is probably _not_ what you want)
# This "sane" default will prevent you from doing it.
#NETWORK=10.0.0.0/8
NETWORK=192.168.50.10
# no ip pc yang dipasangi honeyd
5. Lakukan peracunan arp terhadap ip yang diberi honeypot, agar dikenali oleh attacker
# apt-get install farpd => fake arp
# farpd -i eth0 192.168.50.120
# farpd -i eth2 192.168.50.122
6. Jalankan honeyd
# honeyd -d -i eth2 -f /home/tes.conf 192.168.50.0/24

B.2. Lakukan setting pada PC Client (Attacker)


1. Ping ke virtual honeypot
# ping 192.168.50.120
# ping 192.168.50.122

2. Nmap
# nmap -sT -P0 192.168.50.120
3. Buka web browser, dan akseslah ke server honeypot :
http://192.168.50.120
4. telnet ke server: # telnet 192.168.50.120
5. ftp ke server : # ftp 192.168.50.122

LAPORAN RESMI
Daftar Pertanyaan
1. Berikan kesimpulan hasil praktikum yang anda lakukan.
2. Dengan bekerja hanya mendeteksi port dimana sebaiknya portsentry ditempatkan ?
3. Apa perbedaan yang mendasar dari honeypot dan portsentry sebagai pendeteksi
serangan.

LEMBAR ANALISA
Praktikum Network Security (IDS - portsentry)
Tanggal Praktikum :
Kelas
:
Nama dan NRP
:
A. Gambar topologi jaringan beserta dengan IP Addressnya
B. Catat ip yang tidak terblokir pada poin 3
C. Catat hasil log pada poin 6
D. Catat hasil nmap pada PC Server poin 7
E. Catat hasil nmap pada PC attacker poin 8
F. Catat IP yang terblokir pada poin 9
G. Ulangi proses dengan mode advanced (poin 10) dan bandingkan hasilnya
H. Catat proses scanning dari PC penyerang ke PC target menggunakan iptables (poin 11)
G. Catat informasi pada BLOCKED_FILE DAN HISTORY_FILE (poin 12)
H. Catat proses yang terjadi pada honeypot

Anda mungkin juga menyukai