RADIUS & TACACS
What is RADIUS and TACACS? RADIUS (Remote Authentication Dial in User Services) เป็นอีกบริการหนึ่งที่ทำให้เครื่อง Server สามารถที่จะ ตรวจสอบสิทธิ์การใช้งาน Internet เมื่อมีผู้ใช้งานหมุน โทรศัพท์ (Dial-up) เข้ามายังเครือข่ายที่เราดูแลอยู่ คล้ายๆ กับ ศูนย์ให้บริการ Internet ต่างๆ ที่จะมี RADIUS Server ไว้เพื่อตรวจสอบสิทธ์การใช้งาน
ซึ่งเราสามารถที่จะสร้าง User Account ขึ้นมาเองได้ และ สามารถที่จะจำกัดจำนวนชั่วโมงการใช้งานของ Users ในที่นี้ โปรแกรมที่จะนำมาทดลองสร้าง RADIUS Server คือ FreeRadius ซึ่งสามารถเข้าไปดาวน์โหลดได้ที่ www.freeradius.org ซึ่งสามารถรองรับได้ทั้ง Linux และ UNIX
TACACS (Terminal Access Controller Access Control System) เป็นโพรโตคอลสำหรับกระบวนการพิสูจน์ตนของผู้ใช้ที่พยายามจะ เข้าใช้งานเซิร์ฟเวอร์ ระบบเครือข่าย และเซิร์ฟเวอร์สำหรับเข้าใช้งาน จากระยะไกล ถึงแม้ว่าจะมีลักษณะเหมือนกับ RADIUS และ TACACS+ แต่ว่ามีความปลอดภัยน้อยกว่า
ต่อไปนี้จะเป็นการอธิบายรูปแบบ ของ Radius เป็นหลัก เนื่องจาก Tacacs นั้นจะมีการทำงานใกล้เคียงกับ Radius แต่จะมีความปลอดภัยน้อยกว่า
การทำงานของ RADIUS Server RADIUS ย่อมาจาก “Remote Authentication Dial In User Service” เป็นมาตรฐานในการตรวจสอบความถูกต้องของการล็อกอิน และ RADIUS server คือ เครื่องที่เก็บรายชื่อผู้ใช้งานและรหัสผ่านของผู้ใช้งานในระบบไว้ และคอยทำหน้าที่บอกให้เซิร์ฟเวอร์อื่นทราบว่า ผู้ใช้ล็อกอินถูกต้องหรือไม่
ตามปกติศูนย์บริการอินเตอร์เน็ตจะมีเครื่องเซิร์ฟเวอร์หลายเครื่อง ซึ่งจะมีปัญหาในเรื่องรายชื่อของผู้ใช้งาน และรหัสผ่านที่จะต้องมี เหมือนกันในทุกเครื่อง เมื่อเพิ่มรายชื่อผู้ใช้งานใหม่ก็ต้องเพิ่มให้ครบ ทุกเครื่อง ซึ่งค่อนข้างยุ่งยากในการจัดการและดูแล
การทำงานของ Radius Server 1. ผู้ใช้ป้อนชื่อและรหัสผ่านเพื่อขอล็อกอิน 2. เซิร์ฟเวอร์ส่งชื่อและรหัสผ่านไปตรวจสอบที่ Radius server 3. Radius server ตรวจสอบว่าล็อกอินถูกต้องหรือไม่ รายชื่อผู้ใช้งานและรหัสผ่าน RADIUS server 2 User/password 1 3 YESNO User/password server user
การติดตั้ง Radius Server (Based on Linux Fedora Core 3) ติดตั้งโปรแกรม freeradius ด้วยคำสั่ง apt-get install freeradius ในกรณีที่ใช้ yum ให้เปลี่ยนคำว่า apt-get เป็น yum ดังตัวอย่าง yum install freeradius หรือจะลงจาก packet ในแผ่น Fedora ก็ได้ แก้ไขให้ทำงานทุกครั้งที่บูทเครื่อง ด้วย [root@localhost]#chkconfig radiusd on
สั่งให้ทำงานด้วยคำสั่งในรูป
ซึ่งหากไม่มีอะไรผิดพลาด ควรจะต้องเห็น dialog ดังนี้
เมื่อให้ radiusD ทำงานแล้ว เริ่มขั้นตอนทดสอบระบบโดยป้อนตัวอย่างคำสั่งดังนี้
username = yoshijo password = iloveu secret key (default) = test123 แสดงว่าระบบใช้งานได้แล้ว ถึงแม้ว่าจะมีการแจ้งว่า Access-Reject เป็นสาเหตุเนื่องจากไม่มีสิทธิในการอ่าน แฟ้ม /etc/shadow ของระบบ แต่หากว่า ต้องการให้ใช้ บัญชีรายชื่อในเครื่อง Linux นี้ จำเป็นที่จะต้อง config ให้ radiusd นี้ สามารถอ่านไฟล์ /etc/shadow ซึ่งเก็บ password ของ Users ในระบบให้ได้เสียก่อน
โดยแก้ไขแฟ้ม /etc/raddb/radiusd โดยแก้ไขแฟ้ม /etc/raddb/radiusd.conf และทำการ comment ยกเลิกบรรทัดข้อความจากเดิม user = radiusd group = radiusd ให้เป็น #user = radiusd #group = radiusd
เมื่อแก้ไขเสร็จแล้ว ให้ทำการ restart radiusd ด้วยคำสั่งดังนี้
ทดลองป้อนคำสั่งเดิมอีกครั้ง จะเห็นว่า Access - Accept
แล้วหากต้องการให้ radius client เข้ามาติดต่อใช้งานระบบ radiusd นี้ได้ ให้แก้ไขแฟ้ม /etc/raddb/clients.conf ให้มีค่าดังตัวอย่างนี้
ตัวอย่างคือให้ radius client ที่มีหมายเลข IP 192. 168. 1 ตัวอย่างคือให้ radius client ที่มีหมายเลข IP 192.168.1.4 สามารถเข้ามาใช้ด้วย secret key ว่า mytestkey เมื่อแก้ไขเสร็จแล้วให้ reload ใหม่ด้วยคำสั่ง /etc/init.d/radiusd restart
ลองทดสอบด้วยคำสั่งตัวอย่าง ถึงขั้นตอนนี้เป็นอันเปิดใช้ระบบ radiusd ได้แล้ว
นายพรศักดิ์ พณิชสกุลการย์ 4921245099 จัดทำโดย นายพรศักดิ์ พณิชสกุลการย์ 4921245099