Mas....!
Apa?
Nuwun sewu, Mas! Saya udah coba install Snort dan Suricata. Tapi bingung...
Bingung gimana?
Bingung nginstallnya.
Sampeyan nginstallnya di mana?
Sampeyan gimana? Ya di kantor, Mas! Masa di rumah. Di rumah komputer kan cuma 1 doang.
He he....! Maksud saya, nginstallnya di komputer apa, OS nya apa?
Di PC, OS-nya linux
Linux apa?
Ubuntu, Mas!
Hmm... Ubuntu? Sampeyan nginstallnya make apt-get install apa compile dari source-nya?
Make apt-get install, Mas!
sudo apt-get install snort snort-mysql
Emang kenapa, Mas?
Gak apa, Cuma biasanya saya nginstallnya langsung dari source.
Gimana caranya?
Begini, unduh dulu source terakhir yang stabil dari http://www.snort.org/snort-downloads/ Kemudian copykan ke mesin linux yang bakal kita install snort. Jangan cuma download source snortnya thok. Download juga library DAQ (Data Aqcuisition Library). Karena snort juga butuh ini kalo mau mengenable-kan semua fitur snort.
Jangan lupa juga download barnyard2, untuk merekam unified alert ke dalam database. Dan tentunya, jangan lupa juga install mysql, karena barnyardnya minta database mysql.
Kalo mysql nya harus make source gak, Mas?
Saya gak pengin fokus ke database, jadi ya silaken aja make apt-get install.
Untuk mengunduh snort silaken jalankan perintah ini pada login root. Banyak blog gak nyaranin, tapi saya bilang, asal kita hati-hati saja, gak masalah make login ini.
Ya dikompail, masa dimakan.
He he he...
Untuk menginstall daq, kita perlu modul bison dan flex, nah untuk itu jalanin dulu ini
Setelah daq terintall dengan baik maka kita bisa melanjutkan dengan menginstall snort dengan menjalankan
Udah, gitu aja, Mas?!
Belum! He he he... Sebenarnya, instalasi snort kita sudah bisa langsung dikonfig untuk menjalankan service IDS. Cuma sampeyan perhatikan, waktu kita jalankan ./configure kita belum mengenablekan mysql kan?
Nah lo, terus gimana caranya si snort ini ngerekam data?
Kita konfig alertnya direkam ke dalam format unified, dan serahkan perekaman ke database kepada barnyard2. Ini juga merupakan salah satu bentuk tuning performa dari IDS.
Caranya gimana, Mas?
Pertama download dulu barnyard2 nya dari http://www.securixlive.com dengan menjalankan perintah
Udah itu, Mas?
Belum
Belum lagi?
Iya, belum. Setelah kita install snort dan barnyard, kita lakukan perubahan konfgurasi. Installasi snort yang kita buat juga belum mempunyai rules. Nah, rules set (signatures set), bisa didownload dari https://www.snort.org/snort-rules/?. Untuk download setidaknya kita sudah terdaftar di http://www.snort.org, dan kita harus login dulu untuk bisa mendapatkan rules-nya.
Setelah kita mendapatkan rules dari snort, kita edit file snort.conf. File ini bisa didapatkan di sub direktori etc di bawah subdirektori tempat kita mengekstrak rules.
Hal-hal yang akan kita rubah minimal:
output database (baris 318): output database: alert, mysql, user=root password=”passwordsampeyan” dbname=snorby host= localhost
Ok, setelah kita konfig keduanya, maka baik snort maupun barnyard2 sudah bisa kita jalankan.Sudah Mas?
Belum
Masih belum, banyak amat!
Ya emang banyak. Tapi kalo udah masuk proses install nya asik lo. Bisa lupa waktu kita. Nah, buat ngejalanin Snort maupun Barnyard2 akan saya jelaskan dibagian akhir nanti.
Sampeyan udah bisa nginstall snorby-nya belum?Belum, Mas?
Sampeyan ini, apa yang sudah?He he he...
Nah, snorby adalah aplikas berbasis web yang berjalan dengan apache. Nah dari sini praktis sampeyan harus punya apache yang telah terinstall.Nginstallnya gimana? Apa harus make source juga?
Udah, gampangnya, make apt-get install aja dengan perintah ini
Oooo... gitu,
Kemudian install prerequisite dari snorby dengan perintah
Nah setelah itu, kita harus install ruby terlebih dahulu. Nah untuk bisa menginstall ruby kita juga harus menginstall pre-requisite nya terlebih dahulu.
Pertama kali jalankan perintah ini
sebagai contoh:
Nah, selanjutnya kita lengkapi kebutuhan Snorby dengan menginstall beberapa gem termasuk rails 3. Untuk itu jalankan perintah berikut:
Masih, malah sekarang sourcenya didownload gak make tarball lagi.
Make apa, Mas?
Kita bikin git clone dari reponya si Snorby.
Perintahnya?
Perintahnya gini...
ServerAdmin webmaster@localhost
DocumentRoot /var/www/snorby/public
Options FollowSymLinks
AllowOverride all
PassengerAppRoor /var/www/snorby [tambahkan]
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Options -Multiviews
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
..
..
..
Disamping itu, lakukan juga perubahan pada file /etc/apache2/apache2.conf,
[tambahkan setelah baris terakhir]
Snorby kita telah siap, selanjutnya kita jalankan snortnya dengan menjalankan
Selanjutnya kita jalankan barnyardnya dengan:
Sudah, Mas?
Sudah!
Wah wareg tenan....
Sudah kamu catet?
Belum!
Lah dasar kamu! Ya sudah. Kalo belum di catet, kamu buka saja halaman web ini....
Ha ha ha.....! Bisa aja
Ya bisa, kenapa tidak?
Apa?
Nuwun sewu, Mas! Saya udah coba install Snort dan Suricata. Tapi bingung...
Bingung gimana?
Bingung nginstallnya.
Sampeyan nginstallnya di mana?
Sampeyan gimana? Ya di kantor, Mas! Masa di rumah. Di rumah komputer kan cuma 1 doang.
He he....! Maksud saya, nginstallnya di komputer apa, OS nya apa?
Di PC, OS-nya linux
Linux apa?
Ubuntu, Mas!
Hmm... Ubuntu? Sampeyan nginstallnya make apt-get install apa compile dari source-nya?
Make apt-get install, Mas!
sudo apt-get install snort snort-mysql
Emang kenapa, Mas?
Gak apa, Cuma biasanya saya nginstallnya langsung dari source.
Gimana caranya?
Begini, unduh dulu source terakhir yang stabil dari http://www.snort.org/snort-downloads/ Kemudian copykan ke mesin linux yang bakal kita install snort. Jangan cuma download source snortnya thok. Download juga library DAQ (Data Aqcuisition Library). Karena snort juga butuh ini kalo mau mengenable-kan semua fitur snort.
Jangan lupa juga download barnyard2, untuk merekam unified alert ke dalam database. Dan tentunya, jangan lupa juga install mysql, karena barnyardnya minta database mysql.
Kalo mysql nya harus make source gak, Mas?
Saya gak pengin fokus ke database, jadi ya silaken aja make apt-get install.
Untuk mengunduh snort silaken jalankan perintah ini pada login root. Banyak blog gak nyaranin, tapi saya bilang, asal kita hati-hati saja, gak masalah make login ini.
root@mycom:~#mkdir snort && mkdir daq
root@mycom:~#wget http://www.snort.org/dl/snort-current/snort-2.9.1.tar.gz -O $HOME/snort/snort-2.9.1.tar.gz
root@mycom:~# wget http://www.snort.org/dl/snort-current/daq-0.6.2.tar.gz -O $HOME/daq/daq-0.6.2.tar.gz
Kalo udah didownload digimanain, Mas?root@mycom:~#wget http://www.snort.org/dl/snort-current/snort-2.9.1.tar.gz -O $HOME/snort/snort-2.9.1.tar.gz
root@mycom:~# wget http://www.snort.org/dl/snort-current/daq-0.6.2.tar.gz -O $HOME/daq/daq-0.6.2.tar.gz
Ya dikompail, masa dimakan.
He he he...
Untuk menginstall daq, kita perlu modul bison dan flex, nah untuk itu jalanin dulu ini
root@mycom:~#apt-get install bison flex
baru kemudian install daq dengan menjalankan
root@mycom:~#cd daq && tar –xzvf daq-0.6.2.tar.gz
root@mycom:~#cd daq-0.6.2 && ./configure && make all && make install
Pada saat configure, untuk ubuntu 8.0.4 biasanya diminta untuk mengupdate libpcap. Versi terakhir libpcap bisa diunduh dari http://www.tcpdump.orgbaru kemudian install daq dengan menjalankan
root@mycom:~#cd daq && tar –xzvf daq-0.6.2.tar.gz
root@mycom:~#cd daq-0.6.2 && ./configure && make all && make install
Setelah daq terintall dengan baik maka kita bisa melanjutkan dengan menginstall snort dengan menjalankan
root@mycom:~#cd
root@mycom:~#cd snort && tar -xzvf snort-2.9.1.tar.gz
root@mycom:~#cd snort-2.9.1
root@mycom:~#./configure --enable-ipv6 --enable-gre --enable-mpls --enable-targetbased --enable-decoder-preprocessor-rules --enable-ppm --enable-perfprofiling --enable-zlib --enable-active-response --enable-normalizer --enable-reload --enable-react --enable-flexresp3 --prefix=/usr/local
root@mycom:~#make all && make install
Selesai!root@mycom:~#cd snort && tar -xzvf snort-2.9.1.tar.gz
root@mycom:~#cd snort-2.9.1
root@mycom:~#./configure --enable-ipv6 --enable-gre --enable-mpls --enable-targetbased --enable-decoder-preprocessor-rules --enable-ppm --enable-perfprofiling --enable-zlib --enable-active-response --enable-normalizer --enable-reload --enable-react --enable-flexresp3 --prefix=/usr/local
root@mycom:~#make all && make install
Udah, gitu aja, Mas?!
Belum! He he he... Sebenarnya, instalasi snort kita sudah bisa langsung dikonfig untuk menjalankan service IDS. Cuma sampeyan perhatikan, waktu kita jalankan ./configure kita belum mengenablekan mysql kan?
Nah lo, terus gimana caranya si snort ini ngerekam data?
Kita konfig alertnya direkam ke dalam format unified, dan serahkan perekaman ke database kepada barnyard2. Ini juga merupakan salah satu bentuk tuning performa dari IDS.
Caranya gimana, Mas?
Pertama download dulu barnyard2 nya dari http://www.securixlive.com dengan menjalankan perintah
root@mycom:~#mkdir barnyard2
root@mycom:~# wget http://www.securixlive.com/download/barnyard2/barnyard2-1.9.tar.gz -O barnyard2/barnyard2-1.9.tar.gz
root@mycom:~#cd barnyard2 && tar –xzvf barnyard2-1.9.tar.gz
root@mycom:~/barnyard2#cd barnyard2-1.9
root@mycom:~/barnyard2/barnyard2-1.9#./configure --enable-ipv6 --enable-gre –enable-mpls –with-mysql --prefix=/usr/local/barnyard2
root@mycom:~/barnyard2/barnyard2-1.9#make all && make install
Kita ambil –with-mysql aja karena nantinya kita bakal make snorby yang, sampai saat ini, baru bisa make mysql.root@mycom:~# wget http://www.securixlive.com/download/barnyard2/barnyard2-1.9.tar.gz -O barnyard2/barnyard2-1.9.tar.gz
root@mycom:~#cd barnyard2 && tar –xzvf barnyard2-1.9.tar.gz
root@mycom:~/barnyard2#cd barnyard2-1.9
root@mycom:~/barnyard2/barnyard2-1.9#./configure --enable-ipv6 --enable-gre –enable-mpls –with-mysql --prefix=/usr/local/barnyard2
root@mycom:~/barnyard2/barnyard2-1.9#make all && make install
Udah itu, Mas?
Belum
Belum lagi?
Iya, belum. Setelah kita install snort dan barnyard, kita lakukan perubahan konfgurasi. Installasi snort yang kita buat juga belum mempunyai rules. Nah, rules set (signatures set), bisa didownload dari https://www.snort.org/snort-rules/?. Untuk download setidaknya kita sudah terdaftar di http://www.snort.org, dan kita harus login dulu untuk bisa mendapatkan rules-nya.
Setelah kita mendapatkan rules dari snort, kita edit file snort.conf. File ini bisa didapatkan di sub direktori etc di bawah subdirektori tempat kita mengekstrak rules.
Hal-hal yang akan kita rubah minimal:
$HOME_NET, dari nilai awal any menjadi ip jaringan misalnya [“10.10.0.0/16”,”192.168.0.0/16”]
output_unified2, (baris 520). Buka remark “#” , hapus kata “nostamp” karena akan menyulitkan perekaman oleh barnyard2.
Setelah kita merubah konfigurasi snort, kita lakukan juga perubahan untuk konfigurasi barnyard. File konfigurasi barnyard bisa ditemukan di /usr/local/barnyard2/etc dengan nama barnyard2.conf. Ha-hal yang harus kita rubah minimal:output_unified2, (baris 520). Buka remark “#” , hapus kata “nostamp” karena akan menyulitkan perekaman oleh barnyard2.
output database (baris 318): output database: alert, mysql, user=root password=”passwordsampeyan” dbname=snorby host= localhost
Ok, setelah kita konfig keduanya, maka baik snort maupun barnyard2 sudah bisa kita jalankan.Sudah Mas?
Belum
Masih belum, banyak amat!
Ya emang banyak. Tapi kalo udah masuk proses install nya asik lo. Bisa lupa waktu kita. Nah, buat ngejalanin Snort maupun Barnyard2 akan saya jelaskan dibagian akhir nanti.
Sampeyan udah bisa nginstall snorby-nya belum?Belum, Mas?
Sampeyan ini, apa yang sudah?He he he...
Nah, snorby adalah aplikas berbasis web yang berjalan dengan apache. Nah dari sini praktis sampeyan harus punya apache yang telah terinstall.Nginstallnya gimana? Apa harus make source juga?
Udah, gampangnya, make apt-get install aja dengan perintah ini
root@myconn:~#apt-get install apache2 apache2-prefork
Oooo... gitu,
Kemudian install prerequisite dari snorby dengan perintah
root@mycom:~#apt-get install git-core libapr1-dev libaprutil-dev
git-core diinstall untuk mengunduh snorby yang source nya ada di github. Sementara libapr (APR, Apache Portable Runtime) digunakan untuk melengkapi server apache. Karena, sebenarnya apr merupakan bagian dari apache. Namun apache project kemudian memisahkan apr sebagai project terpisah sehingga aplikasi lain bisa menggunakan apr untuk mendukung aplikasi tersebut menjadi platform independence.Oooo.... gitu,Nah setelah itu, kita harus install ruby terlebih dahulu. Nah untuk bisa menginstall ruby kita juga harus menginstall pre-requisite nya terlebih dahulu.
Pertama kali jalankan perintah ini
root@mycom:~#apt-get install gcc g++ build-essential libssl-dev libreadline5-dev zlib1g-dev \
>linux-headers-generic libsqlite3-dev libxslt-dev libxml2-dev imagemagick \
>libmysqlclient15-dev libmagick9-dev git-core git
Setelah itu, unduh ruby dengan menjalankan perintah-perintah berikut>linux-headers-generic libsqlite3-dev libxslt-dev libxml2-dev imagemagick \
>libmysqlclient15-dev libmagick9-dev git-core git
root@mycom:~#mkdir ruby
root@mycom:~# wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz \
-O $HOME/ruby/ruby-1.9.3.p194.tar.gz
Ekstrak file yang telah didownload dengan perintah iniroot@mycom:~# wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz \
-O $HOME/ruby/ruby-1.9.3.p194.tar.gz
root@mycom:~#cd ruby && tar -xzvf ruby-1.9.3.p194.tar.gz
Compile ruby dengan perintah ini
root@mycom:~/ruby#cd ruby-1.9.3-p194#./configure --prefix=/usr/local/ruby
root@mycom:~/ruby/ruby-1.9.3-p194#make all && make install
Nah, setelah selesai tanpa ada kesalahan, sampeyan sudah punya ruby terinstall di komputer sampeyan. Agar ruby sampeyan bisa di akses, sampeyan perlu merubah environment variable dengan menambahkan /usr/local/ruby/bin pada file /etc/environmentroot@mycom:~/ruby/ruby-1.9.3-p194#make all && make install
root@mycom:~#vi /etc/environment
edit baris pertama “PATH” dengan menambahkan /usr/local/ruby/binsebagai contoh:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/ruby/bin"
Simpan, keluar dan jalankan perintah berikut
root@mycom:~#source /etc/environment
Check versi ruby dengan menjalankan perintah berikut
root@mycon:~#ruby -v
Sampeyan harus bisa melihat hasil seperti ini (yang dikurung siku bergantung mesin sampeyan):
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
Sampai di sini masih bisa nyambung?Masih, Mas....!Nah, selanjutnya kita lengkapi kebutuhan Snorby dengan menginstall beberapa gem termasuk rails 3. Untuk itu jalankan perintah berikut:
gem install tzinfo builder memcache-client rack rack-test erubis mail text-format \
>bundler thor i18n sqlite3 doc
gem install rack-mount --version=0.4.0
gem install rails --version 3.0.0
Sampai di sini, installasi ruby sudah selesai. Kita bisa lanjutkan dengan installasi Snorby.Masih make source lagi, Mas?>bundler thor i18n sqlite3 doc
gem install rack-mount --version=0.4.0
gem install rails --version 3.0.0
Masih, malah sekarang sourcenya didownload gak make tarball lagi.
Make apa, Mas?
Kita bikin git clone dari reponya si Snorby.
Perintahnya?
Perintahnya gini...
root@mycom:~#cd /var/www
root@mycom:/var/www#git clone git://github.com/Snorby/snorby.git
Ok. Sekarang kita menginstall kebutuhan gem dari Snorby dengan perintahroot@mycom:/var/www#git clone git://github.com/Snorby/snorby.git
root@mycom:~#cd /var/www/snorby
root@mycom:/var/www/snorby# bundle install
Setelah selesai dengan installasi gems, kita lanjutkan dengan menginstall passenger agar Snorby kita bisa dijalankan oleh apache2.root@mycom:/var/www/snorby# bundle install
root@mycom:~# gem install passenger
root@mycom:~# passenger-install-apache2-module
Kemudian lakukan perubahan terhadap file /etc/apache2/site-available/defaultroot@mycom:~# passenger-install-apache2-module
ServerAdmin webmaster@localhost
DocumentRoot /var/www/snorby/public
Options FollowSymLinks
AllowOverride all
PassengerAppRoor /var/www/snorby [tambahkan]
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Options -Multiviews
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
..
..
..
[tambahkan setelah baris terakhir]
LoadModule passenger_module /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.13
PassengerRuby /usr/local/ruby/bin/ruby
Sekarang apache sudah bisa sudah bisa menjalankan snorby, selanjutnya kita lakukan konfigurasi snorby dengan database mysql.PassengerRoot /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.13
PassengerRuby /usr/local/ruby/bin/ruby
root@mycom:/var/www/snorby#cd config
root@mycom:/var/www/snorby/config#cp database.example.yml database.yml
root@mycom:/var/www/snorby/config#cp snorby_config.example yml snorby_config.yml
dengan menggunakan text editor seperti vi/nano/mcedit lakukan perubahan file database.yml pada bagianroot@mycom:/var/www/snorby/config#cp database.example.yml database.yml
root@mycom:/var/www/snorby/config#cp snorby_config.example yml snorby_config.yml
# Snorby Database Configuration
#
# Please set your database password/user below
# NOTE: Indentation is important.
#
snorby: &snorby
adapter: mysql
username: root
password: “passwordsampeyan” # Example: password: "s3cr3tsauce"
host: localhost
..
..
..
Lakukan juga perubahan terhadap file snorby_config.yml pada bagian#
# Please set your database password/user below
# NOTE: Indentation is important.
#
snorby: &snorby
adapter: mysql
username: root
password: “passwordsampeyan” # Example: password: "s3cr3tsauce"
host: localhost
..
..
..
development:
domain: localhost:3000
wkhtmltopdf: /usr/bin/hkhtmltopdf
mailer_sender: 'snorby@snorby.org'
geoip_uri: "http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry$
rules:
- "/Users/mephux/.snort/rules"
- "/Users/mephux/.snort/so_rules"
authentication_mode: database
..
..
..
Setelah kedua file tadi kita rubah, kita lanjutkan menjalankan apache dan melakukan setup terhadap snorby kita dengan menjalankan:domain: localhost:3000
wkhtmltopdf: /usr/bin/hkhtmltopdf
mailer_sender: 'snorby@snorby.org'
geoip_uri: "http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry$
rules:
- "/Users/mephux/.snort/rules"
- "/Users/mephux/.snort/so_rules"
authentication_mode: database
..
..
..
root@mycom:/var/www/snorby/config# cd /var/www
root@mycom:/var/www#/etc/init.d/apache2 start [perintah ini bisa dijalankan dimanapun]
root@mycom:/var/www# rake Snorby:setup
Perhatikan bahwa proses tadi bakal menggenerate database bernama ‘snorby’ pada server mysql kita.root@mycom:/var/www#/etc/init.d/apache2 start [perintah ini bisa dijalankan dimanapun]
root@mycom:/var/www# rake Snorby:setup
Snorby kita telah siap, selanjutnya kita jalankan snortnya dengan menjalankan
root@mycom:~#/usr/local/snort/bin/snort -l /var/log/snort -c /etc/snort/snort.conf -i ifmon -D
Ifmon adalah interface dimana kita akan melakukan sniffing untuk monitoring. Selanjutnya kita jalankan barnyardnya dengan:
root@mycom:~#/usr/local/barnyard2/bin/barnyard2 -d /var/log/barnyard2 -c /usr/local/barnyard2/etc/barnyard2.conf -f snort.alert -w /var/log/barnyard2/snort.waldo -D
Sudah semua, IDS kita sudah berfungsiSudah, Mas?
Sudah!
Wah wareg tenan....
Sudah kamu catet?
Belum!
Lah dasar kamu! Ya sudah. Kalo belum di catet, kamu buka saja halaman web ini....
Ha ha ha.....! Bisa aja
Ya bisa, kenapa tidak?