การติดตั้ง Snort และ ACID (Open Source Intrusion Detection System) อย่างง่ายและถูกวิธี
by A.Phakkhaphong Kritawat
CCNA, MCSE Windows 2000 with XP , MCSA Windows 2000 ,MCDBA SQL Server 2000 , OCA 9i
ACIS Professional Team
E-mail: phakkhaphong

หากจะกล่าวถึง Snort หลายคนยังไม่ทราบว่าคืออะไร และมีความสำคัญแค่ไหนในระบบสารสนเทศและการรักษาความปลอดภัยให้กับสารสนเทศ Snort ก็คือซอฟท์แวร์สำหรับตรวจจับผู้บุกรุกในระบบเครือข่าย หรือที่เรียกว่า Network Intrusion Detection System (NIDS) ซึ่งอยู่ในค่ายของซอฟท์แวร์ Open Source มีเวอร์ชั่นที่สามารถติดตั้งได้ทั้งบน Solaris, Linux และ Windows แต่ในที่นี้จะนำเสนอเพียงการติดตั้งลงบน Linux (Redhat 8.0) เท่านั้น และเป็นการติดตั้งเพื่อทดสอบการทำงานเพราะสำหรับการติดตั้งเพื่อใช้งานจริงจำเป็นที่จะต้องมีการออกแบบระบบเครือข่ายที่รัดกุมและซับซ้อนเสียก่อน ก่อนที่จะติดตั้ง NIDS ใด ๆ ลงไป

ก่อนอื่นต้องหาไฟล์ rpm ต่อไปนี้ให้ครบเพื่อสะดวกในการติดตั้ง เมื่อได้ไฟล์ต่างๆ ครบถ้วนแล้วก็สามารถติดตั้งได้เลย ดังต่อไปนี้

1. ติดตั้งเซอร์วิสของ Snort โดยพิมพ์คำสั่ง

#rpm -ivh snort-1.9.0-1snort.i386.rpm

2. ก่อนที่จะทำการติดตั้งในขั้นตอนนี้ ต้องแน่ใจว่าได้ติดตั้ง MySQL ในลีนุกซ์เรียบร้อยแล้ว แต่หากยังไม่ได้ติดตั้งให้เลือกติดตั้งได้จากแผ่นซีดีของ Redhat หรือดาวน์โหลดจากไซต์ http://www.mysql.com มาติดตั้งก็ได้ จากนั้นจึงพิมพ์คำสั่งต่อไปนี้

#rpm -ivh snort-mysql-1.9.0-1snort.i386.rpm

3. จากนั้นให้ทำสำเนาไฟล์ snort-1.9.0.tar.gz ไปไว้ในไดเร็กทอรี /tmp แล้วแตกไฟล์ดังกล่าวด้วยคำสั่ง tar

#cp /root/snort-1.9.0.tar.gz /tmp
#cd /tmp
#tar -zxvf snort-1.9.0.tar.gz


4. ตรวจสอบให้แน่ใจว่ามีไดเร็กทอรี /tmp/snort-1.9.0/contrib/

#cd /tmp/snort-1.9.0/contrib/

ต้องการเพียงไฟล์ create_mysql ในไดเร็กทอรีดังกล่าว เพื่อที่จะนำไปสร้างตารางต่างๆ ในฐานข้อมูล snort

5. ให้แน่ใจว่ายังคงอยู่ในไดเร็กทอรี /tmp/snort-1.9.0/contrib/ จากนั้นจึงพิมพ์คำสั่ง

#mysql

หากไม่ปรากฏ Prompt ในรูปแบบ mysql> ให้ทำการ Start เซอร์วิสของ MySQL ด้วยคำสั่ง

#cd /etc/rc.d/init.d
#./mysqld start


จากนั้นจึงทำการเรียกคำสั่ง mysql อีกครั้ง (ให้แน่ใจว่ายังคงอยู่ในไดเร็กทอรี /tmp/snort-1.9.0/contrib/) จะปรากฏ Prompt ในรูปแบบ mysql> ให้พิมพ์คำสั่งต่อไปนี้ลงไป

mysql> GRANT USAGE ON *.* TO root@localhost IDENTIFIED BY 'your_password';
mysql> exit


โดย 'your_password' โดยจะหมายถึงรหัสผ่านที่ต้องการจะใช้งาน

6. ทำการสร้างฐานข้อมูลชื่อ snort ใน MySQL และทำการสร้างตารางต่างๆ ลงในฐานข้อมูลดังกล่าว ด้วยคำสั่งดังต่อไปนี้

#mysqladmin -u root -pyour_password create snort
#mysql -u root -pyour_password snort < create_mysql


จากนั้นให้ตรวจสอบดูว่ามีการสร้างฐานข้อมูลและตารางต่างๆ จริง ด้วยคำสั่ง

#mysql -u root -pyour_password snort -e "show tables"

7. แก้ไขไฟล์ /etc/snort/snort.conf ให้สอดคล้องกับการใช้งานร่วมกับ mysql โดยในส่วนของ Step #3: Configure output plugins ให้ทำการแก้ไขบรรทัดที่มีค่าต่อไปนี้

# output database: log, mysql, user=root password=test dbname=db host=localhost

ไปเป็น
output database: log, mysql, user=root password=your_password dbname=snort host=localhost

(โปรดสังเกต ต้องนำ # หรือ Comment ออกด้วยเสมอ) Save และปิดไฟล์ดังกล่าว

8. ทำการติดตั้ง ACID โดยต้องแน่ใจว่าได้มีการติดตั้ง Apache ลงไปเรียบร้อยแล้ว โดยทำการสำเนาไฟล์ที่เกี่ยวข้องลงไปในไดเร็กทอรี /var/www/html ดังนี้

#cd (กรณีที่ไฟล์ต่างๆ อยู่ในไดเร็กทอรี /root)
#cp acid-0.9.6b22.tar.gz /var/www/html
#cp adodb300.tgz /var/www/html
#cp jpgraph-1.10.1.tar.gz /var/www/html


จากนั้นทำการแตกไฟล์ต่างๆ ด้วยคำสั่ง tar ดังนี้

#cd /var/www/html
#tar -zxvf acid-0.9.6b22.tar.gz
#tar -zxvf adodb300.tgz
#tar -zxvf jpgraph-1.10.1.tar.gz


9. แก้ไขไฟล์ /var/www/html/acid/acid_conf.php ให้สอดคล้องกับการใช้งานร่วมกับ mysql และ php ต่างๆ โดยให้ค่าต่าง ๆ ในไฟล์ดังกล่าวเป็นไปตามค่าข้างล่างนี้

$DBlib_path="/var/www/html/adodb/"
$DBtype="mysql";
$alert_dbname="snort";
$alert_host="localhost"
$alert_port="";
$alert_user="root"
$alert_password="your_password"
$ChartLib_path="/var/www/html/"


Save และปิดไฟล์ดังกล่าว

10. ทดลองเรียกใช้ ACID โดยป้อนค่าต่อไปนี้ลงในช่อง URL ของ Browser http://192.168.1.1/acid โดย IP Address นี้เป็นของเครื่องที่ทำการติดตั้ง ACID หากไม่มีการแสดงผลใด ๆ ใน Browser ให้ทดลอง Restart เซอร์วิสต่างๆ ดังต่อไปนี้

#cd /etc/rc.d/init.d
#./httpd restart
#./snortd restart
#./mysqld restart


จากนั้นทดลองเรียก ACID ใหม่อีกครั้ง ก็น่าจะสามารถทำงานได้ แต่อาจมีข้อผิดพลาดเกี่ยวกับ php ในการทำงานร่วมกับ mysql ให้ไปหาไฟล์ php-mysql-4.2.2-8.0.5.i386.rpm มาติดตั้งก็จะแก้ปัญหานี้ได้ และต้องไม่ลืม restart เซอร์วิสของ Apache ด้วย

11. หากทุกอย่างถูกต้องแล้วจะขึ้นหน้าจอดังต่อไปนี้


ให้คลิกเมาส์ไปที่ Setup page จะปรากฏหน้าจอ


ให้คลิกไปที่ปุ่ม Create ACID AG จะมีหน้าจอผลลัพธ์ปรากฏขึ้นมาดังนี้


ทดลองเรียกใช้ ACID โดยป้อนค่าต่อไปนี้ลงในช่อง URL ของ Browser http://192.168.1.1/acid ใหม่อีกครั้ง ก็น่าที่จะแสดงผลหน้าจอ Console ของ ACID ออกมาอย่างถูกต้องแล้ว

12. ในส่วนของ snort เองจะเหลือที่ต้องแก้ไขอีกนิดหน่อย ก็คือไฟล์ที่เป็นตัว Start/Stop เซอร์วิสของ snort เอง นั่นคือไฟล์ /etc/rc.d/init.d/snortd ให้เปิดไฟล์ดังกล่าวขึ้นมาแก้ไข โดยให้ทำการแก้ไขค่าในบรรทัดที่มีค่าดังนี้

daemon /usr/sbin/snort -A fast -b -l /var/log/snort -d -D \

ไปเป็น

daemon /usr/sbin/snort -b -l /var/log/snort -d -D \

ทำการ Save จากนั้น Restart เซอร์วิสของ Snort อีกครั้งด้วยคำสั่ง

#cd /etc/rc.d/init.d
#./snortd restart


ทุกอย่างก็จะทำงานได้อย่างสมบูรณ์แบบที่สุด

เมื่อติดตั้งเสร็จแล้วก็ให้ทดสอบโดยการใช้ Vulnerability Scanner อย่างเช่น Retina หรือ Nessus ทำการ Scan เครื่องต่าง ๆ ในเครือข่ายหรือจะ Scan ตรงๆ ไปยังเครื่องที่ติดตั้ง Snort อยู่ ก็จะเห็นผลได้เร็วขึ้น แต่ข้อย้ำอีกครั้งว่าการติดตั้งในลักษณะนี้เป็นการติดตั้งเพื่อทดลองใช้งานเท่านั้น หากมีปัญหาในการติดตั้ง E-Mail มาได้ที่ phakkhaphong ขอบคุณครับ

Update Information : 2 เมษายน 2546


การติดตั้ง Snort และ ACID (Open Source Intrusion Detection System) อย่างง่ายและถูกวิธี
Update: April 2, 2003


How to hardening your UNIX/Linux OS
Update: Dec 23, 2002


How to hardening your MS Windows OS
Update: Dec 6, 2002

all_pix_trans.gif (807 bytes)