• Tidak ada hasil yang ditemukan

Perancangan Sistem Keamanan Komputer Berbasis Snort Intrusion Detection System dan IPTables Firewall.

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Sistem Keamanan Komputer Berbasis Snort Intrusion Detection System dan IPTables Firewall."

Copied!
65
0
0

Teks penuh

(1)

BERBASIS SNORT INTRUSION DETECTION SYSTEM

DAN IPTABLES FIREWALL

Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan pendidikan sarjana ( S-1 ) pada Departemen Teknik Elektro

Oleh :

HANS VERDIAN KIMIN NIM : 040402045

DEPARTEMEN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

Tugas Akhir ini merancang sistem keamanan jaringan komputer dengan menggunakan

Snort Intrusion Detection System dan IPTables Firewall. Penggabungan fungsi Snort

IDS dan IPTables firewall merupakan sistem pencegahan penyusup. Selain itu juga

menggunakan Webmin dan ACID (Analysis Console for Intrusion Databases) sebagai

front end. Sistem ini bertujuan untuk menciptakan sistem keamanan jaringan komputer

yang ringan, berbasiskan open source dan mudah dianalisa serta diatur oleh

administrator. Sistem ini dirancang akan memberikan blocking pada alamat IP yang

diketahui mengirimkan paket penyusup.

(3)

ii 

dapat menyelesaikan Tugas Akhir ini. Adapun Tugas Akhir ini dibuat untuk

memenuhi syarat kesarjanaan di Departemen Teknik Elektro, Fakultas Teknik

Universitas Sumatera Utara, yang penulis beri judul “Perancangan Sistem

Keamanan Komputer Berbasis Snort Intrusion Detection System dan IPTables Firewall”.

Selama masa perkuliahan sampai masa penyelesaian Tugas Akhir ini, penulis banyak

memperoleh bimbingan dan dukungan dari berbagai pihak. Untuk itu, dengan setulus

hati penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada :

1. Kedua orangtua tercinta, Willy Kimin dan Rafida Idami, abang saya Truly

Nino Kimin, serta adik-adik saya Fierzi Theody Kimin dan Thea Gemala

Rahmina Kimin, yang merupakan bagian hidup penulis yang senantiasa

mendukung dan mendoakan dari sejak penulis lahir sampai sekarang.

2. Bapak Soeharwinto, ST, MT, selaku Dosen Pembimbing Tugas Akhir, atas

segala bimbingan, pengarahan dan motivasi dalam menyelesaikan Tugas Akhir

ini.

3. Bapak Ir. Djendanari Sembiring dan Bapak Ir. Syahrawardi selaku Dosen Wali

atas motivasi dan arahan serta bimbingan selama mata kuliah.

4. Bapak Prof.Dr.Ir Usman Baafai, selaku Ketua Departemen Teknik Elektro

FT-USU.

5. Bapak Rachmad Fauzi, ST, MT, selaku Sekretaris Departemen Teknik Elektro

FT-USU.

6. Seluruh Staf Pengajar di Departemen Teknik Elektro USU dan seluruh

karyawan di Departemen Teknik Elektro Fakultas Teknik USU.

7. Teman-teman seperjuangan angkatan 2004, Muhfi, Aris, Harry, Jhony, Juan,

Aulia, Nursyamsi, Luthfi, Bayu, Rozy, Fahmi dan teman-teman seangkatan

(4)

iii 

lain yang terus mengingatkan penulis untuk selalu berada di jalan-Nya.

9. Teman-teman kecil, Marten, Ricky, Ratih, Deisy, Devi, Shabrina yang selalu

memotivasi penulis.

Akhir kata, Tugas Akhir ini masih jauh dari sempurna, masih banyak kesalahan

dan kekurangan, namun penulis tetap berharap semoga Tugas Akhir ini bisa

bermanfaat dan memberikan inspirasi bagi pengembangan selanjutnya.

Medan, Oktober 2010

Penulis

Hans Verdian Kimin

(5)

iv  DAFTAR ISI

ABSTRAK ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... vi

BAB I PENDAHULUAN 1.1Latar Belakang ... 1

1.2Rumusan Masalah ... 2

1.3Tujuan Penulisan ... 2

1.4Batasan Masalah ... 2

1.5Metode Penulisan ... 2

1.6Sistematika Penulisan ... 3

BAB II TEORI PENDUKUNG 2.1 Sistem Keamanan Jaringan Komputer ... 5

2.1.1 Jenis Serangan ... 5

2.1.2 Tujuan Keamanan Jaringan ... 7

2.2 Sistem Deteksi Intrusi (Intrusion Detection System) ... 7

2.2.1 Konsep IDS ... 8

2.3 Snort IDS ... 10

2.3.1 Komponen Snort ... 11

2.3.2 Modus Kerja ... 15

(6)

2.4.1 Konsep IPTables Firewall ... 20

2.5 ACID ... 22

2.6 WEBMIN ... 23

BAB III PERANCANGAN SISTEM DAN IMPLEMENTASI 3.1 Persiapan Server Snort IDS dan IPTables Firewall ... 25

3.2 Instalasi Aplikasi Pendukung ... 25

3.2.1 Instalasi dan Konfigurasi Snort IDS ... 28

3.2.2 Konfigurasi Dekoder ... 31

3.2.3 Konfigurasi Preprocessor ... 31

3.2.4 Instalasi dan Konfigurasi Database MySQL ... 32

3.3 Instalasi dan Konfigurasi Web Server dan ACIDBASE ... 32

3.4 Instalasi Webmin ... 35

3.5 Instalasi dan Konfigurasi Snortsam ... 35

3.5.1 Instalasi Snortsam ... 35

3.5.2 Konfigurasi Snortsam ... 37

3.5.3 Konfigurasi Snortsam pada Firewall ... 38

BAB IV PENGUJIAN DAN ANALISA SISTEM KEAMANAN KOMPUTER 4.1 Tujuan Pengujian ... 40

(7)

vi 

4.3 Topologi Pengujian ... 41

4.4 Hasil Pengujian ... 41

4.4.1 Blocking paket ping ... 41

4.4.1 Blocking paket evil payload ... 43

4.4.2 Blocking paket SQL version overflow attempt ... 45

4.5 Analisa Pengujian ... 47

BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 49

5.2 Saran ... 49

DAFTAR PUSTAKA

(8)

DAFTAR GAMBAR

Gambar 2.1 Komponen Snort ... 15

Gambar 2.2 Tampilan ACID ... 23

Gambar 2.3 Salah satu menu pada WEBMIN ... 24

Gambar 3.1 Diagram Blok Sistem Keamanan Komputer ... 26

Gambar 3.2 Flowchart IPS Engine ... 27

Gambar 3.3 Skema Database yang digunakan ACID ... 34

Gambar 3.4 ACID digunakan untuk menganalisis event berbasiskan web ... 34

Gambar 3.5 WEBMIN dengan Plugin Snort untuk mengelola Rules ... 35

Gambar 3.6 Snort setelah di-patch menggunakan SnortSam patch ... 37

Gambar 4.1 Topologi jaringan ... 41

Gambar 4.2 Ping pada kondisi normal ... 41

Gambar 4.3 Blocking paket ping pada client ... 42

Gambar 4.4 Blocking paket ping pada server ... 43

Gambar 4.5 Pengiriman paket evil payload ... 44

Gambar 4.6 Pengamatan paket evil payload pada BASE ... 44

Gambar 4.7 Pengamatan paket evil payload pada log snortsam ... 45

Gambar 4.8 Pengiriman paket SQL version overflow attempt ... 46

Gambar 4.9 Pengamatan gangguan pada BASE ... 46

(9)

Tugas Akhir ini merancang sistem keamanan jaringan komputer dengan menggunakan

Snort Intrusion Detection System dan IPTables Firewall. Penggabungan fungsi Snort

IDS dan IPTables firewall merupakan sistem pencegahan penyusup. Selain itu juga

menggunakan Webmin dan ACID (Analysis Console for Intrusion Databases) sebagai

front end. Sistem ini bertujuan untuk menciptakan sistem keamanan jaringan komputer

yang ringan, berbasiskan open source dan mudah dianalisa serta diatur oleh

administrator. Sistem ini dirancang akan memberikan blocking pada alamat IP yang

diketahui mengirimkan paket penyusup.

(10)

BAB I PENDAHULUAN

1.1 LATAR BELAKANG

Keamanan jaringan komputer sebagai bagian dari sebuah sistem sangat

penting untuk menjaga validitas dan integritas data serta menjamin ketersediaan

layanan bagi penggunaannya. Sistem keamanan jaringan komputer harus

dilindungi dari segala macam serangan dan usaha-usaha penyusupan atau

pemindaian oleh pihak yang tidak berhak.

Sistem deteksi penyusup jaringan yang ada saat ini umumnya mampu

mendeteksi berbagai jenis serangan tetapi tidak mampu mengambil tindakan lebih

lanjut. Selain itu sistem juga tidak memiliki interaktivitas dengan administrator

pada saat administrator tidak sedang mengadministrasi sistemnya. Hal ini

merupakan suatu hal yang tidak efektif terutama pada saat sistem berada dalam

kondisi kritis.

Selain itu sistem pertahanan terhadap aktivitas gangguan saat ini

umumnya dilakukan secara manual oleh administrator. Hal ini mengakibatkan

integritas sistem bergantung pada ketersediaan dan kecepatan administrator dalam

merespons gangguan. Apabila terjadi malfungsi, administrator tidak dapat lagi

mengakses sistem secara remote sehingga tidak akan dapat melakukan pemulihan

sistem dengan cepat.

Oleh karena itu dibutuhkan suatu sistem yang dapat menanggulangi

ancaman yang mungkin terjadi secara optimal dalam waktu yang cepat dan secara

otomatis sehingga memungkinkan administrator mengakses sistem walaupun

terjadi malfungsi jaringan. Hal ini akan mempercepat proses penanggulangan

(11)

1.2 RUMUSAN MASALAH

Adapun rumusan masalah dari tugas akhir ini adalah :

1. Merancang sistem keamanan jaringan komputer yang dapat mendeteksi

gangguan secara otomatis dan melakukan tindakan lebih lanjut.

2. Mengintegrasikan aplikasi yang terkait dengan sistem keamanan jaringan

komputer.

3. Hal-hal apa saja yang perlu dianalisis setelah membangun sistem.

1.3 TUJUAN PENULISAN

Tugas Akhir ini bertujuan untuk merancang sistem keamanan jaringan

komputer berupa pencegahan penyusupan dengan menggunakan Snort Intrusion

Detection System dan IPTables Firewall. Sehingga dapat mendeteksi gangguan

secara otomatis walaupun administrator tidak sedang mengadministrasi sistem.

Adapun maksud penulisan Tugas Akhir ini adalah sebagai salah satu syarat untuk

mendapatkan gelar sarjana Teknik Elektro.

1.4 BATASAN MASALAH

Untuk menghindari pembahasan yang meluas maka penulis akan

membatasi pembahasan Tugas Akhir ini dengan hal-hal sebagai berikut :

1. Sistem keamanan jaringan komputer pada sistem operasi Ubuntu 9.10.

2. Sistem menggunakan Snort Intrusion Detection System yang akan

dirancang berdasarkan knowledge based dan network based.

3. Blocking IP pada IPTables bersifat statis dengan pembatasan waktu.

4. Hanya membahas sistem sebatas yang digunakan

5. Hanya membahas hardware atau perangkat sebatas yang digunakan

1.5 METODE PENULISAN

Metode penulisan yang digunakan dalam penulisan Tugas Akhir ini

adalah:

(12)

Berupa studi kepustakaan dan kajian dari buku-buku teks pendukung

2. Diskusi

Berupa tanya jawab dengan dosen pembimbing mengenai masalah-masalah

yang muncul selama penulisan tugas akhir

3. Perancangan Integrasi Sistem

Perancangan fungsi antar aplikasi yang akan digunakan untuk

mengintegrasikan sistem mulai dari konfigurasi Snort IDS sampai IPTables

Firewall.

4. Implementasi

Melakukan implementasi aplikasi berdasarkan studi literatur, studi diskusi dan

disertai dengan pengujian.

1.6 SISTEMATIKA PENULISAN

Untuk memudahkan pemahaman terhadap Tugas Akhir ini maka penulis

menyusun sistematika penulisan sebagai berikut :

BAB I : PENDAHULUAN

Bab ini merupakan pendahuluan yang berisikan tentang latar

belakang, rumusan masalah, tujuan penulisan, batasan masalah,

metode penulisan, dan sistematika penulisan.

BAB II : SNORT DAN IPTABLES FIREWALL

Bab ini membahas mengenai teori penggunaan Snort Intrusion

Detection System dan IPTables Firewall dalam mengembangkan

sistem keamanan jaringan komputer.

BAB III : RANCANGAN DAN PEMBUATAN

Bab ini membahas tentang instalasi dan konfigurasi Snort

Intrusion Detection System, IPTables Firewall serta

(13)

BAB IV : PENGUJIAN DAN IMPLEMENTASI

Bab ini membahas pengujian dan implementasi sistem keamanan

komputer menggunakan Snort Intrusion Detection System dan

IPTables Firewall.

BAB V : PENUTUP

Bab ini berisi tentang kesimpulan dan saran dari aplikasi yang

(14)

BAB II

TEORI PENDUKUNG

2.1 SISTEM KEAMANAN JARINGAN KOMPUTER

Sistem keamanan jaringan komputer adalah cabang dari teknologi yang

dikenal sebagai informasi keamanan yang diterapkan pada komputer dan jaringan.

Tujuan keamanan komputer meliputi perlindungan informasi dari pihak yang

tidak berkepentingan dengan tetap memudahkan akses dan penggunaan oleh para

pengguna. Keamanan sistem komputer merupakan mekanisme dan proses kolektif

terhadap informasi sensitif dan berharga dan juga layanan yang dilindungi dari

publikasi, gangguan atau kehancuran oleh kegiatan yang tidak sah atau individu

yang tidak dapat dipercaya dan kejadian-kejadian yang tidak direncanakan

masing-masing.

2.1.1 JENIS SERANGAN

Jenis dan teknik serangan yang mengganggu jaringan komputer beraneka

jenis, diantaranya adalah :

1. Port Scanning

Merupakan suatu proses untuk mencari dan membuka port pada suatu

jaringan komputer. Dari hasil scanning akan didapat letak kelemahan sistem

tersebut. Pada dasarnya sistem port scanning mudah untuk dideteksi, tetapi

penyerang akan menggunakan beberapa cara metode untuk menyembunyikan

serangan.

2. Teardrop

Teknik penyerangan dengan mengeksploitasi proses

disassembly-reassembly paket data. Dalam jaringan internet sering kali data harus dipotong menjadi paket yang lebih kecil untuk menjamin reliabilitas dan proses multiple

akses jaringan. Pada proses pemotongan data paket yang normal, setiap potongan

diberi informasi offset data yang berbunyi “Potongan byte ini merupakan

(15)

memanipulasi potongan data sehingga terjadi overlapping antara paket yang

diterima di bagian penerima setelah potongan-potongan paket disusun kembali.

3. IP spoofing

Teknik ini bekerja dengan mengganti alamat IP pengguna yang lain yang bukan penyerang sebenarnya. Hal ini terjadi karena salah rancang (design flaw)

bagian urutan nomor (sequence number) dari paket TCP/IP. Dalam beberapa

kasus, penyerang menggunakan satu alamat IP sumber yang spesifik pada semua

paket IP yang keluar untuk membuat semua pengembalian paket IP dan pesan

ICMP ke pemilik alamat tersebut.

4. ICMP flood

Penyerang melakukan eksploitasi dengan tujuan untuk membuat target host menjadi terganggu, yang disebabkan oleh pengiriman sejumlah paket yang besar ke arah target host. Eksploitasi sistem ini dilakukan dengan mengirimkan

suatu perintah “ping” dengan tujuan broadcast atau multicast dimana pengirim

dibuat seolah-olah adalah target host. Semua balasan dikembalikan ke target host.

Hal inilah yang menyebabkan host target menjadi terganggu dan menurunkan

kinerja jaringan bahkan dapat menyebabkan denial of service.

5. UDP flood

UDP flood mengaitkan dua sistem tanpa disadari. Dengan cara spoofing,

User Datagram Protocol (UDP) flood attack akan menempel pada servis UDP chargen di salah satu mesin, yang untuk keperluan “percobaan” akan mengirimkan sekelompok karakter ke mesin lain, yang diprogram untuk

meng-echo setiap kiriman karakter yang diterima melalui servis chargen.

Karena paket UDP tersebut di-spoofing diantara ke dua mesin tersebut

maka yang terjadi adalah “banjir” tanpa henti paket kiriman karakter yang tidak

berguna diantara diantara kedua mesin tersebut. Untuk menanggulangi UDP

flood, disable semua servis UDP di semua mesin di jaringan, atau dengan

menyaring semua servis UDP yang masuk pada firewall.

6. Packet interception

Gangguan jenis ini dilakukan dengan membaca paket di saat paket tersebut

(16)

untuk mendapatkan informasi yang ada di dalam paket tersebut. Hal ini dapat

dicegah dengan mengenkripsi terlebih dahulu, sehingga penyerang akan

mengalami kesulitan untuk membuka paket tersebut.

7. Smurf attack

Gangguan jenis ini biasanya dilakukan dengan menggunakan IP spoofing,

yaitu mengubah nomor IP dari datangnya request. Dengan menggunakan IP

spoofing, respons dari ping tadi dialamatkan ke komputer yang IP-nya di-spoof. Akibatnya, komputer tersebut akan menerima banyak paket. Hal ini dapat

mengakibatkan pemborosan penggunaan bandwidth jaringan yang

menghubungkan komputer tersebut.

2.1.2 TUJUAN KEAMANAN JARINGAN

Keamanan komputer yang dibangun memiliki beberapa tujuan,

diantaranya:

1. Confidentiality, merupakan usaha untuk menjaga informasi dari

pengguna yang tidak berhak mengakses. Confidentiality biasanya

berhubungan dengan informasi yang diberikan ke pihak lain.

2. Integrity, keaslian pesan yang dikirim melalui sebuah jaringan dan dapat

dipastikan bahwa informasi yang dikirim tidak dimodifikasi oleh

pengguna yang tidak berhak dalam perjalanan informasi tersebut.

3. Availability, Aspek availability atau ketersediaan berhubungan dengan

ketersediaan akses terhadap informasi yang dibutuhkan. Sistem informasi

yang diserang dapat menghambat atau meniadakan akses ke informasi.

2.2 SISTEM DETEKSI INTRUSI (INTRUSION DETECTION SYSTEM)

Penyusupan (intrusion) didefinisikan sebagai kegiatan yang bersifat

(17)

kerusakan jaringan oleh pengganggu sebelum pengrusakan dilakukan, layanan

ditolak, atau hilangnya data.

IDS mengawasi sebuah paket yang melintasi jaringan anda dan mengambil

tindakan jika tergolong penyusupan. Dasarnya adalah daftar deskripsi jenis paket

yang menunjukkan sistem di bawah serangan atau deskripsi serangan yang telah

terjadi.

Sistem deteksi intrusi memberikan pertahanan pertama yang sangat

penting dalam menghadapi penyusupan. Jika penyusup berusaha masuk ke server

jaringan, mungkin dapat ditemukan bukti dalam sistem log, meskipun hacker

pintar akan menghapus files log. Host sistem deteksi intrusi mengamati aktivitas

yang tidak layak pada setiap sistem. Jika penyusup berusaha mengganggu server

yang sama menggunakan serangan fragmentasi, mungkin dapat diketahui apa

yang terjadi dengan melihat log.

Meskipun terlalu optimis untuk berbicara tentang deteksi intrusi pada

waktu nyata, peran IDS sebagai pendeteksi serangan awal sangat penting.

Sebelum terjadi kerusakan dapat dilakukan pencegahan dan mengirimkan

pemberitahuan kepada pengguna dan basis data yang aman.

2.2.1 KONSEP IDS

Di bawah ini dijelaskan konsep dasar dan hubungan yang penting untuk

menjalankan IDS.

a. False Positives dan False Negatives

False positives adalah alert yang ditimbulkan oleh IDS karena dirasakan

telah terjadi serangan pada sistem yang diawasi, tetapi serangan tidak

benar-benar terjadi. False positives merupakan masalah, karena peringatan

yang diciptakan dapat menyembunyikan serangan yang sebenarnya, dan

menggiring pada usaha penangkapan terhadap serangan yang tidak pernah

terjadi.

False negatives adalah serangan yang lolos dari IDS dan tidak

menghasilkan peringatan. IDS bisa gagal karena jenis serangan tidak

(18)

menggunakan metode untuk menghindari IDS.

b. Deteksi Signature dan Deteksi Anomali

4. Deteksi Signature. IDS yang menggunakan deteksi signature pada lalu

lintas jaringan mencocokkan lalu lintas jaringan dengan daftar signature

serangan. Signature merupakan bit dan bagian-bagian dari serangan yang

harus di lihat IDS untuk paket yang baru datang dan di tandai sebagai

paket penyusupan. Kekurangan deteksi signature, hanya bisa mendeteksi

serangan yang sudah terdapat sebelumnya, untuk serangan baru

kemungkinan akan gagal. Deteksi signature IDS yang baru lemah pada

false negatives tapi tidak pada false positives.

5. Deteksi Anomali. IDS yang mendeteksi berdasarkan anomali bekerja

dengan cara yang berbeda. Sistem ini mempelajari lalu lintas yang

“normal” pada jaringan dan kemudian akan memberikan alert pada

kondisi “abnormal”. Kekurangan dari sistem ini adalah kondisi yang

berbeda bisa saja dianggap abnormal, jadi IDS deteksi anomali yang baru

sangat lemah akan false positives tetapi tidak halnya pada false negatives.

Beberapa IDS menggunakan deteksi signature, dan yang lain deteksi

anomali atau bahkan keduanya. Snort menggunakan deteksi signature. c. NIDS (Network Intrusion Detection System ) dan HIDS (Host Intrusion Detection System)

NIDS (Network IDS) menganalisa paket yang datang ke dalam suatu jaringan jika terdapat tanda-tanda intrusi. NIDS melakukan hal-hal

berikut:

NIDS menganalisa lalu lintar jaringan untuk mendeteksi serangan,

menggunakan deteksi signature, anomali atau keduanya. Hal ini karena

kartu jaringan berjalan pada modus promiscuous, yang berarti kartu

jaringan menangkap semua paket yang datang bukan hanya paket yang

ditujukan untuk IDS itu sendiri. Menghasilkan alert untuk

memperingatkan jika terjadi serangan dengan tepat waktu. Menghasilkan

(19)

setelah serangan terjadi. NIDS dapat disebarkan ke bagian-bagian yang

berbeda pada infrastruktur jaringan, tidak hanya pada satu console.

 Berbeda dengan NIDS yang mengawasi seluruh lalu lintas pada suatu jaringan, HIDS, IDS berbasiskan host hanya mengawasi intrusi pada host

tertentu. HIDS dalam prosesnya melakukan hal-hal berikut :

◦ HIDS mengawasi lalu lintas jaringan yang masuk menggunakan deteksi anomali dan signature. Biasanya kartu jaringan yang

dijalankan tidak diatur pada modus promiscuous.

HIDS memeriksa log sistem untuk melihat penyusupan, seperti usaha login tidak sah yang berkali-kali.

◦ HIDS memeriksa integritas file sistem. Hal ini tidak terkait dengan isi paket pada suatu file, tetapi lebih kepada sudah dimodifikasi atau

belum suatu file. Pemeriksaan integritas juga dapat digunakan untuk

mengetahui jika file tersebut telah diciptakan atau dihapuskan. Hal ini

sangat berguna untuk mendeteksi jika backdoor atau trojan sudah

diinstall pada sistem.

2.3 SNORT IDS

Snort IDS merupakan IDS open source yang secara defacto menjadi

standar IDS di industri. Snort dapat diimplementasikan dalam jaringan yang

multiplatform, salah satu kelebihannya adalah mampu mengirimkan alert dari mesin Unix atupun Linux ke platform Microsoft Windows dengan melalui Server

Message Block (SMB). Snort dapat bekerja dalam 3 modus: sniffer mode (penyadap), packet logger dan network intrusion detection mode. Modus kerja

yang akan digunakan dalam membangun sistem pencegahan penyusupan adalah

modus kerja network intrusion detection. Snort memiliki kemampuan untuk

mengumpulkan data log seperti alert dan yg lainnya ke dalam database.

Snort diciptakan untuk menjadi IDS berbasiskan open source yang

berkualitas tinggi. Snort di desain untuk dapat digabung dengan tools yang sudah

(20)

2.3.1 KOMPONEN SNORT

Snort dibagi kedalam beberapa komponen. Komponen ini bekerjasama

untuk mendeteksi serangan yang berbeda dan untuk menghasilkan keluaran pada

format yang diinginkan pada sistem deteksi. IDS berbasiskan Snort umumnya terdiri dari komponen :

1. Dekoder paket

Dekoder paket mengambil paket dari beberapa jenis jaringan yang berbeda

dari antarmuka jaringan dan mempersiapkan paket untuk di proses atau di

kirim menuju detection engine. Antarmukanya dapat berupa Ethernet,

SLIP, PPP dan yang lain.

2. Preprocessor

Preprocessor merupakan komponen atau plug-ins yang dapat digunakan pada snort untuk menyusun atau mengubah paket data sebelum

detection engine melakukan beberapa operasi untuk mencari tahu jika paket digunakan oleh penyusup. Preprocessor pada snort dapat

mendekode-kan URL HTTP, men-defragmentasi paket, menggabungkan

kembali aliran TCP dan yang lain. Fungsi ini merupakan bagian yang

sangat penting pada sistem deteksi intrusi.

3. Detection Engine

Detection engine adalah bagian terpenting dari Snort. Tugasnya

adalah untuk mendeteksi jika terjadi aktifitas penyusup pada paket.

Detection engine mempekerjakan rules Snort untuk tujuan ini. Rules

dibaca ke dalam struktur atau rantai data internal kemudian dicocokkan

dengan paket yang ada. Jika paket sesuai dengan rules yang ada, tindakan

akan diambil, jika tidak paket akan dibuang. Tindakan yang diambil dapat

(21)

Detection engine merupakan bagian dari snort yang sangat

bergantung pada waktu tanggap. Waktu tanggap merupakan waktu yang

dibutuhkan untuk merespon paket, hal ini bergantung pada seberapa bagus

server yang ada dan seberapa banyak rules yang telah didefinisikan.

Berikut hal-hal yang mempengaruhi waktu tanggap pada detection engine :

1. Jumlah rules

2. Kekuatan mesin pada sistem

3. Kecepatan bus internal server snort

4. Beban pada jaringan

Ketika mendesain sistem keamanan komputer berbasiskan NIDS

(Network Intrusion Detection System), faktor ini harus dipertimbangkan.

Catatan bahwa sistem deteksi dapat membelah paket dan menerapkan rules

pada bagian paket yang berbeda. Bagian tersebut diantaranya :

1. IP header paket

2. Header layer transport. Header ini dapat berupa TCP, UDP atau

header layer transport lainnya. Hal ini juga dapat bekerja pada

header ICMP.

3. Header level layer aplikasi. Header layer aplikasi termasuk header

DNS, FTP, SNMP dan SMTP, namun tidak dibatasi hanya header

ini saja.

4. Packet payload. Hal ini berarti dapat diciptakan rules yang

digunakan oleh detection engine untuk mencari string di dalam data

(22)

Detection engine bekerja dengan cara yang berbeda tergantung

versi dari Snort. Pada versi 1.x detection engine akan berhenti bekerja jika

paket telah sesuai dengan rules. Detection engine mengambil tindakan

yang berbeda dengan me-log paket atau mengaktifkan alert, tergantung

pada rules. Hal ini berarti jika paket sesuai dengan kriteria beberapa rules,

hanya rules pertama yang akan diterapkan pada paket dan rules yang lain

tidak akan dihiraukan. Penanganan jenis ini baik, kecuali pada satu

permasalahan. Rules dengan prioritas rendah mengaktifkan alert dengan

prioritas rendah, bahkan dengan rules berprioritas tinggi akan

menghasilkan alert berprioritas tinggi akan ditempatkan kemudian pada

rantai rules. Permasalahan ini kemudian diralat pada snort versi 2 dimana

semua rules telah dicocokkan dengan paket sebelum mengaktifkan alert.

Setelah mencocokkan semua rules, rules berprioritas tertinggi memilih

untuk mengaktifkan alert.

4. Sistem Log dan Alert

Berdasarkan apa yang ditemukan detection engine pada paket,

paket dapat digunakan untuk me-log kegiatan atau mengaktifkan alert,

bergantung pada apa yang ditemukan detection engine pada paket. Log di

simpan pada format file teks sederhana, file berjenis tcpdump atau bentuk

yang lain. File log disimpan di direktori /var/log/snort secara default.

Perintah snort -l pada command line dapat digunakan untuk memodifikasi

(23)

5. Modul Output

Modul Output dapat melakukan beberapa operasi berbeda

tergantung bagaimana cara penyimpanan keluaran yang dihasilkan sistem

log dan alert dari Snort. Pada dasarnya modul ini mengatur jenis keluaran

yang dihasilkan oleh sistem log dan alert. Berdasarkan konfigurasi,

keluaran modul dapat melakukan hal-hal berikut :

 Logging ke dalam file /var/log/snort/alerts atau file lainnya.

Mengirimkan traps SNMP

Mengirimkan pesan ke syslog

Logging ke dalam database seperti MySQL atau Oracle.

Menghasilkan output eXtensible Markup Language (XML)

Mengubah konfigurasi pada router atau firewall

Mengirimkan pesan Server Messager Block (SMB) kepada mesin

(24)

Gambar 2.1 Komponen Snort

2.3.2 MODUS KERJA

Secara umum snort dapat dioperasikan dalam tiga buah modus, yaitu

2.3.2.1 Sniffer mode

Modus ini digunakan untuk mengamati paket yang masuk ke dalam

jaringan yang sedang diamati. Untuk menjalankan snort pada sniffer mode

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.

(25)

2.3.2.2 Packet logger mode

Pada modus ini, snort mencatat semua paket yang masuk ke dalam

jaringan untuk di analisa kemudian. Beberapa perintah yang 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

Beberapa perintah tambahan dapat digunakan seperti –h 192.168.0.0/24

yang menunjukan bahwa yang dicatat hanya packet dari host tertentu, dan –b

yang memberitahukan agar file yang dilog dalam format biner, 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

2.3.2.3 Intrusion Detection Mode

Modus operasi snort yang paling rumit adalah sebagai pendeteksi

penyusup (intrusion detection). Ciri khas modus kerja untuk pendeteksi

penyusup adalah dengan menambahkan perintah ke snort untuk membaca file

konfigurasi –c nama-file-konfigurasi.conf. Isi file konfigurasi, sebagian besar telah

(26)

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 ./wlog –c snort.conf

Untuk melakukan deteksi penyusup 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 perintah tambahan yang akan membuat proses deteksi

menjadi lebih efisien, mekanisme pemberitahuan alert di Linux dapat di atur

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 biner ke workstation Windows, dapat digunakan

perintah di bawah ini :

(27)

Agar snort beroperasi secara langsung setiap kali workstation atau server

diboot, 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 mengatur agar snort bekerja sebagai daemon.

2.3.2.4 Rules dan Alert

Rules Snort

Rules Snort merupakan basis data yang berisi pola-pola serangan. Rules

Snort IDS sebaiknya diperbaharui secara rutin agar mengenali jenis serangan

yang baru dan snort terhindar dari false negatives.

Snort IDS yang berbasiskan signature menggunakan rules untuk

membandingkan paket-paket data yang masuk. Rules dapat menganalisa

banyak hal, diantaranya FTP, serangan web, serangan denial of service yang

terdistribusi, usaha penyerangan pada SMB dan serangan RPC. Setiap Rules

memiliki identitas, Sensor ID (SID) yang identik sehingga mudah untuk

dibedakan dengan rules yang lain. Berikut contoh rules :

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS \

(msg:"WEB-MISC Transfer-Encoding\: chunked";\

flow:to_server,established; content:"Transfer-Encoding\:"; nocase; \

(28)

reference:bugtraq,4474;\

reference:cve,CAN-2002-0079; reference:bugtraq,5033;\

reference:cve,CAN-2002-0392; sid:1807; rev:1;)

Alert

Alert merupakan catatan serangan pada sistem deteksi penyusup. Jika

snort engine mendeteksi paket data yang datang sebagai serangan, maka snort

engine akan mengirimkan alert berupa file log. Untuk kebutuhan analisa,

alert dapat disimpan di dalam database, sebagai contoh ACID (Analysis

Console for Intrusion Databases) sebagai modul tambahan pada snort.

Contoh alert sebagai berikut :

[**] [1:499:3] ICMP Large ICMP Packet [**] [Classification:

Potentially Bad Traffic] [Priority: 2] 05/09-20:15:14.

895348 10.1.4.113 -> 10.1.3.126 ICMP TTL:128 TOS:0x0

ID:6316 IpLen:20 DgmLen:65528 Type:8 Code:0 ID:512

Seq:3072 ECHO [Xref => http://www.whitehats.com/info/IDS246]

Contoh alert di atas merupakan alert ketika terdapat paket data dalam

ukuran besar dari IP Address 10.1.4.113 ke 10.1.3.126 yang dianggap sebagai

serangan oleh snort karena pola paket data tersebut terdapat dalam rules

(29)

2.4 IPTables Firewall

IPTables terbagi menjadi dua bagian, perangkat user dan modul kernel.

Modul kernel disebarkan dengan kernel utama dan di compile seperti modul

lainnya, seperti driver suara, sebuah file sistem atau yang mendukung USB.

Modul utama IPTables seperti modul khusus pada NAT, logging, connection

tracking dan sebagainya. Modul ini melakukan fungsi tertentu terhadap paket

yang dikirimkan oleh netfilter, tergantung pada rules yang terdapat pada daftar

rules atau rantai. Kode perangkat pengguna pada IPTables berbentuk biner, yang

disebarkan terpisah dari tree kernel utama dan digunakan untuk menambahkan,

memindahkan atau mengubah modul.

2.4.1 KONSEP IPTables Firewall

2.4.1.1 Fungsi dasar Firewall

Hal-hal yang dapat dilakukan firewall umumnya adalah :

Firewall berfungsi sebagai dinding penghambat yang tidak

mengizinkan pengguna yang tidak punya hak mengakses jaringan. Hal

ini dapat berguna untuk melindungi jaringan dari hal-hal yang tidak

diinginkan, seperti : IP spoofing, serangan terhadap router.

Firewall berfungsi sebagai monitor kejadian-kejadian yang

berhubungan dengan sistem keamanan, yang akan memberikan

keterangan ke sistem, seperti : file log, alarm yang bisa

diimplementasikan oleh sistem firewall.

(30)

tidak aman, yang meliputi penerjemahan alamat jaringan, yaitu

penerjemahan alamat lokal ke alamat internet. Firewall melayani

platform untuk IPSec dengan menggunakan modus tunnel dan firewall

juga bisa digunakan oleh Virtual Private Network.

2.4.1.2 Pengaturan Firewall

Empat teknik umum dari firewall untuk dapat mengendalikan akses dan

mendukung dari suatu kebijakan keamanan. Fokus dari firewall pada

pengaturan layanan, yang dibagi menjadi empat, diantaranya adalah :

Service control : menentukan jenis dari layanan internet yang bisa

melakukan akses, baik secara inbound maupun outbound. Firewall

akan memfilter lalu lintas alamat IP dan nomor port TCP.

Direction control : menentukan arah layanan, paket mana yang

diminta terlebih dahulu dan paket mana yang diizinkan untuk melewati

firewall.

User control : adalah pengaturan terhadap akses pengguna yang bisa

mengakses firewall untuk masuk ke suatu jaringan, hal ini dikhususkan

untuk pengguna yang ada di dalam firewall atau pengguna lokal. Hal

ini juga berlaku bagi pengguna yang ada di luar yang akan

berhubungan dengan pengguna yang ada di dalam, yang pada dasarnya

memerlukan teknologi autentikasi seperti IPsec.

Behavior control : merupakan layanan khusus yang akan digunakan.

Seperti, firewall akan melakukan filter terhadap email yang disisipkan

spam dan tidak memberinya izin untuk masuk ke suatu server.

2.4.1.3 Keterbatasan Firewall

Hal-hal yang tidak bisa dibatasi oleh firewall sebagai berikut :

(31)

Firewall tidak bisa melindungi serangan yang dilakukan didalam sistem (internal).

Firewall tidak bisa melindungi pengiriman virus yang disisipkan ke dalam suatu program atau file. Karena firewall tidak bisa melakukan

scanning terhadap file, program atau email yang berisi virus.

2.5 ACID

ACID merupakan alat analisis dan pelaporan pada Snort melalui web

browser. ACID bukan merupakan aplikasi secara utuh, melainkan sekumpulan skrip PHP yang bekerja sama kemudian mengumpulkan data Snort dari database,

mengaturnya dalam bentuk yang sederhana pada web browser dan secara rutin

memperbaharui halaman tersebut. Beberapa hal yang dapat dilakukan ACID :

Menampilkan alert Snort dalam kelompok yang berbeda.

Menampilkan rincian setiap alert, termasuk alamat IP sumber dan tujuan, kerentanan yang sedang diserang.

 Menyajikan informasi dari situs-situs keamanan jaringan.

Mengatur informasi alert yang telah terjadi dalam format dan pengelompokan yang berbeda (contoh : Protokol terkini yang digunakan,

port sumber dan tujuan yang paling sering digunakan)

Menampilkan semua informasi alert dalam format grafis (menggunakan JpGraph dan PHPlot).

Menampilkan alert Snort dalam kelompok yang berbeda.

Menampilkan rincian setiap alert, termasuk alamat IP sumber dan tujuan, kerentanan yang sedang diserang.

 Menyajikan informasi dari situs-situs keamanan jaringan.

(32)

Gambar 2.2. Tampilan ACID

2.6 WEBMIN

Webmin merupakan alat konfigurasi berbasiskan web untuk sistem operasi

OpenSolaris, Linux dan sistem operasi berbasiskan Unix lainnya. Webmin dapat

digunakan untuk mengkonfigurasi banyak sistem operasi internal, seperti

pengguna, kuota disk, layanan, file konfigurasi dll. Webmin juga dapat digunakan

untuk memodifikasi dan mengatur banyak aplikasi open source, seperti Apache

HTTP Server, PHP, MySQL dll.

Webmin sebagian besar berbasiskan pada Perl, berjalan sebagai proses

sendiri dan web server. Webmin menggunakan port 10000 untuk berkomunikasi

secara default, dan dapat dikonfigurasi untuk menggunakan SSL jika OpenSSL

diinstal dengan tambahan modul-modul Perl yang diperlukan. Webmin juga

(33)
(34)

25  BAB III

PERANCANGAN DAN IMPLEMENTASI

3.1 Persiapan Server Snort dan IPTables Firewall

Berikut ini merupakan spesifikasi komputer server yang digunakan dalam melakukan konfigurasi Snort IDS dan IPTables Firewall :

Sistem Operasi : Ubuntu 9.10

Prosesor : AMD Athlon X2 dengan kecepatan 2GHz

RAM : 2 GB DDR2

Hard Disk : 160 GB

LAN Card : 1Gbps

Untuk sistem operasi yang digunakan adalah distribusi linux Ubuntu 9.10

yang sudah terintegrasi dengan berbagai aplikasi pendukung dalam Snort IDS dan

IPTables Firewall.

3.2 Instalasi aplikasi pendukung

Untuk memenuhi kebutuhan fungsional sistem pencegahan penyusupan

dibutuhkan modul-modul utama dan modul pendukung. Modul utama berupa:

snort engine, rule snort, engine IPS dan firewall. Sedangkan modul pendukung berupa: ACID (manajemen event) dan Webmin (manajemen rule). Diagram blok

(35)

Gambar 3.1. Diagram Blok Sistem Keamanan Komputer

Komponen Utama :

6. Rule Snort : Modul ini menyertakan rule berupa pola serangan yang pernah terjadi. Rule merupakan file teks yang mempunyai susunan

tertentu. Rule diatur secara statis melalui snort.conf maupun aplikasi

Webmin.

7. Snort Engine : Modul ini berfungsi membaca paket dan

membandingkannya dengan rules snort. Jika paket terdeteksi sebagai

penyusup maka snort engine akan menuliskannya ke alert berupa file log

dan database MySQL.

8. IPS Engine : Merupakan sistem yang membaca alert pada database kemudian memerintahkan firewall menutup akses dari penyusup. Dalam

(36)

IPS engine merupakan sistem yang akan membaca alert kemudian

memerintahkan firewall untuk menutup akses paket data dari penyerang.

Cara kerja IPS engine digambarkan dalam flowchart berikut ini :

Gambar 3.2: Flowchart IPS engine

IPS akan menutup akses bagi penyerang ketika aktivitas tersebut

terdeteksi oleh IDS. Dalam bahasan ini, proses pembacaan alert dan

update rules pada firewall dilakukan secara periodik. Ketika terjadi usaha

penyusupan dan terdeteksi oleh IDS, maka IPS akan memerintahkan

firewall untuk menutup akses dari alamat IP penyerang, jika pada waktu yang lain administrator IPS akan membuka alamat IP yang telah

melakukan penyerangan, hal ini dapat dilakukan dengan menghapus isi

alert pada serangan dari IP yang dimaksud pada database ACID.

9. IPTables Firewall : Merupakan aplikasi firewall pada linux. Pada

sistem keamanan komputer ini digunakan sebagai aplikasi yang menutup

(37)

Komponen Pendukung :

10. Webmin : Modul yang digunakan untuk mengelola rule. Webmin

dapat digunakan untuk pengelolaan rule berupa aktif maupun tidaknya

rule dan penambahan secara manual. Webmin menggunakan antarmuka berbasis web.

11. ACID : Digunakan untuk mengelola data-data security event.

12. ACID History : Digunakan untuk menganalisa catatan-catatan IDS. Database pada ACID History tidak dihapus karena bersifat arsip, berbeda dengan database pada ACID yang akan dihapus sesuai jika administrator

IPS membuka akses terhadap alamat IP yang pernah ditutup.

13. Alert : Merupakan catatan serangan pada file log.

3.2.1 Instalasi dan konfigurasi Snort IDS

Dalam menginstall dan mengkonfigurasi Snort IDS diperlukan berbagai

macam aplikasi pendukung. Adapun aplikasi-aplikasi pendukung tersebut

diantaranya adalah :

1. Pcap (Packet Capture)

2. Pcre (Perl Compatible Regular Expression)

3. SSH (Secure shell)

Aplikasi pcap terdiri dari application programming interface untuk

menangkap lalu lintas paket. Linux menempatkan pcap pada pustaka libpcap.

Snort menggunakan libpcap untuk menangkap paket yang melintas dalam suatu

jaringan dan dalam versi terbaru mengirimkan paket pada suatu jaringan pada

layer link dan juga untuk mendapatkan daftar antarmuka jaringan yang dapat digunakan.

Libpcap juga dapat menyimpan paket yang telah ditangkap ke dalam suatu

file dan membaca isi didalamnya. File yang telah disimpan dalam format libpcap

dapat digunakan oleh aplikasi lain. Libpcap pertama kali dikembangkan oleh

pengembang Tcpdump pada grup peneliti jaringan Lawrence Berkeley

Laboratory. Merupakan packet capture level rendah. File yang telah ditangkap,

(38)

Library pcre merupakan library yang menggunakan pencocokan pola ekspresi yang hampir sama dengan Perl. Sebagai tambahan fungsi pencocokan

pcre memiliki fungsi yang berbeda dalam pencocokan pola kompilasi yang sama.

Dalam keadaan yang berbeda, cara ini memiliki beberapa keunggulan. Pcre

disusun dalam bahasa C dan dirilis sebagai library C.

SSH (secure shell) merupakan protokol jaringan yang memungkinkan

pertukaran data menggunakan saluran yang aman antara dua perangkat jaringan.

Selain aplikasi diatas terdapat beberapa modul, seperti modul pustaka dan

adapter libpcap0.8-dev, libpcre3-dev, pcregrep yang akan digunakan dalam tugas akhir ini. Adapun langkah-langkah instalasi dan konfigurasi semua aplikasi pendukung

akan disertakan pada lampiran.

Sebelum menginstall Snort, ada beberapa hal yang harus dilakukan.

Pertama kali adalah mengamankan SSH dengan beberapa pengaturan dan

menjalankan beberapa layanan yang akan digunakan pada saat menginstall dan

konfigurasi snort.

Untuk instalasi Snort, user yang digunakan adalah user root. Kemudian

snort dapat diunduh pada situs penyedia aplikasi snort yaitu

http://www.snort.org/dl. Snort terbaru dapat diunduh pada bagian most recent

release (rilis terbaru).

Setelah diunduh menggunakan aplikasi wget, aplikasi bawaan unix yang

digunakan untuk mengunduh sebuah file, file sumber snort diekstrak dan

dikonfigurasi lalu diinstal. Sebelum snort digunakan, snort membutuhkan rules.

Rules didapat setelah mendaftar sebagai pengguna pada situs snort. Unduh pada bagian “registered user release” (rilis untuk pengguna terdaftar) dan kemudian

simpan pada direktori /etc/snort/rules.

File snort.conf memerlukan sedikit perubahan sesuai dengan kebutuhan

jaringan. Hal ini dapat dilakukan dengan mengedit file /etc/snort/snort.conf

menggunakan text editor nano.

#nano /etc/snort/snort.conf.

(39)

var HOME_NET menjadi var HOME_NET 10.4.12.0/24

var EXTERNAL_NET menjadi var EXTERNAL_NET !$HOME_NET

var RULE_PATH ../rules menjadi RULE_PATH /etc/snort/rules

...

Variabel HOME_NET merupakan atribut konfigurasi snort yang berfungsi

untuk memberikan informasi jaringan yang akan diperiksa oleh snort dari

percobaan-percobaan intrusi. Sedangkan var EXTERNAL_NET merupakan

informasi jaringan luar. Dan yang terakhir var RULE_PATH adalah direktori rules

snort.

Setelah itu lakukan perubahan pada bagian "# output database: log, mysql,

user=", aktifkan dengan menghapus tanda "#" pada awal baris. Kemudian ganti

"user=root" menjadi "user=snort", dan "password=password" menjadi

"password=hahnroot", "dbname=snort". Hal ini dilakukan agar log pada MySQL

diaktifkan dan pengguna serta password dapat digunakan ketika mengakses

MySQL.

Permission dan owner file snort.conf harus diganti. Hal ini dilakukan agar file snort.conf hanya dapat dibaca tulis oleh user snort, dibaca oleh group snort dan

tidak dapat dibaca tulis oleh user lain. Setelah itu snort dapat dijalankan dengan

perintah :

#snort -c /etc/snort/snort.conf -i eth0 -D

Perintah ini menjalankan Snort pada antarmuka eth0 pada modus daemon.

Antarmuka eth0 merupakan antarmuka LAN pada IPS engine. Perintah ini dapat

ditambahkan pada file /etc/rc.local sehingga dapat langsung dijalankan setelah

reboot. Untuk memastikan snort telah berjalan, dapat dilakukan dengan perintah berikut:

(40)

3.2.2 Konfigurasi Dekoder

Salah satu keunggulan Snort adalah mudah dikonfigurasi sesuai kebutuhan

jaringan. Bagian dari Snort yang memegang peranan penting dalam pengolahan

awal paket adalah Dekoder. Dekoder dapat dikonfigurasi untuk mengaktifkan

atau tidak sebuah events.

Konfigurasi dapat dinonaktifkan dengan menambahkan karakter “#” jika

tidak dibutuhkan. Dekoder digunakan untuk mengatur checksum, pengaturan

alerts pada beberapa protokol seperti TCP, IP maupun pengaturan decode drops.

3.2.3 Konfigurasi Preprocessors

Preprocessor pertama kali digunakan pada Snort versi 1.5. Preprocessor

memungkinkan kegunaan snort diperluas dengan mengaktifkan plugins. Kode

pada Preprocessor dijalankan setelah Dekoder dan sebelum Detection Engine.

Konfigurasi pada Preprocessor didahului kata preprocessor.

Konfigurasi Preprocessor yang terdapat pada snort terus berkembang menyesuaikan dengan kebutuhan jaringan. Berikut ini beberapa modul yang perlu

diaktifkan pada konfigurasi Preprocessor :

1. Stream5, merupakan modul reassembly berbasiskan paket TCP pada

Snort. Dengan menggunakan Stream5, Rules “flow” dan “flowbits” dapat

digunakan pada TCP maupun UDP.

2. Http_inspect_server, modul ini bekerja dengan men-decode buffer,

mencari fields http dan mengembalikan fields ke keadaan normal. Pada HTTP

inspect, terdapat dua wilayah konfigurasi yaitu global dan server.

3. Rpc_decode, bekerja dengan mengembalikan catatan RPC yang

terfragmentasi menjadi catatan tunggal yang tidak terfragmentasi. Hal ini

dilakukan dengan mengembalikan paket ke keadaan normal pada buffer paket.

4. Sfportscan, digunakan untuk mendeteksi fase awal penyerangan. Pada

fase ini penyusup mendeteksi protokol jaringan dan layanan yang digunakan host.

(41)

3.2.4 Instalasi dan konfigurasi Database MySQL

Konfigurasi paket Snort untuk login ke remote MySQL server pada

antarmuka grafis berbasiskan web dapat digunakan untuk melihat paket yang telah

terdeteksi dan statistiknya. Dalam bahasan ini, server Snort adalah "snort.host" dan

server MySQL adalah "mysql.host".

Pada paket instalasi Snort terdapat sebuah file create_mysql, yang memiliki

skema untuk database. Pada saat menginstal Linux, file ini akan ditemukan di

/usr/share/doc/snort. Extract dan install file tersebut agar penambahan tabel

tambahan yang diperlukan snort dapat digunakan.

Tabel tambahan tersebut terdapat pada database “snort” diantaranya

tabel-tabel tersebut adalah data, detail, encoding, event, dll. Selanjutnya, pada server

snort, ubah file konfigurasi /etc/snort/snort.conf untuk me-log ke database:

output database: log, mysql, user=snort password=hahnroot dbname=snort host=localhost

3.3 Instalasi dan konfigurasi Web server & ACID BASE

Untuk mengumpulkan dan menyajikan informasi alert pada Snort,

digunakan ACID (Analisis Console for Intrusion Detection). ACID merupakan

konsol analisis berbasis open source yang disesuaikan secara khusus untuk Snort. ACID yang merupakan sekumpulan skrip PHP memerlukan program-program

pendukung berikut:

Sebuah server web yang mendukung versi 4.0 atau yang lebih baru dari skrip PHP

 PHP versi 4.0 atau yang terbaru.

ADODB ( Active Data Objects Data Base)

 JpGraph dan PHPlot (paket yang digunakan dalam mengumpulkan data grafis oleh ACID)

 Zlib, pustaka perangkat lunak yang digunakan untuk kompresi data. Setelah instalasi paket pendukung, ACID dapat diinstal. ACID merupakan

alat pelaporan dan analisis pada Snort yang dapat diakses melalui web browser.

ACID bukan merupakan aplikasi secara utuh, melainkan kumpulan skrip PHP.

(42)

dalam format yang mudah dikelola dalam halaman web dan memperbaharui

halaman tersebut secara rutin. Versi ACID yang digunakan disini adalah versi

0.9.6.b.23.

Setelah diextract, langkah berikutnya adalah konfigurasi ACID. File

konfigurasi ACID berada di file acid.conf pada direktori /www/html/acid/. Dalam

hal ini digunakan text editor nano untuk mengubah file konfigurasi tersebut.

Berikut ini variabel yang perlu diubah :

#sudo nano /www/html/acid/acid.conf

/*archive DB connection parameters*/

$archive_dbname = “snort”;

“http://localhost/acid/acid_main.php”. Lakukan pemilihan pengaturan dan

pembuatan tabel Alert Group ACID (ACID AG).

Tahap selanjutnya adalah mengamankan direktori ACID dari pengguna

luar dengan cara mengaktifkan password.

Kemudian ubah file httpd.conf dan lakukan perubahan pada AuthName,

(43)

ACID menganalisa database pada snort untuk ditampilkan. Skema database

yang digunakan ACID bisa dilihat pada gambar berikut:

Gambar 3.3 Skema database yang digunakan ACID

Setelah dikonfigurasi, ACID dapat digunakan. Berikut contoh tampilan

ACID :

(44)

3.4 Instalasi Webmin

Webmin (http://www.webmin.com/) yang telah ditambahkan module snort

rule digunakan untuk mengelola rule. Rule yang akan di aktifkan atau

dinonaktifkan dapat diatur melalui Webmin, bahkan dapat digunakan untuk

menambahkan rule-rule secara manual dengan editor berbasis web. Webmin

dapat digunakan bersama Snort setelah melakukan instalasi modul yang dapat

diunduh pada : http://www.msbnetworks.net/snort/download/snort-1.1.wbm.

Berikut contoh tampilan Webmin untuk mengelola rule Snort.

Gambar 3.5 Webmin dengan plugin Snort untuk mengelola Rules

3.5 Instalasi dan konfigurasi SnortSam

3.5.1 Instalasi SnortSam

SnortSam terdiri dari dua buah perangkat lunak yang berbeda. Bagian

(45)

dengan menambahkan modul keluaran baru : alert_fwsam. Bagian yang lain adalah

agen yang berhubungan langsung dengan firewall.

Snort mengamati lalu lintas, dan ketika aturan yang ditetapkan terpicu,

snort mengirim output ke modul fwsam. Modul fwsam kemudian mengirimkan

pesan terenkripsi ke agen SnortSam. Agen SnortSam memeriksa pesan untuk

memastikan pesan berasal dari sumber yang berwenang dan kemudian

mendekripsi pesan. Setelah pesan didekripsi, agen SnortSam memeriksa

permintaan untuk melihat alamat IP yang akan diblokir oleh SnortSam, dan

SnortSam memastikan bahwa alamat IP bukan alamat yang tidak boleh diblokir

(terdapat pada whitelist). Jika alamat IP tidak terdapat dalam whitelist, kemudian

SnortSam memberitahu firewall anda untuk memblokir alamat itu untuk jangka

waktu yang ditentukan

Instalasi SnortSam tidak jauh berbeda dengan instalasi paket unix lainnya.

sumber SnortSam yang digunakan adalah snortsam-src-2.69.tar.gz. Extract dan

install file tersebut pada direktori /etc/.

Kemudian gunakan patch SnortSam pada snort. Proses ini memerlukan

aplikasi GNU automake dan autoconf yang telah diperbarui. Setelah snort berhasil

(46)

Gambar 3.6. Snort setelah di-patch menggunakan Snortsam patch.

3.5.2 Konfigurasi SnortSam

Setelah mengkompilasi ulang dan mem-patch snort, snort harus

dikonfigurasi untuk dapat terhubung dengan SnortSam. Langkah pertama adalah

menghubungkan snort dengan modul keluaran baru untuk digunakan pada file

snort.conf, dimana alamat IP merupakan alamat dari sistem di mana agen SnortSam

sedang berjalan.

Untuk mengkonfigurasi rules snort pada saat menggunakan SnortSam,

pertama tentukan rules yang akan diaktifkan. Contohnya aturan WEB-MISC yang

menunjukkan seseorang mencoba mengakses di direktori home root. Berikut rules

(47)

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:”WEB-

MISC /~root access”; flow:to_server,established; uricontent:”/~root”;

nocase;classtype:attempted-recon; sid:1145; rev:6;)

Dan berikut rules setelah mengalami perubahan untuk memblokir menggunakan

SnortSam.

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:”WEB-

MISC /~root access”; flow:to_server,established; uricontent:”/~root”;

nocase;classtype:attempted-recon; sid:1145; rev:6; fwsam: src: 1 minutes;)

Perintah tambahan fwsam: src, untuk memberitahu Snort untuk

menggunakan SnortSam dan untuk memblokir sumber serangan selama satu

menit.

3.5.3 Konfigurasi SnortSam pada firewall

Setelah mengkonfigurasi Snort untuk bekerja dengan SnortSam, langkah

berikutnya adalah mengkonfigurasi agen SnortSam agar dapat bekerja dengan

firewall. Pengaturan ini dilakukan pada /etc/snortsam.conf secara default.

Pada keadaan minimum, pengaturan koneksitas SnortSam perlu diatur. Hal

ini dilakukan agar SnortSam mengetahui mesin yang diperbolehkan untuk

terhubung dan hal-hal yang dapat dilakukan firewall. Konfigurasi dapat diatur

pada /etc/snortsam.conf.

Pernyataan untuk me-log semua aktivitas login SnortSam dapat dimasukkan

ke /var/log/snortsam.log. Untuk mencegah IDS memblok host yang terpercaya

karena false positives, pastikan whitelist (daftar putih) digunakan. Daftar putih

(48)

putih disertakan dalam file snortsam.conf dengan menggunakan pernyataan dont

block. Alamat IP yang umumnya disertakan dalam white list diantaranya upstream

router, server DNS, dan sebagainya. Jika menggunakan file terpisah, dapat

menggunakan pernyataan include yang merujuk ke daftar putih.

Setelah snortsam.conf dikonfigurasi, langkah berikutnya adalah

(49)

40  BAB IV

PENGUJIAN DAN ANALISA SISTEM KEAMANAN KOMPUTER

4.1 TUJUAN PENGUJIAN

Setelah proses perancangan dan pengembangan perangkat lunak selesai,

kemudian masuk ketahap selanjutnya yaitu pengujian perangkat lunak. Pengujian

ini bertujuan untuk memastikan bahwa fitur utama sistem yang dikembangkan

sesuai dengan fitur yang ditawarkan pada saat perancangan perangkat lunak.

Secara umum, yang termasuk ke dalam sistem terdiri dari dua jenis, yaitu

server dan client. Fitur-fitur perangkat lunak yang tersedia dijelaskan pada diagram blok sistem keamanan komputer. Pada diagram terdapat fitur yang

dimiliki oleh IPS engine pada server yaitu untuk blocking paket jika diketahui

terdapat paket serangan dari alamat IP tertentu.

4.2 PROSEDUR PENGUJIAN

Pengujian sistem keamanan jaringan komputer dilakukan baik dari sisi

server maupun client. Client merupakan sebuah komputer dengan spesifikasi AMD Athlon X2 2GHz, RAM 512MB dengan kapasitas harddisk sebesar 20GB

yang terhubung pada server secara virtual. Sistem Operasi yang digunakan adalah

distribusi Linux Ubuntu 9.10 .

Pengujian ini dilakukan dengan beberapa tahap. Tahap-tahap ini

menggambarkan secara umum bagaimana fitur utama dari sistem ini berjalan.

Untuk menguji rancangan sistem keamanan komputer dengan cara melancarkan

paket gangguan dari client ke server yang dilindungi oleh sistem keamanan

(50)

4.3 TOPOLOGI PENGUJIAN

Server IDS ditempatkan pada sebuah jaringan dengan topologi seperti ditunjukkan pada gambar berikut:

 

   

Gambar 4.1 Topologi jaringan

4.4 HASIL PENGUJIAN

Pengujian dilakukan beberapa tahap. Berikut tahap-tahap pengujian yang

dilakukan:

4.4.1 Blocking paket ping

 Kondisi normal

(51)

Pada kondisi normal, terlihat paket ping yang dikirimkan dapat memasuki

server yang memiliki alamat IP 192.168.56.1. Paket ping yang dikirimkan merupakan paket berukuran normal. Sehingga tidak digolongkan gangguan oleh

rules snort.

 Pengamatan pada client

Pengamatan dilakukan dengan cara melakukan pengiriman paket ICMP

dengan perintah ping ke server seperti berikut:

Gambar 4.3 Blocking paket ping pada client

Dari pengamatan di atas terlihat bahwasanya IPS telah bekerja secara baik,

yaitu tertutupnya akses paket gangguan ke server. Hal ini dapat dilihat dengan

hilangnya 4 dari 5 paket gangguan yang dikirim.

Paket gangguan yang dikirimkan dari client ke server merupakan paket

ping tidak normal. Paket ping normal hanya berukuran 56 bytes sedangkan pada percobaan, paket ping yang dikirimkan dari client berukuran 250 bytes. Dengan

merubah script pada rules snort, besarnya paket yang dikategorikan gangguan

dapat diatur sesuai kebutuhan.

Ping dapat menjadi indikasi awal gangguan. Penyerang dapat mengirimkan paket ping untuk kemudian mengirimkan gangguan berupa denial of

(52)

jumlah banyak yang menyebabkan resource pada server terganggu sehingga akses

terhadap server oleh pengguna lain tidak dapat dilayani.

 Pengamatan pada server

Adapun pengamatan pada sistem pencegahan penyusupan dilakukan dengan

mengamati rules firewall yang telah berubah, yakni IPS engine memasukkan

alamat IP penyerang sebagai sebuah gangguan dimana akses dari client menuju

server tersebut tidak diizinkan. Berikut perubahan rules firewall yang terjadi:

Gambar 4.4 Hasil pengujian blocking paket ping pada server

4.4.2 Blocking paket evil payload

 Pengamatan pada client

Pengujian ini dilakukan dengan tools tambahan berupa aplikasi scapy.

Aplikasi ini bertugas mengirimkan paket UDP yang memiliki payload “evil

payload”. Paket terdefinisi sebagai gangguan karena rules telah diatur secara

(53)

Gambar 4.5 Pengiriman paket evil payload

 Pengamatan pada server

(54)

Adapun pengamatan pada server dilakukan dengan mengamati aplikasi

BASE sebagai front end server. Pada BASE paket “evil payload” didefinisikan

sebagai gangguan. Pengujian berikutnya sistem dapat dilihat pada log aplikasi

snortsam. Berikut pengamatan pada log aplikasi snortsam :

Gambar 4.7 Pengamatan paket evil payload pada log snortsam

4.4.3 Blocking paket SQL version overflow attempt

 Pengamatan pada client

Pengujian ini dilakukan dengan tools tambahan berupa aplikasi tcpreplay.

Aplikasi ini bertugas mengirimkan paket gangguan ke server. Berbeda

penggunaannya dengan aplikasi scapy pada pengujian sebelumnya, tcpreplay

mengirimkan paket gangguan ke server yang sebelumnya telah diunduh kedalam

(55)

Gambar 4.8 Pengiriman paket SQL version overflow attempt

 Pengamatan pada server

(56)

Adapun pengamatan pada server dilakukan dengan mengamati aplikasi

BASE sebagai front end server. Pada BASE paket mysql_worm.pcap didefinisikan

sebagai gangguan SQL version overflow attempt. Pengujian sistem dapat dilihat

pada log aplikasi snortsam. Berikut pengamatan pada log aplikasi snortsam :

Gambar 4.10 Pengamatan gangguan pada log snortsam

4.5 ANALISA PENGUJIAN

DOS merupakan serangan terhadap komputer atau server di dalam jaringan

intranet dengan cara mengganggu sistem atau resource yang dimiliki oleh

komputer tersebut sehingga tidak dapat menjalankan fungsinya dengen benar dan

secara tidak langsung mempengaruhi pengguna lain untuk memperoleh akses

layanan terhadap komponen yang diserang tersebut.

DOS attack ini akan segera terdeteksi oleh snort engine yang kemudian snort

engine akan mengirimkan alert ke alert log dan MySQL. IPS engine membaca alert pada MySQL dan kemudian memerintahkan firewall untuk memperbaharui

(57)

terdeteksi. Hal ini menyebabkan paket yang dikirim tidak dapat masuk (drop) ke

(58)

BAB V

KESIMPULAN DAN SARAN

V. 1 Kesimpulan

Dari proses perancangan sistem keamanan jaringan komputer ada

beberapa hal yang dapat disimpulkan, yaitu :

1. Waktu tanggap snort cukup cepat dalam menganalisa paket yang

terdeteksi sebagai gangguan. Waktu tanggap yang dibutuhkan tidak lebih

dari 1 detik per paket gangguan membuat snort sangat reaktif.

2. Snort memiliki fitur yang cukup lengkap yang dibutuhkan dalam merancang sistem keamanan komputer.

3. Rules memiliki peran penting dalam fitur blocking paket. Selain itu rules dapat diatur sesuai kebutuhan pengguna. Kelengkapan rules juga sangat

menentukan keamanan sistem dari gangguan.

V.2 Saran

Terdapat beberapa kritik dan saran yang perlu disampaikan, dengan

harapan akan menjadi masukan yang bermanfaat, yaitu :

1. Sistem ini baru dalam bentuk prototipe, dapat dikembangkan menjadi

sistem yang lebih baik lagi dengan menambah fitur-fitur lainnya.

2. Sistem yang dirancang memiliki keterbatasan dari segi rules yang ada.

Semakin lengkap rules yang dimiliki, sistem akan semakin terlindungi dari

gangguan.

(59)

50 

DAFTAR PUSTAKA

1. Cameron, Jamie.2003.Managing Linux System with Webmin System

Administration and Module Development. Addison Wesley

2. Endorf, Carl., Schultz, Eugene., Mellander, Jim.,2004. Intrusion Detection

and Prevention. Osbone : McGraw-Hill Companies

3. Cox, Kerry J., Gerg, Christopher.,2004.Managing Security with Snort and

IDS Tools. O’Reilly

4. Hartono, Puji. 2006. Sistem Pencegahan Penyusupan pada Jaringan

Berbasis Snort IDS dan IPTables Firewall. Bandung

5. Scott, Charlie., Wolfe, Paul., Hayes, Bert.,2004.Snort for Dummies. New

Jersey : Willey Publishing

6. Green, Chris.2009.Snort User Manual 2.8.5. Sourcefire

7. Baker, Andrew R., Esler, Joel.,2007.Snort IDS and IPS Toolkit.

Massachusets:Sourcefire

(60)

51 

Lampiran

Paket-paket yang dibutuhkan

apt-get install libpcap0.8 libpcap0.8-dev

libmysqlclient15-dev mysql-client-5.0 mysql-server-5.0

bison flex apache2 libapache2-mod-php5 gd

php5-mysql libphp-adodb php-pear libc6-dev g++ gcc pcregrep

libpcre3 libpcre3-dev

Install snort and snort rules # cd /usr/src/

# wget http://snort.org/dl/current/snort-2.8.5.3.tar.gz

# tar -zxf ./snort-2.8.5.3.tar.gz

# cd snort-2.8.5.3

# ./configure -enable-dynamicplugin --with-mysql

# make

# sudo make install

# sudo mkdir /etc/snort

# sudo cp etc/* /etc/snort

# tar -zxf snortrules-snapshot-CURRENT.tar.gz

# sudo cp -r rules/ /etc/snort

# mkdir /etc/snort /etc/snort/rules /var/log/snort

# cd /usr/src/snort-2.8.0.1/etc

# cp * /etc/snort/

# cd ../rules

# cp * /etc/snort/rules

Konfigurasi Snort

(61)

 

var HOME_NET menjadi var HOME_NET 192.168.1.0/24

var EXTERNAL_NET menjadi var EXTERNAL_NET !$HOME_NET

var RULE_PATH ../rules menjadi RULE_PATH /etc/snort/rules

Pada bagian "# output database: log, mysql, user=", hapus "#" dari awal baris.

Ganti "user=root" menjadi "user=snort", dan "password=password" menjadi

"password=hahnroot","dbname=snort"

# chmod 640 /etc/snort/snort.conf

Instalasi dan konfigurasi MySQL

# mysql -u root -p

mysql> create database snort;

mysql> grant INSERT,SELECT,UPDATE,CREATE,DELETE,EXECUTE on

snort.* to snort@snort.host;

mysql> set password for snort@snort.host=PASSWORD('snortpass');

mysql> flush privileges;

mysql> q

# mysql -u root -p snort </usr/share/doc/snort-doc/create_mysql

# nano /etc/snort/snort.conf

output database: log, mysql, user=snort password=snortpass dbname=snort

host=mysql.host

# chown root:snort /etc/snort/snort.conf

# chmod 0640 /etc/snort/snort.conf

Gambar

Gambar 2.1 Komponen Snort
Gambar 2.2. Tampilan ACID
Gambar 2.3. Salah satu menu pada webmin.
Gambar 3.1. Diagram Blok Sistem Keamanan Komputer
+7

Referensi

Dokumen terkait

Masyarakat yang telah mendiami Kota Padang turun-temurun tersebut memiliki rumah tradisional (rumah gadang) yang lazim disebut dengan rumah Kajang Padati karena bentuk atapnya

Metode pendekatan yang ditawarkan untuk menyelesaikan persoalan mitra yang telah disepakati bersama antara lain (1) perancangan biodigester baru dengan kapasitas 12

Distribusi jawaban responden setiap item pertanyaan digunakan untuk mengetahui rata-rata dan variasi jawaban responden terhadap pertanyaan yang digunakan dalam

Berdasarkan hasil analisis data yang telah dilakukan, dapat disimpulkan bahwa tidak terdapat hubungan antara self-efficacy dengan HLC, dalam hal ini yang diteliti

yakni persyaratan keabsahan suatu perjanjian atau kontrak harus mengacu kepada ketentuan seperti misalnya, yang ditentukan dalam Pasal 1320 KUH-Perdata yang telah

Jenis Sarana dan Prasarana Baik (km atau unit) Rusak (km atau unit). 1.1 Panjang jalan aspal

Mengetahui serta dapat menjelaskan tentang efek pencemaran pada individu – komunitas efek pencemaran pada individu – komunitas Diskusi Kelompok, Tugas Mandiri dan Evaluasi

9 (iii) Panduan kepada para pelajar yang mengikuti latihan mengajar kerana para pelajar akan dapat mengetahui sejauhmana mereka mengaplikasikan ciri-ciri guru berkesan