ติดตั้ง psu-radius บน ubuntu

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 27-06-2555

ดูแลโดย WIBOON

เขียนครั้งแรกโดย วิภัทร ศรุติพรหม


  • PSU-radius เป็น freeradius รุ่นที่ได้ปรับแต่งให้ติดตั้งพร้อมใช้งาน สามารถ authen กับ mail server และ PSU passport ได้
  • ทดสอบกับ ubuntu 10.04, 12.04


  1. ให้ดาวน์โหลดแฟ้ม http://ftp.psu.ac.th/pub/psu-radius/psu-radius.tgz มาเก็บไว้ก่อน
    ตัวอย่างดาวน์โหลดมาเก็บไว้ที่ /tmp ใช้คำสั่งประมาณว่า
    wget http://ftp.psu.ac.th/pub/psu-radius/psu-radius.tgz -N -P /tmp
  2. แตกแฟ้มที่ดาวน์โหลดมา เอาไปเก็บไว้ที่ /tmp ด้วยคำสั่งประมาณว่า
    tar -zxpvf /tmp/psu-radius.tgz -C /tmp
  3. เข้าไปทำงานใน directory ที่ถูกสร้างขึ้นมาตอนแตกแฟ้มนี้ ด้วยคำสั่งประมาณว่า
    cd /tmp/psu-radius
  4. เริ่มขั้นตอนติดตั้งด้วยคำสั่ง
    sudo sh install-psu-radius.sh
  5. ระบบจะเริ่มทำการติดตั้ง รอสักครู่ก็จะใช้งานได้
  6. ทดสอบ user ใน server แบบ localhost โดยตรง ใช้คำสั่งว่า
    sudo radtest mama 123456 127.0.0.1 0 testing123
  7. หากต้องการปรับตั้งค่าให้ radius server นี้บริการผ่าน network และปรับตั้ง key
    ให้แก้ไขรายการ client ผ่าน network ที่แฟ้ม /etc/freeradius/clients.conf
    ตัวอย่างประมาณว่า
    client 10.0.5.0/24 {
    secret = mytestkey
    shortname = private-network
    }
  8. หลังจากปรับแต่งค่าของ freeradius จะต้องรีสตาร์ทเซอร์วิส ด้วยคำสั่ง sudo /etc/init.d/freeradius force-reload
  9. ทดสอบ user ใน server ผ่าน network ใช้คำสั่งประมาณว่า
    sudo radtest mama 123456 server_ip 0 mytestkey
  10. ทดสอบ user@gmail.com ใช้คำสั่งประมาณว่า
    sudo radtest user@gmail.com yourpassword 127.0.0.1 0 testing123
  11. การยืนยันตัวตนใช้ username / password ตั้งให้ authen กับ server ต่างๆได้ที่แฟ้ม /etc/freeradius/imap-authen.sh เลือกตั้งค่าดังนี้

    AUTHEN_SHADOW="YES" หมายถึงให้ authen กับแฟ้ม /etc/passwd ด้วย (default=YES)

    AUTHEN_MAIL="YES" หมายถึงให้ authen กับ mail server ด้วย(default=NO)
    ให้ปรับค่า DEFAULT_MAIL_SERVER="your.domain" ให้เป็น mail server ที่ต้องการ

    AUTHEN_LDAP="NO" หมายถึงไม่ต้อง authen กับ ldap server (default=NO)
    ถ้าต้องการให้ authen กับ ldap server ต้องแก้ไขตัวแปรเปลี่ยนเป็น AUTHEN_LDAP="YES"
    แล้วแก้ไขแฟ้ม /etc/freeradius/check-ldap.sh ตั้งค่า LDAP SEVER ให้ถูกต้องเช่น
    LDAP_HOST="ldap://your.domain"
    LDAP_BASE="dc=aa,dc=bb"

    AUTHEN_SSH="NO" หมายถึงไม่ต้อง authen กับ ssh server (default=NO)
    ถ้าต้องการให้ authen กับ ssh server ต้องแก้ไขตัวแปรเปลี่ยนเป็น AUTHEN_SSH="YES"
    และปรับค่า SSH_SERVER="server.domain" ให้เป็น ssh server ที่ต้องการ

    AUTHEN_PSU_PASSPORT="YES" หมายถึง authen กับระบบ PSU passport (default=YES)
    ถ้าไม่ต้องการให้ authen กับระบบ PSU passport ต้องแก้ไขตัวแปรเปลี่ยนเป็น AUTHEN_PSU_PASSPORT="NO"
    CHECK_PREBLACKLIST="YES" หมายถึงตรวจสอบระบบ blacklist ด้วย (default=YES)
    รายชื่อ blacklist อยู่ในแฟ้ม /etc/freeradius/preblacklist.txt
    ถ้ามีชื่อปรากฏในแฟ้ม /etc/freeradius/preblacklist.txt ระบบจะไม่ไป authen เพื่อลดการโดน spam ถล่ม
  12. เมื่อ authen ด้วย username / password ถูกต้องผ่านมาได้แล้ว ต่อไปก็เป็นการตรวจสอบรายชือผู้มีสิทธิ์ใช้บริการ
    แก้ไขระบบตรวจสอบสิทธิ์ที่แฟ้ม /etc/freeradius/my-authen.sh ตั้งค่าดังนี้

    CHECK_BLACKLIST="YES" หมายถึงตรวจสอบระบบ blacklist ด้วย (default=YES)
    รายชื่อ blacklist อยู่ในแฟ้ม /etc/freeradius/blacklist.txt
    ถ้ามีชื่อปรากฏในแฟ้ม /etc/freeradius/blacklist.txt จะถูกตัดสิทธ์ใช้งาน

    ALL_PASS="YES" หมายถึงไม่ต้องตรวจสอบ ให้ผ่านได้ทุกคน (default=YES)
    หากเปลี่ยนป็น ALL_PASS="NO" หมายถึงว่าต้องตรวจสอบขั้นตอนอื่นตามลำดับถัดไป

    CHECK_VIPLIST="YES" หมายถึงตรวจสอบระบบแฟ้ม vip ด้วย (default=NO)
    หากมีรายชื่อปรากฏในแฟ้ม /etc/freeradius/viplist.txt ก็จะสามารถผ่านได้เลย

    CHECK_PSU_STAFF="YES" หมายถึงตรวจสอบว่าเป็น staff ของ PSU หรือไม่ (default=NO)

    CHECK_PSU_STUDENT="YES" หมายถึงตรวจสอบว่าเป็น student ของ PSU หรือไม่ (default=NO)