วันอาทิตย์ที่ 25 มกราคม พ.ศ. 2552

syslog -ng สู่ mysql ของครูมานิสและท่านยิม

ยกเครดิตให้ คุณยิมครับ ที่ช่วยผมทำจนสำเร็จ ดังนี้

ตั้งค่าให้ FreeBSD 7.0 ส่ง log files

log# cd /usr/ports/sysutils/syslog-ng
log# make & make install

แก้ไขไฟล์ /etc/rc.conf ดังนี้

log# pico /etc/rc.conf

แล้วพิมพ์คำสั่งดังนี้
syslogd_enable="NO"
syslog_ng_enable="YES"

log# kill ‘cat /var/run/syslog.pid’

คัดลอกไฟล์ syslog-ng.conf.sample เป็นไฟล์ syslog-ng.conf ดังนี้
log# cp /usr/local/etc/syslog-ng/syslog-ng.conf.sample /usr/local/etc/syslog-ng/syslogng.conf

สั่งให้ syslog-ng ทำงาน ด้วยคําสั่ง

log# /usr/local/etc/rc.d/syslog-ng start

สร้างฐานข้อมูลชื่อว่า syslog และนำเข้าตาราง log ดังนี้

log # mysql –u root -p’พิมพ์รหัส root mysql’
Mysql> create database syslog;
Mysql> use syslog;
Mysql> แล้วพิมพ์คำสั่งสร้างตารางต่อไปนี้
CREATE TABLE `log` (
`host` varchar(32) collate tis620_bin default NULL,
`facility` varchar(10) collate tis620_bin default NULL,
`priority` varchar(10) collate tis620_bin default NULL,
`level` varchar(10) collate tis620_bin default NULL,
`tag` varchar(10) collate tis620_bin default NULL,
`datetime` datetime default NULL,
`program` varchar(15) collate tis620_bin default NULL,
`msg` text collate tis620_bin,
`seq` bigint(20) unsigned NOT NULL auto_increment,
PRIMARY KEY (`seq`),
KEY `host` (`host`),
KEY `program` (`program`),
KEY `datetime` (`datetime`),
KEY `priority` (`priority`),
KEY `facility` (`facility`)
) ENGINE=InnoDB DEFAULT CHARSET=tis620 COLLATE=tis620_bin;


วิธีการทำให้ syslog-ng เก็บ log ลง mysql

ตามพระราชบัญญัติว่าด้วยการกระทำความผิดทางคอมพิวเตอร์ พ.ศ. 2550 ได้ให้ทุกองค์กร ทุกหน่วยงาน ทั้งภาครัฐและเอกชน ได้ จัดเก็บ log files การใช้งานต่าง ๆ ของผู้ใช้งานอินเตอร์เน็ตอย่างน้อย 90 วัน และจัดทำระบบแสดงตัวตนผู้ใช้งานอินเตอร์เน็ต
คุณธนกร (yim) ได้เขียนบทความนี้เผยแพร่ที่เว็บบร์ด ThaiBSD ว่าหลังจากติดตั้ง syslog-ng แล้ว ให้แก้ไขไฟล์ config ต่าง ๆ ของ syslog-ng ดังต่อไปนี้

log# pico /usr/local/etc/syslog-ng/syslog-ng.conf แล้วเพิ่มคำสั่งต่อไปนี้ เข้าไปนำไฟล์ /usr/local/etc/syslog-ng/syslog-ng.conf ตรงบรรทัด # sources

source src { unix-dgram("/var/run/log");
unix-dgram("/var/run/logpriv" perm(0600));
#udp();
internal();
file("/dev/klog"); };

#
# destinations
#
##################################################
destination ipfw { file("/var/log/ipfw/ipfw.log"); };
filter f_ipfw { program("ipfw"); };
log { source(src); destination(d_mysql); };
destination d_mysql {
pipe("/var/log/mysql.pipe"
template("INSERT INTO log
(host, facility, priority, level, tag, datetime, program, msg,seq)
VALUES ( '$HOST', '$FACILITY', '$PRIORITY',
'$LEVEL', '$TAG','$YEAR-$MONTH-$DAY
$HOUR:$MIN:$SEC','$PROGRAM', '$MSG',null );\n\n") template-escape(yes));
};
###############################################################


log# pico /etc/syslog.conf พิมพ์คำสั่งต่อไปนี้ เพิ่มเข้าไปท้ายไฟล์

!ipfw
*.* /var/log/ipfw/ipfw.log

log# pico /usr/local/etc/syslog-ng/syslog2mysql.sh แล้วพิมพ์คำสั่งต่อไปนี้

#!/bin/sh
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
if [ ! -e /var/log/mysql.pipe ]
then
mkfifo /var/log/mysql.pipe
fi
while [ -e /var/log/mysql.pipe ]
do
/usr/local/bin/mysql -uroot -pพิมพ์รหัส rootmysql syslog < /var/log/mysql.pipe > /var/log/sql.log
done

log# pico /etc/rc.local พิมพ์คำสั่งเพิ่มเข้าไป ดังนี้

/usr/local/sbin/chilli &
ipfw add 65200 allow log all from any to any // พิมพ์คำสั่งเพิ่มบรรทัดนี้
/bin/sh /usr/local/etc/syslog-ng/syslog2mysql.sh & // พิมพ์คำสั่งเพิ่มบรรทัดนี้
ipfw add pass tcp from any to any 3990 via setup
/usr/local/sbin/RunCache &
ipfw add 1700 fwd 10.0.0.1 tcp from any to 10.0.0.0/24 80
ipfw add 1800 fwd 10.0.0.1,8080 tcp from 10.0.0.0/24 to any 80

ขั้นต่อไปดาวโหลดโปรแกรมแสดง syslog ที่เว็บไซต์ http://www.kroonis.org/log.rar
หลังจากดาวโหลดไฟล์โปรแกรมแสดง log ได้แล้ว ให้แตกไฟล์จะได้โพลเดอร์ syslog ให้อับโหลดโพลเดอร์ syslog ไปไว้ที่ห้อง /usr/local/www/apache22/data/ จากนั้นแก้ไขการติดต่อกับฐานข้อมูล ดังนี้

log# pico /usr/local/www/apache22/data/syslog/Connections/dbconnect.php
แล้วแก้ไขการเชื่อมต่อกับฐานข้อมูล syslog ดังนี้

$hostname_syslog = "127.0.0.1";
$database_syslog = "syslog";
$username_syslog = "root";
$password_syslog= "พิมพ์รหัส rootmysql"; // แก้ไขรหัสของ rootmysql

log# shutdown -r now สั่ง reboot server เพื่อให้โปรแกรม syslog-ng ทำงาน

ตรวจสอบ syslong-ng ส่ง log files ไปเก็บไว้ที่ฐานข้อมูล syslog ได้หรือยัง ให้เรียกโปรแกรม phpMyAdmin ขึ้นมาใช้งาน

เปิดดู log files ผ่านเว็บ Admin โดยพิมพ์ที่ช่อง Address ว่า

10.0.0.1/syslog แล้วกดปุ่ม Enter ก็จะพบรายการ log ที่ syslog-ng ส่งไปเก็บไว้ที่ mysql


พ.ร.บ. ว่าด้วยการกระทำความผิดทางคอมพิวเตอร์ พ.ศ. ระบุว่าให้จัดเก็บ Log File ให้ครบ 90 วัน และบอกให้ได้ว่า ใคร ทำอะไร ที่ไหน อย่างไร ใช้ port ไหน
ถ้าทำได้ตามนี้ ก็รองรับ พ.ร.บ. แล้วครับ

-------------------------------------------------------------

ถ้าท่านใด ทำได้แล้ว นำมาแบ่งปันด้วยนะครับ .... อยากให้ syslog-ng เก็บข้อมูลจาก squid ไปยัง mysql ด้วยครับ ถ้าทำได้แล้ว บอกต่อด้วยนะครั ขอบคุณมากครับ

1 ความคิดเห็น:

ชีวิต..??ใยมีสุข ปนทุกข์ กล่าวว่า...

การติดตั้ง chillispot, FreeRadius, syslog-ng บน ubuntu เพื่อทำตาม พรบ.ตอมพิวเตอร์
ดัดแปลงโดย อดิศร ขาวสังข์
ดัดแปลงจาก คู่มือประกอบการฝึกอบรมเชิงปฏิบัติการ "การติดตั้ง Authentication" ของ SiPA และ ATSI (http://61.7.253.244/syslog-ng/)
จัดทำเมื่อ 20/11/2008
ทดลองบน Ubuntu 8.04, Ubuntu 8.10


บทนำ

ท่านที่เคยไปพักตามโรงแรมหรือสถานที่ท่องเที่ยว/จุดพักเิดินทาง ฯลฯ คงเคยเห็นมีบริการ Wi-Fi และมีการขายบัตรอินเตอร์เ้น็ต หลาย ๆ ที่ดังกล่าว ได้นำเอาโปรแกรม chillispot และ FreeRaDius ไปประยุกต์ใช้งาน นั่นคือเมื่อเราเชื่อมต่อ Wi-Fi ได้แล้ว พอเข้าเว็บไซต์ก็จะมีหน้าต่างให้เราป้อน username และ password ก่อนจึงจะใช้งานได้

ในสถานการณ์ปัจจุบัน พรบ.คอมพิวเตอร์ 2550 ได้บังคับใช้งานแ้ล้ว เราสามารถนำเอาโปรแกรม chillispot, FreeRadius, syslog-ng มาประยุกต์ใช้งานให้เข้ากับ พรบ.ได้ เพราะ พรบ.ได้ระบุว่า ผู้ให้บริการจะต้องสามารถระบุตัวตนของผู้ใช้งานได้ พร้ออมเก็บข้อมูลการจราจรคอมพิวเตอร์ไม่น้อยกว่า 90 วัน ซึ่ง chillispot + freeradius + syslog-ng สามารถที่จะช่วยได้ ไม่เว้นแ่ต่ plawan centralized log ก็ได้นำซอฟต์แวร์ชุดนี้มาใช้งานเช่นกัน

การติดตั้งในที่นี้เป็นการติดตั้งตามรูปคอนฟิกข้างล่าง โดยติดตั้ง FreeRadius และ syslog-ng ไว้บน Server ที่วางอยู่ในตำแหน่ง DMZ และติดตั้ง Chillispot ให้ทำหน้าที่เป็น Authentication Gateway ไ้ว้ในตำแน่ง Internal ซึ่งจะเห็นว่าถ้าเป็นเครือข่ายขนาดใหญ่ และมีหลาย Internal Network ก็สามารถใช้ FreeRadius และ syslog-ng ร่วมกันได้ โดยส่วนประกอบของ chillispot ก็ประกอบด้วย dhcp, firewall, และ nat อยู่ในตัว การทำงานของ chillispot จะต้องทำงานร่วมกับ FreeRadius ซึ่งวิธีการติดตั้ง FreeRadius ดูได้ ที่นี่ โดยในที่นี้ผู้เขียนติดตั้ง chillispot บน ubuntu 8.10 ส่วน FreeRadius ติดตั้งบน ubuntu 8.04 (ไม่ใช้ ubuntu 8.10 เพราะเจอปัญหาบางอย่างที่้ัยังแก้ไม่ได้)



หมายเหตุ FreeRadius, chillispot และ syslog-ng สามารถติดตั้งในเครื่องเดียวกันได้ ซึ่งจะเหมาะสมกับหน่วยงานขนาดเล็ก ด้วยการปรับค่าคอนฟิกบางส่วน

ขั้นตอนการติดตั้ง Freeradius
การติดตั้ง Freeradius สำหรับวิธีการของผู้เขียนดูวิธีได้ ที่นี่

โดยบนเครื่อง FreeRadius จะต้องมีการคอนฟิกอนุญาตให้เข้าไปใช้งาน FreeRadius ที่ไฟล์ /etc/freeradius/client.conf ดังนี้
client 172.24.51.16 {
secret = radiussecret
shortname = chilli
}

จากค่า client ข้างบนอาจจะมีการสงสัยกันว่าทำไม่อนุญาต IP 172.24.51.252 เข้าไปใช้งาน คำตอบก็คือว่าที่ Firewall มีการทำ NAT ระหว่าง Internal กับ DMZ ดังนั้น IP ที่ส่งไปยัง FreeRadius จึงเป็น IP ของ Firewall ฝั่ง Internal คือ 172.24.51.16

ในการติดตั้งใช้งาน ที่ Firewall ต้องทำให้เครื่อง Authentication Gateway สามารถเชื่อมต่อไปยังเครื่องที่เป็น FreeRadius ได้ ไม่นั้นก็จะไม่สามารถติดตั้ง FreeRadius ได้

ขั้นตอนการติดตั้ง chillispot บนเครื่อง Authentication Gateway

เซ็ตค่า Network

ทำการ Enable packet forwarding ด้วยการแก้ไขไฟล์ /etc/sysctl.conf ด้วยการเอาเครื่องหมาย # หน้าคำว่า net.ipv4.ip_forward=1 ออก เพื่อสั่งให้ packet forwarding ของ ipv4 ทำงาน
ทำการรันคำสั่งต่อไปนี้ เพื่อให้มีผลทันที ให้เครื่องสามารถ forward packet ทำตัวเป็นเราเตอร์ได้
echo 1 | tee /proc/sys/net/ipv4/ip_forward
ถ้าผลที่ได้เป็น 1 ถือว่าทำการ Enable packet forwarding สำเร็จ

ทำการ Restart network ด้วยคำสั่งต่อไปนี้
sysctl -p
/etc/init.d/networking restart
Enable TUN/TAP device driver support

ทำการ Enable TUN/TAP device drive support ด้วยการเพิ่มคำว่า tun ต่อท้ายไฟล์ /etc/modules
จากนั้นทำการ Enable โดยไม่ต้อง reboot ด้วยการรันคำสั่งต่อไปนี้
modprobe tun
Install Chillispot

โปรแกรม chillispot เป็น Opensource ที่ใช้ติดตั้งบน Gateway Server เพื่อทำหน้าที่ควบคุมการใช้งานของ user ที่วิ่งผ่านให้มีการป้อน username และ password ก่อนจึุงจะใช้งานได้ ซึ่งจะทำงานร่วมกับโปรแกรม Radius ซึ่งทำหน้าที่บริหารจัดการฐานข้อมูลของ user โดยโปรแกรม chillispot กับ FreeRadius อาจจะติดตั้งอยู่บนเครื่องเดียวกันหรือต่างเครื่องกันได้

การติดตั้ง chillispot จะต้องใช้การ์แลน 2 การ์ด ซึ่งมีขั้นตอนต่อไปนี้


ทำการติดตั้ง chillispot โดยใ้้ช้คำสั่งต่อไปนี้
apt-get install chillispot
จากนั้นให้เติมรายละเอียดดังต่อไปนี้
IP address of radius server 1:
127.0.0.1(ของผู้เีขียนชี้ไปยัง Freeradius ซึ่งอยู่อีกเครื่องจึงกำหนดเป็น 192.168.9.12)
Radius shared secret:
radiussecret (ค่านี้ต้องตรงกับ Radius Server)
Ethernet interface for DHCP to listen:
eth1
URL of UAM server:
https://192.168.182.1/cgi-bin/hotspotlogin.cgi (เปลี่ยนเป็นค่าอื่นได้)
URL of UAM homepage:
https://192.168.182.1/welcome.html
Shared password between chillispot and webserver:
uamsecret
ต่อไปทำการแก้ไขไฟล์ /etc/default/chillispot เพื่อ Enable captive portal ด้วยการกำหนดค่าให้
ENABLED=1
ทำการแก้ไขไฟล์คอนฟิกของ chillispot คือไฟล์ /etc/chilli.conf โดยค่าที่สำคัญมาจากขั้นตอนของการติดตั้งที่ได้ทำมาแล้ว และให้แก้ไขค่าให้เหมาะสม ดังต่อไปนี้
net 192.168.182.0/24
dns1 61.19.253.134
dns2 61.19.253.136
radiusserver1 127.0.0.1 (ของผู้เีขียนเป็น 192.168.99.12)
radiusserver2 127.0.0.1 (ของผู้เีขียนเป็น 192.168.99.12)
radiussecert radiussecret
dhcpif eth1
uamserver https://192.168.182.1/cgi-bin/hotspotlogin.cgi
uamhomepage https://192.168.182.1/welcome.html
uamsecret uamsecret
uamlisten 192.168.182.1
uamallowed www.google.co.th,192.168.182.0/24

โดยค่าของ dns ต้องสามารถใช้งานได้จริง เพราะเป็นค่าที่จะต้องจ่ายให้กับเครื่อง Client
ติดตั้ง Firewall สำหรับ Chillispot
chillispot จะต้องมีการติดตั้ง Firewall (iptables) เพื่อกำหนดให้แพ็กเกตของข้อมูลจากเครื่อง Client ที่วิ่งผ่าน ต้องผ่าน Service ที่เป็น chillispot เพื่อให้ Client ทุกคนต้องมีการป้อน username และ password ก่อนถึงจะใช้งานได้ โดย Firewall ของ Chillspot จะมีมาให้แล้วกับการติดตั้ง ซึ่งมีขั้นตอนการนำมาใช้ดังต่อไปนี้

ทำการกำหนด firewall โดยทำการสร้างไฟล์ chilli.iptables ด้วยการคัดลอกมาจากไฟล์ firewall.iptables ที่มากับ chillispot ไปไว้ในตำแหน่ง /etc/init.d ด้วยคำสั่งดังนี้
cp /usr/share/doc/chillispot/firewall.iptables /etc/init.d/chilli.iptables
กำหนดให้ไฟล์ chilli.iptables สามารถ execute ได้ด้วยคำสั่ง
chmod a+x /etc/init.d/chilli.iptables
กำหนดให้กฎ firewall มีการ start ทุกครั้งเมื่อมีการเิปิดเครื่องด้วยคำสั่ง
ln -s /etc/init.d/chilli.iptables /etc/rcS.d/S41chilli.iptables

โดยค่าดีฟอลต์ไฟร์วอลล์จะทำการกำหนดค่าให้ eth0=internet, eth1= LAN แต่ถ้าคุณต้องการเปลี่ยนค่าก็สามารถเปลี่ยนแปลงได้
หากต้องการให้เครื่องลูกสามารถทดสอบการเชื่อมต่อโดยใ้ช้โปรโตคอล ICMP หรือ ping ได้ ให้เพิ่มกฎของ iptables ดังนี้
#Allow ping to myserver
SERVER_IP="192.168.182.1"
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -d $SERVER_IP -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -s $SERVER_IP -d 0/0 -m state --state ESTABLISHED,RELATED -j ACCEPT

ทำการ Enable firewall script ด้วยคำสั่ง
/etc/init.d/chilli.iptables
ติดตั้ง Apache และ PHP

ติดตั้ง Apache Web Server ด้วยคำสั่ง
apt-get install apache2
start apache ด้วยคำสั่ง
/etc/init.d/apache2 start
ตรวจสอบว่า apache ทำงานหรือไม่ด้วยคำสั่ง
netstat -lnt
ถ้าทำแล้วจะต้องมีคำว่า
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
ติดตั้ง PHP5 ด้วยคำสั่ง
apt-get install php5
restart apache ด้วยคำสั่ง
/etc/init.d/apache2 restart
สร้างหน้าต่าง Login

โดยปกติตำแหน่งที่เป็น ScriptAlias /cgi-bin/ ของ apache จะอยู่ที่ /usr/lib/cgi-bin/
ให้ทำการเปลี่ยนไดเร็กทอรีเข้าไปยังตำแหน่งดังกล่าวแล้วใ้ช้ีคำสั่ง ls จะเห็นชื่อไฟล์ชื่อว่า hotspotlogin.cgi ซึ่งเป็นไฟล์ที่ถูกสร้างขึ้นในขั้นตอนการติดตั้ง chillispot
ทำการแก้ไขไฟล์ดังกล่าวโดยให้เอาเครื่องหมาย # หน้าคำว่า $uamsecret และ $userpassword ออกและำกำหนดค่าเป็นดังนี้
$uamsecret = "uamsecret";
$userpassword=1;
เมื่อแก้ไขเสร็จแล้วทำการ restart chillispot ด้วยคำสั่ง
/etc/init.d/chillispot start
ทำการสร้างไฟล์ welcome.html ด้วยคำสั่ง
vim /var/www/welcome.html
ทำการเพิ่มข้อความต่อไปนี้ลงไปในไฟล์ welcome.html
"หาเอาเองเด้อมันใส่ tag เอชทีเอ็มแอลไม่ได้
ถ้าต้องการรูป chillispot.png ให้ทำการดาว์นโหลดโดยใช้คำสั่ง
wget http://mamboeasy.psu.ac.th/~wiboon.w/images/stories/chillispot/chillispot.png
cp chillispot.png /var/www
เซ็ตอัพ SSL

ติดตั้ง SSL โดยใช้คำสั่งต่อไปนี้
apt-get install ssl-cert
สร้างไดเร็กทอรี่ขึ้นมาเพื่อเก็บ Certificate ที่ถูกสร้างขึ้น โดยใช้คำสั่ง
mkdir /etc/apache2/ssl
ทำการสร้าง self-signed cerfiticate ด้วยคำสั่งดังต่อไปนี้
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
แล้วจะถูกถามคำถามต่าง ๆ แต่ใน ubuntu 8.10 อาจจะถามแค่ hostname
Country Name : ป้อน TH
State or Province Name : ป้อนจังหวัด
Locality Name : ป้อนชื่อที่เหมาะสม
Organization : ป้อนชื่อองค์กร
hostname : localhost (ควรจะใช้ hostname ที่เป็นจริง ของผู้เขียนแค่ทดลอง)
Email : ป้อนอีเมล์

ทำการ install module ssl ด้วยคำสั่ง
a2enmod ssl
ให้รันคำสั่งต่อไปนี้เพื่อ active new configuration
/etc/init.d/apache2 restart
สร้าง virtual host ชื่อ hotspot ขึ้นมาด้วยคำสั่งต่อไปนี้
vim /etc/apache2/sites-available/hotspot
เพิ่มข้อความต่อไปนี้ลงไปในไฟล์
NameVirtualHost 192.168.182.1:443
ออVirtualHost 192.168.182.1:443ออ ตัวออแทนด้วยเครื่องหมายน้อยกว่ากับมากกว่านะ
ServerAdmin adisorn.k@cattelecom.com
DocumentRoot "/var/www"
ServerName "192.168.182.1"
ออDirectory "/var/www/"ออ
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ออ/Directoryออ
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
ออDirectory "/usr/lib/cgi-bin/"ออ
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ออ/Directoryออ
ErrorLog /var/log/apache2/hotspot-error.log
LogLevel warn
CustomLog /var/log/apache2/hotspot-access.log combined
ServerSignature On
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
ออ/VirtualHostออ
ทำการ Enable SSL VirtualHost ด้วยคำสั่งต่อไปนี้
a2ensite hotspot
ทำการ reload apache ด้วยคำสั่ง
/etc/init.d/apache2 reload
การ Listen port ของ https (SSL) โดย default จะเป็นพอร์ต 443 ให้ทำการแก้ไขค่าคอนฟิกที่เกี่ยวกับ port ของ SSL ที่ไฟล์ /etc/apache2/ports.conf ให้มีค่าเป็นดังนี้




เปลี่ยนแปลงค่าให้มีการ Listen port ที่เป็น default http (80) ด้วยการแก้ไขไฟล์ /etc/apache2/site-available/default โดยให้มีโครงสร้างของ VirtualHost เป็นดังนี้
NameVirtualHost *:80
ออVirtualHost *:80ออ


ออ/VirtualHostออ


ทำการกำหนดค่า ServerName ในไฟล์ /etc/apache2/apache2.conf ให้มีค่าดังนี้
ServerName 192.168.182.1 (ของผู้เขียนไม่ได้กำหนดค่านี้ก็ทำงานได้)


ทำการ restart apache ด้วยคำสั่ง
/etc/init.d/apache restart


เืมื่อเอาเครื่อง client มาเชื่อมใช้งานหลังเครื่อง Authentications Gateway ก็ได้จะรับ IP address ที่ Authentications Gateway จ่ายมาให้โดย ค่า Gateway IP ที่ได้ เป็นค่าที่ชี้ไปยัง Authentication Server ดังนั้นเมื่อเปิดใ้ช้งาน Browser ตัว Authentication Gateway จะบังคับให้มีการ Redirect ไปยัง https ดังรูป ให้คลิ๊กที่คำว่า Continue to this website (not recommended)




จากนั้นจะได้หน้าต่างแจ้งข้อมูลดังรูป ให้คลิ๊กที่ Link --> Click Here to login




จากนั้นจะได้หน้า่ต่างให้ป้อน username และ password ดังรูป




ถ้า Login ถูกต้องจะได้ผลดังรูป



กรณีที่ต้องการบังคับให้ผู้ใช้งานเว็บต้องใช้งานผ่าน Proxy ต้องทำดังขั้นตอนต่อไปนี้

ติดตั้ง squid ด้วยคำสั่ง
apt-get install squid
แก้ไขไฟล์คอนฟิกของ squid คือไฟล์ /etc/squid/squid.conf ดังนี้
เอาเครื่องหมาย # ไปไว้หน้าคำว่า http_port 3128 เพื่อกำหนดให้เป็นคอมเมนต์
หาข้อความว่า # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS แล้วข้อความเพิ่มเติมอีก 3 บรรทัดต่อไปนี้
acl chillispot src 192.168.182.0/255.255.255.0
http_port 192.168.182.1:3128 transparent
http_access allow chillispot
คำอธิบาย
# http_port 3128 เป็นการยกเลิกการทำงานของโปรแกรมแบบไม่ทำ transparent
visible_hostname ต้องกำหนดชื่อเครื่องให้ระบบ หากไม่กำหนด อาจมีปัญหาในการ start service
acl chillispot src เป็นการกำหนดค่าเน็ตเวิร์กของเครือข่ายที่จะอนุญาตให้ใช้งานผ่านโปรแกรม Squid
http_port x.x.x.x.3128 transparent เป็นการกำหนดให้พอร์ต 3128 เป็น transparent proxy
http_access allow กำหนดค่า Access Control ให้เน็ตเวิร์ควง chillispot สามารถใช้งานผ่าน transparent proxy ได้
หาคำว่า visible_hostname แล้วใส่ชื่อหลังคำดังกล่าวเช่น
visible_hostname myproxy

สั่งให้โปรแกรม squid ทำงานด้วยคำสั่ง
/etc/init.d/squid start
ทำการส่งต่อ packet ที่เข้ามาทางพอร์ต 80 ไปยัง squid พอร์ต 3128 ด้วย คำสั่ง iptables โดยเพิ่มในไฟล์ /etc/init.d/chilli.iptables ดังนี้
iptables -t nat -A PREROUTING -i tun0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
ทำการอนุญาตให้ใช้งาน INPUT ที่เป็น syn flag ดังนี้
iptables -A INPUT -i tun0 -p tcp -m tcp --dport 3128 --syn -j ACCEPT
ต้องเิพิ่ม rule ต่อไปนี้เพื่อป้องกันการเ้้ข้าใช้งานระบบโดยการแอบตั้งค่า proxy เอง
iptables -t nat -I PREROUTING -p tcp -m tcp –dport 3128 -j DROP
การจัดการเรื่อง Log

การจัดการเรื่อง Log ในที่นี้จะเลือกข้อมูลการจราจรที่สำคัญจากเครื่องที่เป็น Authentication Gateway และ Log ของ Server อื่น ๆ (ถ้ามี) ส่งไปยังเครื่อง Centralized Log Server เหตุผลที่เรามีการคัดเฉพาะส่วนที่ำจำเป็นก็คือ เพื่อไม่ให้ปริมาณทราฟฟิกของข้อมูลการจราจร ทำให้การใช้งานระบบเครือข่ายคอมพิวเตอร์ช้าลง หรือเปลืองแบนด์วิดธ์ของระบบ

สำหรับเซอร์วิสที่สำคัญที่จะ้ต้องส่งต่อข้อมูลการจราจรคอมพิวเตอร์ได้แก่ squid และ radius ขณะเดียวกันเราจะต้องใช้หลักการของ IPTABLES เพื่อทำการคัดเลือกข้อมูลเบื้องต้นสำหรับการใช้งานผ่านพอร์ตต่าง ๆ ที่เป็นเซอร์วิสพื้นฐานเพื่อจัดเก็บข้อมูลการจราจรคอมพิวเตอร์ เช่น http, https, ftp, smtp, imap, pop3, IM เป็นต้น

Install Time Server

ด้วย พรบ.ได้กำหนดว่าต้องตั้งนาฬิกาของอุปกรณ์บริการทุกชนิดให้ตรงกับเวลาอ้างอิงสากล (Stratum0) ซึ่งเราควรจะติดตั้ง NTP Server ไว้บน Server เครื่องใดเครืองหนึ่ง ซึ่งในที่นี้เลือกเครื่องที่เป็น Log Server เพื่อกระจายสัญญาณนาฬิกาให้กับเครื่อง Server และเครื่อง Workstation อืน ๆ ทั้งหมดในระบบเป็นลำดับที่ 1 ส่วนลำดับที่ 2 และ 3 ให้อ้างอิงไปยังฐานฐานเวลาภายนอก โดยรูปแบบการอ้างอิงฐานเวลาเป็นดังรูปข้างล่าง


รูปแสดงการอ้างอิงฐานเวลา

ส่วนตารางข้างล่างเป็นการอิงเวลามาตรฐานของประเทศไทย


ตารางแสดงการอิงเวลามาตรฐานของประเทศไทย

ขั้นตอนการติดตั้ง NTP Server ที่เครื่อง Log Server เป็นดังนี้

ติดตั้ง ntp ด้วยสั่ง
apt-get instal ntp
ทำการสำเนาไฟล์คอนฟิกของ ntp ไปไว้เป็นอีกชื่อดังนี้
cp /etc/ntp.conf /etc/ntp.conf.bak
แก้ไขไฟล์ /etc/ntp.conf ให้มีค่าเป็นดังนี้
restrict default kod nomodify notrap noquery nopeer
restrict 127.0.0.1
# อนุญาตให้ Internal network เข้าใช้งาน
restrict 172.24.51.0 mask 255.255.255.0 nomodify notrap
server 203.185.69.60 dynamic
server time.navy.mi.th dynamic
server time.nist.gov dynamic
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/ntp.drift
broadcastdelay 0.008
keys /etc/ntp/keys
ตรวจสอบ Remote Server ที่ต้องการใช้อ้างอิงฐานเวลา ใช้คำสั่งดังนี้
apt-get install ntpdate
ntpdate -b 203.185.69.60
ntpdate -b time.navy.mi.th
ntpdate -b time.nist.gov
สั่ง restart service ด้วยคำสั่ง
/etc/init.d/ntp restart
หลังจากที่ Server ทำงานปกติไม่มีการแจ้ง error ใด ๆ สามารถตรวจสอบตารางการทำงานของ Server ด้วยคำสั่ง
ntpq -pn
ซึ่งจะได้ผลดังนี้

remote refid st t when poll reach delay offset jitter
================================================================
203.185.69.60 .INIT. 16 u - 64 0 0.000 0.000 0.000
118.175.67.83 .INIT. 16 u - 64 0 0.000 0.000 0.000
192.43.244.18 .INIT. 16 u - 64 0 0.000 0.000 0.000
127.127.1.0 .LOCL. 10 l 54 64 7 0.000 0.000 0.001


สามารถใช้เครื่อง Linux เครื่องอื่นในระบบทดสอบการทำงานของ Server ได้ด้วยคำสั่ง
ntpdate ip address ใส่ ip address ของเครื่อง NTP Server
ขั้นตอนการติดตั้ง NTP Server ที่เครื่อง Server เครื่องอื่น (NTP client) เป็นดังนี้

ติดตั้ง ntp ด้วยสั่ง
apt-get instal ntp
ทำการสำเนาไฟล์คอนฟิกของ ntp ไปไว้เป็นอีกชื่อดังนี้
cp /etc/ntp.conf /etc/ntp.conf.bak
แก้ไขค่าคอนไฟล์ของเครื่อง Linux Server อื่น ๆ ที่ไฟล์ /etc/ntp.conf ดังนี้
server 192.168.9.12 ## ip address ของ NTP Server
restrict 127.0.0.1
driftfile /var/lib/ntp/ntp.drift
หมายเหตุ : สำหรับการทำ NTP Server จะมีการใช้งานโปรโตคอล NTP ซึ่งทำงานที่ port 123 ดังนั้นต้องดูเรื่องของ Firewal ให้เปิด port ดังกล่าวด้วย

การติดตั้ง syslog-ng ที่ centralized log

ติดตั้ง syslog-ng ด้วยคำสั่ง
apt-get install syslog-ng
สำเนาไฟล์คอนฟิกของ syslog-ng คือไฟล์ /etc/syslog-ng/syslog-ng.conf ด้วยคำสั่ง
cp /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.bak
แ้ำก้ไขค่าคอนฟิกในไฟล์ /etc/syslog-ng/syslog-ng.conf ตามความเหมาะสม ซึ่งในที่นี้ให้แก้ไขค่าในส่วนของ options ซึ่งมีโครงสร้างเป็นดังนี้
options {
- - - - -
- - - - -
- - - - -
}
โดยให้เพิ่มข้อความต่อไปนี้ลงไปในส่วนของ options เพื่อให้ syslog-ng ทำการเก็บชื่อ hostname ของเครื่องที่ส่ง log เข้ามา
keep_hostname (yes);

จากรูปเครือข่ายของผู้เขียนจะเห็นว่าโปรแกรม Freeraius ติดตั้งอยู่ีที่เดียวกับเครื่อง Centralized log ซึ่งปกติแล้ว detail file ซึ่งเป็นไฟล์ที่เก็บข้อมูลการ Login เข้าใช้งานโปรแกรม Freeradius จะอยู่ในตำแหน่ง /var/log/freeradius/radacct/ipaddress_of_client/detail-Ymd โดยค่า Ymd คือ Year month day ซึ่งชื่อไฟล์จะมีการแปรเปลี่ยนตามปีเดือนวัน ฉะนั้นถ้าต้องการให้สามารถส่ง detail file ดังกล่าวไปยัง syslog ได้ เราจะต้องทำการเปลี่ยนชื่อไฟล์ดังกล่าวให้มีชื่อที่คงที่คือไม่มีปีเดือนวัน ด้วยการเปลี่ยนตัวแปร detailfile ในไฟล์ /etc/freeradius/radiusd.conf ดังนี้
ให้เปลี่ยนค่า detailfile = ${radacctdir}/%{Client-IP-Address}/detail-%Y%m%d เป็น
detailfile = ${radacctdir}/%{Client-IP-Address}/details
หมายเหตุ ถ้าไม่ต้องการส่ง freeradius detail file ไปยัง syslog ก็ไม่ต้องทำขั้นตอนนี้
เพิ่ม log rotate ของ freeeradius ในส่วนของ detail file เื่ืพื่อแก้ปัญหาขนาดไฟล์ที่อาจจะใหญ่เกินไป ด้วยการเพิ่มข้อมูลต่อไปนี้ไปต่อท้ายของไฟล์ /etc/logrotate.d/freeradius

/var/log/radius/radacct/172.24.51.16/details {
rotate 13
weekly
missingok
notifempty
compress
}
หมายเหตุ ค่า 172.24.51.16 เป็น IP address ของเครื่อง client ที่เข้ามาใช้งาน freeradius server ซึ่งจากรูปคือเครื่อง 172.24.51.252 แต่มีการใช้งานผ่าน firewall ที่มีการทำ nat จึงต้องเปลี่ยนค่า IP เป็น 172.24.51.16
สั่งให้มีการส่งขอมูลของ freeradius server ซึ่งในที่นี้คือ detail file ดังที่กล่าวมาไปยัง syslog-ng agent ด้วยการสร้างไฟล์ขึ้นมาหนึ่งไฟล์ในที่นี้คือ /etc/init.d/rc.capture และให้ป้อนข้อมูลต่อไปนี้เข้าไปในไฟล์
#!/bin/bash
tail -F /var/log/radius/radacct/127.0.0.1/details | logger -t freeradius -p local3.info&
จากนั้นสั่งให้สามารถรันได้และสร้าง Link ให้ทำงานทุกครั้งหลังเิปิดเครื่องด้วยคำสั่ง
chmod a+x /etc/init.d/rc.capture
ln -s /etc/init.d/rc.capture /etc/rcS.d/S88rccapture
ซึ่งเมื่อเราไปเปิด log file ของ syslog-ng (/var/log/syslog) ก็จะเห็นค่าของการ login เข้าใช้งาน freeradius เหมือนกับค่าในไฟล์ detail file ของ freeradius ดังรูป



การติดตั้ง syslog-ng ที่เครื่อง Authentication Gateway

ติดตั้ง syslog-ng ด้วยคำสั่ง
apt-get install syslog-ng
กำหนดให้เครื่อง Authentication Gateway ส่ง log ไปยัง Centralized log ด้วยการเพิ่มเติมค่าคอนฟิกในไฟล์ /etc/syslog-ng/syslog-ng.conf ดังนี้
destination remote {
udp("192.168.9.12" port(514));
};
log {source(s_all); filter(f_messages); destination(remote); };
log {source(s_all); filter(f_kern); destination(remote); };

สคริปต์ข้างบนเป็นการส่ง log ไปยังเครื่อง 192.168.9.12
ทำการส่งค่า log ของ squid (/var/log/squid/access.log) ไปยัง syslog-ng agent ซึ่งก็คือส่งไปยัง syslog-ng agent ของเครื่องตัวเอง และหลังจากนั้น syslog-ng agent ในเครื่องตัวเองก็จะส่งต่อไปยัง remote syslog ต่อไป โดยการส่งมี 2 วิธีคือ
วิธีที่ 1 ส่ง log ของ squid ที่เก็บไว้ในไฟล์ /var/log/squid/access.log ในลักษณะที่สำเนาต่อไปยังยังเครื่อง centralized log ซึ่งทำได้ดังนี้

ด้วยการสร้างไฟล์หนึ่งไฟล์ในที่นี้ชื่อว่า /etc/init.d/rc.capture และมีข้อความในไฟล์ดังนี้
#!/bin/bash
tail -F /var/log/squid/access.log | logger -t squid -p local3.info
จากนั้นสั่งให้สามารถรันได้และสร้าง Link ให้ทำงานทุกครั้งหลังเิปิดเครื่องด้วยคำสั่ง
chmod a+x /etc/init.d/rc.capture
ln -s /etc/init.d/rc.capture /etc/rcS.d/S88rccapture
เมื่อเราไปเิปิดดู log ที่ไฟล์ /var/log/syslog ของเครื่อง Centralized log จะได้ Log ของ squid ดังรูป


รูปแสดง Log ของ squid บนเครื่อง Centralized Log

วิธีที่ 2 ส่ง log ของ squid ไปยังเครื่อง Centralized log โดยไม่มีการเก็บ squid log (/var/log/squid/access.log) ไว้ในเครื่องของตัวเอง ทำดังนี้

แก้ไขไฟล์ /etc/squid/squid.conf โดยแก้ไขค่าดังนี้
ของเดิม
access_log /var/log/squid/access.log squid
แก้ไขเป็น
access_log syslog:local7.info หรือ
access_log syslog:local0.notice หรือ
access_log syslog:local0.warning หรือแบบอื่น ขึ้นอยู่กับ facility และ priority

สั่ง reconfigure squid ด้วยคำัสั่ง
squid -k reconfigure


ที่ผ่านมาจะเราสามารถเก็บ Log ของ Freeradius ซึ่งอยู่บนเครื่อง Centralized Log และเก็บ Log ของ Squid ที่อยู่ ณ เครื่อง Authentication Gateway ได้แล้ว ซึ่งเป็น Log หลัก ที่ควรจะเก็บเอาไว้ ต่อไปนี้ก็จะขึ้นอยู่กับนนโยบายของแต่ละหน่วยงานว่ามีการเปิดให้ใช้งานโปรโตคอลอื่น ๆ บน Authentication Gateway นอกเหนือจาก web หรือไม่ ซึ่งถ้าไม่เป็น การเก็บ Log แค่นี้ก็อาจจะเพียงพอแล้ว เพราะทุก application ที่ผู้ใช้ใช้งาน มีการใช้ผ่่าน squid อย่า่งเดียว แต่ถ้ามีการใช้งานโปรโตคอลอื่น ๆ ด้วย ก็จะ้ต้องมีการเก็บ Log เพิ่มเติมต่อไป
ในกรณีที่ต้องการเก็บ Log ของทราฟฟิกทั้งหมดที่เข้าทางขา eth1 (ซึ่ง chillispot จะสร้าง interface ที่เป็น tun0 ขึ้นมา) และออกทางขา eth0 ของ Authentication Gateway ให้เพิ่มคำสั่ง iptables ลงไปในไฟล์ /etc/init.d/rc.capture โดยให้เพิ่มคำสั่งต่อไปนี้ลงไป
iptables -A FORWARD -i tun0 -o eth0 -j LOG --log-level info --log-prefix "FORWARD "
การส่ง Log จาก Server อื่น ๆ ไปยัง Centralized Log

ติดตั้ง NTP Server ที่เครื่อง Server เครื่องอื่น (NTP client) ตามวิธีการที่ได้กล่าวมาแล้วข้างบน

ติดตั้ง syslog-ng ด้วยคำสั่ง
apt-get install syslog-ng
กำหนดให้เครื่อง Server อื่น ๆ ส่ง log ไปยัง Centralized log ด้วยการเพิ่มเติมค่าคอนฟิกในไฟล์ /etc/syslog-ng/syslog-ng.conf ดังนี้
destination remote {
udp("202.129.16.26" port(514));
};
log {source(s_all); filter(f_messages); destination(remote); };
log {source(s_all); filter(f_kern); destination(remote); };

สคริปต์ข้างบนเป็นการส่ง log ไปยังเครื่อง 202.129.16.26
แ้ก้ไขการกำหนดค่า log ของ Apache ที่ไฟล์คอนฟิกของ Apache (/etc/apache2/sites-available/default) เป็นดังนี้
ของเดิม
LogLevel warn
แก้ไขเป็น
LogLevel notice


กรณี Apache Web Server ให้ทำดังนี้
วิธีที่ 1 ทำการส่ง log ที่ถูกเก็บเอาไว้ในเครื่อง Web Server แล้ว (/var/log/apache2/access.log) และให้สำเนาส่งไปยัี่งครื่อง Centralized log ด้วย ทำดังนี้

สร้างไฟล์ขึ้นมาหนึ่งไฟล์ในที่นี้ชื่อว่า /etc/init.d/rc.capture และมีข้อความในไฟล์ดังนี้
#!/bin/bash
tail -F /var/log/apache2/access.log | logger -t apache2_copy -p local3.info
จากนั้นสั่งให้สามารถรันได้และสร้าง Link ให้ทำงานทุกครั้งหลังเิปิดเครื่องด้วยคำสั่ง
chmod a+x /etc/init.d/rc.capture
ln -s /etc/init.d/rc.capture /etc/rcS.d/S88rccapture
เมื่อเราไปเิปิดดู log ที่ไฟล์ /var/log/syslog ของเครื่อง Centralized log จะได้ Log ของ apache ดังรูป



จากรูปจะเห็นคำว่า ns2 ซึ่งเป็นชื่อ host ของ Web Server และคำว่า apache2_copy ซึ่งเป็นข้อความที่อยู่หลัง -t ของคำสั่งที่กล่าวมา โดยเราสามารถที่จะเปลี่ยนแปลงค่าได้ตามความเหมาะสม เพื่อให้บ่งบอกได้ว่าเป็น log ประเภทไหน
วิธีที่ 2 กำหนดให้ส่ง log จาก Apache Web Server (/var/log/apache2/access.log) ไปยัง Centralized Log โดยไม่มีการสำเนาเก็บไว้ที่ Apache Web Server ทำดังนี้

แก้ไขคอนฟิกไฟล์ของ Apache (/etc/apache2/sites-available/default) ในส่วนของ Log ดังนี้
ของเดิม
CustomLog /var/log/apache2/access.log combined
แก้ไขเป็น
CustomLog "|/usr/bin/logger -t apache2 -p local1.info" combined
สั่ง restart apache ด้วยคำสั่ง
/etc/init.d/apache2 restart
เมื่อเราไปเิปิดดู log ที่ไฟล์ /var/log/syslog ของเครื่อง Centralized log จะได้ Log ของ apache ดังรูป


การสั่งให้ Centralized log มีการเก็บ Log แบบกลั่นกรอง (Filter)

ที่ผ่านมาการเก็บ Log ของ Centralized Log Server มีการเก็บ log ไว้ที่ไฟล์ /var/log/syslog ทั้งหมด ซึ่งจะยากต่อการมอนิเตอร์ วิธีการแก้ทำได้ด้วยการสั่งให้ syslog-ng มีการเก็บ log แบบกลั่นกรองคือกำหนดให้มีการเก็บ log ของแต่ละโปรแกรมหรือแต่ละบริการ แยกไฟล์ต่างหาก

ซึ่งสามารถทำได้ด้วยการแก้ไขไฟล์ /etc/syslog-ng/syslog-ng.conf แล้วเพิ่มค่าการ Filter ดังต่อไปนี้

สำหรับฟิลเตอร์โปรแกรม Freeraduis

filter f_radius { match("radius"); };
destination d_radius {
file("/var/log/$HOST/$YEAR/$MONTH/radius.$YEAR-$MONTH-$DAY"
owner(root) group(adm) perm(665)
create_dirs(yes) dir_perm(0775));
};
log { source(s_all); filter(f_radius); destination(d_radius); };


สำหรับฟิลเตอร์โปรแกรม squid

filter f_squid { match("squid"); };
destination d_squid {
file("/var/log/$HOST/$YEAR/$MONTH/squid.$YEAR-$MONTH-$DAY"
owner(root) group(adm) perm(665)
create_dirs(yes) dir_perm(0775));
};
log { source(s_all); filter(f_squid); destination(d_squid); };


สำหรับฟิลเตอร์โปรแกรม apache

filter f_apache { match("apache"); };
destination d_apache {
file("/var/log/$HOST/$YEAR/$MONTH/apache.$YEAR-$MONTH-$DAY"
owner(root) group(adm) perm(665)
create_dirs(yes) dir_perm(0775));
};
log { source(s_all); filter(f_apache); destination(d_apache); };
หมายเหตุ คำว่า match สำมารถใช้คำว่า program แทนได้

ซึ่งเมื่อเราทำการฟิลเตอร์แล้ว เมื่อเข้าไปดูไฟล์ในไดเร็กทอรี่ที่กำหนด ก็จะได้ไฟล์เป็นดังรูป


รูปแสดง ไฟล์ที่เก็บ Log ซึ่งผ่านการ Filter แล้ว บน Centralized log ซึ่งเป็น Log ของ radius ที่ส่งมาจาก Server มีชื่อ Hostname เป็น qc


รูปแสดง ไฟล์ที่เก็บ Log ซึ่งผ่านการ Filter แล้ว บน Centralized log ซึ่งเป็น Log ของ squid ที่ส่งมาจาก Server มีชื่อ Hostname เป็น chilli


รูปแสดง ไฟล์ที่เก็บ Log ซึ่งผ่านการ Filter แล้ว บน Centralized log ซึ่งเป็น Log ของ apache ที่ส่งมาจาก Server มีชื่อ Hostname เป็น ns2

การเพิ่มชื่อผู้ใช้งานบน FreeRadius

เป็นการเพิ่มข้อมูลเข้าไปยังฐานข้อมูล MySQL ของ FreeRadius ซึ่งมีวิธีการเพิ่มที่สามารถทำได้ 3 วิธีคือ

การเพิ่มผ่านโปรแกรม phpmyprepaid ซึ่งจะไ่ม่ขอกล่าวเพราะสามารถทำได้ง่ายผ่าน GUI

การเพิ่มผ่านโปรแกรม phpmyadmin
โดยตารางข้อมูลที่ใช้ี่สำหรับการเพิ่ม user ในเบื้องต้นมี 2 ตารางคือ ตาราง radcheck ซึ่งมีไว้เพื่อเก็บข้อมูลที่เป็น username และ password ของผู้ใช้งาน และตารางที่สองชื่อ radreply มีไว้สำหรับเก็บข้อมูลที่เกี่ยวกับคุณสมบัติการใช้งานของผู้ีใช้ เช่นเวลาในการใช้งานทั้งหมด (Session-Timeout) และเวลาที่เป็นที่เป็น Idle (Idle-Timeout) โดยข้อมูลตัวอย่างเป็นดังรูป

ตัวอย่างข้อมูลในตาราง radcheck


ตัวอย่างข้อมูลในตาราง radreply




การเพิ่มผู้ใช้งานด้วยการ import text file ผ่าน phpmyadmin โดยมีขั้นตอนดังนี้
สร้าง text file เพื่อสร้างรายชื่อผู้ใช้งานในตาราง radcheck และตาราง radreply ให้มีนามสกุลเป็น *.sql

ตัวอย่างการเพิ่มรายชื่อผู้ใช้งานในตาราง radcheck
INSERT INTO radcheck VALUES ('', 'somsak', 'User-Password', '==', 'test123'),
('', 'somchai', 'User-Password', '==', 'test123');

ตัวอย่างการเพิ่มรายชื่อผู้ใช้งานในตาราง radreply
INSERT INTO radreply VALUES ('', 'somsak', 'Session-Timeout', ':=', 10800),
('', 'somsak', 'Idle-Timeout', ':=', 1200);

เปิด phpmyadmin แล้วเลือกเมนู import เพื่อทำการ import text file จากนั้นกดปุ่ม Browse เพื่อเลือก text file ที่ได้สร้างไว้ จากนั้นกดปุ่ม Go เพื่อทำการ import text file

ยังมีต่ออีกเร็ว ๆ นี้ครับ