Postingan ini sebenarnya membahas cara menhindari serangan hacker, alangkah tidak efisiennya jika kita hanya membahas cara-cara hacking saja tanpa membahasa penangkalnya.
Snort merupakan salah satu software favorit yang digunakan untuk memproteksi network dari serangan hacker. Proteksi tambahan ini cukup memadai untuk menghindari serangan hacker pada umumnya.
'SNORT' merupakan salah satu software untuk mendeteksi intrusi pada system, mampu menganalisa 'real-time traffic' dan logging ip, mampu menganalisa port dan mendeteksi segala macam 'serangan' dari luar seperti buffer overflows, stealth port scans, CGI attacks, SMB probes, OS fingerprinting. secara default nya snort mempunyai 3 hal yang terpenting yaitu :
(1) paket sniffer, seperti tcpdump, iptraf dll
(2) paket logger, yang berguna untuk paket traffic dll
(3) NIDS, deteksi intrusi pada network.
1.1 Pengenalan
Snort bukanlah software yang sulit, tapi perlu banyak latihan karena banyaknya 'command-command' yang harus digunakan, tujuan dari pembuatan artikel ini untuk membuat user lebih mudah untuk mengenali 'snort'.
1.2 Instalasi
download paket yang terbaru dari snort.org, saya disini menggunakan snort 2.0.0
# wget -c www.snort.org
jangan lupa juga mendownload rules terbaru.
# wget -c www.snort.org
extract dan install paket snort
# tar -zxvf snort-2.0.0.tar.gz ; cd snort-x.x.x ; ./configure ; make ; make install
untuk lebih lengkap nya silahkan baca ./configure --help secara default snort akan terinstall di /usr/local/bin/snort
1.3 Paket Sniffer
fyuh, mari coba pelajaran dasar dulu ;) jika anda ingin menampilkan TCP/IP header ke layar ( mis. sniffer mode ), coba perintah ini:
# snort -v
command di atas akan menjalan snort dan hanya akan menampilkan IP dan TCP/UDP/ICMP header, tapi jika anda mau melihat transit data coba dengan command ini
# snort -vd
instruksi tersebut akan menampilkan transit data, tapi jika anda mau lebih spesifik coba dengan
# snort -vde
1.3 Paket logger
ok, command-command di atas mungkin hanya sebagai pengenalan, pada instruksi diatas ada kasus dimana kita tidak mungkin melihat ke layar setiap menit nya ;) oleh karena itu dibutuhkan log, sebelum nya buat direktori 'log' di direktori kerja anda sekarang
# mkdir -p log
# snort -dve -l ./log
Jika instruksi diatas dijalankan, tetapi anda belum membuad direktory log, maka snort akan segera berhenti dengan keterangan 'ERROR: log directory './log' does not exist', jika berhasil, snort akan menyimpan setiap paket ke dalam direktori-direktory IP address, jika sistem anda memiliki beberapa network tetapi anda hanya ingin memonitor network tertentu saja.
# snort -dev -l ./log -h 192.168.1.0/24
Rules ini akan menyimpan setiap data link dan TCP/IP header ke dalam direktory 'log' dan menyimpan setiap paket dari 192.168.1.0 kelas C network.
1.4 Mendeteksi 'Pengacau' Jaringan
Sebelum ini di bahas, sebaik nya anda membaca manual dari snort.org, http://www.snort.org/docs/writing_rules/chap2.html , disini diminta untuk membuat rules sendiri atau anda bisa memakai rules yang di sedikan oleh snort.org sendiri.
# tar -zxvf snortrules-stable.tar.gz
tapi, saya coba membuat rules sendiri, karena saya kurang suka dengan paket dari orang lain, setelah di gunain tapi tidak tahu gunanya buat apa ;) contoh rules sederhana
# cd rules; touch avudz.conf
# vi avudz.conf
alert tcp any any -> ipsaya/29 21 (content: "root"; \
msg: "FTP root login";)
alert tcp any any -> ipprivate/24 22 (msg:"sshd access";)
alert tcp any any -> ipsaya/29 21 (content: "anonymous"; \
msg: "Ada yg Coba FTP server!";)
alert tcp any any -> ipsaya/29 22 (msg:"ada yang login";)
# http://www.linuxsecurity.com/feature_stories/feature_story-144.html
Content digunakan untuk mendefinisikan inputan dari $user, sedangkan msg untuk membuat pernyataan tentang $user yang menggunakan 'content' tersebut.
sebelum rules baru ini di jalankan, pastikan anda membuat direktory logging di /var/log/snort
# mkdir -p /var/log/snort
tetapi jika anda merasa partisi /var anda sudah minim, silahkan buat symbolic link untuk logging, misal
# ln -s /home/avudz/snort/log /var/log/snort
ok, selesai sudah ;) sekarang coba kita jalankan software nya.
# snort -d -c rules/avudz.conf
Running in IDS mode
Log directory = /var/log/snort
Initializing Network Interface eth0
setelah itu silahkan anda coba ftp / ssh ke server anda dari network yang berbeda ( diconfig saya menggunakan ip public), dan pantau traffic nya.
# tail -f /var/log/snort/alert
contoh :
[**] [1:0:0] ada yang login [**]
[Priority: 0]
06/12-05:47:23.911639 202.xxx.xxx.xx:3962 -> 202.xxx.xxx.xxx:22
TCP TTL:64 TOS:0x10 ID:57036 IpLen:20 DgmLen:52 DF
***A**** Seq: 0xAC015F2A Ack: 0xAD5438B5 Win: 0x3EBC TcpLen: 32
TCP Options (3) => NOP NOP TS: 16723031 55655688
[**] [1:0:0] Ada yg Coba FTP server! [**]
[Priority: 0]
06/12-05:48:24.419800 202.xxx.xxx.xx:3971 -> 202.xxx.xxx.xxx:21
TCP TTL:64 TOS:0x10 ID:57642 IpLen:20 DgmLen:68 DF
***AP*** Seq: 0xAE133FB1 Ack: 0xAFCB3637 Win: 0x3EBC TcpLen: 32
TCP Options (3) => NOP NOP TS: 16729081 55661127
Ah.. selesai sudah, tinggal tambahin beberapa rules yang dibutuhkan untuk memantau aktivitas 'machine' anda ;) misalnya iseng mo monitor irc server, tinggal tambahin di avudz.conf
# vi rules/avudz.conf
alert tcp ipsaya any -> any 6666:7000 (msg:"CHAT IRC "; flow:to_server,established; content: "NICK "; offset:0; classtype:misc-activity; sid:542; rev:8;)
alert tcp ipsaya any -> any 6666:7000 (msg:"permintaan DCC Chat "; flow:to_server,established; content:"PRIVMSG "; nocase; offset:0; content:" \:.DCC SEND"; nocase; classtype:misc-activity; sid:1639; rev:3;)
# === done === #
Semua config dan rules nya bisa anda pelajari dari file snortrules-stable.tar.gz yang sudah di extract, seperti msyql rules, backdoor rules, ICMP rules, bad traffic rules dll. yang penting adalah mencoba, jangan pernah menyerah! MERDEKA!! =)
Referensi :
1. www.snort.org
2. www.snort.org
3. marc.theaimsgroup.com
0 comments:
Posting Komentar