|
การติดตั้ง Snort
ให้เราเริ่มด้วยการเอา snort-2.1.3.tar.gz ไปไว้ที่ /home/util เผื่อมีการลงซ้ำในอนาคต
[root@one util]# cp snort-2.1.3.tar.gz /var/tmp/ [root@one util]# cd /var/tmp/ [root@one tmp]# tar xzpf snort-2.1.3.tar.gz [root@one tmp]# cd snort-2.1.3 [root@one snort-2.1.3]#
เราเริ่มด้วยการ copy ไปไว้ที่ /var/tmp จากนั้นก็เปลี่ยนไปทำงานที่ /var/tmp ทำการแตก tar.gz ออกมา แล้วก็เข้าไปยัง Directory ของ snort-2.1.3 จากนั้นให้ตรวจสอบก่อนว่ามีโปรแกรม libpcap อยู่หรือไม ่ถ้าไม่มีเราต้องติดตั้ง libpcap ลงไปก่อนด้วย ( rpm -Uvh libpcap-version.rpm )
แต่ก่อนที่เราจะกระทำการอื่นใด เราต้อง เพิ่มกรุ๊ฟและยูสเซอร์ สน๊อท เข้าไปก่อนดังนี้
[root@one snort-2.1.3]# groupadd -g 69 snort > /dev/null 2>&1 || : [root@one snort-2.1.3]# useradd -u 69 -g 69 -s /bin/false -M -r -d /var/log/snort snort > /dev/null 2>&1 || :
ในกรณีที่ หมายเลข 69 มีอยู่แล้วให้ใช้ 70 หรือ 71 ไปเรื่อยๆ เราน่าจะตรวจดูก่อนว่า ตัวเลข 69 ใช้ได้หรือ ไม่จากการ vi /etc/passwd แล้ว search หาตัวเลข 69 ถ้าไม่มีก็ใช้ได้เลย แต่ถ้ามี ลอง search ตัวเลข 70 หรือ 71 ไปเรื่อย
เมื่อเพิ่มเข้าไปเรียบร้อยแล้วให้ทำการแก้ไขแฟ้ม /etc/shells โดย
[root@one snort-2.1.3]# vi /etc/shells /bin/bash2 /bin/bash /bin/sh /bin/false
โดยตรวสอบว่ามีบรรทัด /bin/false มีหรือไม่ถ้ามีก็ผ่านไปแต่ถ้าไม่มีให้เพิ่มเข้าไปทั้งนี้ก็เพื่อเราไม่ต้องการให้ snort มี shell นั่นเอง
ณ ที่อยู่ปัจจุบันใช้คำสั่งต่อไปนี้เพื่อติดตั้ง
[root@one snort-2.1.3]#CFLAGS="-O2 -march=i686 -funroll-loops"; export CFLAGS [root@one snort-2.1.3]#./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --mandir=/usr/share/man \ --with-openssl [root@one snort-2.1.3]# make [root@one snort-2.1.3]# cd [root@one root]# find /* > Snort1 [root@one root]# cd /var/tmp/snort-2.1.3/ [root@one snort-2.1.3]# make install [root@one snort-2.1.3]# mkdir -p /var/log/snort [root@one snort-2.1.3]# mkdir -p /etc/snort [root@one snort-2.1.3]# chown -R snort.snort /var/log/snort/ [root@one snort-2.1.3]# install classification.config /etc/snort/ [root@one snort-2.1.3]# install snort.conf *.rules /etc/snort/ [root@one snort-2.1.3]# chmod 0644 /etc/snort/* [root@one snort-2.1.3]# strip /usr/bin/snort [root@one snort-2.1.3]# cd [root@one root]# find /* > Snort2 [root@one root]# diff Snort1 Snort2 > Snort-Installed
[root@one root]# cd /var/tmp [root@one tmp]# rm -rf *
จากนั้นเราก็จะได้แฟ้ม /etc/snort/snort.conf ซึ่งประกอบด้วย
var HOME_NET $eth0_ADDRESS var EXTERNAL_NET any var SMTP $HOME_NET var HTTP_SERVERS $HOME_NET var SQL_SERVERS $HOME_NET var DNS_SERVERS $HOME_NET var RULE_PATH ./ preprocessor frag2 preprocessor stream4: detect_scans,detect_state_problems preprocessor stream4_reassemble: both,ports all preprocessor http_decode: 80 preprocessor rpc_decode: 111 32771 preprocessor bo preprocessor telnet_decode preprocessor portscan: $HOME_NET 4 3 portscan.log preprocessor portscan-ignorehosts: 207.35.78.40 207.35.78.41 output alert_syslog: LOG_AUTH LOG_ALERT include classification.config
และแฟ้ม /etc/init.d/snort ประกอบด้วยรายละเอียดดังนี้
#!/bin/bash # This shell script takes care of starting and stopping the snort IDS daemon. # # chkconfig: 2345 40 60 # description: Snort is a lightweight network intrusion detection tool that \ # currently detects more than 1100 host and network \ # vulnerabilities, portscans, backdoors, and more.
# Source function library. . /etc/init.d/functions
# Source networking configuration. . /etc/sysconfig/network
# Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0
# Specify your network interface here INTERFACE=eth0
RETVAL=0 prog="Snort"
start() { echo -n $"Starting $prog: " daemon /usr/bin/snort -A fast -u snort -g snort -b -s -z -d -D -i $INTERFACE -c /etc/snort/snort.conf RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/snort return $RETVAL }
stop() { echo -n $"Shutting down $prog: " killproc snort RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/snort return $RETVAL }
# See how we were called. case "$1" in start) start ;; stop) stop ;; status) status snort ;; restart) stop start ;; condrestart) [ -f /var/lock/subsys/snort ] && restart ;; *) echo $"Usage: $prog {start|stop|status|restart|condrestart}" exit 1 esac exit $RETVAL
จากนั้น ทำการเปลี่ยนโหมดและโอนเนอร์ รวมทั้งการสั่งให้ทำงานเมื่อเปิดเครื่องดังนี้
[root@one tmp]# chmod 700 /etc/init.d/snort [root@one tmp]# chown 0.0 /etc/init.d/snort [root@one tmp]# chkconfig --add snort [root@one tmp]# chkconfig --level 2345 snort on [root@one tmp]# /etc/init.d/snort start
แฟ้มต่างๆที่ใช้ในการทำ snort นี้มีให้ Download ประกอบด้วยแฟ้มต่างๆดังนี้
snort.sh snort-2.1.3.tar.gz snort.conf snort
|