pGina 3.9.9.12 ส่ง RADIUS accounting ได้ และทำ option Remove account and profile after logout ได้ และ ปุ่ม Shutdown ก็ log off user ให้ด้วย (โดยตั้งค่าที่ Local Machine Plugin จะมีให้ ติ๊ก เลือก Notification เพิ่มมาอีกอัน) นอกจากนี้ก็มีเพิ่ม plugins อีกหลายตัว พร้อมแก้บั๊ก ที่น่าสนใจคือ scripting plugin ทำให้ customize ได้มากขี้น แต่ผู้เขียนบทความนี้ยังไม่ได้ลอง
เวอร์ชั่น 3.9.9.12 ดาวน์โหลดได้จาก http://mutonufoai.github.io/pgina/index.html
การตั้งค่าสำหรับทำเป็น Windows Authentication ในเครื่องคอมที่เป็น Windows 10 ผมได้ทำ screen capture มาเฉพาะที่ผมได้ใช้งาน ซึ่งก็คือ Local Machine, RADIUS plugin ดังนี้
หน้าแรกคือแท็บ General จะแสดงให้เห็นว่าโปรแกรมพร้อมทำงาน ให้ดูที่ข้อความที่แสดงเป็นสีเขียวใต้ข้อความ pGina Service status
และตัวเลือกที่ผมเลือกใช้คือ Use original username to unlock computer คือหากหลุดไปที่หน้า screen saver ก็ปลดได้ด้วย username ที่ login นั้น
แท็บถัดไปคือ แท็บ Plugin Selection อันแรกที่จะใช้คือ Local Machine คือ user ที่สร้างขึ้นภายใน Windows นั่นเอง สังเกตจะมีตัวเลือกที่ Authentication, Gateway และ Notification (เพิ่มมาใหม่) และที่ใช้อีกอันคือ RADIUS Plugin
จากนั้นให้เลือก Local Machine แล้วให้คลิกปุ่ม Configure จะได้ค่าดีฟอลต์ ดังรูปข้างล่างนี้
ผมจะใช้ค่าตัวเลือก Remove account and profile after logout เพื่อที่ไม่ต้องเก็บ user profile ที่เป็น user จาก user database ภายนอก เช่น จาก RADIUS server เป็นต้น และ หากต้องการให้ user นั้นมีสิทธิมากกว่า User ทั่วไป ก็ตั้ง Mandatory Group เช่น ตั้งเป็น Administrators หรือ ใส่ชื่อกลุ่ม Guests ไว้ เมื่อเวลาผู้ใช้ login ก็จะมีสิทธิแค่ Guest ติดตั้งโปรแกรมเพิ่มไม่ได้ เป็นต้น
เราจะไม่ใช้ option Remove account and profile after logout ก็ได้โดยให้เก็บ user account ไว้ ก็จะทำให้การเข้าใช้งาน login ในครั้งต่อไปเร็วขึ้น เพราะไม่ต้องเสียเวลาสร้าง user profile ใหม่ แต่ก็ต้องเตรียม disk ไว้ให้ใหญ่เพียงพอ หรือ ทำรอบ cloning ใหม่ให้เร็วขึ้น
ต่อไปก็มาถึงตั้งค่า RADIUS plugin หลังจากเลือก Authentication และ Notification แล้วจากนั้นคลิกปุ่ม Configure จะได้ค่าดีฟอลต์รวมกับที่แก้ไขแล้ว ดังรูป
ผมจะเลือกใช้และใส่ค่าต่าง ๆ เหล่านี้ครับ
เลือก Enable Authentication เพื่อสอบถาม username/password
เลือก Enable Accounting เพื่อส่งข้อมูลบันทึกค่า Acct-Status-Type ไปยัง RADIUS Server
แล้วระบุ Server IP และ Shared Secret ที่จะต้องตรงกันกับที่ระบุอยู่ใน config ที่ RADIUS server เช่น FreeRADIUS จะอยู่ในไฟล์ clients.conf เป็นต้น
เลือก Called-Station-ID ด้วย หากต้องการเลข MAC Address เก็บด้วยนอกจากเก็บ IP
พบว่าจำเป็นต้องเลือก Accounting Options หัวข้อ Send Interim Updates เพื่อให้มีการส่งค่า accounting ได้ (โดยใช้ค่า Send update every 900 seconds ตามที่เป็นค่าดีฟอลต์)
แล้วระบุ IP Address Suggestion เช่น 192.168.1. หมายถึงระบุว่าจะใช้ข้อมูลของ network นี้ เพราะว่าในเครื่องอาจมีการติดตั้งซอฟต์แวร์ที่จำลอง network interface เพิ่มขึ้นมาอีกอัน เป็นต้น
ส่วนค่าอื่น ๆ ปล่อยไว้ตามเดิม
ตรวจดูแท็บ Order มีค่าดีฟอลต์ดังรูป
ผลลัพธ์ของ radius accounting log ที่ไว้ตรวจสอบ ดังรูป
เพิ่มเติมเนื้อหา
คัดลอกเนื้อหามาจากเพจเดิม เรื่อง การตั้งค่า pGina และ FreeRADIUS เพื่อส่งค่า RADIUS Accounting ไปยัง Firewall ของมหาวิทยาลัย
FreeRADIUS Version 2.2.8 แก้ไขไฟล์ /etc/freeradius/proxy.conf
FreeRADIUS Version 3.0.16 แก้ไขไฟล์ /etc/freeradius/3.0/proxy.conf
อาจด้วยคำสั่ง vi หรือ nano ตามชอบ
เพื่อให้มีค่า realm NULL (ประมาณบรรทัดที่ 672) ที่กำหนดค่า Accounting Port เพียงอย่างเดียวส่งไปยังเครื่อง Firewall
ในรูปตัวอย่างเครื่อง Firewall คือ radius.hatyai.psu.ac.th และต้องรู้ค่า secret ที่ตั้งเพื่อใช้สำหรับเครื่อง FreeRADIUS และ Firewall ในที่นี้คือ yoursecret (อันนี้ต้องมีการติดต่อกับ network administrator ของมหาวิทยาลัยเพื่อร่วมกันตั้งค่านี้)
และแก้ไขอีกแฟ้มคือ
FreeRADIUS Version 2.2.8 แก้ไขที่แฟ้ม /etc/freeradius/sites-available/default
FreeRADIUS Version 3.0.16 แก้ไขที่แฟ้ม /etc/freeradius/3.0/sites-available/default
ประมาณบรรทัดที่ 325 Pre-accounting ใน module ชื่อ preacct
preacct {
preprocess
เพิ่ม
}
หากยังไม่มีบรรทัดเหล่านี้ ให้เพิ่มด้วยต่อท้ายบรรทัด preprocess
# append update for pGina no attribute Framed-IP-Address if (NAS-IP-Address != 127.0.0.1) { update request { Framed-IP-Address = "%{NAS-IP-Address}" } }
แล้ว restart FreeRADIUS ใหม่
sudo service freeradius stop
sudo service freeradius start
จากนั้นรอให้ทางฝั่งผู้ดูแล Firewall ตั้งค่าโปรแกรมที่ดึงข้อมูลที่ FreeRADIUS ของเราส่งไปนำไปใส่ใน Firewall Rule อนุญาตเครื่องไคลเอ็นต์ไม่ต้อง login ซ้ำ
ขั้นตอนข้างล่างนี้ ใช้ในขณะทดสอบ option เรื่อง Remove account and profile after logout
การลบ Windows user account และ profile ที่สร้างโดย pGina
1.เปิด Computer Management เพื่อเข้าไปลบ user account (ต้อง log off แล้วเท่านั้นจึงลบได้) คลิกขวาปุ่ม Start เลือก Computer Management
จะได้หน้าต่าง
รายการที่มีคำว่า pGina created ค้างอยู่ ผลมาจากการไม่ได้เลือก option Remove account and profile after logout
2.เปิด System and Security เพื่อเข้าไปลบ user profile ชื่อ Account unknown
โดยคลิกปุ่ม Start พิมพ์คำว่า advanc แล้วเลือก View advanced system settings
คลิกเลือก Advanced system settings ได้หน้าต่างมีหลายส่วน ให้คลิก Setting ในส่วน User Profiles
คลิกที่ Account unknown แล้วคลิก Delete