Monday 4 April 2016

LAPORAN PENDAHULUAN : SNORT

Cara Kerja Snort

Cara kerja snort adalah dengan menggunakan pendeteksian berbasis signature atau lebih dikenal dengan nama rule-based systems, yang melibatkan pencocokan lalu lintas jaringan dengan database yang berisi cara-cara serangan dan penyusupan yang sering dilakukan oleh penyerang (penyusupan yang sudah dikenal). Secara umum, cara kerja tersebut digambarkan pada Gambar 1 berikut.
Gambar 1. Cara Kerja Snort

Penjelasan cara kerja tersebut adalah sebagai berikut.
  SNORT akan mengambil data di layer 2 yang dikirim dari packet capture library(proses 1). Pertama ia akan memisahkan Data link (seperti ethernet, TokenRing, 802.11), kemudian protokol IP, dan selanjutnya paket TCP dan UDP. Setelah pemisahan data selesai, snort telah mempunyai informasi protokol yang dapat diproses lebih lanjut.
  Selanjutnya dilakukan analisis (preprocessor) atau manipulasi terhadap paket sebelum dikirim ke detection engine. Manipulasi paket dapat berupa ‘ditandai’, ‘dikelompokan’, atau bahkan ‘dihentikan’.
  Selanjutnya yaitu Detection Engine yang merupakan jantung dari snort. Paket yang datang akan ditest dan dibandingkan dengan rule yang telah ditetapkan sebelumnya. Rule berisi tanda-tanda (signature) yang termasuk serangan.
  Output yang dihasilkan berupa report dan alert. Ada banyak variasi output yang dihasilkan snort, seperti teks (ASCII), XML, syslog, tcpdump, binary format, atau Database (MySQL, MsSQL, PostgreSQL, dsb).


Cara Menuliskan Rule pada Snort

Cara menuliskan rule pada snort, yaitu dengan mengedit file /etc/snort/rules/local.rules. Kemudian, pada file tersebut, menambahkan beberapa rule yang ingin diterapkan dengan aturan penulisan seperti berikut.
jenis_perintah protokol network_sumber port_sumber -> network_tujuan port_tujuan

Contoh :
Menge-drop paket ketika ada yang mengakses port SSH (22) :
drop tcp any any -> any 22 (msg: "Drop SSH"; sid: 1; )
Memberikan pesan peringatan ketika ada yang mencoba melakukan ping :
alert icmp any any -> any any (msg:"ada orang yang lagi nyoba ngeping";sid:10000001;rev:0;)


Bagaimana cara menampilkan event/ serangan pada snort?

Cara untuk menampilkan serangan adalah dengan membaca/ menampilkan alert yang telah disimpan. Alert merupakan catatan serangan pada deteksi penyusupan. Contoh alert sebagai berikut :
[**] [1:499:3] ICMP Large ICMP Packet [**] [Classification:
Potentially Bad Traffic] [Priority: 2] 05/09-20:15:14.
895348 10.1.4.113 -> 10.1.3.126 ICMP TTL:128 TOS:0×0
ID:6316 IpLen:20 DgmLen:65528 Type:8 Code:0 ID:512
Seq:3072 ECHO [Xref => http://www.whitehats.com/info/IDS246%5D
Contoh alert di atas merupakan alert ketika terdapat paket data dalam ukuran besar dari IP Address 10.1.4.113 ke 10.1.3.126 yang dianggap sebagai serangan oleh Snort karena pola paket data tersebut terdapat dalam rule Snort.


Bagaimana Cara Menyimpan Event dalam database

Langkah pertama adalah menginstall snort.
sudo apt-get install nmap snort-mysql snort-rules-default acidbase

Pada saat proses instalasi akan diminta memasukkan network mana yang akan dimonitor dan juga akan diminta password untuk mysql. karena log dan alert akan disimpan di mysql. Selanjutnya konfigurasi database mysql:
mysql -u root -p
> create database snort;
> exit

Lalu dump database ke mysql
cd /usr/share/doc/snort-mysql/
zcat create_mysql.gz | mysql -u root -p snort

Konfigurasi database snort, edit file konfigurasi nya /etc/snort/database.conf dan pastikan baris berikut.
output database: alert, mysql, user=root password=snort dbname=snort host=localhost
output database: log, mysql, user=root password=snort dbname=snort host=localhost

Tahap selanjutnya konfigurasi acidbase agar terhubung dengan database, edit file konfigurasi /etc/acidbase/database.php (sesuaikan username dan passwordnya)
$alert_user='root';
$alert_password='snort';
$basepath='/acidbase';
$alert_dbname='snort';
$alert_host='localhost';
$alert_port='';
$DBtype='mysql';

Terakhir restart apache dan snort dengan perintah :
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/snort restart

0 comments:

Post a Comment