Professional Documents
Culture Documents
Pendahuluan
Keamanan jaringan komputer sebagai bagian dari sebuah sistem informasi
adalah sangat penting untuk menjaga validitas dan integritas data serta menjamin
ketersediaan layanan bagi penggunanya. Sistem harus dilindungi dari segala
macam serangan dan usaha-usaha penyusupan atau pemindaian oleh pihak yang
tidak berhak.
Intrusion Detection System yang nantinya akan disebut IDS merupakan
usaha mengidentifikasi adanya penyusup yang memasuki sistem tanpa otorisasi
(misal cracker) atau seorang user yang sah tetapi menyalahgunakan privelege
sumberdaya sistem. Intrusion Detection System (IDS) atau Sistem Deteksi
Penyusupan adalah sistem komputer (bisa merupakan kombinasi software dan
hardware) yang berusaha melakukan deteksi penyusupan . IDS akan melakukan
pemberitahuan saat mendeteksi sesuatu yang dianggap sebagai mencurigakan atau
tindakan ilegal. IDS tidak melakukan pencegahan terjadinya penyusupan.
Pengamatan untuk melakukan pemberitahuan itu bergantung pada bagaimana baik
melakukan konfigurasi IDS.
Penulis kali ini akan mencoba mambangun sebuah sistem intrusion
detection pada sistem Windows 2003 Server. Seperti artikel sebelumnya penulis
juga akan menggunakan snort sebagai IDS yang open source. Snort yang dapat
diperoleh di http://www.snort.org biasanya di sebut sebagai Network Intrusion
Detection System (NIDS). Snort sendiri adalah Open Source yang tersedia di
berbagai variasi Unix (termasuk Linux) dan juga Microsoft Windows.
Sebuah NIDS akan memperhatikan seluruh segmen jaringan dimana dia
berada, berbeda dengan host based IDS yang hanya memperhatikan sebuah mesin
dimana software host based IDS tersebut di pasang. Secara sederhana, sebuah
NIDS akan mendeteksi semua serangan yang dapat melalui jaringan komputer
(Internet maupun IntraNet) ke jaringan / komputer yang kita miliki.
Dilihat dari cara kerja dalam menganalisa apakah paket data dianggap
sebagai penyusupan atau bukan, IDS dibagi menjadi 2:
1) Knowledge-based atau misuse detection
Knowledge-based IDS dapat mengenali adanya penyusupan dengan
cara menyadap paket data kemudian membandingkannya dengan database
rule IDS (berisi signature-signature paket serangan). Jika paket data
mempunyai pola yang sama dengan (setidaknya) salah satu pola di database
rule IDS, maka paket tersebut dianggap sebagai serangan, dan demikian
juga sebaliknya, jika paket data tersebut sama sekali tidak mempunyai pola
yang sama dengan pola di database rule IDS, maka paket data tersebut
dianggap bukan serangan.
2) Behavior based (anomaly)
IDS jenis ini dapat mendeteksi adanya penyusupan dengan
mengamati adanya kejanggalan-kejanggalan pada sistem, atau adanya
penyimpangan-penyimpangan dari kondisi normal, sebagai contoh ada
penggunaan memori yang melonjak secara terus menerus atau ada koneksi
parallel dari 1 buah IP dalam jumlah banyak dan dalam waktu yang
bersamaan. Kondisi-kondisi diatas dianggap kejanggalan yang kemudian
oleh IDS jenis anomaly based dianggap sebagai serangan.
Penulis kali ini akan membangun sebuah IDS dengan menggunakan snort
karena snort merupakan IDS opensource dan cukup bagus kinerjanya. Diagram
kerja intrusion detection system yang akan dibangun adalah sebagai berikut :
ACID
Oinkmaster
Update rule
Persiapan
Untuk membangun sistem intrusion detection diperlukan beberapa
komponen yang perlu diintegrasikan menjadi satu kesatuan sistem. Komponen-
komponen tersebut meliputi :
1) Snort
Download versi terbaru snort untuk sistem operasi windows penulis
gunakan versi snort 2.6.1. Snort dapat didwonload di situs
http://www.snort.org.
2) Winpcap
Pada sistem operasi unix sudah tersedia library yang mampu
mengcapture paket pada jaringan yaitu libcap dan ikut disertakan pada CD
instalasinya, akan tetapi untuk sistem windows belum mempunyai library
yang mampu mengcapture paket pada jaringan komputer. Penulis gunakan
winpcap version 3.1, untuk mendownloadnya kunjungi situs
http://www.winpcap.org.
3) Oinkmaster
Seperti antivirus yang memerlukan update, rules snort juga perlu di
update. Update dilakukan untuk memperoleh rule terbaru sehingga nantinya
dapat diperoleh sebah rule yang mampu mengetahui jenis-jenis serangan
baru. Oinkmaster dapat di download di http://www.oinkmaster.com
4) Active Perl.
Untuk menjalankan oinkmaster diperlukan bahasa pemrograman
perl, karena oinkmaster dikembangkan dengan menggunakan bahasa
pemograman perl. Active perl dapat di download gratis di situs
http://www.perl.com
5) MySQL
Database yang digunakan adalah MySQL yang diinstall pada sistem
berbasis Windows atau sistem operasi lain yang mendukung database
MySQL. Alert IDS akan disimpan pada database mysql. Alasan pemilihan
MySQL sebagai program database yang digunakan antara lain :
• Sifatnya yang open source dan murah
• Cukup stabil pada hardware dengan spesifikasi yang relatif rendah
Mysql dapat di download pada situs http://www.mysql.com, Untuk
administrasi dan maintenance sistem database dibuat suatu interface
berbasis web yang dibuat dengan bahasa pemrograman PHP. Fungsi utama
dari interface ini adalah untuk mengedit atau mengupdate entry database
yang dijadikan input bagi sistem yang lain.
6) ACID (Analysis Console for Intrusion Databases)
ACID (Analysis Console for Intrusion Databases) merupakan PHP-
based analysis engine yang berfungsi untuk mencari dan mengolah database
dari alert network sekuriti yang dibangkitkan oleh perangkat lunak
pendeteksi intrusi (IDS). Dapat di implementasikan pada sistem yang
mendukung PHP seperti linux, BSD, Solaris dan OS lainnya. ACID adalah
perangkat lunak yang open-source dan didistribusikan dibawah lisensi GPL.
Penulis kali ini menggunakan ACID-0.9.6b23. ACID dapat di download
pada situs http://www.andrew.cmu.edu/~rdanyliw/snort/snortacid.html.
7) PHP ( Personal Home Page ).
PHP merupakan bahasa pemrograman berbasis web. Bahasa ini
mempunyai kelebihan yaitu kompabilitasnya dengan berbagai macam jenis
database, dukungan dengan berbagai macam jenis sistem operasi. PHP lebih
cocok dan umum digunakan jika di gabungkan dengan database mysql.
Mysql dengan PHP seakan-akan dua hal yang tidak dapat dipisahkan. PHP
nantinya akan digunakan untuk menampilkan alert yang dihasilkan oleh
snort. Alert tersebut nantinya akan ditampilkan dengan menggunakan
ACID. PHP dapat di download pada situs http://www.php.net
8) Web server Apache.
Web server yang akan digunakan adalah web server apache.
Webserver tersebut nantinya akan diintegrasikan bersama-sama dengan
PHP. Web server apache dapat didownload di situs http://www.apache.net
9) ADODB.
ADODB, sebuah library abstraksi untuk menggabungkan PHP ke
berbagai database seperti MySQL dan Postgre SQL. ADODB dapat
didwonload di http://adodb.sourceforge.net.
10) Phplot dan Jpgraph.
Merupakan library untuk membuat grafik yang baik di PHP. Library
ini nantinya akan digunakan bersama-sama dengan komponen yang lainnya.
Phplot dapat di download pada situs http://www.phplot.com, dan Jpgraph
dapat didownload di http://www.aditus.nu/jpgraph/.
Instalasi
Setelah semua komponen-komponen yang dibutuhkan diperoleh langkah
selanjutnya adalah melakukan instalasi serta konfigurasi. Langkah-langkahnya
adalah sebagai berikut :
5) Tempatkan instalasi pada direktori yang telah kita buat yaitu C:\IDS.
Tekan tombol next.
6) Setelah menkan tombol next akan terlihat proses instalasinya. Setelah
selesai tekan close.
B. Database System
Dalam pembangunan intrusion detection system ini database yang
digunakan adalah database mysql instalasinya adalah sebagai berikut :
File paket instalasi MySQL terdapat pada file mysql-4.1.18-win32.zip yang
terkompresi dalam format ZIP. Langkah awal adalah ekstrak file tersebut dan
anda akan mendapatkan file setup.exe. kemudian eksekusi file setup.exe dan
selanjutnya akan tampil windows MySQL setup seperti pada gambar 17. Click
Next.
Pada Windows Setup Type (gambar 18) pilihlah Custom, karena anda akan
mengatur folder instalasi ke C:\IDS. Click Next.
• Database snortdb
• Database archive
Snort dapat dioperasikan dalam beberapa metode yaitu :
1) Sniffer mode, untuk melihat paket yang lewat di jaringan.
Untuk menjalankan snort pada sniffer mode tidaklah sukar, beberapa
contoh perintah-nya terdapat di bawah ini, buka comand prompt ketikkan
perintah sebagai berikut :
cd c:\ids\snort \bin
snort –vd –i2
snort –vde –i2
snort –v –d –e –i2
Untuk menghentikan proses sniffer tersebut gunakan perintah Ctrl +
c , maka akan didapat analisa beberapa paket yang berhasil diperoleh.
Dengan menambahkan beberapa switch –v, -d, -e akan
menghasilkan beberapa keluaran yang berbeda, yaitu
2) Packet logger mode, untuk mencatat semua paket yang lewat di jaringan
untuk di analisa di kemudian hari.
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. Beberapa perintah yang mungkin
dapat digunakan untuk mencatat paket yang ada adalah dengan
mengetikkan perintah pada command prompt:
cd c:\ids\snort\bin
snort –dev –l c:\ids\snort\log –i2
snort –dev –l c:\ids\snort\log –i2 –h 192.168.0.0/24
snort –dev –l c:\ids\snort\log –b
perintah yang paling penting untuk me-log paket yang lewat adalah
-l c:\ids\snort\log
yang menentukan bahwa paket yang lewat akan di log atau di catat ke file
c:\ids\snort\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.
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.
Langkah-langkah membuat intrusion detection mode adalah sebagai
berikut :
Download snort rules terlebih dahulu dengan melakukan register ke
http://www.snort.org, setelah berhasil login maka anda akan mendapatkan
oinkmaster code untuk mendownload snort rules.
Oink code Isikan oink code yang anda
dapatkan
Untuk mendownload rules snort ketikkan pada browser url sebagai berikut :
http://www.snort.org/pub-bin/oinkmaster.cgi/ /snortrules-snapshot-2.3.tar.gz,
sehingga menjadihttp://www.snort.org/pub-
bin/oinkmaster.cgi/c69cc5ab1aef2694163aee9e1d53a7951c46fa7b/snortrules-
snapshot-2.3.tar.gz Setelah berhasil mendownload rules snort, ekstraklah snort
rules ke direktori C:\IDS\snort. Proses akan berhasil ditandai dengan adanya
beberapa rules berformat .rules pada direktori C:\IDS\snort\rules, seperti gambar
dibawah ini.
include c:\IDS\snort\etc\classification.config
e) Arahkan direktori reference sebagai berikut :
include c:\IDS\snort\etc\reference.config
Include c:\IDS\snort\etc\threshold.conf
Setelah melakukan konfigurasi seperti diatas, snort akan mendeteksi alaet dari
beberapa host network karena di snort.cof kita mengeset var HOME_NET any,
apabila diinginkan lebih fokus pada host jaringan tertentu dapat dikonfugirasi
seperti :
Konfigurasi diatas akan memonitor host yang ada pada jaringan dari IP
192.168.10.0 – 192.168.10.255 dan subnet 255.255.255.0
Konfigurasi service untuk snort bertujuan untuk mempermudah pengguna
agar tidak menjalankan snort secara manual melalaui command prompt. Untuk itu
service perlu diaktifkan terlebih dahulu dengan perintah dibawah ini, apabila
instalasi service snort jika tidak terjadi error akan dapat dilihat sebagai berikut :
Apabila salah satu dari service tidak berhasil diinstall, maka snort tidak
akan berfungsi sebagai mana mestinya, karena service yang ada sangat
diperlukan. Untuk memastikan bahwa perintah service sudah berhasil perlu dicek
melalui register. Value dari service snort yang ada pada registry adalah seperti
berikut :
Nilai yang ada di registry menandakan fungsi-fungsi tertentu.
• -vde, fungsi perintah ini adalah :
-v : perintah untuk melihat header TCP/IP paket yang lewat
-d : perintah untuk melihat isi paket
-e : perintah utnuk melihat header link layer paket seperti
ethernet header.
• -c : perintah untuk membaca konfigurasi pada file snort.conf
• c:\ids\snort\etc\snort.conf direktori dimana konfigurasi snort berada
yaitu snort.conf.
• -l : perintah untuk mendefinisikan tempat log snort berada.
• c:\ids\snort\log direktori temapat menyimpan log snort.
• -s : perintah agar alert masuk ke syslog
• -i2 : Sensor yang digunakan sebagai master sensor yaitu interface
network card 2.
• Pada
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sno
rtsrv.
• Kemudian tamabahkan value baru New Multi-string Value.
• Value yang ditambahkan “DependOnService”.
• Diberi nilai :
NM
NPF
Sehingga nantinya akan diperoleh value baru.
Value Baru
Fungsi dari registry untuk menambah NetGroup Packet Filter Driver dan
Network Monitor Driver. Kedua sistem tersebut tidak disediakan oleh snort. Oleh
karena itu perlu ditambahkan secara manual. NetGroup Packet Filter Driver dan
Network Monitor Driver sangat dibutuhkan jika diinginkan agar snort running
otomatis saat sistem operasi dihidupkan.
Jika penambahan registry ini berhasil maka perlu dilakukan instalasi
terhadap driver yang ada di local area network yang berfungsi sebagai master
sensor IDS. Installasi driver capture tidak membutuhkan konfigurasi tertentu.
Untuk memastikan bahwa service snort telah berhasil dikonfigurasi bisa
dilihat pada task manager (tekan Ctrl + Shift + Esc) dimana snort.exe terdapat
pada processes. Hal itu berarti semua service dari snort sudah jalan dengan baik.
Service snort yang sudah terinstal pada sistem operasi dapat dilihat dengan
perintah sebagai berikut :
Sepertihalnya anti virus yang memerlukan update, rules snort juga perlu di
update hal ini dimaksudkan agar mempunyai signature-signature yang baru
sehingga nantinya mampu mendeteksi jenis-jenis serangan yang baru. Untuk itu
dibutuhkan beberapa tools yaitu activeperl dan oinkmaster langkahnya adalah
sebagai berikut :
1) Instalasi Activeperl
Penulis kali ini menggunakan activeperl-5.6.1.638-MSWin32-
x86.zip. Setelah berhasil mendownload dari situs http:\\perl.com,
ekstraklah file tersebut ke direktori C:\IDS. Sehingga akan menjadi
direktori baru C:\IDS\perl.
2) Instalasi Oinkmaster
Untuk mendapatkan oinkmaster dapat di download secara gratis
di http:\\www.oinkmaster.com. Penulis menggunakan Oinkmaster-
1.2.tar. Ekstraklah file tersebut ke direktori C:\IDS, kemudian rename
menjadi oinkmaster untuk mempermudah penggunaannya. Sehingga
akan diperoleh direktori C:\IDS\oinkmaster.
Setelah instalasi selesai, pada icon tray akan tampil icon Apache
monitor (gambar 8). Melalui icon ini anda dapat melakukan kontrol pada
service apache, yaitu start, stop, dan restart. Click pada icon apache
monitor.
3. Instalasi PHP
Download file php-4.3.11-Win32.zip di
http://www.php.net. PHP diinstall sebagai modul di apache. Pada
instalasi PHP tidak akan tampil window installasi. Yang akan anda
lakukan adalah:
1) ekstrak file paket instalasi PHP
2) copy file hasil instraksi ke direktori C:\IDS
3) pilih modul PHP yang akan dijalankan di apache
4) membuat folder untuk session
5) edit konfigurasi PHP pada file php.ini
6) edit konfigurasi apache pada file httpd.conf
7) restart apache
8) test instalasi PHP
Paket instalasi PHP yang akan digunakan berada pada file php-
4.3.11-Win32.zip yang terkompresi dalam format zip. File ini
harus diekstrak terlebih dahulu. Lakukan ekstrak, misalnya dengan
menggunakan program winrar.
Setelah ekstrak file selesai, kemudian copy direktory php-
4.3.11-Win32 kedalam folder C:\IDS. Hasilnya seperti terlihat pada
gambar 10.
File php.ini merupakan file text. Selanjutnya edit file php.ini dengan
menggunakan notepad. Beberapa hal yang perlu diedit adalah :
1) Kebutuhan resource
Editlah beberapa baris berikut :
max_execution_time = 30 menjadi max_execution_time = 300
max_input_time = 60 menjadi max_input_time = 600
memory_limit = 8M menjadi memory_limit = 32M
2) Direktori extension
Ubahlah extension_dir menjadi :
extension_dir = "C:\Server\php-4.3.11-Win32\extensions"
3) Extension GD2
Hapuslah tanda comment (;) pada baris untuk mengaktifkan ekstensi
GD2
extension=php_gd2.dll
4) Direktori session
Rubahlah konfigurasi session.save_path menjadi
session.save_path = "C:\Server\Session"
hapus juga tanda comment (;)
PHPIniDir "C:\Server\php-4.3.11-Win32"
LoadModule php4_module "C:\Server\php-4.3.11-Win32\php4apache2.dll"
AddType application/x-httpd-php .php
$DBlib_path = "c:\IDS\adodb";
$alert_dbname = "snortdb";
$alert_host = "localhost";
$alert_port = "3306";
$alert_user = "snort";
$alert_password = "snort";
$archive_dbname = "archive";
$archive_host = "localhost";
$archive_port = "3306";
$archive_user = "archive";
$archive_password = "archive";
$ChartLib_path = "c:\IDS\phplot";
Apabila tidak terjadi error dalam proses, maka akan muncul pesan “Successfully
created acid_ag”, “Successfully created acid_ag_alert”, “Successfully created
acid_ip_cache”, “Successfully created acid_event”. Klik Home untuk kembali ke
menu awal.
Home
Snort akan memonitor jaringan kita dan akan menghasilkan alert, alert
tersebut akan ditampilkan oleh ACID. Tulisan ini hanya akan membahas
bagaimana menampilkan alert snort, untuk analisa alert snort penulis akan
mencoba menulis pada pembahasan berikutnya. Gambar dibawah ini
menunjukkan ACID dengan alert snortnya.
Yudhi Ardiyanto. Lahir di Bantul 28 Mei 1982. Lulus SMA di Bantul tahun
2000, kemudian melanjutkan kuliah di Universitas Muhammadiyah Yogyakarta
jurusan Teknik Elektro. Sekarang lagi mengerjakan Tugas Akhir dengan judul
yang sama.
Selamat mencoba semoga tulisan ini sedikit berguna, untuk kritik dan saran dapat
di alamatkan ke email : puma_oce@yahoo.com.