Nama : Muhammad Wahyu Ramadhan
Mengenalkan pada mahasiswa tentang konsep Intrusion Detection System.
Mahasiswa mampu melakukan installasi dan konfigurasi SNORT sebagai tools IDS.
Mahasiswa mampu membangun rule baru untuk mendeteksi eksploit terbaru.
B. DASAR TEORI
Deteksi penyusupan adalah aktivitas untuk mendeteksi penyusupan secara cepat dengan
menggunakan program khusus yang otomatis. Program yang dipergunakan biasanya
disebut sebagai Intrusion Detection System (IDS).
Tipe dasar dari IDS adalah:
Rule-based systems - berdasarkan atas database dari tanda penyusupan atau
serangan yang telah dikenal. Jika IDS mencatat lalulintas yang sesuai dengan
database yang ada, maka langsung dikategorikan sebagai penyusupan.
Adaptive systems - mempergunakan metode yang lebih canggih. Tidak hanya
berdasarkan database yang ada, tapi juga membuka kemungkinan untuk mendeteksi
terhadap bentuk bentuk penyusupan yang baru.
Bentuk yang sering dipergunakan untuk komputer secara umum adalah rule-based
systems.
Pendekatan yang dipergunakan dalam rule-based systems ada dua, yakni pendekatan
pencegahan (preemptory) dan pendekatan reaksi (reactionary). Perbedaannya hanya
masalah waktu saja. Pendekatan pencegahan, program pendeteksi penyusupan akan
memperhatikan semua lalu lintas jaringan. Jika ditemukan paket yang mencurigakan,
maka program akan melakukan tindakan yang perlu. Pendekatan reaksi, program
pendeteksi penyusupan hanya mengamati file log. Jika ditemukan paket yang
mencurigakan, program juga akan melakukan tindakan yang perlu.
Snort
Mengoperasikan Snort
Tiga (3) buah mode, yaitu
1. Sniffer mode, untuk melihat paket yang lewat di jaringan.
2. Packet logger mode, untuk mencatat semua paket yang lewat di jaringan untuk di
analisa di kemudian hari.
3. Intrusion Detection mode, pada mode ini snort akan berfungsi untuk mendeteksi
serangan yang dilakukan melalui jaringan komputer. Untuk menggunakan mode IDS
ini di perlukan setup dari berbagai rules / aturan yang akan membedakan sebuah paket
Sniffer Mode
Untuk menjalankan snort pada sniffer mode tidaklah sukar, beberapa 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.
-e, untuk melihat header link layer paket seperti ethernet header.
Packet Logger Mode
Tentunya cukup melelahkan untuk melihat paket yang lewat sedemikian cepat di layar
terutama jika kita menggunakan ethernet berkecepatan 100Mbps, layar anda akan
scrolling dengan cepat sekali susah untuk melihat paket yang di inginkan. Cara paling
sederhana untuk mengatasi hal ini adalah menyimpan dulu semua paket yang lewat ke
sebuah file untuk di lihat kemudian, sambil santai … Beberapa perintah yang mungkin
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
yang menentukan bahwa paket yang lewat akan di log / di catat ke file ./log. Beberapa
perintah tambahan dapat digunakan seperti
–
h 192.168.0.0/24 yang menunjukan bahwa
yang di catat hanya packet dari host mana saja, dan
–
b yang memberitahukan agar file yang
di log dalam format binary, bukan ASCII.
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
C.
LANGKAH PERCOBAAN
1. Install ethtool
Kita perlu menginstall beberapa library yang nantinya akan digunakan untuk menonaktifkan LRO dan GRO pada interface Snort :
2. Edit file interfaces dengan menggunkan perintah di bawah ini:
3. Untuk pengecheck kan apakah LRO dan GRO sudah keeadaan off
Installing the Snort Pre-Requisites
1. Install build-essential
Kita perlu menginstall beberapa library yang nantinya akan digunakan untuk membangun software :
2. Install libpcap-dev libpcre3-dev libdumbnet-dev
Kita perlu menginstall beberapa library Snort pre-requisites
3. Buat folder bernama snort_src untuk menjadikan semua file dalam satu tempat
4. Install bison flex
Snort DAQ memiliki beberapa prasyarat yang harus diinstal yaitu bison flex
5. Men-download dan menginstal versi terbaru dari DAQ dari website Snort. Langkah-langkah di bawah ini digunakan wget untuk mendownload versi 2.0.6 dari DAQ, yang merupakan versi terbaru pada saat menulis panduan ini.
Extrak file daq-2.0.6.tar.gz
#apt-get iinstall -y build-essential
#apt-get iinstall -y libpcap-dev libpcre3-dev libdumbnet-dev
#apt-get iinstall -y bison flex
Installing Snort
1. Install zlib1g-dev liblzma-dev openssl libssl-dev
Kita perlu menginstall beberapa library yang nantinya akan digunakan untuk dekompresi file swf (adobe flash), openssl, dan libssl-dev yang baik memberikan SHA dan file MD5
#cd daq-2.0.6 #./configure #make #make install
2. Men-download dan menginstal versi terbaru dari snort dari website Snort. Langkah-langkah di bawah ini digunakan wget untuk mendownload versi 2.9.8.3 dari Snort, yang merupakan versi terbaru pada saat menulis panduan ini.
Extrak file snort-2.9.8.3.tar.gz
3. Jalankan perintah berikut untuk memperbarui shared library kemudian tempatkan symlink ke biner Snort di / usr / sbin:
#tar -xvzf snort-2.9.8.3.tar.gz #cd snort-2.9.8.3
#./configure --enable-sourcefire #make
4. Uji Snort
Configuring Snort to Run in NIDS Mode
1. Karena kita tidak ingin Snort untuk dijalankan sebagai root, kita perlu membuat account tidak memiliki hak istimewa dan kelompok untuk daemon untuk berjalan di bawah. Kami juga akan membuat sejumlah file dan direktori yang dibutuhkan oleh Snort, dan mengatur hak akses pada file-file. Snort akan memiliki direktori berikut: Konfigurasi dan file aturan di / etc / snort Alerts akan ditulis ke / var / log / snort aturan Disusun akan disimpan dalam / usr / local / lib / snort dynamicrules.
Create the snort user and group:
Create the Snort directories:
Create some files that stores rules and ip lists:
Create our logging directories:
Adjust permissions:
2. Untuk menyalin file konfigurasi dan dynamic preprocessors s, jalankan perintah berikut:
3. Edit snort.conf
edit file snort.conf pada /etc/snort/snort.conf
HOME NET harus sesuai jaringan internal Anda.
Edit beberapa data yang ada di snort.conf dengan perintah dibawah ini :
#nano /etc/snort/snort.conf
var RULE_PATH /etc/snort/rules var SO_RULE_PATH /etc/snort/so_rules
4. Verifikasi snort
Setelah file konfigurasi siap, kita akan memiliki Snort memverifikasi bahwa itu adalah file yang valid, dan semua file yang diperlukan itu referensi yang benar.
include $RULE_PATH/local.rules
Writing a Simple Rule to Test Snort Detection
1. Untuk menguji kemampuan deteksi Snort, mari kita membuat aturan sederhana yang akan menyebabkan Snort untuk menghasilkan peringatan setiap kali Snort melihat sebuah pesan "permintaan Echo" ICMP atau "Echo balasan", yang mudah yaitu menghasilkan dengan ping.
Tuliskan baris berikut ke dalam kosong berkas aturan lokal: /etc/snort/rules/local.rules:
2. Untuk memastikan bahwa barnyard2 tahu bahwa aturan kita buat dengan identifier unik 10.000.001 memiliki pesan "ICMP Uji Terdeteksi", serta beberapa informasi lain (lihat posting blog ini untuk informasi lebih lanjut). Tambahkan baris berikut ke file /etc/snort/sid-msg.map:
3. Uji konfigurasi
Setelah membuat perubahan pada konfigurasi Snort, kita harus menguji file konfigurasi lagi:
4. Jalankan perintah berikut pada host snort untuk mengetahui bahwa snort berjalan sesuai dengan peraturan yang kita buat
#nano /etc/snort/rules/local.rules
alert icmp any any -> $HOME_NET any (msg:"ICMP test detected"; GID:1; sid:10000001; rev:001; classtype:icmpevent;)
#nano /etc/snort/sid-msg.map
1 || 10000001 || 001 || icmp-event || 0 || ICMP Test detected || url,tools.ietf.org/html/rfc792
#snort -T -c /etc/snort/snort.conf -i eth0
Dari komputer lain, ping alamat IP dari eth0 pada komputer Snort, dan Anda akan melihat konsol keluaran mirip dengan apa yang ditampilkan di bawah ini
Installing Barnyard2
1. Install Barnyard2
Kita perlu menginstall beberapa library yang nantinya akan digunakan untuk disimpan dalam database MySQL sehingga kita bisa melihat, pencarian, dan profil peristiwa. Untuk efisien mendapatkan acara Snort ke dalam database MySQL, kita menggunakan Barnyard2
2. Edit snort.conf
Pertama kita perlu memberitahu bahwa Output alert dalam format biner yang Barnyard2 dapat memproses. Untuk melakukan itu, edit file /etc/snort/snort.conf, tambahkan baris berikut:
3. Men-download dan menginstal versi terbaru dari Barnyard dari website Snort. Langkah-langkah di bawah ini digunakan wget untuk mendownload Barnyard, yang merupakan
#apt-get install -y mysql-server libmysqlclient-dev mysql-client autoconf libtool
versi terbaru pada saat menulis panduan ini. Kemudian Extrak file yang terlah di download
4. Barnyard2 membutuhkan akses ke perpustakaan dnet.h, yang kita dipasang dengan libdumbnet paket Ubuntu sebelumnya. Namun, Barnyard2 mengharapkan nama file yang berbeda untuk perpustakaan ini. Membuat link lunak dari dnet.h ke dubmnet.h sehingga tidak ada masalah.
5. Sekarang lengkap membangun dan menginstal Barnyard2 ke / usr / local / bin / barnyard2:
#cd /usr/local/bin/barnyard2-2-1.14-336
# ./reconfigure -- with-mysql --with-mysql-libraries=/usr/lib/x86_64-linux-gnu #make
6. Setelah Barnyard2 terinstal, langkah berikutnya adalah untuk menyalin dan membuat beberapa file yang Barnyard2 membutuhkan untuk menjalankan:
7. Membuat Database
Barnyard2 menyimpan peringatan ke database MySQL kita, kita perlu untuk membuat database, serta '' MySQL user untuk mengakses database tersebut. Jalankan perintah berikut untuk membuat database dan MySQL user. Ketika diminta untuk password, gunakan MySqlROOTpassword. Anda juga akan menetapkan MySQL sandi pengguna dalam perintah mysql keempat (untuk MySqlSNORTpassword)
#cd /snort_src/barnyard2-2-1.14-336 # cp etc/barnyard2.conf /etc/snort #mkdir /var/log/barnyard2
#chown snort.snort /var/log/barnyard2 #touch /var/log/snort/barnyard2.waldo
8. Edit barnyard2.conf
Kita perlu memberitahu Barnyard2 bagaimana menghubungkan ke database MySQL. Mengedit /etc/snort/barnyard2.conf, dan pada akhir file tambahkan baris ini (mengubah password dengan yang Anda buat di atas):
# mysql -u root -p
mysql> create database snort; mysql> use snort;
mysql> source ~/snort_src/barnyard2-2-1.14-336/schemas/create_mysql
mysql> CREATE USER ‘snort’@’localhost’ IDENTIFIED BY ‘MySqlSNORTpassword’; mysql> grant create, insert, select, delete, update on snort.* to ‘snort’@’localhost’; mysql> exit
9. Setelah password disimpan dalam format teks dalam file barnyard2.conf, kita harus mencegah pengguna lain dari membaca itu:
Snort biasanya akan dijalankan ketika kita memasangnya sebagai daemon, kecuali kita tidak menggunakan bendera -D yang menyebabkan untuk menjalankan sebagai daemon).
10. Anda akan melihat file baru di / var / log / direktori dengan nama sebagai berikut:. snort.u2.xxx (nomor akan berbeda karena mereka didasarkan pada waktu saat snort.log.xxx adalah file output yang kita dibuat ketika kami pertama kali diuji Snort Anda dapat menghapus file yang jika Anda ingin:
11. Barnyard2 akan memulai (bersabar, dapat mengambil beberapa waktu), dan kemudian akan memproses alert dalam file /var/log/snort/snort.u2.nnnnnnnnnn, menulis mereka untuk kedua layar dan database, dan kemudian menunggu lebih acara untuk tampil di / var / log / snort direktori. menggunakan Ctrl-c untuk menghentikan proses. Ketika Barnyard2 sedang memproses peristiwa.
Install PulledPork pre-requisites
Sebelum melakukan installasi PulledPork, kita perlu men-install beberapa
library
yang nantinya akan digunakan untuk menjalankan PulledPork. Library yang diambil
adalah libcrypt-ssleay-perl dan liblwp-useragent-determined-perl.
4.
Install dan konfigurasi PulledPork
Melakukan installasi PulledPork dengan cara mengunduh secara manual di
https://github.com/finchy/pulledpork/archive/8b9441aeeb7e1477e5be415f27dbc4eb
25dd9d59.tar.gz
melalui Host OS dan mengubah namanya menjadi
pulledpork-0.7.2-196.tar.gz. Kemudian Guest OS 1 (10.252.108.198) melakukan ssh ke Host OS
(10.252.108.159) untuk mengambil file tadi yang telah diunduh dengan
menggunakan scp. Setelah itu, mengekstrak file tersebut dengan perintah #tar xvfvz
pulledpork-0.7.2-196 dan memindahkannya ke dalam folder yang bernama
pulledpork-0.7.2-196. Hal tersebut dilakukan seperti gambar dibawah ini:
Kemudian dilakukan konfigurasi dengan melakukan men-copy file pulledpork.pl dan
semua file yang memiliki type file “*.conf*” dan juga menambahkan hak akses file
Lalu dilakukan pengecekan aplikasi PulledPork untuk memastikan palikasi tersebut
berjalan
atau
tidak
yang
dapat
dilakukan
dengan
perintah
#:/usr/local/bin/pulledpork.pl
–
V.
Jika installasi berhasil maka output yang dihasilkan
adalah sebagai berikut:
5.