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.
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
Intrusion
Detection Mode
Mode operasi
snort yang paling rumit adalah sebagai pendeteksi penyusup (intrusion detection)
di jaringan yang kita gunakan. Ciri khas mode operasi untuk pendeteksi penyusup
adaah dengan menambahkan perintah ke snort untuk membaca file konfigurasi –c
nama-file-konfigurasi.conf. Isi file konfigurasi ini lumayan banyak, tapi
sebagian besar telah di set secara baik dalam contoh snort.conf yang dibawa
oleh source snort.
Beberapa
contoh perintah untuk mengaktifkan snort untuk melakukan pendeteksian penyusup,
seperti
./snort –dev –l ./log –h 192.168.0.0/24 –c snort.conf
./snort –d –h 192.168.0.0/24 –l ./log –c snort.conf
Untuk
melakukan deteksi penyusup secara prinsip snort harus melakukan logging paket
yang lewat dapat menggunakan perintah –l nama-file-logging, atau membiarkan
snort menggunakan default file logging-nya di directory /var/log/snort. Kemudian
menganalisa catatan / logging paket yang ada sesuai dengan isi perintah
snort.conf.
Ada beberapa
tambahan perintah yang akan membuat proses deteksi menjadi lebih effisien,
mekanisme pemberitahuan alert di Linux dapat di set dengan perintah –A sebagai
berikut,
-A fast, mode alert yang cepat berisi waktu, berita, IP & port tujuan.
-A full, mode alert dengan informasi lengkap.
-A unsock, mode alert ke unix socket
-A none,
mematikan mode alert.
Untuk
mengirimkan alert ke syslog UNIX kita bisa menambahkan switch –s, seperti
tampak pada beberapa contoh di bawah ini.
./snort –c snort.conf –l ./log –s –h 192.168.0.0/24
./snort –c snort.conf –s –h 192.168.0.0/24
Untuk
mengirimkan alert binary ke workstation windows, dapat digunakan perintah di
bawah ini,
./snort –c snort.conf –b –M WORKSTATIONS
Agar snort
beroperasi secara langsung setiap kali workstation / server di boot, kita dapat
menambahkan ke file /etc/rc.d/rc.local perintah di bawah ini
/usr/local/bin/snort –d –h 192.168.0.0/24 –c /root/snort/snort.conf –A full
–s –D
atau
/usr/local/bin/snort –d –c /root/snort/snort.conf –A full –s –D dimana –D adalah switch yang menset agar snort bekerja sebagai Daemon
(bekerja di belakang layar).
Cara Kerja
Snort :
Komponen – komponen Snort IDS (Intrusion Detection
System) meliputi :
- Rule Snort
Rule Snort merupakan database yang berisi
pola – pola serangan berupa signature jenis – jenis serangan. Rule snort IDS
(Intrusion Detection System) harus selalu terupdate secara rutin agar ketika ada
suatu teknik serangan yang baru, serangan tersebut dapat terdeteksi. Rule Snort
dapat di download pada website www.snort.org.
- Snort Engine
Snort Engine merupakan program yang
berjalan sebagai daemon proses yang selalu bekerja untuk membaca paket data dan
kemudian membadingkan dengan Rule Snort.
- Alert
Alert merupakan catatan serangan pada
deteksi penyusupan. Jika Snort engine mendeteksi paket data yang lewat sebagai
sebuah serangan, maka snort engine akam mengirimkan alert berupa log file.
Kemudian alert tersebut akan tersimpan di dalam database.
Hubungan ketiga komponen snort IDS
(Intrusion Detection System) tersebut dapat digambarkan dalam gambar berikut.
C.
TUGAS
PENDAHULUAN
1. Sebutkan dan jelaskan dengan singkat apa yang disebut dengan konsep IDS ?
Jawab :
IDS (Intrusion
Detection System) adalah sebuah sistem yang melakukan pengawasan terhadap
traffic jaringan dan pengawasan terhadap kegiatan-kegiatan yang mencurigakan
didalam sebuah sistem jaringan. Jika ditemukan kegiatankegiatan yang mencurigakan
berhubungan dengan traffic jaringan maka IDS akan memberikan peringatan kepada
sistem atau administrator jaringan. Dalam banyak kasus IDS juga merespon
terhadap traffic yang tidak normal/ anomali melalui aksi pemblokiran seorang
user atau alamat IP (Internet Protocol) sumber dari usaha pengaksesan jaringan.
Konsep IDS.
Dalam konsep
keamanan jaringan kita mengenal istilah false positif dan false negatif.
·
False positif – adalah peringatan yang dihasilkan
oleh IDS karena telah mendeteksi adanya serangan yang valid terhadap sistem
yang kita monitor, tetapi serangan itu sendiri tidak valid. Atau dengan kata
lain, kita mendapat laporan serangan, padahal itu bukan serangan. Ini adalah
masalah bagi kita karena banyaknya peringatan yang dibuat oleh IDS padahal
serangan yang sebenarnya tidak terjadi. False positif bisa saja terjadi karena
adanya serangan pada sistem yang tidak di monitor.
·
False negatif – adalah serangan yang benar-benar
terjadi tetapi tidak terdeteksi oleh IDS. IDS bisa melewatkan serangan karena
menganggap serangan yang dilakukan tidak sesuai dengan aturan yang ada (rule),
atau karena terlalu banyak serangan, atau bisa juga karena penyerang berhasil
melumpuhkan IDS. Dampak dari false negatif ini artinya penyerang berhasil
melewati IDS, sama artinya dengan ada yang menyerang kita, tapi kita tidak
menyadarinya!
Ada dua cara
IDS bisa mendeteksi serangan:
·
Signature detection – IDS yang bekerja menggunakan
signature (rule/peraturan) akan mendeteksi serangan jika ada traffic network
yang masuk ke dalam daftar serangan. Signature – lah yang menentukan paket yang
masuk ke network tersebut merupakan serangan atau biasa disebut “bad traffic”.
Kekurangan dari metode ini adalah bahwa IDS hanya bisa mendeteksi suatu
serangan yang telah terdaftar sebelumnya di dalam signature. Oleh karena itu,
metode ini akan kesulitan menghadapi daftar serangan jenis baru. Bila kita
menggunakan signature detection mungkin akan berdampak sedikitnya peringatan
false positif tetapi banyak false negatif.
·
Anomaly detection – IDS yang menggunakan anomaly
detection bekerja menggunakan cara yang berbeda. IDS akan mengenal traffic
“normal” jaringan kita dan akan mulai mengingatkan kita bila ternyata ada
traffic yang “abnormal”. Masalahnya adalah, sesuatu yang baru atau berbeda juga
bisa dianggap abnormal. Jadi jika kita menggunakan metode ini IDS akan
memberikan sedikit false negatif tetapi banyak false positif.
Beberapa IDS
ada yang menggunakan signature detection, tapi ada juga yang menggunakan
anomaly detection, dan ada juga yang menggunakan keduanya.
2.
Sebutkan
fasilitas kemampuan yang dimiliki snort !
Jawab:
Snort ini mempunyai kemampuan untuk
mengexport log ke bentuk database, ada beberapa database yang dapat digunakan,
kayak MySQL, PostgreSQL, oracle, MSSQL dan odbc.
Snort yang berbasis jaringan
intrusion detection system (NIDS) memiliki kemampuan untuk melakukan real-time
analisis lalu lintas dan paket logging pada Internet Protocol (IP) jaringan.
Snort melakukan analisis protokol, pencarian isi, dan pencocokan konten.
Program ini juga dapat digunakan untuk mendeteksi probe atau serangan,
termasuk, namun tidak terbatas pada, upaya sistem operasi sidik jari, antarmuka
gateway umum, buffer overflows, probe server pesan blok, dan port scan siluman.
Snort log adalah kemampuan untuk
memotong dan menyisipkan berbagai mendeteksi ke dalam pesan e-mail yang akan
dikirim ke analis lain, CIRT Anda, atau pihak yang bersalah.
Snort memiliki karakteristik,
sebagai berikut:
·
Berukuran
kecil – Source code dan rules untuk rilis 2.1.1 hanya 2256k.
·
Portable
untuk banyak OS – Telah diporting ke Linux, Windows, OSX, Solaris, BSD,dll.
·
Cepat –
Snort mampu mendeteksi serangan pada network 100Mbps.
·
Mudah
dikonfigurasi – Snort sangat mudah dikonfigurasi sesuai dengan kebutuhan
network kita. Bahkan kita juga dapat membuat rule sendiri untuk mendeteksi
adanya serangan baru.
·
Free – Kita
tidak perlu membayar sepeser pun untuk menggunakan snort. Snort bersifat open
source dan menggunakan lisensi GPL.
3. Jelaskan cara installasi dan konfigurasi snort !
·
Untuk
menginstall snort gunakan perintah
#apt-get install snort
·
Setelah instalasi selesai,
lakukan konfigurasi pada file snort.conf. Ketikkan perintah berikut :
#nano /etc/snort/snort.conf
·
Tekan CTRL-W cari kata kunci
HOME_NET any. Setelah ketemu baris HOME_any, edit menjadi seperti ini :
var HOME_NET 172.16.100.0/24
Kemudian
edit juga baris :
#Set up the external network address as well. A good start may be “any”
var EXTERNAL_NET any
#var EXTERNAL_NET !$HOME_NET
Menjadi
seperti ini :
#Set up the external network address as well. A good start may be “any”
#var EXTERNAL_NET any
var
EXTERNAL_NET !$HOME_NET
·
Restart Service
#service
snort restart
4.
Jelaskan
cara membuat rule baru di snort !
Membuat rule baru yaitu alltcp.rules
dan simpan di /etc/snort/rules dengan menggunakan perintah # gedit
/etc/snort/rules/alltcp.rules
D. LANGKAH PERCOBAAN
1.
INSTALASI
SNORT
Pertama kita perlu
menginstal semua prasyarat dari repositori Ubuntu :
apt-get
install
-y build-essential libpcap-dev
libpcre3-dev libdumbnet-dev bison flex zlib1g-dev liblzma-dev openssl
libssl-dev
Rincian dari paket
yang diinstal:
·
build-essential: menyediakan alat
membangun (GCC dan sejenisnya) untuk mengkompilasi software.
·
bison, flex: parser yang
dibutuhkan oleh DAQ (DAQ diinstal kemudian di bawah).
·
libpcap-dev: Perpustakaan untuk
menangkap lalu lintas jaringan yang dibutuhkan oleh Snort.
·
libpcre3-dev: Perpustakaan fungsi
untuk mendukung ekspresi reguler yang dibutuhkan oleh Snort.
·
libdumbnet-dev: perpustakaan
libdnet menyediakan disederhanakan, antarmuka portabel untuk beberapa rutinitas
jaringan tingkat rendah. Banyak panduan untuk menginstal Snort menginstal
perpustakaan ini dari sumber, meskipun itu tidak diperlukan.
·
zlib1g-dev: Sebuah perpustakaan
kompresi yang diperlukan oleh Snort.
·
liblzma-dev: Menyediakan
dekompresi file swf (adobe flash)
·
openssl dan
libssl-dev: Menyediakan SHA dan
MD5 berkas tanda tangan
Selanjutnya, kita
perlu memastikan bahwa kartu jaringan tidak memotong paket besar. Dari Snort
Manual.
Install ethtool jika
menggunakan Ubuntu 12:
sudo
apt-get
install
-y ethtool
Edit file /etc/network/interfaces sebagai admin:
sudo
vi
/etc/network/interfaces
Tambahkan dua baris
berikut untuk setiap antarmuka jaringan yang akan memiliki Snort (Lihat catatan
di bawah untuk Ubuntu 15):
post-up ethtool -K eth0 gro off
post-up ethtool -K eth0 lro off
Catatan : penting
bagi orang-orang yang menjalankan Ubuntu 15.10: Di Ubuntu 15.10, untuk
instalasi baru (tidak upgrade), antarmuka jaringan tidak lagi mengikuti standar
ethX (eth0, eth1, ...). Sebaliknya, nama interface ditugaskan sebagai
Diprediksi Network Interface Nama. Ini berarti Anda perlu memeriksa nama-nama
antarmuka Anda menggunakan ifconfig -a. Dalam kasus saya, apa yang awalnya eth0
sekarang ens160. Jika Anda menjalankan Ubuntu 15.10, di mana saja di buku ini
Anda melihat eth0, Anda akan perlu mengganti dengan nama antarmuka baru Anda.
contoh bagaimana file
/etc/network/interfaces harus mencari satu antarmuka:
# This file describes the network interfaces
available on your system
# and how to activate them. For more
information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
post-up ethtool -K eth0 gro off
post-up ethtool -K eth0 lro off
Selanjutnya membuat
direktori untuk menyimpan file tarball hasil download:
mkdir ~/snort_src
cd ~/snort_src
Menginstal Snort dari
repositori dengan menggunakan perintah :
apt-get install snort
2. KONFIGURASI SNORT
EDIT FILE KONFIGURASI SNORT
Snort file
konfigurasi disimpan di /etc/snort/snort.conf, dan berisi semua pengaturan
yang Snort akan digunakan ketika dijalankan dalam mode NIDS. Ini adalah file
besar (lebih dari 500 baris), dan berisi sejumlah pilihan untuk konfigurasi
Snort. Kami tertarik dalam hanya beberapa pengaturan saat ini.
Pertama, kita perlu
komentar pada baris yang menyebabkan Snort untuk mengimpor set default file
aturan. Kami melakukan ini karena kami akan menggunakan PulledPork untuk
mengelola mengetahui aturan kami, yang menyimpan semua aturan ke dalam satu
file. Cara mudah untuk komentar semua garis-garis ini adalah dengan menggunakan
sed untuk menambahkan "#" (hash) karakter ke garis itu.
Hal ini dilakukan
dengan menjalankan perintah berikut:
sudo
sed
-i
's/include \$RULE\_PATH/#include \$RULE\_PATH/'
/etc/snort/snort.conf
edit file /etc/snort/snort.conf
sudo
vi
/etc/snort/snort.conf
Pertama, kita perlu
membiarkan Snort mengetahui jangkauan jaringan dari jaringan rumah Anda (aset
Anda mencoba untuk melindungi) dan semua jaringan eksternal lainnya. Kami
melakukan ini dengan mengedit baris 45 dan 48 dari snort.conf untuk menceritakannya
rentang IP dari dua jaringan tersebut. Pada contoh di bawah, jaringan rumah
kami adalah 10.0.0.0 dengan subnet mask 24 bit (255.255.255.0), dan jaringan
eksternal kami semua jaringan lain.
ipvar HOME_NET 10.0.0.0/24 # (line 45) make this
match your internal (friendly) network
Catatan: tidak
disarankan untuk mengatur EXTERNAL_NET
ke $HOME NET seperti yang
direkomendasikan dalam beberapa panduan, karena dapat menyebabkan Snort salah
alert!.
Selanjutnya kita
perlu memberitahu Snort tentang lokasi dari semua folder yang kita buat
sebelumnya. Pengaturan ini juga merupakan bagian dari file snort.conf. Saya
telah menyertakan nomor baris setelah hash sehingga Anda dapat lebih mudah
menemukan pengaturan (tidak menulis nomor baris, hanya mengubah path untuk mencocokkan
apa yang di bawah):
var RULE_PATH
/etc/snort/rules
# line 104
var SO_RULE_PATH
/etc/snort/so_rules
# line 105
var PREPROC_RULE_PATH
/etc/snort/preproc_rules # line 106
var WHITE_LIST_PATH /etc/snort/rules/iplists
# line 113
var BLACK_LIST_PATH
/etc/snort/rules/iplists # line 114
Akhirnya, kami ingin
mengaktifkan salah satu file yang disertakan aturan: /etc/snort/rules/local.rules. Kami akan
menggunakan file ini untuk menyimpan aturan kita sendiri, termasuk satu aturan
yang akan kita tulis di artikel berikutnya dalam seri ini yang akan
memungkinkan kita untuk dengan mudah memeriksa bahwa Snort benar menghasilkan
alert. Un-komentar baris berikut (baris 545) dengan menghapus hash dari awal baris:
include $RULE_PATH/local.rules
Testing Snort dengan File
Konfigurasi
Snort memiliki kemampuan untuk memvalidasi
file konfigurasi, dan Anda harus melakukan ini setiap kali Anda membuat
modifikasi snort.conf. Jalankan perintah berikut untuk memiliki Snort tes file
konfigurasi:
snort -T
-c /etc/snort/snort.conf -i eth0
-T Memberitahu snort untuk menguji, dan -c mengatakan snort path ke file
konfigurasi, dan Anda diminta untuk menentukan interface yang ingin Anda
mendengarkan dengan -i (ini adalah persyaratan baru untuk versi 2.9.8.x snort).
Anda harus melihat beberapa output, dengan baris berikut di akhir:
...
Snort successfully validated the
configuration!
Snort exiting
3.
PENENULISAN DAN
PENGUJIAN ATURAN TUNGGAL DENGAN SNORT
Edit local.rules
nano
/etc/snort/rules/local.rules
Tambahkan
scan.rules
Simpan dan tambahkan
perintah ini:
alert
icmp any any -> $HOME_NET any (msg:"ICMP test detected"; GID:1;
sid:10000001; rev:001; classtype:icmp-event;)
Apa aturan ini
mengatakan bahwa untuk setiap paket ICMP yang dilihatnya dari jaringan apapun
untuk HOME_NET kami, menghasilkan peringatan dengan teks tes ICMP. Informasi
lain di sini (GID, REV, classtype) digunakan kelompok aturan, dan akan membantu
ketika Anda menginstal Snorby.
Test file konfigurasi:
snort -T -c /etc/snort/snort.conf -i eth0
jika sukses akan
menghasilkan output seperti dibawah ini:
+++++++++++++++++++++++++++++++++++++++++++++++++++
Initializing rule chains...
1 Snort rules read
1 detection rules
0 decoder rules
0 preprocessor rules
1 Option Chains linked into 1 Chain Headers
0 Dynamic rules
+++++++++++++++++++++++++++++++++++++++++++++++++++
+-------------------[Rule Port
Counts]---------------------------------------
|
tcp udp
icmp ip
|
src 0
0 0 0
|
dst 0
0 0 0
|
any 0
0 1 0
|
nc 0
0 1 0
|
s+d 0
0 0 0
+----------------------------------------------------------------------------
Sekarang untuk
menguji aturan. Kita perlu untuk memverifikasi bahwa Snort menghasilkan
peringatan ketika memproses paket ICMP. Kami akan meluncurkan Snort dengan
pilihan berikut:
-A
console
the console option prints fast mode alerts to stdout
-q
Quiet. 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
Jalankan Snort dengan
perintah di bawah ini, memodifikasi parameter yang diperlukan khusus untuk
konfigurasi Anda:
snort
-A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
Catatan: Jika Anda
menjalankan Ubuntu 15.10, ingat bahwa nama antarmuka Anda tidak eth0.
Setelah Anda mulai
Snort dengan perintah di atas, Anda perlu menggunakan komputer lain atau
jendela terminal lain untuk ping antarmuka yang diarahkan Snort untuk
mendengarkan pada. Anda akan melihat output yang mirip dengan di bawah ini pada
terminal mesin Snort:
10/31-02:27:19.663643 [**] [1:10000001:1] ICMP test
detected [∗∗] [Classification:
Generic ICMP event] [Priority:3] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:19.663675 [**] [1:10000001:1] ICMP test
detected [∗∗] [Classification:
Generic ICMP event] [Priority:3] {ICMP} 10.0.0.64 -> 10.0.0.74
10/31-02:27:20.658378 [**] [1:10000001:1] ICMP test
detected [∗∗] [Classification:
Generic ICMP event] [Priority:3] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:20.658404 [**] [1:10000001:1] ICMP test
detected [∗∗] [Classification:
Generic ICMP event] [Priority:3] {ICMP} 10.0.0.64 -> 10.0.0.74
10/31-02:27:21.766521 [**] [1:10000001:1] ICMP test
detected [∗∗] [Classification:
Generic ICMP event] [Priority:3] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:21.766551 [**] [1:10000001:1] ICMP test
detected [∗∗] [Classification:
Generic ICMP event] [Priority:3] {ICMP} 10.0.0.64 -> 10.0.0.74
10/31-02:27:22.766167 [**] [1:10000001:1] ICMP test
detected [∗∗] [Classification:
Generic ICMP event] [Priority:3] {ICMP} 10.0.0.74 -> 10.0.0.64
10/31-02:27:22.766197 [**] [1:10000001:1] ICMP test
detected [∗∗] [Classification:
Generic ICMP event] [Priority:3] {ICMP} 10.0.0.64 -> 10.0.0.74
^C*** Caught Int-Signal
Anda harus
menggunakan ctrl-c untuk menghentikan dengusan dari berjalan setelah output di
atas. Contoh diatas adalah 4 ICMP Echo Request dan Balas pesan antara server
yang Snort kami (IP 10.0.0.64) dan mesin lain kami (10.0.0.74). Jika Anda
melihat di /var/log/snort, Anda juga akan melihat file dengan nama snort.log.nnnnnnnnnn (n adalah diganti
dengan nomor), yang berisi informasi yang sama yang snort dicetak ke layar.
4. INSTALASI BARNYARD2
Menginstal beberapa
prasyarat:
apt-get install
-y mysql-server libmysqlclient-dev mysql-client autoconf libtool
Anda akan diminta
untuk password root MySQL. Kami memilih “kelompok7” untuk contoh di
bawah.
Selanjutnya, kita
perlu mengedit snort.conf yang:
nano /etc/snort/snort.conf
Kita perlu
menambahkan baris yang memberitahu Snort untuk acara output dalam bentuk biner
(sehingga Barnyard2 dapat membacanya). Setelah baris 520 di
/etc/snort/snort.conf (garis yang merupakan contoh komentar-out), tambahkan
baris berikut dan menyimpan file:
output unified2: filename snort.u2, limit 128
Baris ini memberitahu
snort peristiwa output dalam format biner unified2 (yang lebih mudah untuk
snort untuk keluaran bukan alert terbaca-manusia).
Selanjutnya kita
perlu untuk mendapatkan, mengkonfigurasi, dan menginstal Barnyard2.
cd ~/snort_src
wget
https://github.com/firnsy/barnyard2/archive/7254c24702392288fe6be948f88afb74040f6dc9.tar.gz
-O barnyard2-2-1.14-336.tar.gz
tar zxvf
barnyard2-2-1.14-336.tar.gz
mv barnyard2-7254c24702392288fe6be948f88afb74040f6dc9
barnyard2-2-1.14-336
cd barnyard2-2-1.14-336
autoreconf -fvi -I ./m4
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:
sudo ln -s /usr/include/dumbnet.h /usr/include/dnet.h
sudo ldconfig
Tergantung pada
arsitektur sistem anda (x86 atau x64), memilih untuk menjalankan salah satu
jalur berikut untuk memberitahu Barnyard2 mana perpustakaan MySQL adalah:
./configure --with-mysql
--with-mysql-libraries=/usr/lib/x86_64-linux-gnu
./configure --with-mysql
--with-mysql-libraries=/usr/lib/i386-linux-gnu
Selanjutnya install:
make
sudo make install
Barnyard2 sekarang
diinstal ke /usr/local/bin/barnyard2. Untuk mengkonfigurasi Snort untuk menggunakan
Barnyard2, kita perlu menyalin beberapa file dari paket source:
cd ~/snort_src/barnyard2-2-1.14-336
sudo cp etc/barnyard2.conf /etc/snort
# the /var/log/barnyard2 folder is never used or referenced
# but barnyard2 will error without it existing
sudo mkdir /var/log/barnyard2
sudo chown snort.snort /var/log/barnyard2
sudo touch /var/log/snort/barnyard2.waldo
sudo chown snort.snort /var/log/snort/barnyard2.waldo
sudo touch /etc/snort/sid-msg.map
Sejak Barnyard2
menghemat peringatan ke database MySQL kita, kita perlu menciptakan bahwa
database, serta 'snort' MySQL pengguna untuk mengakses database tersebut.
Jalankan perintah berikut untuk membuat database dan MySQL pengguna.
Ketika diminta untuk
password, gunakan kelompok7
tersebut. Anda juga akan menetapkan MySQL sandi snort pengguna dalam perintah
mysql keempat (untuk kelompok7),
sehingga mengubahnya sana juga.
$ mysql -u root -p
mysql> create database snort;
mysql> use snort;
mysql> source ~/snort_src/barnyard2-2-1.13/schemas/create_mysql
mysql> CREATE USER 'snort'@'localhost' IDENTIFIED BY 'kelompok7';
mysql> grant create, insert, select, delete, update on
snort.* to 'snort'@'localhost';
mysql> exit
Sekarang bahwa
database Snort telah dibuat, kita perlu memberitahu Barnyard2 tentang rincian
database. Mengedit file konfigurasi Barnyard2:
sudo
vi
/etc/snort/barnyard2.conf
akhir dari file:
output
database: log, mysql, user=snort password=kelompok7 dbname=snort host=localhost
password pada file barnyard2.conf, kita harus mencegah
pengguna lain dari membaca itu:
sudo
chmod
o-r
/etc/snort/barnyard2.conf
Sekarang Barnyard2
dikonfigurasi untuk bekerja dengan Snort. Untuk menguji, mari kita jalankan
Snort dan Barnyard2 dan menghasilkan beberapa peringatan. Pertama, kami
menjalankan Snort sebagai daemon. Kami menggunakan parameter yang sama seperti
sebelumnya, dengan penambahan bendera -D, yang memberitahu mendengus untuk
menjalankan sebagai daemon, dan kami dihapus -A Console karena kita tidak ingin
peringatan untuk ditampilkan di layar. Mencatat PID dari proses sehingga Anda
dapat membunuh nanti jika diperlukan:
sudo
/usr/local/bin/snort
-q -u snort -g snort -c /etc/snort/snort.conf -i eth0 –D
Ping alamat IP dari
antarmuka ditentukan di atas (eth0). Jika Anda memeriksa direktori log Snort,
Anda harus melihat file bernama snort.u2.nnnnnnnnnn (n ini akan diganti dengan
nomor). Ini adalah tanda biner yang mendengus telah ditulis untuk Barnyard2
untuk memproses.
Sekarang kami ingin
memberitahu Barnyard2 untuk melihat peristiwa ini dan beban ke contoh database
mendengus. Kami menjalankan Barnyard2 dengan bendera berikut:
-c
/etc/snort/barnyard2.conf the
Barnyard2 configuration file
-d
/var/log/snort
the location to look for the snort binary output file
-f snort.u2
the name of the file to look for.
-w
/var/log/snort/barnyard2.waldo the path to the waldo file
(checkpoint file).
-u
snort
run Barnyard2 as the following user after startup
-g
snort
run Barnyard2 as the following group after startup
Jalankan perintah
dibwah ini:
sudo
barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort
-f snort.u2 -w /var/log/snort/barnyard2.waldo -g snort -u snort
output yang keluar
jika berhasil:
--==
Initialization Complete ==--
______ -*> Barnyard2 <*-
/ ,,_ \ Version 2.1.14 (Build 336)
|o" )~| By Ian Firns (SecurixLive):
http://www.securixlive.com/ + '''' + (C) Copyright 2008-2013 Ian Firns
<firnsy@securixlive.com>
Using waldo file '/var/log/snort/barnyard2.waldo':
spool directory = /var/log/snort
spool filebase = snort.u2
time_stamp
= 1412527313
record_idx
= 16
Opened spool file '/var/log/snort/snort.u2.1412527313'
Closing spool file '/var/log/snort/snort.u2.1412527313'. Read 16
records
Opened spool file '/var/log/snort/snort.u2.1412528990'
Waiting for new data
Gunakan ctrl-cps
untuk menemukannya seperti dalam contoh di bawah:
user@snortserver:~$ ps aux
| grep snort
snort
1296 0.0 2.1 297572 43988
? Ssl 03:15 0:00
/usr/local/bin/snort -q -u snort -g snort
-c /etc/snort/snort.conf -i eth0 -D
user
1314 0.0 0.0 4444 824 pts/0 S+ 03:17 0:00 grep --color=auto snort
user@snortserver:~$ sudo kill 1296
user@snortserver:~$
5.
INSTALASI APACHE2 / BASE GUI
Instalasi dan Konfigurasi Apache2:
sudo apt-get install apache2
sudo apt-get install libapache2-mod-php5
sudo apt-get install libphp-adodb
( info message is OK )
Edit "/etc/php5/apache2/php.ini", lihat baris "error_reporting" dang anti dengan perintah:
error_reporting = E_ALL & ~E_NOTICE
Edit /etc/apache2/apache2.conf tambahkan
authorizations untuk www/base :
-----------------------------------------------------------------------------------------------------
<Directory /var/www/html/base>
AllowOverride All
Require all granted
</Directory>
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
Setelah itu restart apache2 dengan perintah :
sudo service apache2 restart
INSTALASI BASE:
sudo apt-get install php-pear
sudo apt-get install libwww-perl (biasanya sudah diinstall)
sudo apt-get install php5-gd
sudo pear config-set preferred_state alpha
sudo pear channel-update pear.php.net
sudo pear install --alldeps Image_Color
Image_Canvas Image_Graph
pada titik ini akan mendapatkan error, untuk menghadapinya sangat mengganggu ‘could not extract the package.xml file'
bug. Hal ini disebabkan evolusi di pear yang melakukan breack sesuatu. Mari
kita menghindari masalah ini:
MENGHINDARI PEAR
BUG .XML YANG TIDAK VALID
Download pir pada direktori, dan
secara manual menginstal 6 paket pear (3 + 3 dependensi).
Berikut caranya:
cd /build/buildd/php5-5.5.9+dfsg/pear-build-download
ls
Secara manual menginstal 6 paket .tgz:
sudo tar zxf Image_Color*.tgz
sudo cp package.xml ./Image_Color*/
cd Image_Color*
sudo pear install package.xml
cd ..
melakukan ini untuk 6 paket dalam urutan dibawah ini:
Image_Color
Image_Canvas
Numbers_Roman
Math_BigInteger
Numbers_Words
Image_Graph
INSTALASI BASE:
cd /usr/src
sudo tar -zxf base-1.4.5.tar.gz
sudo cp -r base-1.4.5 /var/www/html/base
sudo chown -R www-data:www-data
/var/www/html/base
sudo service apache2 restart
KONFIGURASI BASE SETUP :
meluncurkan web browser lokal:http://localhost/base
Step 1) path : /usr/share/php/adodb
Step 2) Database Name : snort
Database Host
: localhost
Database
User Name: snort
Database
Password : secret2
( tick 'Use Archive
Database' )
Archive Database Name : archive
Archive Database Host : localhost
Archive Database User Name : snort
Archive Database Password : secret2
Step 3) tick 'use authentication system' ( it enables BASE login screen lock )
Full admin name ( john )
[GUI password] ( Secret3 )
Full admin name ( John Doe )
Step 4) Click ' Create baseAG'
Step 5) Click ' Now continue to Step 5 ' and
login ( john / secret3 )
Sebuah ping dan http beberapa tanda harus
ditampilkan (bar merah). Halaman web di-refresh setiap 3 menit.
Catatan: ada pb dengan Ubuntu 14.04 LTS:
Dalam GUI BASE, Grafik Notifikasi data tampak rusak.
Tampilan BASE setelah melakukan
langkah-langkah percobaan diatas
E. HASIL
PRAKTIKUM
1.
Berikan kesimpulan hasil praktikum yang anda lakukan.
Snort merupakan aplikasi system yang
digunakan untuk melakukan deteksi terhadap gangguan yang mungkin dan akan
terjadi. Gangguan tersebut datang dari sniffer. Banyak rule / aturan yang
diterapkan oleh snort. Selain itu user dapat mendefinisikan sendiri rule yang
akan diterapkan pada snort yang digunakan. Setiap gangguan yang dapat akan
dideteksi oleh alert. Dan pada alert tersebut akan terdapat message alert
sesuai dengan yang telah didefinisikan.
2.
Download rule terbaru di snort dan bandingkan dengan rule
yang lama, apa saja. perubahan yang ada !
Penerapan rule yang baru terlihat pada
penambahan rules yang diterapkan. Namun untuk mendeteksi gangguan tergantung
pada rule yang diterapkan.
3.
Jelaskan rule apa saja yang bisa didekteksi oleh snort !
rule yang diterapkan oleh snort secara
default : chat, ddos, dns, dos, ftp, icmp, mysql, netbios, oracle, dll.
4.
Untuk mempermudah pembacaan data snort dimungkinkan
dimasukkan dalam database, carilah artikel tentang konfigurasi snort
menggunakan database?
Install database
#apt-get install mysql-server
#apt-get install php5
php5-mysql php5-gd php-pear
#apt-get install
snort-mysql
Create database
Mysql –u root –p
>create database snort;
>grant all on snort * to
snortuser@localhost identified by ‘snortpwd’;
>flush privillages
5.
Jelaskan juga aplikasi yang bisa dipakai untuk membaca
database snort!
Tripwire
6. Apa
yang dimaksud promiscuous mode ?
promiscuous mode
merupakan mode untuk NIC berkabel atau wireless NIC yang menyebabkan controller
melewatkan semua traffic yang diterima oleh CPU. Promiscuous mode sering
digunakan untuk mendiagnosa konektivitas network. Terdapat program menggunakan
fitur ini untuk menampilkan semua data yang sedang dikirimkan melewati
jaringan. beberapa protocol seperti FTP dan Telnet mengirimkan data dan
password pada clear text, tanpa enkripsim dan scanner jaringan dapat melihat
data ini. Promiscuous mode dapat digunakan untuk memantu jaringan. pada
promiscuous mode, mungkin mengirimkan response kepada frame bahkan mespikun mereka
dialamatkan pada mesin yang lain.
Tidak ada komentar:
Posting Komentar