View Single Post
  #1  
Old 02-24-2014, 09:38 PM
hanzo_Kunai's Avatar
hanzo_Kunai hanzo_Kunai is offline
Global Moderator
 
Join Date: Oct 2010
Location: di depan komputer
Posts: 287
hanzo_Kunai has much to be proud ofhanzo_Kunai has much to be proud ofhanzo_Kunai has much to be proud ofhanzo_Kunai has much to be proud ofhanzo_Kunai has much to be proud ofhanzo_Kunai has much to be proud ofhanzo_Kunai has much to be proud ofhanzo_Kunai has much to be proud of
Default Install snort ubuntu 13.04

Setelah sekian lama tidak bermain2 dengan hitam putih server akhirnya kembali lagi, kali ini dengan ubuntu 13.04 dan masih dalam topik yang sama yaitu cara instalasi snort (IDS/IPS) di ubuntu, untuk bagan snort mungkin bisa dilihat di gambar berikut ini :




sebelum dimulai saya asumsikan semua repository sudah terkonfigurasi dengan baik dan pada snort server sudah terinstall LAMP server. Langkap pertama kita akan menginstall snort, perintahnya sebagai berikut:

Code:
sudo apt-get install nmap snort-mysql snort-rules-default acidbase
Pada saat proses instalasi kita akan diminta memasukkan network mana yang akan dimonitor (gunakan slash notation), dan juga akan diminta password untuk mysql. karena log dan alert akan disimpan di mysql. Selanjutnya kita konfigurasi database mysql:

Code:
mysql -u root p
> create database snort;
> exit
Lalu dump database ke mysql

Code:
cd /usr/share/doc/snort-mysql/
zcat create_mysql.gz | mysql -u root -p snort
Konfigurasi database snort, edit file konfigurasi nya

Code:
/etc/snort/database.conf
dan pastikan baris berikut:

Code:
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
Code:
/etc/acidbase/database.php
(sesuaikan username dan passwordnya)

Code:
$alert_user='root';
$alert_password='snort';
$basepath='/acidbase';
$alert_dbname='snort';
$alert_host='localhost';
$alert_port='';
$DBtype='mysql';
nah sekarang dari browser bisa konfigurasi dan setup acidbase di alamat
Code:
http://localhost/acidbase
, jika ingin snort bisa dibaca oleh komputer lain sesuaikan ip dan network yang ada di
Code:
/etc/acidbase/apache.conf
, misalnya:

Code:
<IfModule mod_alias.c>
  Alias /acidbase "/usr/share/acidbase"
</IfModule>

<DirectoryMatch /usr/share/acidbase/>
  Options +FollowSymLinks
  AllowOverride None
  order deny,allow
  deny from all
  allow from 127.0.0.0/255.0.0.0
  allow from 192.168.247.2/255.255.255.0
  <IfModule mod_php5.c>
    php_flag magic_quotes_gpc Off
    php_flag track_vars On
    php_value include_path .:/usr/share/php
  </IfModule>
</DirectoryMatch>
jika sudah dirubah, restart kembali service apachenya akses pada browser client
Code:
http://ipserver/acidbase
ikuti petunjutk setupnya sampai selesai.
Untuk menjalankan snort secara IDS bisa dengan command berikut ini :

Code:
root@hanzo:~# snort -D -c /etc/snort/snort.conf l /var/log/snort
root@hanzo:~# ps -ef | grep snort
snort     1095     1  0 04:09 ?        00:00:00 /usr/sbin/snort -m 027 -D -d -l /var/log/snort -u snort -g snort -c /etc/snort/snort.conf -S HOME_NET=[192.168.247.0/24] -i eth0
root      1406  1326  0 04:12 pts/0    00:00:00 grep --color=auto snort
Hasil akhirnya akan menampilkan semua alert dan protokol tcp/udp beserta detil semua event pada network yang kita pantau.

IDS sendiri bisa dikembangkan menjadi Intrusion Prevention System (IPS) artinya tidak hanya mendeteksi ketika ada intrusi, tapi juga menerapkan rule tertentu untuk mencegah agar server/system tidak tercemar. Kali ini untuk server yang digunakan tetap menggunakan ubuntu 13.04 dan paket snort dengan mysql dan acidbase.

Untuk merubah snort dari mode IDS menjadi IPS, snort harus dijalankan pada mode inline dengan data aquisition (daq), DAQ sendiri memiliki banyak type diantaranya NFQ, IPQ, AFPACKET dan IPFW. Masing-masing tipe ini merupakan skema penangkapan paket, misalnya: NFQ menggunakan Queue yang menggunakan antrian dan rule iptables, AFPACKET menggunakan skema FORWARD paket dari satu interface ke interface lain (membutuhkan 2 interface).

kali ini menggunakan AFPACKET karena tidak perlu konfigurasi tambahan pada iptables tapi syaratanya harus menggunakan dua interface/ethernet card. Sebelum konfigurasi IPS harus ada beberapa paket library tambahan yang harus di installkan. Instal paket tersebut dengan perintah dibawah ini:

Code:
sudo apt-get install libdnet libdaq0 libdaq-dev libdnet-dev libnfnetlink0 libnfnetlink-dev
Setelah paket selesai di install, cek apakah snort sudah bisa membaca modul daq dengan tipe afpacket. ketik perintah berikut:

Code:
snort --daq-list
pastikan daq afpacket ada, outputnya kira-kira sperti ini:

Code:
Available DAQ modules:
pcap(v3): readback live multi unpriv
ipfw(v2): live inline multi unpriv
dump(v1): readback live inline multi unpriv
afpacket(v4): live inline multi unpriv
Selanjutnya edit konfigurasi snort di
Code:
/etc/snort/snort.conf
dan pastikan baris untuk rule local sudah enable (kalau perlu disable/delete rules lain):

Code:
include $RULE_PATH/local.rules
#include $PREPROC_RULE_PATH/preprocessor.rules
#include $PREPROC_RULE_PATH/decoder.rules
#include $PREPROC_RULE_PATH/sensitive-data.rules
Setelah diedit, masukkan rule baru yang akan dijadikan action ketika ada intrusi yang terdeteksi edit file /etc/snort/rules/local.rules contohnya:

Code:
drop tcp any any -> any 22 (msg: "Drop SSH"; sid: 1; )
drop tcp any any -> any 80 (msg: "Drop HTTP"; sid: 2; )
contoh diatas adalah contoh rules paling sederhana, ketika ada yang mengakses port SSH (22) atau HTTP (80) maka paket akan langsung di drop. Simpan file tersebut dan stop service snort yang sudah berjalan, karena kita akan menggunakan snort dengan mode yang berbeda.

Code:
sudo /etc/init.d/snort stop
sudo su
cd /etc/snort
snort -Q --daq afpacket -i eth0:eth1 -v -c /etc/snort/snort.conf &
Test dari client dengan melakukan akses http atau ssh, maka client akan langsung disconnect atau connection failed/refused


PS : to be continued upload gambar
__________________
UI Matter: simple things is simple but hard things is possible

TurnKey Linux : everything that can be easy, should be easy.
Reply With Quote