LAPORAN PRAKTIKUM KEAMANAN JARINGAN SNOR

Nama
NRP
Kelas

: Muhammad Wahyu Ramadhan
: 2103141005
: 3 D3 IT A

LAPORAN PRAKTIKUM KEAMANAN
JARINGAN
A. TUJUAN PEMBELAJARAN
 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
normal dengan paket yang membawa serangan.

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 :

#apt-get install –y ethtool

2. Edit file interfaces dengan menggunkan perintah di bawah ini:
#nano /etc/network/interfaces

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 :

#apt-get iinstall -y build-essential

2. Install libpcap-dev libpcre3-dev libdumbnet-dev
Kita perlu menginstall beberapa library Snort pre-requisites
#apt-get iinstall -y libpcap-dev libpcre3-dev libdumbnet-dev


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
#apt-get iinstall -y bison flex

5. Men-download dan menginstal versi terbaru dari DAQ dari website Snort. Langkahlangkah 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
#tar -xvzf daq-2.0.6.tar.gz

#cd daq-2.0.6
#./configure
#make
#make install

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

#apt-get install -y zlib1g-dev liblzma-dev openssl libssl-dev

2. Men-download dan menginstal versi terbaru dari snort dari website Snort. Langkahlangkah 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
#tar -xvzf snort-2.9.8.3.tar.gz
#cd snort-2.9.8.3
#./configure --enable-sourcefire
#make
# make install

3. Jalankan perintah berikut untuk memperbarui shared library kemudian tempatkan symlink
ke biner Snort di / usr / sbin:

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:

Change Ownership on folders:

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
#nano /etc/snort/snort.conf


HOME NET harus sesuai jaringan internal Anda.

Edit beberapa data yang ada di snort.conf dengan perintah dibawah ini :
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules/iplists
var BLACK_LIST_PATH /etc/snort/rules/iplists

include $RULE_PATH/local.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.
#snort -T -i eth0 -c /etc/snort/snort.conf

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.
#nano /etc/snort/rules/local.rules

Tuliskan baris berikut ke dalam kosong berkas aturan lokal: /etc/snort/rules/local.rules:
alert icmp any any -> $HOME_NET any (msg:"ICMP test detected"; GID:1; sid:10000001; rev:001;
classtype:icmpevent;)

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/sidmsg.map:
#nano /etc/snort/sid-msg.map
1 || 10000001 || 001 || icmp-event || 0 || ICMP Test detected || url,tools.ietf.org/html/rfc792

3. Uji konfigurasi
Setelah membuat perubahan pada konfigurasi Snort, kita harus menguji file konfigurasi
lagi:
#snort -T -c /etc/snort/snort.conf -i eth0

4. Jalankan perintah berikut pada host snort untuk mengetahui bahwa snort berjalan sesuai

dengan peraturan yang kita buat
#snort -A console -q -u snort -g snort -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
#apt-get install -y mysql-server libmysqlclient-dev mysql-client autoconf libtool

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:
#nano /etc/snort/snort.conf

3. Men-download dan menginstal versi terbaru dari Barnyard dari website Snort. Langkahlangkah di bawah ini digunakan wget untuk mendownload Barnyard, yang merupakan


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
#sudo make install

6. Setelah Barnyard2 terinstal, langkah berikutnya adalah untuk menyalin dan membuat
beberapa file yang Barnyard2 membutuhkan untuk menjalankan:
#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
#chown snort.snort /var/log/snort/barnyard2.waldo

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)

# 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

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):
# nano /etc/snort/barnyard2.conf

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.
12. Jika berhasil, maka Anda akan mendapatkan output sebagai berikut, yang menunjukkan 14
peristiwa ditulis ke database dari permintaan ICMP dan membalas paket (ketika Anda ping
dari sistem windows, itu akan secara default mengirim 7 pesan ICMP.

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.2196.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
pada file pulledpork.pl pada direktori /usr/local/bin/.

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. Konfigurasi Pulledpork

Untuk melakukan konfigurasi PulledPork yaitu dengan cara mengubah isi dari file
/etc/snort/pulledpork.conf. Berikut ini adalah baris-baris yang diubah adalah sebagai
berikut:
rule_url=https://ww.snort.org/rules/|snortrules-snapshot.tar.gz|
rule_url=https://ww.snort.org/rules/|opensource.gz|
rule_path=/etc/snort/rules/snort.rules
local_rules=/etc/snort/rules/local.rules
sid_msg=/etc/snort/sid-msg.map
sid_msg_version=2
config_path=/etc/snort/snort.conf
distro=Debian-6-0
black_list=/etc/snort/rules/iplists/black_list_rules
IPRVersion=/etc/snort/rules/iplists

Setelah proses konfigurasi selesai, langkah berikutnya yaitu menjalankan perintah
#/usr/local/bin/pulledpork.pl -c /etc/snort/pulledpork.conf -l. Yang mana -l
digunakan untuk menulis detail log di /var/log. Dan untuk -c /etc/snort/snort.conf
digunakan untuk menunjukkan lokasi penyimpanan di PulledPork. Kemudian setelah
perintah tersebut dilakukan maka file pulledpork akan aktif dan melakukan update
rules yang akan diambil pada url yang telah dikonfigurasi pada file pulledpork.conf.

Tetapi dari melakukan perintah di atas, disini terdapat sebuah permasalahan atau error
dikarenakan gagalnya mengunduh rule yang akan diaktifkan pada PulledPork.