Tugas Pendahuluan - Intrusion Detection System (SNORT)
A.
TUJUAN PEMBELAJARAN
1. Mengenalkan pada mahasiswa tentang konsep Intrusion Detection System
2. Mahasiswa mampu melakukan installasi dan konfigurasi SNORT sebagai tools
IDS
B. DASAR TEORI
Deteksi Penyusupan (Intrusion Detection)
Deteksi penyusupan adalah aktivitas untuk mendeteksi
penyusupan secara cepat dengan
menggunakan program khusus yang otomatis. Program yang
dipergunakan biasanya
disebut sebagai Intrusion Detection System (IDS).
Tipe dasar dari IDS adalah:
·
Rule-based systems - berdasarkan atas database dari
tanda penyusupan atau serangan yang telah dikenal. Jika IDS mencatat lalulintas
yang sesuai dengan database yang ada, maka langsung dikategorikan sebagai
penyusupan.
·
Adaptive systems - mempergunakan metode yang lebih
canggih. Tidak hanya berdasarkan database yang ada, tapi juga membuka
kemungkinan untuk mendeteksi terhadap bentuk bentuk penyusupan yang baru.
Snort
Mengoperasikan Snort
Tiga (3) buah mode, yaitu
1. Sniffer mode, untuk melihat paket yang lewat di jaringan.
2. Packet logger mode, untuk mencatat semua paket
yang lewat di jaringan untuk di analisa di kemudian hari.
3. Intrusion Detection mode, pada mode ini
snort akan berfungsi untuk mendeteksi serangan yang dilakukan melalui jaringan
komputer. Untuk menggunakan mode IDS ini di perlukan setup dari berbagai rules
/ aturan yang akan membedakan sebuah paket normal dengan paket yang membawa
serangan.
Sniffer Mode
Untuk menjalankan snort pada sniffer mode tidaklah sukar, beberapa
contoh perintahnya
terdapat di bawah ini,
#snort –v
#snort –vd
#snort –vde
#snort –v –d –e
dengan menambahkan beberapa switch –v, -d, -e akan menghasilkan beberapa
keluaran yang berbeda, yaitu
-v, untuk melihat header TCP/IP paket yang lewat.
-d, untuk melihat isi paket.
-e, untuk melihat header link layer paket seperti
ethernet header.
Packet Logger Mode
Tentunya cukup melelahkan untuk melihat paket yang lewat sedemikian cepat
di layar terutama jika kita menggunakan ethernet berkecepatan 100Mbps, layar
anda akan scrolling dengan cepat sekali susah untuk melihat paket yang di
inginkan. Cara paling sederhana untuk mengatasi hal ini adalah menyimpan dulu
semua paket yang lewat ke sebuah file untuk di lihat kemudian, sambil santai …
Beberapa perintah yang mungkin dapat digunakan untuk mencatat paket yang ada
adalah
./snort –dev –l ./log
./snort –dev –l ./log –h 192.168.0.0/24
./snort –dev –l ./log –b
perintah yang paling penting untuk me-log paket yang lewat adalah
-l ./log
yang menentukan bahwa paket yang lewat akan di log / di catat ke file
./log. Beberapa perintah tambahan dapat digunakan seperti –h 192.168.0.0/24
yang menunjukan bahwa yang di catat hanya packet dari host mana saja, dan –b
yang memberitahukan agar file yang di log dalam format binary, bukan ASCII.
Untuk membaca file log dapat dilakukan dengan menjalankan snort dengan
di tambahkan perintah –r nama file log-nya, seperti,
./snort –dv –r packet.log
./snort –dvr packet.log icmp
Intrusion Detection Mode
Mode operasi snort yang paling rumit adalah sebagai pendeteksi penyusup
(intrusion detection) di jaringan yang kita gunakan. Ciri khas mode operasi
untuk pendeteksi penyusup adaah dengan menambahkan perintah ke snort untuk
membaca file konfigurasi –c nama-file-konfigurasi.conf. Isi file konfigurasi
ini lumayan banyak, tapi sebagian besar telah di set secara baik dalam contoh
snort.conf yang dibawa oleh source snort.
Beberapa contoh perintah untuk mengaktifkan snort untuk melakukan
pendeteksian penyusup, seperti
./snort –dev –l ./log –h 192.168.0.0/24 –c snort.conf
./snort –d –h 192.168.0.0/24 –l ./log –c snort.conf
Untuk melakukan deteksi penyusup secara prinsip snort harus melakukan
logging paket yang lewat dapat menggunakan perintah –l nama-file-logging, atau
membiarkan snort menggunakan default file logging-nya di directory
/var/log/snort. Kemudian menganalisa catatan / logging paket yang ada sesuai
dengan isi perintah snort.conf.
Ada beberapa tambahan perintah yang akan membuat proses deteksi menjadi
lebih effisien, mekanisme pemberitahuan alert di Linux dapat di set dengan
perintah –A sebagai berikut,
-A fast, mode alert yang cepat berisi waktu, berita, IP & port
tujuan.
-A full, mode alert dengan informasi lengkap.
-A unsock, mode alert ke unix socket
-A none, mematikan mode alert.
Untuk mengirimkan alert ke syslog UNIX kita bisa menambahkan switch –s,
seperti tampak pada beberapa contoh di bawah ini.
./snort –c snort.conf –l ./log –s –h 192.168.0.0/24
./snort –c snort.conf –s –h 192.168.0.0/24
Untuk mengirimkan alert binary ke workstation windows, dapat digunakan
perintah di bawah ini,
./snort –c snort.conf –b –M WORKSTATIONS
Agar snort beroperasi secara langsung setiap kali workstation / server
di boot, kita dapat menambahkan ke file /etc/rc.d/rc.local perintah di bawah
ini
/usr/local/bin/snort –d –h 192.168.0.0/24 –c /root/snort/snort.conf –A
full –s –D
atau
/usr/local/bin/snort –d –c /root/snort/snort.conf –A full –s –D
dimana –D adalah switch yang menset agar snort bekerja sebagai Daemon
(bekerja dibelakang layar).
Cara Kerja Snort :
Komponen
– komponen Snort IDS (Intrusion Detection System) meliputi :
-
Rule
Snort
Rule Snort merupakan database yang berisi pola
– pola serangan berupa signature jenis – jenis serangan. Rule snort IDS
(Intrusion Detection System) harus selalu terupdate secara rutin agar ketika
ada suatu teknik serangan yang baru, serangan tersebut dapat terdeteksi. Rule
Snort dapat di download pada website www.snort.org.
-
Snort
Engine
Snort Engine merupakan program yang berjalan
sebagai daemon proses yang selalu bekerja untuk membaca paket data dan kemudian
membadingkan dengan Rule Snort.
-
Alert
Alert merupakan catatan serangan pada deteksi
penyusupan. Jika Snort engine mendeteksi paket data yang lewat sebagai sebuah
serangan, maka snort engine akam mengirimkan alert berupa log file. Kemudian
alert tersebut akan tersimpan di dalam database.
Hubungan ketiga komponen snort IDS (Intrusion
Detection System) tersebut dapat digambarkan dalam gambar berikut.
TUGAS PENDAHULUAN
1. Sebutkan dan jelaskan dengan singkat apa yang disebut dengan konsep IDS
?
IDS (Intrusion Detection System)
adalah sebuah sistem yang melakukan pengawasan terhadap traffic jaringan dan
pengawasan terhadap kegiatan-kegiatan yang mencurigakan didalam sebuah sistem
jaringan. Jika ditemukan kegiatankegiatan yang mencurigakan berhubungan dengan
traffic jaringan maka IDS akan memberikan peringatan kepada sistem atau
administrator jaringan. Dalam banyak kasus IDS juga merespon terhadap traffic
yang tidak normal/ anomali melalui aksi pemblokiran seorang user atau alamat IP
(Internet Protocol) sumber dari usaha pengaksesan jaringan.
Konsep IDS.
Dalam konsep keamanan jaringan kita mengenal
istilah false positif dan false negatif.
1.
False positif – adalah peringatan
yang dihasilkan oleh IDS karena telah mendeteksi adanya serangan yang valid
terhadap sistem yang kita monitor, tetapi serangan itu sendiri tidak valid.
Atau dengan kata lain, kita mendapat laporan serangan, padahal itu bukan
serangan. Ini adalah masalah bagi kita karena banyaknya peringatan yang dibuat
oleh IDS padahal serangan yang sebenarnya tidak terjadi. False positif bisa
saja terjadi karena adanya serangan pada sistem yang tidak di monitor.
2.
False negatif – adalah serangan
yang benar-benar terjadi tetapi tidak terdeteksi oleh IDS. IDS bisa melewatkan
serangan karena menganggap serangan yang dilakukan tidak sesuai dengan aturan
yang ada (rule), atau karena terlalu banyak serangan, atau bisa juga karena
penyerang berhasil melumpuhkan IDS. Dampak dari false negatif ini artinya
penyerang berhasil melewati IDS, sama artinya dengan ada yang menyerang kita,
tapi kita tidak menyadarinya!
Ada dua cara IDS bisa mendeteksi serangan:
1.
Signature detection – IDS yang
bekerja menggunakan signature (rule/peraturan) akan mendeteksi serangan jika
ada traffic network yang masuk ke dalam daftar serangan. Signature – lah yang
menentukan paket yang masuk ke network tersebut merupakan serangan atau biasa
disebut “bad traffic”. Kekurangan dari metode ini adalah bahwa IDS hanya bisa
mendeteksi suatu serangan yang telah terdaftar sebelumnya di dalam signature.
Oleh karena itu, metode ini akan kesulitan menghadapi daftar serangan jenis
baru. Bila kita menggunakan signature detection mungkin akan berdampak
sedikitnya peringatan false positif tetapi banyak false negatif.
2.
Anomaly detection – IDS yang
menggunakan anomaly detection bekerja menggunakan cara yang berbeda. IDS akan
mengenal traffic “normal” jaringan kita dan akan mulai mengingatkan kita bila
ternyata ada traffic yang “abnormal”. Masalahnya adalah, sesuatu yang baru atau
berbeda juga bisa dianggap abnormal. Jadi jika kita menggunakan metode ini IDS
akan memberikan sedikit false negatif tetapi banyak false positif.
Beberapa IDS ada yang menggunakan signature
detection, tapi ada juga yang menggunakan anomaly detection, dan ada juga yang
menggunakan keduanya.
2. Sebutkan fasilitas kemampuan yang dimiliki snort !
Snort ini mempunyai kemampuan untuk mengexport log ke
bentuk database, ada beberapa database yang dapat digunakan, kayak MySQL,
PostgreSQL, oracle, MSSQL dan odbc.
Snort yang berbasis jaringan intrusion detection
system (NIDS) memiliki kemampuan untuk melakukan real-time analisis lalu lintas
dan paket logging pada Internet Protocol (IP) jaringan. Snort melakukan
analisis protokol, pencarian isi, dan pencocokan konten. Program ini juga dapat
digunakan untuk mendeteksi probe atau serangan, termasuk, namun tidak terbatas
pada, upaya sistem operasi sidik jari, antarmuka gateway umum, buffer
overflows, probe server pesan blok, dan port scan siluman.
Snort log adalah kemampuan untuk memotong dan
menyisipkan berbagai mendeteksi ke dalam pesan e-mail yang akan dikirim ke
analis lain, CIRT Anda, atau pihak yang bersalah.
Snort memiliki karakteristik, sebagai berikut:
1.
Berukuran kecil – Source code dan rules
untuk rilis 2.1.1 hanya 2256k.
2. Portable
untuk banyak OS – Telah diporting ke Linux, Windows, OSX, Solaris, BSD,dll.
3. Cepat –
Snort mampu mendeteksi serangan pada network 100Mbps.
4. Mudah
dikonfigurasi – Snort sangat mudah dikonfigurasi sesuai dengan kebutuhan
network kita. Bahkan kita juga dapat membuat rule sendiri untuk mendeteksi
adanya serangan baru.
5. Free –
Kita tidak perlu membayar sepeser pun untuk menggunakan snort. Snort bersifat
open source dan menggunakan lisensi GPL.
3. Jelaskan cara installasi dan konfigurasi snort !
·
Untuk menginstall snort gunakan perintah
#apt-get install snort
·
Setelah instalasi selesai, lakukan konfigurasi pada
file snort.conf. Ketikkan perintah berikut :
#nano
/etc/snort/snort.conf
Tekan CTRL-W cari kata kunci HOME_NET any. Setelah
ketemu baris HOME_any, edit menjadi seperti ini :
var
HOME_NET 172.16.100.0/24
Kemudian edit juga baris :
#Set up the
external network address as well. A good start may be “any”
var EXTERNAL_NET
any
#var
EXTERNAL_NET !$HOME_NET
Menjadi seperti ini :
#Set up the
external network address as well. A good start may be “any”
#var
EXTERNAL_NET any
var
EXTERNAL_NET !$HOME_NET
·
Restart Service
#service snort restart
4.
Jelaskan cara membuat rule baru di snort !
Membuat rule baru yaitu
alltcp.rules dan simpan di /etc/snort/rules dengan menggunakan perintah # gedit
/etc/snort/rules/alltcp.rules
LANGKAH PERCOBAAN
1. Konfigurasi
sesuai dengan topologi yang diminta :
·
Gunakan dhclient di masing-masing PC untuk i
dmendapatkan IP dari router.
·
192.168.50.x
& y : IP dari router
·
Pilih
192.168.50.x sebagai PC Server yang akan dipasangi snort
·
Pilih
192.168.50.y sebagai PC Client
2. Lakukan
instalasi snort pada PC Server
#
apt-get install snort
Masukkan
range network yang akan dianalisa :
Address
range for the local network
192.168.0.0/16
3. Manjalankan
snort
·
Jalankan
perintah ping dan nmap dari PC Client ke PC Server.
·
Jalankan
snort dengan menggunakan mode sniffer
#snort –v
#snort –vd
#snort –vde
#snort –v –d –e
·
Untuk
mempermudah pembacaan masukkan hasil snort ke dalam file, jalankan perintah
berikut :
#snort –dev –i eth0 –L
/var/log/snort/snort.log
Ket
: Running in packet logging mode
Akan
menghasilkan sebuah file di folder /var/log/snort, lihat dengan perintah :
#
ls /var/log/snort
·
Untuk
membaca file snort (misal : snort.log.1234) berikan option –r pada snort
# snort -dev -r
/var/log/snort/snort.log.1234
4.
Menjalankan
snort dengan mode NIDS (Network Intrusion Detection System)
·
Opsi
e, dihilangkan karena kita tidak perlu mengetahui link layer MAC. Opsi v
dihilangkan juga, jalakan menggunakan option sbb :
#snort -d -h 192.168.1.0/24 -l /var/log/snort -c /etc/snort/snort.conf
#snort -d -h 192.168.1.0/24 -l /var/log/snort -c /etc/snort/snort.conf
Ket
: Running in IDS mode
·
Bekerjasamalah
dengan rekan anda. Sekarang coba jalankan scanning dari komputer lain (PC
Client) dengan nmap menuju komputer yang anda pasangi snort (PC Server).
Terlebih dulu jalankan snort dengan mode NIDS, kemudian lakukan scanning dengan
perintah :
# snort -d -h 192.168.1.0/24 host
<no_ip_snort> -l
/var/log/snort –c
/etc/snort/snort.conf
#nmap -sS -v <no_ip_snort>
·
Lihatlah
apakah scan anda terekam oleh snort. Jika iya, copy paste hasil snort pada
bagian scanning SYN. Untuk melihat, gunakan perintah :
# snort –dev –r
<nama-log-file> | more
Apakah scanning ini ditandai
sebagai alert ? Coba lihat di /var/log/snort, gunakan perintah :
# vim /var/log/snort/alert
·
Jalankan
snort. Buka halaman web. Apakah ini terdeteksi sebagai alert?
·
Sekarang
coba ubah rule snort. Buat rule baru yaitu alltcp.rules dan simpan di
/etc/snort/rules
#
vim /etc/snort/rules/alltcp.rules
alert
tcp any any -> any any (content:”www.facebook.com”;
msg:”Someone
is visiting Facebook”;sid:1000001;rev:1;)
alert
tcp any any -> any any (msg:"TCP
Traffic";sid:1000002;rev:0;)
Ket : any any (host port), sid harus lebih dari 1 juta, rev mulai dari 0.
·
Coba
lihat snort.conf. Beri tanda # pada semua rule lain dan tambahkan rule anda
yaitu : alltcp.rules.
# vim /etc/snort/snort.conf
include $RULE_PATH/alltcp.rules
·
Lakukan
restart aplikasi snort anda :
# /etc/init.d/snort restart
·
Bukalah
halaman web untuk mengakses “www.facebook.com”, lihatlah apakah ada tanda
sebagai alert atau tidak
·
Coba
lakukan scanning seperti perintah b. Lihatlah apakah ada tanda sebagai alert
atau tidak
Untuk mengetahui beberapa baris
terakhir dari informasi alert :
# tail –f /var/log/snort/alert
2. Memasukkan range network yang diperiksa
3. Menjalankan ping dan nmap dari client ke server
4. Menjalankan snort dengan mode yang berbeda-beda
d. Isi alert membaca bad-traffic
g. Mengubah rule snort dengan membuat file rule baru dengan mengisinya dengan kode agar alert mencatat saat terjadi segala tcp traffic dan saat membuka facebook.com
h. Mengubah konfigurasi snort dengan menambahkan rule yang tadi dibuat dan menonaktifkan seluruh rule lainnya.
HASIL PERCOBAAN
Sebelum
memulai praktikum, dibuat terlebih dahulu topologi jaringan yang terdiri dari
komputer untuk server dengan alamat 10.252.108.44 dan client dengan alamat 10.252.108.177.
Kemudian dilakukan langkah-langkah sebagai berikut :
1. Menginstall snort pada Server
3. Menjalankan ping dan nmap dari client ke server
4. Menjalankan snort dengan mode yang berbeda-beda
Keterangan:
a.
Opsi
–v
Opsi
ini membuat snort menangkap dan menampilkan header dari paket-paket data yang
berlalu-lalang dalam range yang telah ditentukan.
b.
Opsi
–vd
Opsi
ini membuat snort menangkap dan menampilkan header dari paket-paket data yang
berlalu-lalang dalam range yang telah ditentukan. Selain header, juga
ditampilkan isi paketnya.
c.
Opsi
–vde
Opsi
ini membuat snort menangkap dan menampilkan header dari paket-paket data yang
berlalu-lalang dalam range yang telah ditentukan. Selain header, juga
ditampilkan isi paket serta header link layer seperti ethernet header.
d.
Opsi
–v –d –e
Sama
seperti opsi pada bagian c, hanya saja cara memberi opsinya yang dipisah-pisah.
5. Dapat juga hasilnya dimasukkan dalam file log sebagai berikut :
6. Kemudian terbentuk file log baru, kemudian membacanya dengan cara sebagai berikut :
7. Menjalankan snort dengan mode NIDS (Network Intrusion Detection System)
6. Kemudian terbentuk file log baru, kemudian membacanya dengan cara sebagai berikut :
7. Menjalankan snort dengan mode NIDS (Network Intrusion Detection System)
a. Menjalankan
dengan opsi melihat paket saja dengan host <host>, log <log>, dan
dan update file konfigurasi <conf> sebagai berikut
b. Membiarkan
snort berjalan sambil client melakukan nmap ke server
c. Terbentuk sebuah file alert pada folder log
e. Kemudian membuka dengan web browser dari client
g. Mengubah rule snort dengan membuat file rule baru dengan mengisinya dengan kode agar alert mencatat saat terjadi segala tcp traffic dan saat membuka facebook.com
h. Mengubah konfigurasi snort dengan menambahkan rule yang tadi dibuat dan menonaktifkan seluruh rule lainnya.
ANALISA HASIL PRAKTIKUM
Dari
hasil percobaan yang telah dilakukan, saat diaktifkan, snort melihat dan mengawasi
seluruh paket data yang berlalu-lalang di dalam jaringan. Pengguna dapat
memerintahkan snort untuk mencatatnya dalam file, salah satunya file log untuk
didiagnosa manual oleh pengguna. Selain pencatatan dengan log untuk dianalisa
di kemudian hari, snort juga dapat menjadi Intrusion Detection System dengan
menjadikan log sebagai acuan pembentukan rule configurasi secara otomatis.
Untuk melakukan hal tersebut, snort harus dapat mendeteksi aksi mencurigakan
(bad-traffic) seperti aksi nmap oleh client untuk kemudian dijadikan sebagai
alert dan menjadi acuan mengubah konfigurasi rule sesuai dengan alert tersebut
secara otomatis.
No comments:
Post a Comment