Persiapan Server Snort dan IPTables Firewall Instalasi dan konfigurasi Web server ACID BASE

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 : Universitas Sumatera Utara 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 . Universitas Sumatera Utara 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. Universitas Sumatera Utara 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. Universitas Sumatera Utara 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.orgdl . 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 etcsnortrules . File snort.conf memerlukan sedikit perubahan sesuai dengan kebutuhan jaringan. Hal ini dapat dilakukan dengan mengedit file etcsnortsnort.conf menggunakan text editor nano. nano etcsnortsnort.conf . ... Universitas Sumatera Utara var HOME_NET menjadi var HOME_NET 10.4.12.024 var EXTERNAL_NET menjadi var EXTERNAL_NET HOME_NET var RULE_PATH ..rules menjadi RULE_PATH etcsnortrules ... 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 etcsnortsnort.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 etcrc . local sehingga dapat langsung dijalankan setelah reboot. Untuk memastikan snort telah berjalan, dapat dilakukan dengan perintah berikut: ps aux | grep snort Universitas Sumatera Utara

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. Universitas Sumatera Utara

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 usrsharedocsnort . 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 etcsnortsnort.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 Universitas Sumatera Utara 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 wwwhtmlacid . Dalam hal ini digunakan text editor nano untuk mengubah file konfigurasi tersebut. Berikut ini variabel yang perlu diubah : sudo nano wwwhtmlacidacid.conf -- edit: DBlib_path = “varwwwhtmladodb”; 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 = “varwwwhtmljpgraph-1.14.src”; Kemudian pada web browser buka laman “ http:localhostacidacid_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. Universitas Sumatera Utara 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 : Gambar 3.4 ACID digunakan untuk menganalisa event berbasiskan web Universitas Sumatera Utara

3.4 Instalasi Webmin