Institutional Repository | Satya Wacana Christian University: Integritas Suricata Intrusion Detection System (IDS) dengan Mikrotik Firewall untuk Keamanan Jaringan Fakultas Teknologi Informasi Universitas Kristen Satya Wacana
INTEGRITAS SURICATA INTRUSION DETECTION
SYSTEM (IDS) DENGAN MIKROTIK FIREWALL UNTUK
KEAMANAN JARINGAN FAKULTAS TEKNOLOGI
Artikel Ilmiah
Peneliti :
Oktriany Susanti Sundun (672014172)
Teguh Indra Bayu, S.Kom., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2017
Integritas Suricata Intrusion Detection System (IDS) dengan Mikrotik Firewall
untuk Keamanan Jaringan Fakultas Teknologi Informasi Informasi Universitas
Kristen Satya Wacana
Artikel Ilmiah
Diajukan Kepada
Fakultas Teknologi Informasi
Untuk Memperoleh Gelar Sarjana Komputer
Peneliti :
Oktriany Susanti Sundun (672014172)
Teguh Indra Bayu, S.Kom., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2017
1. Pendahuluan
Keamanan jaringan adalah suatu cara atau sistem yang digunakan untuk memberikan proteksi atau perlindungan pada suatu jaringan agar dapat terhindar dari berbagai ancaman baik dari luar jaringan maupun dari dalam jaringan itu sendiri, dan juga mampu mendeteksi serangan atau penyerang secara lebih detail yang tidak hanya terbatas pada klasifikasi protokol dan port saja. Syarat keamanan jaringan yaitu yang pertama sistem keamanan jaringan harus mampu melindungi dari segala macam serangan dan usaha-usaha penyusupan atau pemindaian oleh pihak yang tidak berhak. Kedua sistem pendeteksi penyusup harus mampu mendeteksi berbagai macam serangan dan harus mampu mengambil tindakan pada saat serangan itu terjadi. Ketiga sistem harus memiliki interaktivitas dengan administrator pada saat administrator tidak sedang mengadministrasi sistemnya[1].
Fakultas Teknologi Informasi Univesitas Kristen Satya Wacana telah menerapkan beberapa mekanisme keamanan jaringan seperti firewall mikrotik dan mikrotik hotspot, namun performa dari keamanan jaringan tersebut dianggap belum memenuhi ekspetasi yang dimana ketika terjadi serangan maka administrator jaringan harus turun tangan langsung karena hal tersebut maka akan menambah pekerjaan dari administrator jaringan dan juga akan berdampak kepada rules keamanan yang telah dibuat oleh administrator selain itu akan mempengaruhi kinerja dari sistem keamanan tersebut. Rumusan masalah pada penelitian ini adalah bagaimana mendesain keamanan sistem jaringan untuk Fakultas Teknologi Informasi Universitas Kristen Satya Wacana dan bagaimana cara kerja sistem IPS menggunakan suricata dan mikrotik.
Penelitian ini bertujuan melihat integritas antara suricata dengan mikrotik untuk mendeteksi serangan yang berbasis port dan protokol. Adapun aplikasi yang dipakai untuk mendesain sistem ini adalah suricata. Suricata merupakan salah satu software selain snort yang mampu bekerja sebagai IDS, IPS dan monitoring. Suricata akan bekerja sebagai pihak ketiga yang membantu kinerja dari firewall mikrotik selain itu dibutuhkan juga barnyard yang akan membaca file output dari suricata yang bersifat binari dan mengirimkan log file tersebut ke dalam database. Suricata ini dibangun pada lingkungan Linux Ubuntu 16.04 LTS dengan metode pendeteksian menggunakan berbasis suricata yang telah dikonfigurasi sehingga terhubung dengan
signature-base mikrotik.
2. Tinjauan Pustaka
Pada penelitian yang berjudul Implementasi keamanan Instrusion Detection (IDS) dan Instrusion Prevention System (IPS) menggunakan ClearOS,
System
membahas tentang pembuatan aplikasi IDS dan IPS menggunakan ClearOS dapat mendeteksi dan mencengah anomaly pada sistem komputer server dari penyusup yang dimana banyak program exploit konsentrasi serangannya memanfaatkan firewall. Sebagai contoh, percobaan attacker untuk melakukan penetrasi melalui port 23 (Telnet), tetapi policy dari firewall memblokir permintaan untuk port 23, mungkin tidak bisa melakukan telnet ke komputer target karena rule dari firewall yang
attacker
ketat. Ternyata, firewall mengizinkan request (permintaan) dari luar untuk port 80 (http). Attacker dapat memanfaatkan port 80 untuk eksploitasi http. Ketika webserver telah berhasil dikuasai, firewall dapat dikatakan sudah di-bypass dan tidak berguna lagi [2].
Pada penelitian yang berjudul Unjuk Kerja Intrusion Prevention System (IPS) Berbasis Suircata pada Jaringan Lokal Area Network Laboratorium TIA Teknik Informatika Universitas Trunojoya, membahas tentang IPS yang dihubungkan dengan Internet Protocol (IP) Tables yang berfungsi sebagai pemonitor dan pemfilter attacker yang dilengkapi dengan tampilan Guide User Interface (GUI). Hasil dari suricata akan mengeluarkan alert ketika terdeteksi adanya indikasi attacker pada traffic jaringan dan disimpan pada file log suricata hal tersebut dilakukan untuk membantu dalam
log alert
pemantauan paket data pada jaringan dan menganalisa paket-paket tersebut dalam mencegah dari hal-hal yang bersifat membahayakan jaringan [3].
Pada penelitian yang berjudul Desain dan Implementasi Honeypot dengan FWsnort dan PSAD sebagai Intrusion Prevention System, membahas tentang Honeypot yang dipadu dengan IPS PSAD dan Fwsnort dapat mendeteksi adanya suatu serangan dalam sistem jaringan yang tidak dapat dideteksi oleh firewall dan agar dapat menangani suatu serangan berdasarkan alert yang telah ditampung pada file log, lalu memberikan log tentang serangan yang baru dan belum diketahui oleh sistem IPS [4].
Pada penelitian yang berjudul Analisis dan Implementasi Suricata, Snorby, dan Barnyard2 pada VPS Ubuntu, membahas tentang suricata IDS yang digunakan sebagai pendeteksi aktifitas jaringan dan mengindentifikasi ancaman serangan dan suricata akan memindai setiap datagram yang dikirim pada sesi TCP dan mengubah menjadi informasi dan dikirim pada aplikasi snorby untuk diolah lebih lagi [5].
Berdasarkan peneltian-penelitian yang pernah dilakukan terkait keamanan dari (IDS) dan Instrusion Prevention System (IPS) dan
Intrusion Detection System
penerapan pihak ketiga akan membantu dalam meningkatkan keamanan dalam suatu jaringan. Suricata merupakan salah satu software selain snort yang dapat menjadi sistem yang bertindak sebagai IDS, IPS maupun memonitoring jaringan. Sebagaimana yang telah dinyatakan dalam penelitian-penelitan tersebut, bahwa suricata mampu menjadi Intrusion Detection System (IDS) dan Instrusion Prevention System (IPS) dapat menjadi salah satu alat yang dapat membantu firewall untuk menjaga keamanan dalam suatu jaringan yang berkerja berdasarkan rule. Penggunaan mikrotik juga mampu membantu kinerja dari suricata dalam melakukan tugasnya.
Intrusion Detection System (IDS) merupakan suatu sistem yang dapat memonitor lalu lintas jaringan dari aktivitas paket-paket data yang mencurigakan atau yang melanggar aturan keamanan jaringan dan kemudian membuat laporan dari aktivitas jaringan tersebut [6]. Terdapat 3 macam konsep IDS, yaitu: Network-based Intrusion
Detection System (NIDS): semua lalu lintas yang mengalir ke sebuah jaringan akan
dianalisis untuk mencari apakah ada percobaan serangan atau penyusup ke dalam sistem jaringan. NIDS umumnya terletak di dalam segmen jaringan penting dimana server berada atau terdapat pada “pintu masuk” jaringan. Host-based Intrusion
(HIDS): aktivitas sebuah host jaringan individual akan dipantau
Detection System apakah terjadi sebuah percobaan serangan atau penyusup ke dalamnya atau tidak.
HIDS seringnya diletakkan pada server-server kritis di jaringan, seperti halnya firewall, web server, atau server yang terkoneksi dengan internet. Distributed Intrusion
Detection System (DIDS), tipe ini merupakan kombinasi sensor NIDS dan sensor HIDS
dalam jaringan yang lebih besar dan kemudian mengirim log pada sistem terpusat.Suricata adalah IDS, IPS dan monitoring engine untuk jaringan yang berkinerja tinggi. Suricata adalah open source dan dikelola oleh yayasan non-profit, Open
Information Security Foundation (OISF). Suricata memeriksa traffic menggunakan
powerful , extensive rules, dan signature language untuk mendeteksi ancaman yang
kompleks [7]. Ketika rule yang ada pada suricata diaktifkan maka suricata akan mengecek satu per satu sesuai dengan ada yang ada pada rulenya lalu suricata akan menyimpan log tersebut pada file fast.log, barnyard merupakan salah satu sistem
output dari suricata yang memiliki tugas penting. Suricata akan membuat binari yang
disebut unified, lalu barnyard berfungsi untuk menerjemahkan file unified tersebut lalu mengirimkan kembali data tersebut ke database.
Mikrotik RouterOS adalah sistem operasi dan perangkat yang dapat digunakan untuk menjadikan komputer menjadi router network yang handal, mencakup berbagai yang dibuat untuk IP network dan jaringan wireless. Mikrotik sudah memiliki sistem
firewall nya sendiri. Pada mikrotik terdapat berbagai jenis Firewall diantaranya adalah
[8]: 1. dapat diartikan sebagai firewall yang bertugas
Packet Filtering Gateway
melakukan filterisasi terhadap paket-paket yang datang dari luar jaringan yang dilindunginya. Misalnya hanya membolehkan beberapa paket yang masuk ke dalam sebuah jaringan yang dilindunginya dengan memasang packet filetering. 2. dapat disebut sebagai Proxy Firewall. Cara kerjanya
Aplication Layer Gateway
tidak hanya memfilter berdasarkan sumber, tujuan dan atribut paket, tetapi hingga isi (content) paket tersebut dapat terfilter.
3. Circuit Level Gateway model firewall ini bekerja pada bagian Lapisan transport dari model OSI TCP/IP. Firewall ini akan melakukan pengawasan terhadap awal hubungan TCP yang biasa disebut sebagai TCP Handshaking, yaitu proses untuk menentukan apakah sesi hubungan tersebut diperbolehkan atau tidak. Bentuknya hampir sama dengan Application Layer Gateway , hanya saja bagian yang difilter terdapat ada lapisan yang berbeda, yaitu berada pada layer Transport.
4. Statefull Multilayer Inspection Firewall model firewall ini adalah gabungan dari ketiga jenis firewall di atas. Firewall jenis ini akan bekerja pada lapisan Aplikasi, dan Internet. Dengan penggabungan ketiga model firewall yaitu
Transport Packet Filtering Gateway, Application Layer Gateway dan Circuit Level Gateway , mungkin dapat dibilang firewall jenis ini adalah firewall yang memberikan tingkat keamanan yang paling tinggi.
Mikrotik RouterOS juga memiliki fasilitas logging yaitu Calea. Calea digunakan untuk mempermudah router agar dapat menangkap dan menelusuri semua kegiatan yang terjadi pada suatu jaringan network.
Pada penelitian ini semua traffic yang ingin keluar dan masuk dalam jaringan FTI UKSW akan diarahkan ke mikrotik, sehingga mikrotik akan mengirimkan packet tersebut untuk diperiksa oleh suricata. Setelah suricata memeriksa packet tersebut maka suricata akan mengirimkan kembali ke mikrotik, sehingga ketika ada packet yang dicurigai akan ditindak lanjuti langsung oleh firewall yang ada pada mikrotik.
3. Metode Penelitian
Secara umum metode penelitian dilakukan dalam beberapa tahap yang ditunjukan pada Gambar 1. Masing-masing tahapan merupakan alur dari rencana penelitian yang mengantarkan masalah penelitian kepada tujuan penelitian.
Identifikasi dan Perumusan masalah
Perancangan
PengujianPengambilan Kesimpulan Gambar 1 Skema Tahapan Penelitian
Tahap-tahap dalam tahapan penelitian yang ada pada Gambar 1, dijelaskan sebagai berikut: Identifikasi dan perumusan masalah : Syarat keamanan jaringan yaitu yang pertama sistem keamanan jaringan harus mampu melindungi dari segala macam serangan dan usaha-usaha penyusupan atau pemindaian oleh pihak yang tidak berhak. Kedua sistem pendeteksi penyusup harus mampu mendeteksi berbagai macam serangan dan harus mampu mengambil tindakan pada saat serangan itu terjadi. Ketiga sistem harus memiliki interaktivitas dengan administrator pada saat administrator tidak sedang mengadministrasi sistemnya. FTI UKSW memiliki mekanisme keamanan jaringan menggunakan firewall mikrotik dan mikrotik hotspot, namun nyatanya hal tersebut belum memenuhi syarat dari keamanan jaringan salah satunya pada saat terjadi suatu serangan administrator jaringan harus turun tangan langsung dengan kata lain sistem tidak memiliki interaktivitas dengan administrator jaringan. Perancangan: pada tahap ini dilakukan analisis permasalahan dan kebutuhan dalam perancangan yang berkaitan dengan keefektifan suatu keamanan yang nantinya akan diterapkan. Perancangan ini dimulai dari bagaimana perancang skema sistem jaringan yang akan diterapkan dalam jaringan tersebut, skema jaringan perancangan sistem IPS dapat dilihat pada Gambar 2.
Gambar 2 Skema Jaringan Perancangan IPS
Alamat jaringan 192.168.44.0/24 merupakan alamat jaringan dari IPS suricata sedangkan 192.168.45.0/24 merupakan alamat jaringan dari client. Setiap traffic yang ingin masuk maupun keluar akan di mirroring ke jaringan IPS suricata untuk diperiksa. Pada saat menggunakan suricata dan mikrotik sebagai IPS ada beberapa hal yang diperlukan seperti pada saat instalasi suricata, suricata memerlukan package maupun untuk membangun suricata dengan kemampuan IDS, selain itu dibutuhkan juga
library
untuk rules suricata karena suricata akan bekerja sesuai dengan rules tersebut,
package
barnyard juga dibutuhkan oleh suricata untuk membaca output binari dari suricata lalu barnyard akan mengirimkan kembali ke database dan pada mikrotik dibutuhkan sebuah paket Calea dan Opet Sniffing Tool yang digunakan untuk mendeteksi jika terjadi insiden di jaringan (hacking). Pada file suricata.yml, bagian “vars” merupakan bagian yang penting yang digunakan pada suricata. “HOME_NET” harus mengarah ke jaringan lokal untuk diperiksa oleh suricata seperti pada Kode program 1.
Kode Program 1 Sricpt suricata untuk menentukan suatu jaringan
1. HOME_NET: “[192.168.44.0/24, 192.168.45.0/24]”
Cara kerja suricata berdasarkan signature language untuk itu suricata memerlukan
rules hal ini merupakan bagian yang digunakan sebagai acuan untuk mendeteksi suatu
serangan dapat dilihat pada Kode program 2.
untuk membangun suricata dengan kemampuan ids
Kode Program 2 Sricpt1. # make install-rules
Mode default yang digunakan oleh suricata yaitu auto flow pinned load balancing (autofp) yang dimana mode ini merupakan paket dari masing-masing aliran berbeda yang ditugaskan ke satu detect thread. Perintah untuk menjalankan runmodes ditunjukkan pada Kode program 3.
suricata untuk List-runmodes Kode Program 3 Sricpt
1. # /usr/bin/suricata --list-runmodes
Perintah untuk menjalankan suricata ditunjukkan pada Kode program 4 sricpt untuk
menjalankan suricata di pcap live mode.Kode Program 4 Sricpt untuk menjalankan suricata 1. # /usr/bin/suricata -c /etc/suricata/suricata.yaml -i eth1 --init-errors-fatal
Ketika suricata telah berhasil untuk dijalankan, setiap log yang telah berhasil ditangkap
oleh suricata akan disimpan ke dalam file fast.log lalu suricata akan membuat output
binari yang disebut unified.alert, untuk menerjemahkan output tersebut diperlukan
barnyard sehingga ketika barnyard telah menerjemahkan output suricata, log tersebut
akan disimpan ke dalam database MySQL, untuk membuat database dapat dilihat pada
Kode program 5 untuk membuat database snortKode Program 5 Sricpt 1. $ mysql -u root –p 2. mysql> create database snort; 3. mysql> use snort; 4. mysql> source ~/snort_src/barnyard2/schemas/create_mysql 5. mysql> CREATE USER 'snort'@'localhost' IDENTIFIED BY 'MySqlSNORTpassword;
6. mysql> grant create,insert,select,delete,update on snort.* to 'snort'@'localhost';
7. mysql> exit;
Didalam file barnyard2.conf pada direktori /var/suricata/barnyard2.conf harus
tambahkan output database, hal ini merupakan untuk menyambungkan antara
barnyard2 dengan MySQL. Perintah yang ditambahkan dapat dilihat pada Kode
program 6 sricpt untuk output database barnyard Kode Program 6 Sricpt untuk output database barnyard
1. output database:log, mysql, user=snort password=MySqlSNORTpassword dbname=snort host=localhost
Pada Kode program 7 merupakan script untuk menjalankan barnyard2 untuk
memproses setiap kejadian yang ada pada file unified.alert dan memasukkan kedalam database barnyard Agar suricata dan mikrotik dapat saling berkomunikasi diperlukan perantara sebagai penghubung antara suricata dan mikrotik yaitu ips-mikrotik-suricata. Pada Kode program 8 merupakan perintah untuk memasang ips-mikrotik-suricata pada server
Kode Program 7 Sricpt untuk menjalankan barnyard
1. sudo barnyard2 -c /etc/suricata/barnyard2.conf -d /var/log/suricata -f
unified2.alert -w /var/log/suricata/barnyard2.waldo –g suricata –u suricataKode Program 8 Sricpt untuk ips-mikrotik-suricata 1. git clone https://github.com/elmaxid/ips-mikrotik-suricata.git
Didalam file config.php yang berada pada direktori /opt/ips-mikrotik-suricata
dalam file tersebut ada beberapa bagian yang harus diedit, yaitu :
- $user__name = merupakan user name yang digunakan untuk login ke dalam database
- $password = merupakan password yang digunakan oleh user untuk login ke database
- $database = merupakan nama dari database yang akan menyimpan log suricata
- $server = merupakan server dari database yang digunakan
- $router[‘ip’] = ip dari router yang akan digunakan sebagai IDS dari suricata
- $router[‘user’] = user dari router
- $router[‘password’] = password router
Pada Kode program 9 merupakan perintah untuk mengecek apakah database MySQL
dan API Mikrotik RouterOS telah terkoneksi dengan baik atau tidak.
Kode Program 9 Sricpt
untuk mengecek Database dan API Mikrotik RouterOS
1. php –f mikrotik-ips-install.php
Pada konfigurasi mikrotik, yang dibutuhkan adalah memonitoring kondisi jaringan.
Monitoring yang diimplementasikan pada kasus ini adalah menggunakan fitur port
mirroring.Tools Sniffer Gambar 4
Pada sisi mikrotik untuk mengaktifkan tools packet sniffer pada bagian streaming
enable harus dicentang hal tersebut dapat dilihat pada Gambar 4. Semua jaringan yang
terhubung ke router mikrotik akan dimirror untuk melakukan pembelokkan lalu lintas
yang dari port A ke port IDS eksternal agar semua lalu lintas data dari port A dapat
dibaca dan diperiksa oleh IDS eksternal, lalu paket tersebut akan diteruskan ke
tujuannya. Hal ini juga diperlukan untuk membuat schedule apabila IDS eksternal
menangkap adanya paket data yang dianggap berbahaya bagi jaringan, maka mikrotik
dengan otomatis akan memasukkan ke dalam daftar firewall, script tersebut dapat
dilihat pada Kode program 10.Kode Program 9 Sricpt schedule
IDS eksternal 1. :local currentTime [/system clock get time]
2. foreach i in=[/ip firewall address-list find list=blacklist] do={:local comment[/ip
firewall address-list get $i comment] 3. :local ip [/ip firewall address-list get $i address]4. :if ( $comment < $currentTime ) do={/ip firewall address-list remove [find
address=$ip] 5. } 6. }
Kode program 10 merupakan script untuk menambahkan beberapa IP, yang ditentukan
oleh ip global ke daftar firewall yang dimana /ip firewall filter add src-address-
list=blackist action=reject merupakan aturan untuk memberikan aksi dari alamat yang
telah masuk ke dalam daftar blacklist.Kode Program 10 Sricpt Mikrotik 1. : ip global 2. local time ([/system clock get time]+(“00:05:00”)) 3. if ($time > “23:59:59”) do={: local time “00:05:00” } 4. /ip firewall address-list add list=blacklist address=$ip comment=$time 5. /ip firewall filter add src-address-list=blacklist action=reject
Pada Kode program 11 dimulai dari baris 30 sampai 49 merupakan script untuk
mengambil log yang telah ditangkap oleh suricata untuk dimasukkan pada sisi firewall
mikrotik.Kode Program 11 Sricpt untuk suricata_block.php 1. <?php 2. ...
30. function AddToFirewall($thisrow) { 31. global $local_ip_prefix, $API, $mikrotik_addr, $mikrotik_user, $mikrotik_pwd, $email_to, $email_from, $email_alert; 32. if (strpos($thisrow['que_ip_adr'], $local_ip_prefix) !== true) {
33. /* Does not match local address... */ 34. /* See if the address is already in the firewall list, if so delete it so we can read it with a new timeout */ 35. try {$API->connect($mikrotik_addr, $mikrotik_user, $mikrotik_pwd);
36. } catch (Exception $e) { die('Unable to connect to RouterOS. Error:' . $e);} 37. $ARRAY = $API->comm("/ip/firewall/address-list/print", array( 38. ".proplist"=> ".id","?address" => $thisrow['que_ip_adr'],)); 39. foreach ($ARRAY as $a) { 40. foreach ($a as $name => $value) { $API->write("/ip/firewall/address-
list/remove",false); $API->write("=.id=$value",true); $API->read(); }}
41. if (array_key_exists('que_remaining', $thisrow)) 42. { $timeremaining = $thisrow['que_remaining']; } 43. else{ $timeremaining = $thisrow['que_timeout']; } 44. $API->comm("/ip/firewall/address-list/add", array( 45. "list" => "blacklist", 46. "address" => $thisrow['que_ip_adr'], 47. "timeout" => $timeremaining, 48. "comment" => "From suricata, " . $thisrow['que_sig_name'] . " => " .$thisrow['que_sig_gid'] . ":" . $thisrow['que_sig_sid'] ." => event timestamp: " . $thisrow['que_event_timestamp'],)); 49. $API->disconnect(); 98. ...
99. ?>
Kode Program 12 merupakan script untuk menjalankan mikrotik, jika mikrotik tersebut
akan reboot sebagai keadaan default untuk packet sniffer.Kode Program 12 Sricpt untuk menjalankan packet sniffer pada mikrotik sebagai keadaan default 1. <?php 2. require('routeros_api.class.php'); 3. header('Content-Type: text/plain'); 4. $API = new RouterosAPI(); 5. /* $API->debug = true; */ 6. try { 7. $API->connect('192.168.68.253', 'username', 'password'); 8. } catch (Exception $e) { 9. die('Unable to connect to RouterOS. Error:' . $e); 10. } 11. $ARRAY = $API->comm("/tool/sniffer/start"); 12. $API->disconnect(); 13. ?>
Kode Program 13 Sricpt untuk menjalankan suricata dan sniffer mikrotik 1. trafr -s | suricata -c /etc/suricata/suricata.yaml -r -
Pada Kode program 13 merupakan perintah untuk menjalankan suricata dan sniffer
mikrotik secara bersamaan. Pengujian: pada tahap ini dilakukan pengujian terhadap
sistem keamanan yang telah diimplementasikan dengan cara mencoba untuk melakukan suatu serangan ICMP dan ICMP Flooding terhadap jaringan yang telah diterapkan sistem keamanan suricata, selain itu digunakan juga serangan port scan. Pengambilan Kesimpulan: pada tahap ini dilakukan pengambilan kesimpulan dari penelitian yang telah dilakukan lalu dituangkan dalam bentuk laporan penelitian.
4. Hasil dan Pembahasan
Pada penelitian ini menggunakan suricata dengan versi 4.0.0-dev (rev 2075953) dan menggunakan barnyard2 dengan versi 2.1.14 (Build 337) hal tersebut dibuktikan pada Gambar 5
Gambar 5 Versi Suricata dan Barnyard2
Pada file suricata.yml yang berfungsi untuk menentukan jaringan apa saja yang akan dipantau, rule apa saja yang akan dijalankan oleh suricata dan peletakkan output yang telah didapatkan oleh suricata. File suricata.yml berada pada direkoti /etc/suricata. Terdapat beberapa bagian utama pada file suricata.yml, yaitu :
1. Bagian pertama adalah informasi tentang network, bagian ini menunjukkan alamat jaringan yang akan dipantau oleh suricata. HOME_NET pada hal ini menggunakan alamat jaringan 192.168.44.0/24 dan juga 192.168.45.0/24 dan pada EXTERNAL_NET menggunakan alamat jaringan 192.168.45.0/24 hal ini dikarenakan jaringan yang ingin dipantau adalah dalam jaringan IDS 192.168.44.0/24 dan juga jaringan client 192.168.45.0/24, dan apabila antara
client akan melakukan attacker akan terdeteksi oleh suricata.
2. Bagian kedua adalah rules apa yang nantinya akan diterapkan oleh suricata terhadap jaringan yang akan dipantau yang telah dipasang sebelumnya dapat dilihat pada Kode program 2. Ada banyak rules yang dimiliki oleh suricata namun pada penelitian kali ini rules yang digunakan adalah rules untuk mendeteksi serangan icmp.
3. Bagian ketiga adalah peletakkan output ketika telah menjalankan suricata, agar barnyard dapat membaca file unified.alert dari suricata maka pada bagian ini merupakan output untuk barnyard2 agar barnyard dapat menjalankan tugasnya.
4. Bagian keempat adalah bagian pengaturan tambahan, misalnya saja untuk pcap
ingin diaktifkan pada interface apa, dan sebagainya.5. Bagian kelima adalah bagian untuk konfigurasi protokol yang berfungsi untuk memantau protokol apa saja yang akan diaktifkan pada bagian suricata.
Didalam file stats.log akan berisi tentang informasi suricata berjalan dengan baik
atau tidak. Apabila suricata berjalan dengan baik, maka informasi yang ada pada file
stats.log akan ditampilkan sesuai dengan real-time, dibagian date merupakan tanggal
dan waktu ketika suricata dijalankan, hal tersebut dibuktikan pada Gambar 6. File
stats.log berada pada direktori /var/log/suricata.Gambar 6 Isi file stats.log
Pada Kode program 6 merupakan script untuk membuat database barnyard
dengan nama snort karena barnyard2 bekerja dengan cara membaca output binari dari
suricata lalu log tersebut akan disimpan ke database MySQL, untuk itu diperlukannya
membuat database MySQL. Selain itu, log yang telah disimpan oleh banyard pada
database MySQL akan dibaca oleh mikrotik agar mikrotik dapat mengambil tindakan
terhadap log alert tersebut. Kode program 7 merupakan perintah untuk menjalankan
barnyard. Berikut merupakan penjelasan tentang Kode program 7, yaitu :- Barnyard2 : Flag
- c /etc/suricata/barnyard2.conf : menggunakan konfigurasi yang ada pada barnyard2.conf
-d /var/log/suricata : folder untuk mencari file output suricata
- f unified2.alert : nama file yang akan dicari di direktori di atas (unified2.alert.nnnnnnnnnn)
- w /var/log/suricata/barnyard2.waldo : lokasi file waldo (file bookmark)
- u suricata : menjalankan Barnyard2 sebagai pengguna berikut setelah startup
- g suricata : menjalankan Barnyard2 sebagai grup berikut setelah startup
Pada konfigurasi ips-mikrotik-suricata ada 5 file utama yang sangat diperlukan dalam konfigurasi tersebut, yaitu :
Config.php : berisikan konfigurasi login database dan Router
- Mikrotik-ips-daemon_db.php : merupakan file yang terhubung dengan MySQL database dan mendeteksi pola peringatan, lalu disimpan ke database untuk memblokirnya
- Mikrotik-ips-cron.php : merupakan file yang terhubung dengan mikrotik yang berfungsi untuk mengambil peringatan dan menambahkan alamat IP ke dalam daftar (ip firewall address-list) untuk memblokir IP tersebut.
- Mikrotik-ips-clean.php : file yang berfungsi untuk maintance dan clean database
Mikrotik-ips-install.php : file untuk instalasi dan konfigurasi
Ketika database MySQL dengan API Mikrotik RouterOS telah terkoneksi dengan menjalankan Kode program 9 maka akan keluar keterangan bahwa Connect OK untuk DB MySQL dan API Mikrotik RouterOS hal tersebut dibuktikan pada Gambar 7
Gambar 7 cek DB Connection dengan API Login Mikrotik juga membutuhkan software Trafr. Software Trafr berfungsi untuk
membaca traffic snifer berbasis Linux, selain itu untuk mengecek sniffer mikrotik dapat
menggunakan tcpdump. Tcpdump akan mengambil paket sniffer dari lalu lintas
mikrotik. Sehingga, ketika tcpdump tidak berhasil mendapatkan paket maka ada
kemungkinan bahwa ada yang salah dengan pengaturan mikrotik atau paket yang
disaring/diblokir.Cara kerja sistem suricata dan mikrotik dalam mengolah serangan yaitu awalnya
mikrotik akan bekerja untuk memirror packet yang akan masuk maupun keluar
jaringan, packet tersebut dimirrorkan ke alamat jaringan IDS eksternal yaitu
192.168.44.130, lalu suricata akan memeriksa packet yang telah dimirror dari mikrotik.
Setiap packet akan diperiksa berdasarkan rules yang ada pada suricata. Packet yang
mencurigakan maka akan disimpan pada file fast.log dan juga suricata akan membuat
binari, output binari tersebut akan diterjemahkan oleh barnyard. Ketika outputbarnyard telah berhasil menerjemahkan file output tersebut, maka akan disimpan
kedalam database MySQL dengan bantuan software ips-mikrotik-suricata dan juga
script php yang ada pada Kode program11 mikrotik akan mengambil log dari database
tersebut lalu melakukan tindakan terhadap serangan tersebut. Alur cara kerja sistem
dapat dilihat pada Gambar 8.Gambar 8 Cara Kerja Sistem Kode Program 14 Sricpt hasil dari suricata
1. 11/08/2017-10:27:18.962766 [**] [1:2010937:2] ET POLICY Suspicious inbound to
MySQL port 3300 [**] [Classification: Potentially Bad Traffic] [Priority: 2]{TCP} 192.168.45.1:45976-> 192.168.44.130:3306
2. 11/08/2017-10:27:18.977216 [**] [1:200290:2] ET SCAN Potential VCN Scan 5800-
5820 [**] [Classification: Attempted Information Leak] [Priority: 2] {TCP} 192.168.45.1:45976-> 192.168.44.130:5811
3. 11/08/2017-10:27:18.977114 [**] [1:2010935:2] ET POLICY Suspicious inbound to
MSSQL port 1433 [**] [Classification: Potentially Bad Traffic] [Priority: 2] {TCP} 192.168.45.1:45976-> 192.168.44.130:1433Pada Kode program 14 merupakan salah satu hasil capture yang ditangkap oleh
suricata ketika attacker sedang melakukan port scan. Output yang akan keluar ialah
kapan serangan itu terjadi, jam berapa, menampilkan alamat ip yang melakukan
serangan dan juga yang diserang, port yang digunakan oleh si penyerang, selain itu
juga akan menampilkan serangan apa yang digunakan. Pada Kode program 14
menunjukkan bahwa pada tanggal 08 November 2017 jam 10:27:18 adanya serangan
yang masuk ke MySQL berpotensi tergolong dalam bad traffic yang dilakukan oleh ip
192.168.45.1 menggunakan port 45976 kepada 192.168.44.130 dengan port 3306Gambar 9 Hasil dari Mikrotik
Ketika suricata telah berhasil menangkap log serangan yang dilakukan oleh attacker
, log tersebut akan disimpan pada database barnyard lalu mikrotik akan
mengambil log tersebut dengan bantuan ips-mikrotik-suricata dan juga dengan adanya
Kode program 11, sehingga pada sisi mikrotik bagian firewall - address list akan
muncul dengan ip 192.168.45.1, dan mikrotik akan melakukan tindakan blacklist
terhadap log tersebut, hal tersebut dibuktikan pada Gambar 9.5. Simpulan
Berdasarkan penelitian yang berjudul Integritas Suricata Intrusion Detection
System
(IDS) dengan Mikrotik Firewall untuk Keamanan Jaringan Fakultas Teknologi Informasi Universitas Kristen Satya Wacana dapat disimpulkan bahwa:
1. Penelitian ini menjelaskan bahwa desain untuk sistem keamanan jaringan membutuhkan konfigurasi dari firewall Demilitarized Zone (DMZ) dalam hal ini mikrotik bekerja untuk membuat semua paket yang akan masuk dan keluar jaringan harus melalui suricata, sehingga suricata akan memeriksa paket tersebut dan ketika ada paket yang termasuk dalam paket yang dicurigai oleh suricata,
firewall mikrotik akan mengambil alih untuk melakukan tindakan pada paket tersebut.
2. Suricata bekerja berdasarkan signature-base, setiap packet akan diperiksa berdasarkan rules yang ada pada suricata. Suricata akan mengeluarkan sebuah
output binari yang disebut unified.alert, output tersebut akan diterjemahkan oleh
barnyard lalu disimpan ke database, dengan adanya bantuan dari ips-mikrotik- suricata dan juga script php akan membantu mikrotik untuk mengambil log yang ada pada database barnyard, agar mikrotik dapat melakukan aksi pada log tersebut.
6. Daftar Pustaka
[1] Candra, S., Bayu, 2010. Analisis Penerapan Jaringan Keamanan Menggunakan
IDS dan Honeyport. Semarang: Jurusan Fakultas Ilmu Komputer Universitas Dian Nuswantoro. [2] Alamsyah, 2011. Implementasi Keamanan Instrusion Detection System (IDS) dan Instrusion Prevention System (IPS) menggunakan ClearOS. Palu : Jurusan
Teknik Elektro Universitas Tadulako, 9,223-229. [3] Kuswanto, D., 2014. Unjuk Kerja Intrusion Prevention System (IPS) berbasis
Suricata pada Jaringan Local Area Network Laboratorium TIA Teknik Informatika Universitas Trunojoyo. http://nero.trunojoyo.ac.id/index.php/nero/article/download/39/37, Diakses tanggal 13 Agustus 2017
[4] Tambunan, B., Raharjo, W. S., Purwadi, J., 2013. Desain dan Implementasi Honeypot dengan Fwsnort dan PSAD sebagai Intrusion Prevention System.Yogyakarta : Jurusan Fakultas Teknologi Informasi Universitas Kristen Duta Wacana.
[5] Nuryanto, A., Kusban, M., 2015. Analisis dan Implementasi Suricata, Snorby, dan Barnyard2 pada
VPS Ubuntu. http://eprints.ums.ac.id/36497/1/NASKAH%20PUBLIKASI.pdf, Diakses tanggal 13 Agustus 2017
[6] Alder, R., Babbin, J., Beale, J., Doxtater, A., Foster, J., Kohlenberg, T., Rash, M.
2004. Snort2.1 Intrusion Detection Second Edition. Rockland, MA:Sysngress Publishing, Inc. [7] Suricata, 2015. https://suricata-ids.org/. Diakses tanggal 13 Agustus 2017 . [8] Mikrotik, 2017. Miktrotik. http://www.mikrotik.co.id/, Diakses tanggal 13
Agustus 2017 [9] Memahami Jenis-jenis Yang ada dalam Mikrotik. 2015.
Firewall
https://www.thegeekslearn.com/memahami-jenis-jenis-firewall-yang-ada- dalam-mikrotik/, Diakses tanggal 14 November 2017. [10] Ubaidilah, Y., 2014. Analisis Performa Memori Server Menggunakan IDS Suricata. http://digilib.uin- suka.ac.id/13295/1/BAB%20I%2C%20IV%2C%20DAFTAR%20PUSTAKA.p df, Diakses tanggal 13 Agustus 2017 [11] Wikipedia, 2017. Sistem Deteksi Intrusi. https://id.wikipedia.org/wiki/Sistem_deteksi_intrusi, Diakses tanggal
13 Agustus 2017 [12] Wardani, K., Tanti, Riyanti, M., Mustika, Mahatma, C., Viddy. 2014. Aplikasi
Intrusion Detection System: Analisa dan Simulasi Software Suricata. Universitas Paradima Program Studi Teknik Informatika. [13] How to setup a Mikrotik RouterOS witf Suricata as IDS. https://robert.penz.name/849/howto-setup-a-mikrotik-routeros-with-suricata-as- ids/, Diakses tanggal 14 November 2017