Hadyai Internet R&D LAB
ผลงานของ Hadyai Internet R&D LAB => คุยกับทีมวิจัย => ข้อความที่เริ่มโดย: noppatung ที่ 05 ตุลาคม 2008, 18:26:37
-
อยากได้fileของsyslog-ng น่ะคับพร้อมวิธีการลงด้วยได้ไหมคับ มาใช้กับcc4.2น่ะคับ ขอบคุณมากเลยคับ
อยากได้แบบส่งข้อมูลให้ทางemailน่ะคับเผื่อเครื่องserverแฮงน่ะคับ
-
อยากได้แบบที่ส่งมาทางemailน่ะคับเผื่อเครื่องserver hang น่ะคับ
-
ไปอ่านรายละเอียดและโหลดไฟล์ได้ที่ เว็บไซต์นี้ครับ
http://www.thaicert.org/paper/unix_linux/syslog-ng.php
- ผู้ดูแลระบบจะต้องติดตั้งเองโดยการคอมไพล์จาก source ทั้งนี้จะต้องติดตั้ง libol ก่อนจึงจะสามารถติดตั้ง syslog-ng ได้ขอให้สนุกกับการติดตั้งนะครับ อิอิอิ ผมช่วยได้เท่านี้แหละ ^^
-
ขอบพระคุณมากเลยคับข้อมูลสุดยอดเลยดีจัยมากที่ยังมีคนดีๆๆอยู่คู่เวบคับ
-
ลองๆตามนี้ ผมเอามาจากไหนไม่รุ จำไม่ได้แระ ...
หลาย ๆ องค์กรเริ่มจะตื่นตัวกับพรบ.ว่าด้วยการกระทำผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. ๒๕๕๐ ตามมาตรา ๒๖ บัญญัติให้ผู้ให้บริการต้องเก็บข้อมูลจราจรคอมพิวเตอร์ไว้ไม่ต่ำกว่า ๙๐ วัน แต่ไม่เกิน ๑ ปีไปแล้ว วันนี้จะแนะนำวิธีง่าย ๆ ที่จะทำ centralized log เซิร์ฟเวอร์ด้วยตนเอง ด้วยซอฟต์แวร์ open sourceดูสิว่าจะสู้ผลิตภัณฑ์ต่างประเทศราคาหลายแสนได้หรือไม่
นับเป็นข่าวดีมากที่ผู้เขียนได้ค้นพบซอฟต์แวร์ที่ใช้ทำการวิว ค้นหาข้อมูล เพื่อจะได้ทำรายงานเบื้องต้นได้ใหม่ ชื่อว่า “php syslogviewer” แถมเพิ่งจะอัพเดทล่าสุดเมื่อปีกลาย แจ่มทีเดียว ใครหลายคนอาจเคยได้ยินชื่อ phpsyslog-ng มาก่อน ลืมไปได้เลยครับขี้เหร่มาก
ซอฟต์แวร์ที่ใช้งาน
syslog-ng-2.0.0
phpsyslogviewer-7.2.1
speedupd-7.3.2
ผู้เขียนทดสอบโดยติดตั้งบนระบบปฏิบัติการ debian etch 4.0 รันในระบบเวอร์ชอลแมชชีน โดยซอฟต์แวร์ xen opensource ใช้เคอร์เนลเวอร์ชั่น 2.6.18-4-xen-686 นับว่ามีเสถียรภาพสูงมาก ๆ ครับ
ขั้นตอนที่ 1 เริ่มกันเลยดีกว่า หลังจากติดตั้งโอเอสเรียบร้อยให้ทำการติดตั้งซอฟต์แวร์ syslog-ng-2.0.0 โดยใช้แพ็คเกจของโอเอสเองดังนี้
# apt-get install syslog-ng
ขั้นตอนที่ 2 ดาวน์โหลดซอร์สโค๊ดจาก sourceforge ตามลิงค์ข้างล่างนี้
# wget http://jaist.dl.sourceforge.net/sourceforge/phpsyslogviewer/phpsyslogviewer-7.2.1.tar.bz2
# wget http://jaist.dl.sourceforge.net/sourceforge/phpsyslogviewer/speedupd-7.3.2.tar.bz2
ขั้นตอนที่ 3 แตกแพ็คเกจออกถ้าใครยังไม่ได้ลงโปรแกรม bzip2 ให้ทำการลงซะก่อนมิฉะนั้นจะแตกไฟล์ออกไม่ได้และทำการติดตั้งชุด lamp สำหรับเครื่องแม่ข่ายซะก่อน ขั้นตอนการติดตั้ง lamp อาจจะใช้เวลาสักนิดนึง หากใครมีประสบการ์ณคงหาทางแก้ปัญหาได้จากเอกสารอื่น เนื้อหาในบทความนี้ผู้เขียนขอเล็งไปที่ซอฟต์แวร์หลัก ๆ ของระบบการจัดการข้อมูลการจราจรคอมพิวเตอร์ ตามพรบ.เป็นหลัก อาจจะทำให้มือใหม่งุดหงิดบ้าง ดังนี้
# apt-get install bzip2
# tar xjvf phpsyslogviewer-7.2.1.tar.bz2
# cd phpsyslogviewer-7.2.1
# apt-get install mysql-client mysql-server apache2 php5
# apt-get install php5-mysql php5-ldap php5-cli libapache2-mod-php5
ขั้นตอนที่ 4 ในโฟลเดอร์ install จะมีสคริปที่ใช้ติดตั้งตารางต่าง ๆ ให้กับฐานข้อมูล เราจะต้องทำการสร้างฐานข้อมูลเสียก่อน มิฉะนั้นจะพบกับข้อผิดพลาดและไม่สามารถรันสคริปดังกล่าวผ่านได้
# mysql -u root -p
mysql > create database syslogng;
mysql > exit;
# mysql -u root -p syslogng < install/phpsyslogviewer.sql
ขั้นตอนที่ 5 ปรบมือให้กับตัวเองเราผ่านพ้นขั้นตอนที่ต้องระวังไปขั้นหนึ่ง จากนั้นกำหนดค่าเพื่อสร้างบัญชีรายชื่อผู้ใช้และรหัสผ่านง่าย ๆ ก็ใส่ค่าข้อมูลของผู้ใช้ รหัสผ่าน ชื่อโฮสต์ และ ฐานข้อมูล คิดว่าไม่น่ายาก ดังนี้
# vi install/newuser.sql.php
# php install/newuser.sql.php
# php install/newuser.sql.php | mysql -u root -p syslogng
ขั้นตอนที่ 6 จัดการเวบไดเรคทอรีเพื่อให้สามารถเรียกดูข้อมูลผ่านเวบบราวเซอร์ ใครที่มีประสบการณ์สร้างเวบไซต์มาก่อน งานนี้กินเรียบครับ ทำตามขั้นตอนได้เลย
# cp -R htdocs /var/www/phpsyslogviewer
# vi /var/www/phpsyslogviewer/config.php
# chown root:www-data /var/www/phpsyslogviewer/config.php
# chmod 440 /var/www/phpsyslogviewer/config.php
ขั้นตอนที่ 7 ทดลองเปิดหน้าเวบไซต์ดูหน่อยว่าหน้าตาเป็นอย่างไร ไปที่ http://xxx.xxx.xxx.xxx/phpsyslogviewer
จะเห็นว่าหน้าตาดูดีทีเดียว
ขั้นตอนที่ 8 ติดตั้งแพ็คเกจ speedupd-7.3.2 เพื่อเร่งความเร็วให้เอนจิ้นป้อนข้อมูลสู่ฐานข้อมูล mysql ขั้นตอนนี้อาจยุ่งยากนิดหน่อย เพราะต้องทำการคอมไพล์แพ็คเกจด้วยตัวเองใหม่ แต่ไม่เกินความสามารถของเราหรอกครับ ขอย้ำว่าต้องทำนะครับขั้นตอนนี้ มิฉะนั้นใครที่เคยใช้ phpsyslog-ng จะรู้ซึ้งว่าอึดอัดเป็นอย่างไร
# tar xjvf speedupd-7.3.2.tar.bz2
# cd speedup-7.3.2
# apt-get install debhelper cmake libdaemon-dev libconfuse-dev fakeroot
# dpkg-buildpackage -rfakeroot
ขั้นตอนที่ 9 หลังจากผ่านขั้นตอนที่ 8 เราจะได้แพ็คเกจตระกูล debian ชื่อว่า speedupd_7.3.0_i386.debให้ติดตั้งแพ็คเกจและกำหนดค่าให้กับไฟล์ speedupd.confดังนี้
# cd ..
# dpkg -i speedupd_7.3.0_i386.deb
# vi /etc/speedupd.conf
# /etc/init.d/speedupd start
ขั้นตอนที่ 10 สบายใจไปอีกขั้นหนึ่งครับ ต่อไปเป็นการกำหนดค่าให้กับ syslog-ng ทำการส่งค่าไปเก็บยังฐานข้อมูลทำตามนี้เลยครับ ง่าย ๆ ผู้เขียนตัดวิธีการเก็บข้อมูลการจราจรคอมพิวเตอร์ส่วนอื่นออก เพื่อให้สามารถทำความเข้าใจได้ง่าย ๆ ครับ หากใครมีไฟล์คอนฟิคเก่าอยู่แล้วก็เพิ่มเติมเฉพาะส่วนที่ต้องการเก็บข้อมูลในฐานข้อมู
ลได้เลยครับ
# cd /etc/syslog-ng
# cp syslog-ng.conf syslog-ng.conf.org
# vi syslog-ng.conf
options {
recv_time_zone (+07:00);
send_time_zone (+07:00);
sync (0);
time_reopen (100);
log_fifo_size (1000);
long_hostnames (off);
use_dns (no);
use_fqdn (no);
create_dirs (yes);
chain_hostnames(yes);
keep_hostname (yes);
};
source s_sys {
file ("/proc/kmsg" log_prefix("kernel: "));
unix-stream ("/dev/log");
internal();
udp(ip(0.0.0.0) port(514));
tcp(ip(0.0.0.0) port(514) keep-alive(yes));
};
destination d_mysql { \
pipe("/var/log/mysql.pipe" \
template("INSERT INTO logs \
(host, facility, priority, level, tag, datetime, program, msg) \
VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC', \
'$PROGRAM', '$MSG' );\n") template-escape(yes));
};
filter f_kernel { facility (kern); };
filter f_messages { level(info..emerg) and not (facility(mail) or \
facility(authpriv) or facility(cron)); };
log {source(s_sys); filter(f_messages); destination(d_mysql); };
log {source(s_sys); filter(f_kernel); destination(d_mysql); };
ขั้นตอนที่ 11 สร้างสคริปเพื่อทำไปน์สำหรับส่งค่าสตรีมจากไปน์สู่ฐานข้อมูล งานนี้เป็น bash สคริปครับทำเสร็จต้องเปลี่ยนสิทธิให้รันได้ด้วยอย่าลืม ฟังดูวุ่นวายแต่ทำจริงง่ายมากครับ
#vi syslog2mysql.sh
#!/bin/bash
if [ ! -e /var/log/mysql.pipe ]
then
mkfifo /var/log/mysql.pipe
fi
while [ -e /var/log/mysql.pipe ]
do
mysql -u root --password=radius syslogng < /var/log/mysql.pipe >/dev/null
done
# chmod +x syslog2mysql.sh
# ./syslog2mysql.sh &
# /etc/init.d/syslog-ng start
ทำครบแล้วก็ปรบมือให้ตัวเองครับ ลองมาดูผลงานสิว่าเป็นไงบ้าง เข้าไปหน้าล็อกอินครับ
จากนั้นป้อนรหัสผู้ใช้พร้อมรหัสผ่านที่ทำไว้ในขั้นตอนที่ 5 ครับ ถ้าหากลืม จากนั้นจะได้หน้าจอต่อไปครับ
ดูต่อ อยากเห็นเรียลไทม์วิวเวอร์ครับ
ลองค้นหาดูสิ
ได้คำตอบตามนี้ครับ
ดูดีทีเดียวครับ เป็นไงครับ php syslogviewerสู้ซอต์ฟแวร์แพง ๆ จากต่างประเทศได้ไหมอันนี้ต้องพิสูจน์ด้วยตนเองแหละครับ ในส่วนตัวของผู้เขียนดูดีทีเดียวทะเลาะได้กับ kiwi syslog service manager ของวินโดร์ได้ดีเชียวครับ หรือจะใช้สำหรับมอนิเตอร์โปรแกรมจัดส่งข้อมูลการจราจรคอมพิวเตอร์จากอุปกรณ์อื่น ๆ เช่น สวิตช์ เร้าเตอร์ หรือ อุปกรณ์แอคเซสพอยท์ในระบบก็ทำได้ดีครับ ใช้จริงก็ได้ครับ ผู้เขียนว่าคนไทยเก่งครับ สามารถสร้างเครื่องแม่ข่ายเก็บข้อมูลการจราจรคอมพิวเตอร์ ตาม พรบ.ว่าด้วยการกระทำผิดเกียวกับคอมพิวเตอร์ พ.ศ.2550 ได้ด้วยตนเองครับ ก็มันกฎหมายบ้านเรา ก็ทำมันซะเองสิครับ แค่นี้ก็รอดตัวจากมาตรา 26 ปรับตั้งห้าแสนบาทแล้วครับ ที่สำคัญช่วยลดปัญหาการนำเข้าฮาร์ดแวร์ราคาแพงจากต่างประเทศได้ครับ สงสารพี่น้องเกษตรกรไทยครับไม่รู้จะขายข้าวสารกี่เกวียนจะพอจ่ายเงินซื้อ centralized log จากต่างประเทศสักตัว
ที่มา http://www.tpit.co.th/
supakitd at yahoo dot com
บริษัท ไทยพรอสเพอรัสไอที จำกัด
42/1 ถ.พิทักษ์ชาติ ต.ประจวบคีรีขันธ์
อ.เมืองประจวบคีรีขันธ์ จ.ประจวบคีรีขันธ์ 77000
Posted by: TonHor Jul 10 2008, 04:09 PM
ขอบคุณครับ ใช้ syslog-ng เหมือนกัน
แต่ตัวดู log บน web มีอีกตัวหนึ่งน่าใช้เหมือนกันครับ คือ http://code.google.com/p/php-syslog-ng/downloads/list
การแสดงผลและคิวรี่ คล้ายๆกับ phpsyslogviewer ดูจากในรูป
ไม่รู้ว่า phpsyslogviewer มีกราฟหรือเปล่า ของ php-syslog-ng จะมีกราฟด้วย
-
พึ่งเคยตอบครั้ง แรก นะครับ ผิดพลาดอะไรขออภัย ขออนุญาติท่าน อ. กุ้ง แลกเปลี่ยนประสบการณ์ นะครับ
1. aptitude install syslog-ng
2. แก้ /etc/syslog-ng/syslog-ng.conf ตาม ต้องการ
3. เขียน iptables ไป จับ traffic ของ port ที่เราต้องการ เช่น 80 21 443 1863
4. เพิ่ม cache_access_log syslog squid ใน squid.conf เพื่อให้ syslog-ng ทำงาน
5. หลังจาก ได้ log แต่ ละ ชนิดที่เราต้องการ แล้ว เราก็ นำ มา hashing (ง่ายที่ สุดคือ MD5) เราก็ จะได้ข้อมุล log ใน แต่ ละ วัน เพื่อทำการจัดเก็บ ใน media ที่เราต้องการ เช่น harddisk CD DVD เทป
นี่คือระบบ ที่ ร้านจัดทำครับ ใน ส่วนการ Authen นั้น จะใช้ สมุด ,โปรแกรม เก็บ เงิน ,กล้อง วงจรปิด ก็ ตามสบาย นะครับ
ปล. มิได้ก้าวล่วงท่านผู้ใดนะครับ ออก ตัวไว้เลย เป้น เกรียติมากที่ได้ ร่วมพูดคุย กับทุกท่าน สวัสดี
-
พึ่งเคยตอบครั้ง แรก นะครับ ผิดพลาดอะไรขออภัย ขออนุญาติท่าน อ. กุ้ง แลกเปลี่ยนประสบการณ์ นะครับ
1. aptitude install syslog-ng
2. แก้ /etc/syslog-ng/syslog-ng.conf ตาม ต้องการ
3. เขียน iptables ไป จับ traffic ของ port ที่เราต้องการ เช่น 80 21 443 1863
4. เพิ่ม cache_access_log syslog squid ใน squid.conf เพื่อให้ syslog-ng ทำงาน
5. หลังจาก ได้ log แต่ ละ ชนิดที่เราต้องการ แล้ว เราก็ นำ มา hashing (ง่ายที่ สุดคือ MD5) เราก็ จะได้ข้อมุล log ใน แต่ ละ วัน เพื่อทำการจัดเก็บ ใน media ที่เราต้องการ เช่น harddisk CD DVD เทป
นี่คือระบบ ที่ ร้านจัดทำครับ ใน ส่วนการ Authen นั้น จะใช้ สมุด ,โปรแกรม เก็บ เงิน ,กล้อง วงจรปิด ก็ ตามสบาย นะครับ
ปล. มิได้ก้าวล่วงท่านผู้ใดนะครับ ออก ตัวไว้เลย เป้น เกรียติมากที่ได้ ร่วมพูดคุย กับทุกท่าน สวัสดี
รบกวนขยายความ(อธิบายอย่างละเอียด) ในข้อ 3 และข้อ 5 ด้วยครับ
-
ขอบพระคุณในความหวังดีต่างๆของทีมงานมากเลยคับ ขอบคุณน่ะคับ