วันเสาร์ที่ 15 มีนาคม พ.ศ. 2557

กำหนดค่า Freeradius และ Mysql บน ClearOS 6.4

เกริ่นนำ สวัสดีกันอีกครั้งสำหรับแฟนเพจของ s-techthai.com รวบรวมประสบการณ์ดีๆ เกี่ยวกับการใช้งาน Opensource Server ในนาม ไทย พรอสเพอรัส ไอที มาฝากกันอีกครั้งหนึ่ง หลังจากที่ผู้เขียนเคยเขียนวิธีการใช้งาน SyntaxHighLighter บนบล็อกสปอตมาแล้ว

ครั้งที่แล้วผู้เขียนเคยแนะนำวิธีการกำหนดค่าให้ Freeradius เชื่อมต่อกับ OpenLDAP บน ClearOS 6.4 มาแล้ว ในครั้งนี้จะเป็นการเชื่อมต่อกับ Mysql Server กันบ้าง เพราะเป็นงานที่ใช้บ่อย รวมถึงการติดตั้งซอฟต์แวร์บริหารจัดการบัญชีรายชื่อผู้ใช้งาน daloRadius ที่จะขอแนะนำกันอีกครั้งหนึ่ง

การติดตั้งซอฟต์แวร์ Mysql Server สามารถทำได้ผ่าน GUI หรือสามารถติดตั้งผ่านคอมมานไลน์ตามขั้นตอนต่อไปนี้

 
/usr/sbin/wc-yum -i app-radius 
/usr/sbin/wc-yum -i app-mysql
หากยังไม่ได้ติดตั้งเวบเซิร์ฟเวอร์ให้ทำการติดตั้งให้ด้วยคำสั่งต่อไปนี้
 
/usr/sbin/wc-yum -i app-web-server
ไฟล์สำหรับกำหนดค่าให้กับโปรแกรม freeradius จะอยู่ที่ /etc/raddb ขั้นตอนนี้จะเป็นการแก้ไขคอนฟิกกูเลชั่นไฟล์ของระบบ เราควรที่จะต้องสำรองข้อมูลไว้ก่อนการแก้ไขทุกครั้งจำเป็นต้องฝึกให้เคยชิน
 
modules { 
    $INCLUDE sql.conf
}
 
ดาวโหลด daloradius สำหรับบริหารจัดการบัญชีผู้ใช้ของระบบ ซึ่งสามารถเข้าไปดาวน์โหลดข้อมูลตามลิงค์ที่ผู้เขียนให้ไว้ http://sourceforge.net/projects/daloradius/ จากนั้นแตกไฟล์ไปเก็บที่โฟลเดอร์ /var/www/html และเปลี่ยนสิทธิ์การเข้าถึงโดยกลุ่ม nobody แก้ไขไฟล์ clearos-clients.conf
 
# This file is managed through webconfig.  Please add another clients file
# your custom changes outside of webconfig.
client 127.0.0.1 {
 secret = testing123
 shortname = localhost
}
ขั้นตอนที่สำคัญในการติดตั้งฐานข้อมูล daloradius สามารถทำได้ตามนี้ ต้องสร้างฐานข้อมูลขึ้นมาก่อนตามตัวอย่าง สร้างฐานข้อมูลชื่อ daloradius และกำหนดสิทธิ์ให้กับยูสเซอร์ admin และรหัสผ่าน password
 
mysql> create database daloradius;
Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on daloradius.* to 'admin'@localhost identified by 'password';
Query OK, 0 rows affected (0.00 sec)
จากนั้นให้ทำการป้อนค่าเทมเพลตลงสู่ฐานข้อมูล ตามวิธีการต่อไปนี้ เป็นการเสร็จสิ้นวิธีป้อนค่าให้กับฐานข้อมูล ขั้นตอนต่อไปจะเป็นการกำหนดค่าให้กับโปรแกรม freeradius ให้สามารถติดต่อกับฐานข้อมูล daloradius ที่เราได้สร้างขึ้นมา
 
mysql -uadmin -p daloradius < fr2-mysql-daloradius-and-freeradius.sql
Enter password:
โดยปกติซอฟต์แวร์ freeradius ไม่สามารถเชื่อมต่อโปรแกรมฐานข้อมูล mysql ได้เราต้องทำการติดตั้งซอฟต์แวร์เพิ่มเติมเพื่อให้ freeradius สามารถเชื่อมต่อกับโปรแกรมฐานข้อมูล mysql ได้
 
yum install freeradius-mysql
ขั้นตอนนี้เป็นขั้นตอนที่สำคัญเพราะจะเป็นวิธีการกำหนดค่าให้โปรแกรม freeradius สามารถติดต่อกับโปรแกรมฐานข้อมูล mysql ได้ ให้ทำการแก้ไขคอนฟิกไฟล์ต่อไปนี้
 
/etc/raddb/sql.conf
 server = "localhost"
 #port = 3306
 login = "admin"
 password = "password"
 # Database table configuration for everything except Oracle
 radius_db = "daloradius"
ต่อไปให้แก้ไขไฟล์ /etc/raddb/sites-available/default ให้เพิ่มในส่วนของ sql ตามหัวข้อต่อไปนี้
authorization {sql}, accounting {sql}, session {sql}
สร้างไฟล์ทดสอบการสร้างบัญชีรายชื่อ test2 รหัสผ่านเป็นการทำ md5sum ของ test2 ป้อนเก็บลงฐานข้อมูลเพื่อทดสอบ
 
INSERT INTO `radcheck` (`id`, `UserName`, `Attribute`, `op`, `Value`) VALUES ('', 'test2', 'User-Password', ':=', '126a8a51b9d1bbd07fddc65819a542c3');
INSERT INTO `usergroup` (`UserName`, `GroupName`, `priority`) VALUES ('test2', 'mhs', 1);
รันคำสั่งทดสอบ radtest ตามด้วยชื่อผู้ใช้ รหัสผ่าน ชื่อเครื่อง พอร์ต และรหัสผ่านไคลเอนท์ ตามตัวอย่างข้างล่าง หากสามารถใช้งานได้ โปรแกรม freeradius จะตอบกลับมาเป็น Access-Accept ตามตัวอย่าง
 
Sending Access-Request of id 121 to 127.0.0.1 port 1812
        User-Name = "test2"
        User-Password = "126a8a51b9d1bbd07fddc65819a542c3"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 0
        Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=121, length=26
        Session-Timeout = 36000
        Acct-Interim-Interval = 60
        Idle-Timeout = 300
เป็นอันจบขั้นตอนการติดตั้งโปรแกรม freeradius และโปรแกรมฐานข้อมูล mysql นอกจากนี้โปรแกรม freeradius ยังมีความสามารถมากมายโดยเฉพาะการกำหนดค่าให้รองรับการทำงานของโปรโตคอล 802.1x ที่มีความปลอดภัยในการใช้งานที่สูงกว่า pap ตามตัวอย่างที่ได้แนะนำกันไปมาก โปรโตคอล 802.1x เองมีประโยชน์ที่จะนำไปออกแบบระบบ authentication แบบพอร์ตได้ด้วย แน่นอนที่สุดผู้เขียนจะได้แนะนำวิธีการกำหนดค่าระบบ freeradius รองรับโปรโตคอล 802.1x ในลำดับต่อไป

ไม่มีความคิดเห็น:

แสดงความคิดเห็น