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

(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 lainnya yang tidak penulis sertakan.


(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 040402045


(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 gangguan serta pemulihan sistem atau layanan.


(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 aplikasi-aplikasi pendukung.


(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 dirancang.


(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 potongan 600 byte dari total 800 byte paket yang dikirimkan”. Program teardrop


(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 sedang mengalami packet sniffing. Packet interception merupakan cara penyerang


(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 anomaly, incorrect atau inappropriate yang terjadi pada jaringan atau pada host. Sedangkan deteksi intrusi merupakan usaha untuk mendeteksi tanda-tanda dari


(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 dikenali, kelebihan beban atau karena penyerang telah berhasil


(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 log yang dapat digunakan dalam menganalisa kegiatan serangan biasanya


(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 ada dan kemampuan ekspansi yang tinggi.


(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 berupa logging paket atau mengaktifkan alert.


(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 yang ada pada paket.


(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 lokasi dari log dan alert yang dihasilkan.


(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 berbasiskan Microsoft Windows


(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 di atur secara baik dalam contoh snort.conf yang dibawa oleh source snort.


(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; \ content:"chunked";nocase; classtype:web-application-attack;\


(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 snort.


(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.

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


(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 dapat mengendalikan banyak mesin melalui antarmuka tunggal.


(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 sistem pencegahan penyusupan yang dirancang sebagai berikut :


(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 hal ini digunakan Snort dan SnortSam melalui modul alert_fwsam.


(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 akses sesuai rule yang akan diterapkan. Rule bergantung dari Snort IDS.


(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, disimpan dalam pustaka yang dapat dihubungkan dengan tcpdump.


(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. Fungsi pada sfportscan hampir sama dengan aplikasi Nmap.


(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. Skrip ini bekerja sama untuk mengumpulkan data dari database, mengaturnya


(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 --> edit:

$DBlib_path = “/var/www/html/adodb”; $DBtype = “mysql”;

$alert_dbname = “snort”; $alert_host = “localhost”; $alert_port = “ ”;

$alert_user = “snort”;

$alert_password = “password”;

/*archive DB connection parameters*/ $archive_dbname = “snort”;

$archive_host = “localhost”; $archive_port = “ ”;

$archive_user = “snort”;

$archive_password = “password”; ...

$Chartlib_path = “/var/www/html/jpgraph-1.14.src”;

Kemudian pada web browser buka laman

“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, AuthUserFile dan RequireUser agar dapat mengakses database pada direktori ACID.


(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 pertama adalah file sumber yang telah dimodifikasi, yang memperluas Snort


(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 di-patch, SnortSam dapat diunduh dan diinstall pada direktori /etc/.


(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 tanpa modifikasi:


(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 merupakan daftar alamat IP yang seharusnya tidak diblokir. Pernyataan daftar


(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 menghubungkan file konfigurasi snortsam dengan direktorinya.


(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 jaringan komputer.


(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 service. Gangguan denial of service adalah gangguan berupa paket ping dalam


(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 custom untuk mengenali paket sebagai gangguan. Berikut pengamatan pada client:


(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 client. Paket gangguan terdefinisi sebagai SQL version overflow attempt. Berikut pengiriman paket gangguan pada client :


(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 rule dengan menambahkan rule untuk memblok akses dari IP penyerang yang


(57)

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


(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


(62)

 

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

Installing webserver, ACID BASE dan utility lain

securing SSH # sudo apt-get install ssh # cd /etc/ssh/sshd_config Protocol 2

PermitRootLogin no PermitEmptyPasswords no

Installing PCRE # tar -xzvf pcre-4.4.tar.gz # cd pcre-4.4/

# ./configure # make # make install

Installing zlib

# tar -xzvf zlib-1.2.1.tar.gz # cd zlib-1.2.1/

# ./configure # make

Install Libpcap

# tar -xzvf libpcap-0.8.1.tar.gz # cd libpcap-0.8.1

# ./configure # make # make install


(63)

 

# cp adod411.tgz /var/www/html # cd /var/www/html

# tar -xzvf adodb411.tgz Installing Phplot

# cp phplot.tgz /var/www/html #cd /var/www/html

#tar -xzvf phplot.tgz Installing JPgraph

#cp jpgraph-1.14.tar.gz /var/www/html #cd /var/www/html

#tar -xzvf jpgraph-1.14.tar.gz #cd jpgraph-1.14

Installing dan Configure ACID #cp acid-0.9.6.b.23.tar.gz /var/www/html #cd /var/www/html

#tar -xzvf acid-0.9.6.b23.tar.gz

Configure

#cd /www/html/acid/acid.conf --> edit:

$DBlib_path = “/var/www/html/adodb”; $DBtype = “mysql”;

$alert_dbname = “snort”; $alert_host = “localhost”; $alert_port = “ ”;

$alert_user = “snort”;

$alert_password = “password”;

/*archive DB connection parameters*/ $archive_dbname = “snort”;


(64)

 

$archive_port = “ ”; $archive_user = “snort”;

$archive_password = “password”; ...

$Chartlib_path = “/var/www/html/jpgraph-1.14.src”;

Pada browser, http”//localhost/acid/acid_main.php,“setup page” dan create ACID AG.

Securing ACID directory #mkdir /var/www/html/password

#cd /usr/bin/htpasswd -c /var/www/html/passwords/passwords acid --> edit httpd.conf, beri command berikut :

<Directory/>

Options FollowSymLinks AllowOverride None </Directory>

These are the lines to add:

<Directory “/var/www/html/acid”> AuthType Basic

AuthName “SnortIDS”

AuthUserFile /var/www/html/passwords/passwords Require user acid

</Directory>

 Snortsam # cd /usr/local/src/tarballs

# wget http://www.snortsam.net/files/snortsam-v2_multi-threaded/snortsam-src-2.23.tar.gz

# cd ../


(65)

 

# cd snortsam/

# chmod +x makesnortsam.sh # ./makesnortsam.sh

# cd /etc/

# wget http://ftp.gnu.org/gnu/automake/automake-1.6.3.tar.gz # cd ../

# tar -xvzf tarballs/automake-1.6.3.tar.gz # cd automake-1.6.3/

# ./configure && make && make install # cd ../etc/

# wget http://www.snortsam.net/files/snort-plugin/snortsam-patch.tar.gz # cd ../

# mkdir snortsam-patch # cd snortsam-patch/

# tar -xvzf ../tarballs/snortsam-patch.tar.gz # chmod +x patchsnort.sh

# ./patchsnort.sh /usr/local/src/snort-2.1.0/ # cd /usr/local/src/snort-2.1.0/

# ./configure --with-mysql=/usr/local/mysql # make


(1)

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


(2)

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


(3)

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

Installing webserver, ACID BASE dan utility lain securing SSH

# sudo apt-get install ssh # cd /etc/ssh/sshd_config Protocol 2

PermitRootLogin no PermitEmptyPasswords no

Installing PCRE # tar -xzvf pcre-4.4.tar.gz # cd pcre-4.4/

# ./configure # make # make install

Installing zlib

# tar -xzvf zlib-1.2.1.tar.gz # cd zlib-1.2.1/

# ./configure # make

Install Libpcap

# tar -xzvf libpcap-0.8.1.tar.gz # cd libpcap-0.8.1

# ./configure # make # make install


(4)

# cp adod411.tgz /var/www/html # cd /var/www/html

# tar -xzvf adodb411.tgz Installing Phplot

# cp phplot.tgz /var/www/html #cd /var/www/html

#tar -xzvf phplot.tgz Installing JPgraph

#cp jpgraph-1.14.tar.gz /var/www/html #cd /var/www/html

#tar -xzvf jpgraph-1.14.tar.gz #cd jpgraph-1.14

Installing dan Configure ACID #cp acid-0.9.6.b.23.tar.gz /var/www/html #cd /var/www/html

#tar -xzvf acid-0.9.6.b23.tar.gz Configure

#cd /www/html/acid/acid.conf --> edit:

$DBlib_path = “/var/www/html/adodb”; $DBtype = “mysql”;

$alert_dbname = “snort”; $alert_host = “localhost”; $alert_port = “ ”;

$alert_user = “snort”;

$alert_password = “password”;

/*archive DB connection parameters*/ $archive_dbname = “snort”;


(5)

$archive_port = “ ”; $archive_user = “snort”;

$archive_password = “password”; ...

$Chartlib_path = “/var/www/html/jpgraph-1.14.src”;

Pada browser, http”//localhost/acid/acid_main.php,“setup page” dan create ACID AG.

Securing ACID directory #mkdir /var/www/html/password

#cd /usr/bin/htpasswd -c /var/www/html/passwords/passwords acid --> edit httpd.conf, beri command berikut :

<Directory/>

Options FollowSymLinks AllowOverride None </Directory>

These are the lines to add:

<Directory “/var/www/html/acid”> AuthType Basic

AuthName “SnortIDS”

AuthUserFile /var/www/html/passwords/passwords Require user acid

</Directory>  Snortsam # cd /usr/local/src/tarballs

# wget http://www.snortsam.net/files/snortsam-v2_multi-threaded/snortsam-src-2.23.tar.gz

# cd ../


(6)

# cd snortsam/

# chmod +x makesnortsam.sh # ./makesnortsam.sh

# cd /etc/

# wget http://ftp.gnu.org/gnu/automake/automake-1.6.3.tar.gz # cd ../

# tar -xvzf tarballs/automake-1.6.3.tar.gz # cd automake-1.6.3/

# ./configure && make && make install # cd ../etc/

# wget http://www.snortsam.net/files/snort-plugin/snortsam-patch.tar.gz # cd ../

# mkdir snortsam-patch # cd snortsam-patch/

# tar -xvzf ../tarballs/snortsam-patch.tar.gz # chmod +x patchsnort.sh

# ./patchsnort.sh /usr/local/src/snort-2.1.0/ # cd /usr/local/src/snort-2.1.0/

# ./configure --with-mysql=/usr/local/mysql # make