• Tidak ada hasil yang ditemukan

Laporan Resmi Praktikum Snort

N/A
N/A
Protected

Academic year: 2021

Membagikan "Laporan Resmi Praktikum Snort"

Copied!
18
0
0

Teks penuh

(1)

Laporan Resmi Praktikum Snort

Definisi Snort

Snort merupakan sebuah aplikasi ataupun software yang bersifat opensource GNU General Public License [GNU89]. Sehingga boleh digunakan dengan bebas secara gratis, dan kode sumber (source code) untuk snort juga bisa didapatkan dan dimodifikasi sendiri.

Snort dikembangkan oleh Marty Roesch, bisa dilihat pada (www.sourcefire.com). Awalnya dikembangkan diakhir 1998-1n sebagai sniffer dengan konsistensi output.

Snort adalah sebuah software ringkas yang sangat berguna untuk mengamati aktifitas dalam suatu jaringan komputer. Snort dapat digunakan sebagai suatu Network Intrusion detection system (NIDS) yang berskala ringan (lighweight), dan software ini menggunakan sistem peraturan-peraturan (rule system) yang relatif mudah dipelajari untuk melakukan deteksi dan pencatatan (logging) terhadap berbagai macam serangan jaringan komputer.

Snort sendiri merupakan software yang masih berbasis command-line, sehingga cukup merepotkan bagi pengguna yang sudah terbiasa dalam lingkungan Graphical User Interface (GUI). Oleh karena itu, ada beberapa software pihak ketiga yang memberikan GUI untuk snort, Misalnya IDScenter untuk microsoft windows, dan Acid yang berbasis PHP sehingga bisa diakses melalui web browser.

Percobaan Instalasi Snort

Topologi yang digunakan

.2 192.168.127.0/24 *kelompok I Guest OS 1 Guest OS 2 Bridge eth0 eth1 eth0

Host Only Network Guest

OS 2

Guest OS 1

(2)

Mengacu pada modul “JICA TRAINING Network Security Monitoring System of MATA GARUDA”, praktikum di mulai dari Chapter 1 subbab 2. Installing the Snort Pre-Requisites. 2. Installing the Snort Pre-Requisites

Step 2.1 : Build essentials package

First we want to install all the tools required for building software. The build-essentials package does this for us:

Step 2.2 : Create a folder

Dalam panduan ini, kita akan mendownload sejumlah tarbals untuk berbagai paket perangkat lunak. kemudian membuat folder bernama snort_ src untuk menyimpan semua data di satu tempat:

:~# mkdir snort_src

Step 2.3 : Data AcQuisition library

Snort DAQ (Library Data AcQuisition) memiliki beberapa prasyarat yang perlu dipasang

Step 2.4 : Download and Install DAQ

Download dan instal versi DAQ terbaru dari situs web Snort. Langkah di bawah ini menggunakan wget untuk mendownload versi 2.0.6 dari DAQ, yang merupakan versi terbaru pada saat ini

(3)

:~/snort_src# wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

:~/snort_src# tar -xvzf daq-2.0.6.tar.gz :~/snort_src# cd daq-2.0.6

:~/snort_src/daq-2.0.6# ./configure

:~/snort_src/daq-2.0.6# ./configure && make && make install :~/snort_src/daq-2.0.6# cd

3. Installing Snort

Untuk menginstal Snort di Ubuntu, ada satu syarat tambahan yang dibutuhkan tambahan yang perlu diinstal yang tidak disebutkan dalam dokumentasi: zlibg yang merupakan library kompresi.

Step 3.1 : Libraries

Ada tiga perpustakaan opsional yang meningkatkan fuctionality: liblzma-dev yang menyediakan dekompresi file swf (adobe flash), openssl, dan libssl-dev yang keduanya menyediakan file SHA dan MD5 signature:

Step 3.2 : Download snort

We are now ready to download the Snort source tarball, compile, and then install. The

--enable-sourcefire option gives Packet Performance Monitoring (PPM)[2][3], which lets us do performance monitoring for rules and pre-processors, and builds Snort the same way that the Snort team does:

:~# ldconfig :~# cd snort_src/

:~/snort_src# wget https://snort.org/downloads/snort/snort-2.9.8.3.tar.gz :~/snort_src# tar -xvzf snort-2.9.8.3.tar.gz

:~/snort_src# cd snort-2.9.8.3/

:~/snort_src/snort-2.9.8.3# ./configure --enable-sourcefire && make && make install

:~/snort_src/snort-2.9.8.3# cd

Step 3.3 : Updata Shared Libraries

Jalankan perintah berikut untuk memperbarui shared library (Anda akan mendapatkan error saat Anda mencoba menjalankan Snort jika Anda melewatkan langkah ini):

(4)

:~# ln -s /usr/local/bin/snort /usr/sbin/snort

Step 3.4 : Snort Version

Uji Snort dengan menjalankan binary sebagai pengguna biasa, snort -V (yang memberitahu Snort untuk memverifikasi dirinya sendiri dan semua file konfigurasi dilewatkan padanya). Anda harus melihat output yang serupa dengan yang ditunjukkan di bawah ini (walaupun nomor versi yang tepat mungkin sedikit berbeda):

4. Configuring Snort to Run in NIDS Mode

Karena kita tidak ingin Snort berjalan sebagai root, kita perlu membuat akun dan kelompok yang tidak berpengharapan untuk daemon yang dijalankannya

Step 4.1 : Create the snort user and group

Kami juga akan membuat sejumlah file dan direktori yang dibutuhkan oleh Snort, dan mengatur hak akses pada file-file tersebut. Snort akan memiliki direktori berikut: File konfigurasi dan aturan di / etc / snort Alerts akan ditulis ke / var / log / snort Aturan yang dikompilasi (.so rules) akan disimpan di / usr / local / lib / snort dynamicrules

!!! # Create the snort user and group:

!!! # Create the Snort directories:

(5)

!!! # Create our logging directories:

!!! # Adjust permissions:

Step 4.2 : Change ownership on folders

Kami ingin mengubah kepemilikan file yang kami buat di atas juga untuk memastikan bahwa Snort dapat mengakses file yang digunakannya:

!!! # Change Ownership on folders:

Snort membutuhkan beberapa file konfigurasi dan preprocessors dinamis yang disalin dari tarball sumber Snort ke folder / etc / snort.

File konfigurasi adalah:  classification.config  file magic.conf  reference.config  snort.conf  threshold.conf  attribute table.dtd  gen-msg.map  unicode.map

Step 4.3 : Configuration files and the dynamic preprocessors

Untuk menyalin file konfigurasi dan preprocessors dinamis, jalankan perintah berikut ini:

(6)

Snort binary file: /usr/local/bin/snort Snort configuration file: /etc/snort/snort.conf Snort log data directory: /var/log/snort

Snort rules directories: /etc/snort/rules /etc/snort/so rules /etc/snort/preproc rules

/usr/local/lib/snort dynamicrules Snort IP list directories: /etc/snort/rules/iplists

Snort dynamic preprocessors: /usr/local/lib/snort dynamicpreprocessor/

Step 4.4 : Edit Snort’s main configuration

Sekarang kita perlu mengedit file konfigurasi utama Snort, /etc/snort/snort.conf. Saat kita menjalankan Snort dengan file ini sebagai argumen, ia mengatakan bahwa Snort akan berjalan dalam mode NIDS.

Kami perlu memberi komentar semua file aturan individual yang dirujuk dalam file konfigurasi Snort, karena alih-alih mendownload setiap file secara terpisah, kami akan menggunakan PulledPork untuk mengelola rulesets kami, yang menggabungkan semua peraturan ke dalam satu file. Baris berikut akan memberi komentar semua rulesets di file snort.conf:

:~# sed -i "s/include \$RULE\_PATH/#include \$RULE\_PATH/" /etc/snort/snort.conf

Step 4.5 : Change some setting in the snort

Sekarang kita akan secara manual mengubah beberapa pengaturan di file snort.conf, menggunakan editor favorit Anda:

Change the following lines to meet your environment:

Line 45, HOME_NET should match your internal (friendly) network. In the below example our HOME _NET is 192.168.x.0 with a 24-bit subnet mask (255.255.255.0)

Catatan: Anda seharusnya tidak mengatur EXTERNAL_NET ke $ HOME_NET seperti yang direkomendasikan di beberapa panduan, karena dapat menyebabkan Snort untuk melewatkan lansiran.

Catatan: sangat penting bahwa HOME _NET Anda cocok dengan subnet IP dari antarmuka yang Anda inginkan agar Snort dengarkan. Silakan gunakan ifconfig eth0 | Grep "inet add" untuk memastikan Anda memiliki alamat dan set mask yang tepat.

(7)

Set the following file paths in snort.conf, beginning at line 104: :~# nano -c /etc/snort/snort.conf

Step 4.7 : Testing Snort

In order to make testing Snort easy, we want to enable the local.rules file, where we can add rules that Snort can alert on. Un-comment (remove the hash symbol) from line 546 so it looks like this:

:~# nano -c /etc/snort/snort.conf

Setelah file konfigurasi siap, kita akan meminta Snort memverifikasi bahwa itu adalah file yang valid, dan semua file yang diperlukan yang referensi benar. Kami menggunakan flag -T untuk menguji file konfigurasi, flag -c untuk memberi tahu Snort file konfigurasi mana yang akan digunakan, dan -i untuk menentukan antarmuka yang akan didengarkan Snort (ini adalah persyaratan baru untuk 2.9.8.x Versi snort).

Step 4.8 : Run Snort

Run snort -T -c /etc/snort/snort.conf -i eth0. Run this command as shown below and look for the following output (only the last few lines of the output are shown for clarity):

:~# snort -T -i eth0 -c /etc/snort/snort.conf (...)

Snort successfully validated the configuration! Snort exiting

(8)

Nama interface telah berubah, dan spesifik sistem (tidak lagi terdaftar sebagai ethN). Pada perintah di atas, Anda perlu mengganti eth0 dengan nama antarmuka Anda, seperti yang ditunjukkan dengan perintah ifconfig (dalam kasus saya ini adalah ens160).

Sebaiknya gulir ke atas melalui keluaran dari perintah ini untuk merasakan apa yang sedang dimuat oleh Snort. Banyak hal itu tidak masuk akal saat ini, tapi akan semakin jelas saat Anda bekerja lebih banyak dengan Snort. Cari kesalahan dan peringatan yang tercantum.

5. Writing a Simple Rule to Test Snort Detection

Pada tahap ini, Snort tidak memiliki aturan yang dimuat (file aturan kami yang dirujuk dalam snort.conf kosong). Anda dapat memverifikasi bahwa Snort belum memasukkan peraturan apapun jika Anda menggulir ke atas melalui keluaran dari perintah sebelumnya. Untuk menguji kemampuan deteksi Snort, mari buat aturan sederhana yang akan menyebabkan Snort menghasilkan peringatan setiap kali Snort melihat pesan ICMP "Echo request" atau "Echo reply", yang mudah dibuat dengan utilitas ping di mana-mana (ini mempermudah Pengujian aturan).

Step 5.1 : Alert icmp

Paste the following single line into the empty local rules file:

/etc/snort/rules/local.rules:

:~# cd /etc/snort/rules/

(9)

Step 5.2 : Alert ICMP

Untuk memastikan bahwa barnyard2 tahu bahwa aturan yang kami buat dengan pengenal unik 10000001 memiliki pesan "ICMP Test Detected", serta beberapa informasi lainnya. Kami menambahkan baris berikut ke

/etc/snort/sid-msg.map file:

Bila Anda tidak mengomentari baris 545 di atas (sertakan $ RULE_PATH / local.rules) Anda memberi tahu Snort bahwa file local.rules harus dimuat oleh Snort. Ketika Snort memuat file itu saat start-up, ia akan melihat aturan yang Anda buat, dan menggunakan aturan itu pada semua lalu lintas yang dilihat oleh antarmuka. Dalam kasus ini, ketika kami membuat peraturan, kami memberi tahu Snort bahwa seharusnya menghasilkan peringatan saat melihat ping ICMP.

Step 5.3 : changes to the Snort configuration

Karena kami membuat perubahan pada konfigurasi Snort, kami harus menguji file konfigurasi lagi:

:~/etc/snort# cd

(10)

Step 5.4 : NIDS Mode

Sekarang kita tahu bahwa Snort benar-benar menerapkan peraturan dan konfigurasi kita, kita bisa mulai mendengus dalam mode NIDS, dan memberitahukannya untuk mengeluarkan peringatan apa pun ke konsol. Kami akan menjalankan Snort dari command line, dengan menggunakan flag berikut:

-A console The ‘console’ option prints fast mode alerts to stdout -q Quiet mode. Don’t show banner and status report. -u snort Run Snort as the following user after startup -g snort Run Snort as the following group after startup -c /etc/snort/snort.conf The path to our snort.conf file

-i eth0 The interface to listen on (change to your interface if different)

:~# /usr/local/bin/snort –A console -q -u snort -g snort –c /etc/snort/snort.conf -i eth0

Ketika Anda menjalankan baris ini, Anda tidak akan melihat output apa pun, namun Snort sedang berjalan, memproses semua paket yang sampai pada et0 (atau antarmuka mana pun yang Anda tentukan dengan flag -i), membandingkannya dengan aturan yang telah dimuatnya (dalam hal ini Kasus aturan ICMP Ping tunggal kami), dan kemudian akan mencetak semua peringatan yang dihasilkan saat sebuah paket sesuai dengan peraturan kami ke konsol.

Step 5.5 : Ping

Dari komputer lain, ping alamat IP eth0 di komputer Snort (atau ganti ping dari host Snort ke komputer lain, atau eth0 sendiri, tapi bukan antarmuka loopback), dan Anda akan melihat output konsol serupa dengan apa yang ditampilkan di bawah ini. (Pada contoh di bawah ini, server Snort mendengarkan eth0 dengan dan alamat IP 10.0.0.105, dan komputer yang menghasilkan ping adalah 10.0.0.59).

6. Installing Barnyard2

Ini adalah sumber yang intensif bagi Snort untuk menulis acara dalam mode yang dapat dibaca manusia, baik ke konsol maupun file teks, seperti yang dilakukan di atas. Idealnya, kami ingin acara Snort disimpan dalam database MySQL sehingga kami dapat melihat, mencari, dan profil acara. Untuk mendapatkan kejadian Snort secara efisien ke dalam database MySQL, kami menggunakan Barnyard2.

Step 6.1 : Installing MySQL

Kami akan mengkonfigurasi Snort untuk menampilkan acara dalam bentuk biner ke folder, dan kemudian membuat Barnyard2 membaca kejadian tersebut secara asinkron dan memasukkannya ke basis data MySQL kami.

(11)

Instalasi MySQL, kita akan menggunakan apt dengan mysql repository. Pertama, tambahkan sumber repositori mysql untuk mendapatkan versi MySQL terbaru.

:~# wget http://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb

:~# dpkg -i mysql-apt-config_0.7.3-1_all.deb

When adding source repository, It's necessary to set the MySQL version that will be installed and some other options.

You need to update to make adjustment to the new file apt source. :~# apt-get update

Memasuki tahap instalasi, Selain menginstal mysql-server kita juga membutuhkan beberapa library yang berguna untuk mysql.

:~# apt-get install -y mysql-server libmysqlclient-dev mysql-client autoconf libtool

(12)

Instalasi akan meminta Anda untuk membuat password root mysql user. Untuk contoh di bawah ini, kita akan menggunakan password jarkom123. Anda harus memilih sesuatu yang berbeda dan lebih aman, dan menyimpannya dengan aman. Kami juga akan membuat akun pengguna MySQL, dan kata sandi untuk akun itu adalah kata sandi jarkom123, perhatikan perbedaan antara dua kata kunci ini.

Step 6.2 : output unified2

Kita perlu memberitahu mendengus bahwa itu harus mengeluarkan peringatan itu dalam format biner (ke file) yang dapat diproses oleh Barnyard2. Untuk melakukannya, edit file /etc/snort/snort.conf, dan setelah baris 521 (baris komentar dimulai dengan tanda hash) tambahkan baris berikut:

:~# cd /etc/snort/

:~/etc/snort# nano -c snort.conf

Catatan pada Versi Barnyard2: Pada perintah di bawah ini, kami akan mendownload cuplikan spesifik dari Barnyard2 dari github: Barnyard2 versi 2.1.14 dengan komit mulai 21 Oktober 2015 (ini adalah versi terbaru saat ini). Saya memilih untuk tidak menggunakan rilis stabil terbaru: 2.1.13 karena beberapa patch telah ditambahkan setelah rilis yang penting, dan saya memilih untuk tidak menggunakan rilis Head, karena itu akan berubah setelah rilis panduan ini, dan saya menang Sudah bisa mengujinya. Jika Anda mau, Anda bisa (dan mungkin akan menginginkannya) untuk menggunakan rilis Barnyard2 saat ini, namun jika Anda memiliki masalah, Anda dapat selalu kembali dan menggunakan versi yang telah saya gunakan di bawah yang telah saya verifikasi akan bekerja dengan yang lain. Potongan perangkat lunak dalam panduan ini

(13)

Step 6.3 : Download and install Barnyard2

Now download and install Barnyard2 2.1.14 release 336: :~#cd snort_src/

:~/snort_src# wget

https://github.com/firnsy/barnyard2/archive/7254c24702392288fe6be948f88afb7404 0f6dc9.tar.gz \-O barnyard2-2-1.14-336.tar.gz

:~/snort_src# tar -zxvf barnyard2-2-1.14-336.tar.gz

:~/snort_src# mv 7254c24702392288fe6be948f88afb74040f6dc9 barnyard2-2-1.14-336

:~/snort_src# cd barnyard2-2-1.14-336

:~/snort_src/barnyard2-2-1.14-336# autoreconf -fvi -I ./m4

Step 6.4 : Library

Barnyard2 needs access to the dnet.h library. However, Barnyard2 expects a different file name for this library. Create a soft link from dnet.h to dubmnet.h so there are no issues:

:~/snort_src/barnyard2-2-1.14-336# ln -s /usr/include/dumbnet.h /usr/include/dnet.h

:~/snort_src/barnyard2-2-1.14-336# ldconfig

Step 6.5 : Configure MySQL

Bergantung pada versi OS Anda (x86 atau x86 64), Anda perlu mengarahkan install ke perpustakaan MySQL yang benar. Jalankan salah satu dari dua baris berikut untuk mengkonfigurasi proses pembuatan, tergantung pada arsitektur Anda (jika Anda tidak yakin dengan arsitektur yang Anda jalankan, gunakan perintah uname -m:

:~/snort_src/barnyard2-2-1.14-336# arch

:~/snort_src/barnyard2-2-1.14-336# ./configure --with-mysql --with-mysql-libraries=/usr/lib/i386-linux-gnu

(14)

Step 6.6 : Install Barnyard2

Now complete the build and install Barnyard2 to /usr/local/bin/barnyard2: :~/snort_src/barnyard2-2-1.14-336# make

(15)

CATATAN: Jika Anda mendapatkan kesalahan dnet.h pada tahap pembuatan, Anda mungkin perlu memberi tahu sistem tempat file dnet.h berada. Jalankan perintah berikut sebelum menjalankan make lagi (ini kadang-kadang dilaporkan sebagai masalah):

Step 6.7 : copy and create some files

Once Barnyard2 is installed, the next step is to copy and create some files that Barnyard2 requires to run:

:~/snort_src/barnyard2-2-1.14-336# cp etc/barnyard2.conf /etc/snort !!# the /var/log/barnyard2 folder is never used or referenced !!# but barnyard2 will error without it existing

:~/snort_src/barnyard2-2-1.14-336# mkdir /var/log/barnyard2

:~/snort_src/barnyard2-2-1.14-336# chown snort.snort /var/log/barnyard2 :~/snort_src/barnyard2-2-1.14-336# touch /var/log/snort/barnyard2.waldo :~/snort_src/barnyard2-2-1.14-336# chown snort.snort

/var/log/snort/barnyard2.waldo

(16)

Step 6.8 : Create database

Karena Barnyard2 menyimpan alert ke database MySQL kita, kita perlu membuat database itu, dan juga 'snort' pengguna MySQL untuk mengakses database itu. Jalankan perintah berikut untuk membuat database dan pengguna MySQL. Saat diminta memasukkan kata sandi, gunakan 'jarkom123'. Anda juga akan mengatur password pengguna MySQL snort di perintah mysql keempat, jadi ubah juga di sana.

:~# 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' IDENTIFIED BY 'jarkom123';

mysql> grant create, insert, select, delete, update on snort.* to snort; mysql> exit

(17)

Step 6.9 : connect to the MySQL database

We need to tell Barnyard2 how to connect to the MySQL database.

Edit /etc/snort/barnyard2.conf, and at the end of the file add this line (changing password to the one you created above): Line 71, 75 and 348

:~# cd /etc/snort

:~/etc/snort# nano -c barnyard2.conf

Connect to MySQL DB Step 6.10 : Change Permission

Karena kata sandi disimpan dalam teks mentah di file barnyard2.conf, kita harus mencegah pengguna lain membacanya:

:~/etc/snort# cd

:~# chmod o-r /etc/snort/barnyard2.conf

Sekarang kita ingin menguji bahwa Snort sedang menulis acara ke file log biner yang benar, dan bahwa Barnyard2 sedang membaca log tersebut dan menulis kejadian ke database MySQL kita. Kita bisa saja memulai kedua program tersebut dalam mode daemon dan menghasilkan beberapa acara dengan melakukan ping ke antarmuka (memicu aturan yang telah kita buat sebelumnya), tapi lebih baik menguji satu porsi setiap kali.

(18)

Step 6.11 : Run Snort in alert mode

Run Snort in alert mode (the command we run below is how Snort will normally be run when we set it up as a daemon, except we aren’t using the -D flag which causes it to run as a daemon).

:~# /usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth0

Step 6.12 : Interface eth0

:~# cd

:~# cd /var/log/snort

:~/var/log/snort# ls -l /var/log/snort/

Snort Log :

Step 6.13 : Run Barnyard2

Referensi

Dokumen terkait

Relokasi realisasi makna yang lazim ke dalam aspek tata bahasa yang lain dalam peringkat yang sama, misalnya kegiatan atau aktivitas yang lazimnya direalisasikan oleh

Kami sadar banyak jenis minuman segar yang telah ada disekitar Universitas Negeri Semarang ini, tetapi kami yakin produk yang kami hasilkan ini dapat terjual

2012.Pemurnian Minyak Goreng Bekas Menggunakan Arang aktif dari..

Terlihat dari hasil penelitian ini, didapatkan sebanyak 58 pasien (54,2%) dari 107 pasien stroke yang dirawat memiliki kombinasi faktor risiko berupa kadar kolesterol

Folikel ovarium dan korpus luteum dengan ukuran diameter lebih dari 2 mm dapat dilihat dengan diagnosa ultrasonografi transrektum, sehingga cara ini dapat digunakan untuk

Manajemen peternakan domba di Indonesia masih dilakukan secara tradisional khususnya pada pemeriksaan kebuntingan. Hal ini sering terjadi di domba-domba betina yang diduga

Aplikasi Android dengan berbasiskan Augmented Reality untuk memahami dongeng Timun Mas akan lebih cepat dalam memahami cerita dengan memperlihatkan gambar 3D, suara, dan text..

Penelitian tentang pemerolehan bahasa sudah pernah diteliti sebelumnya, seperti Kiparsky, 1968 (dalam Tarigan, 1987) mengatakan bahwa, pemerolehan bahasa adalah suatu proses