ข้ามไปเนื้อหา

เรเดียส

จากวิกิพีเดีย สารานุกรมเสรี

[เกณฑ์วิธี]การเชื่อมต่อเพื่อพิสูจน์ตัวจริงระยะไกลในบริการของผู้ใช้ หรือ เรเดียส (อังกฤษ: Remote Authentication Dial In User Service: RADIUS) เป็นโพรโทคอลเครือข่ายที่ให้การตรวจสอบ, อนุมัติ และการจัดการการบัญชี (AAA)จากส่วนกลาง สำหรับคอมพิวเตอร์ที่เชื่อมต่อและใช้บริการเครือข่าย RADIUS ได้รับการพัฒนาโดย Livingston Enterprises, Inc ในปี 1991 ในฐานะที่เป็นโพรโทคอลการตรวจสอบและการบัญชีของเซิร์ฟเวอร์การเข้าถึง และภายหลังถูกนำมาเป็นมาตรฐานของ Internet EngineeringTask Force (IETF)

เพราะการสนับสนุนในวงกว้างและธรรมชาติที่แพร่หลายของโพรโทคอล RADIUS มันมักจะถูกใช้โดยผู้ให้บริการอินเทอร์เน็ตและผู้ประกอบการในการจัดการการเข้าถึงเครือข่ายอินเทอร์เน็ตหรือภายในเครือข่ายไร้สาย และบริการอีเมลแบบบูรณาการ เครือข่ายเหล่านี้อาจประกอบด้วยโมเด็ม, DSL, access points, VPNs, พอร์ตเครือข่าย, เว็บเซิร์ฟเวอร์ ฯลฯ

RADIUS เป็นโพรโทคอลแบบไคลเอ็นต์/เซิร์ฟเวอร์ที่วิ่งในชั้นแอปพลิเคชัน ใช้ UDP เป็นตัวขนส่ง Remote Access Server, Virtual Private Network server, the Network switch ที่มีการตรวจสอบพอร์ต และ Network Access Server (NAS) ทั้งหมดนี้เป็นเกตเวย์ที่ควบคุมการเข้าถึงเครือข่ายและทุกตัวมีส่วนลูกข่ายของ RADIUS ที่ติดต่อสื่อสารกับ RADIUS เซิร์ฟเวอร์ RADIUS เซิร์ฟเวอร์มักจะเป็นกระบวนการหลังบ้านที่ทำงานบน UNIX หรือ Microsoft Windows Server

RADIUS เซิร์ฟเวอร์ ใช้แนวคิด AAA ในการจัดการการเข้าถึงเครือข่าย ในกระบวนการสองขั้นตอนดังต่อไปนี้ หรือที่เรียกว่า "การทำธุรกรรม AAA" AAA ย่อมาจาก "authentication, authorization and accounting" ลักษณะการตรวจสอบและอนุมัติใน RADIUS อธิบายไว้ใน RFC 2865 ในขณะที่การบัญชี อธิบายโดย RFC 2866

ตรวจสอบและอนุมัติ

[แก้]

ผู้ใช้หรืออุปกรณ์ส่งคำขอไปยังเซิร์ฟเวอร์การเข้าถึงระยะไกล (อังกฤษ: Remote Access Server) หรือ RAS เพื่อเข้าถึงทรัพยากรเครือข่ายเฉพาะอย่างโดยการใช้สิทธิการเข้าถึง ข้อมูลประจำตัวจะถูกส่งผ่านไปยังอุปกรณ์ RAS ผ่านโพรโทคอลชั้นการเชื่อมโยง ตัวอย่างเช่น Point-to-Point Protocol (PPP) ในกรณีของ หลาย dialup หรือผู้ให้บริการ DSL หรือการโพสต์ในแบบฟอร์มเว็บ HTTPS ที่ปลอดภัย

ขั้นตอนการตรวจสอบและการอนุมัติของ RADIUS

ในทางกลับกัน RAS ส่ง RADIUS Access Request message ไปยังเซิร์ฟเวอร์ RADIUS เพื่อขออนุญาตใช้สิทธิ์การเข้าถึงผ่านทางโพรโทคอล RADIUS

คำขอนี้รวมถึงสิทธิการเข้าถึงที่มักจะอยู่ในรูปแบบของชื่อผู้ใช้และรหัสผ่านหรือใบรับรองความปลอดภัยของผู้ใช้ นอกจากนี้คำร้องขออาจมีข้อมูลอื่น ๆ ที่ RAS รู้เกี่ยวกับผู้ใช้เช่นที่อยู่ เครือข่าย หรือหมายเลขโทรศัพท์ของตนและข้อมูลเกี่ยวกับจุดทางกายภาพของผู้ใช้ที่แนบกับ RAS

RADIUS เซิร์ฟเวอร์จะตรวจสอบว่าข้อมูลนั้นถูกต้องโดยใช้แผนการตรวจสอบ เช่น PAP, CHAP หรือ EAP หลักฐานตัวบ่งชี้ประจำตัวของผู้ใช้ที่มีการยืนยัน พร้อมกับข้อมูลอื่น ๆ ที่เกี่ยวข้องกับการ ร้องขอเช่นที่อยู่เครือข่ายของผู้ใช้หรือหมายเลขโทรศัพท์, สถานะบัญชี และ สิทธิ์การเข้าใช้ บริการที่เฉพาะเจาะจงของเครือข่าย ในอดีต, RADIUS เซิร์ฟเวอร์จะตรวจสอบข้อมูลของผู้ใช้เทียบกับฐานข้อมูลที่เก็บไว้ภายในไฟล์ RADIUS เซิร์ฟเวอร์ที่ทันสมัย​​สามารถทำเช่นนี้ หรือสามารถอ้างอิงไปยังแหล่งภายนอกโดยทั่วไป ได้แก่ SQL, Kerberos, LDAP, หรือเซิร์ฟเวอร์ ไดเรกทอรีที่ใช้งานในการตรวจสอบสิทธิของผู้ใช้

จากนั้น RADIUS เซิร์ฟเวอร์จะตอบกลับไปยัง RAS หนึ่งในสามแบบนี้: 1) ปฏิเสธการเข้าถึง, 2) ท้าทายการเข้าถึง หรือ 3) ยอมรับการเข้าถึง

  • Access Reject - ผู้ใช้ถูกปฏิเสธโดยไม่มีเงื่อนไขในการเข้าถึงทุกทรัพยากรเครือข่ายที่ร้องขอ เหตุผลอาจรวมถึงความล้มเหลวที่จะให้หลักฐานของตัวบ่งชี้ประจำตัวหรือบัญชีผู้ใช้ที่ไม่รู้จักหรือใช้งานไม่ได้
  • Access Chalenge - ขอข้อมูลเพิ่มเติมจากผู้ใช้เช่นรหัสผ่านตัวที่สอง, PIN, โทเค็น หรือบัตร การท้าทายการเข้าใช้งานยังใช้การโต้ตอบที่ซับซ้อนมากขึ้น ในที่ซึ่งอุโมงค์ที่มีความปลอดภัย ถูกสร้างขึ้นระหว่างเครื่องของผู้ใช้และเซิร์ฟเวอร์เรเดียสในทางที่สิทธฺในการเข้าจะถูกซ่อนจาก RAS
  • Access Accept - ผู้ใช้ได้รับอนุญาตให้เข้าใช้ เมื่อผู้ใช้ถูกรับรองความถูกต้อง RADIUS เซิร์ฟเวอร์มักจะตรวจสอบว่าผู้ใช้จะได้รับอนุญาตให้ใช้บริการเครือข่ายที่มีการร้องขอ ยกตัวอย่างเช่น ผู้ใช้อาจจะได้รับอนุญาตให้ใช้เครือข่ายไร้สายของบริษัทแต่ไม่ได้ให้ใช้บริการ VPN ของบริษัทด้วย อีกครั้ง ข้อมูลนี้อาจจะถูกเก็บไว้บนเซิร์ฟเวอร์ RADIUS หรืออาจจะถูก look up ในแหล่งข้อมูลภายนอกเช่น LDAP หรือไดเรกทอรีอื่น

ในแต่ละ response ของ RADIUS สามอย่างนี้ อาจรวมถึง Reply-Message attribute ซึ่งอาจ ให้เหตุผลประกอบการ Reject หรือ prompt เพื่อ Challenge หรือข้อความต้อนรับ เมื่อ Accept ข้อความใน attribute สามารถถูกส่งผ่านไปยังหน้าเว็บของผู้ใช้

Authorization attributes จะถูกลำเลียงไปยัง RAS เพื่อกำหนดเงื่อนไขของการเข้าถึงที่ได้รับอนุมัติ ตัวอย่างเช่น

  • ที่อยู่ IP เฉพาะจะถูกมอบหมายให้กับผู้ใช้
  • ที่อยู่ IP pool ที่ผู้ใช้ควรเลือกใช้
  • ระยะเวลาสูงสุดที่ผู้ใช้อาจจะยังคงเชื่อมต่อ
  • รายการเข้าถึง, คิวลำดับความสำคัญ หรือ ข้อจำกัดอื่น ๆ ในการเข้าถึงของผู้ใช้
  • พารามิเตอร์ L2TP
  • พารามิเตอร์ VLAN
  • พารามิเตอร์ quality of service (QoS)

บัญชี

[แก้]
ขั้นตอนการบัญชีของ RADIUS

การบัญชีถูกอธิบายไว้ใน RFC 2866

เมื่อการเข้าถึงเครือข่ายอนุญาตให้กับผู้ใช้โดย NAS 'การบัญชีเริ่ม' (แพ็คเก็ตการบัญชี RADIUS ที่มี Acct-Status-Type attribute ที่มีค่าเป็น "เริ่มต้น") จะถูกส่งโดย NAS ไปยังเซิร์ฟเวอร์ RADIUS เพื่อส่งสัญญาณเริ่มต้นของการเข้าถึงเครือข่ายของผู้ใช้ "เริ่มต้น" บันทึก โดยปกติจะประกอบด้วยการระบุของผู้ใช้, ที่อยู่เครือข่าย, จุดของสิ่งที่แนบ และตัวระบุเซสชั่นที่เป็นหนึ่งเดียว

การปรับปรุงบันทึกระหว่างกาลถูกกระทำตามระยะเวลา (แพ็คเก็ตการบัญชีของ RADIUS ที่ประกอบด้วย Acct-Status-Type attribute ที่มีค่า "ปรับปรุง - ระหว่างกาล") อาจถูกส่งโดย NAS ไปยังเซิร์ฟเวอร์ RADIUS เพื่อปรับปรุงสถานะของเซสชันที่แอคทีฟ บันทึก "ระหว่างกาล" มักจะถ่ายทอดระยะเวลาเซสชั่นในปัจจุบันและสารสนเทศเกี่ยวกับการใช้ข้อมูลปัจจุบัน

ในที่สุดเมื่อมีการเข้าถึงเครือข่ายของผู้ใช้จะปิด, NAS จะออกบันทึกบัญชีสุดท้าย Stop (แพ็กเกตการร้องขอการบัญชีของ RADIUS ที่ประกอบด้วย Acct-Status-Type attribute ที่มีค่า "หยุด") ไปยังเซิร์ฟเวอร์ RADIUS, ให้ข้อมูลเกี่ยวกับ การใช้งานขั้นสุดท้ายในแง่ของเวลา, แพ็คเกตที่ถ่ายโอน, ข้อมูลที่ถ่ายโอน, เหตุผลในการตัดการเชื่อมต่อ และข้อมูลอื่น ๆ ที่เกี่ยวข้องกับการเข้าถึงเครือข่ายของผู้ใช้

โดยปกติ ลูกข่ายส่งแพ็กเกต Accounting-Request จนกว่าจะได้รับการรับรู้โดยการใช้บางช่วงเวลาของ retry

วัตถุประสงค์หลักของข้อมูลนี้คือผู้ใช้จะถูกเรียกเก็บเงินตามทีใช้; ข้อมูลยังถูกใช้กันอย่างแพร่หลายเพื่อวัตถุประสงค์ทางสถิติและสำหรับการตรวจสอบเครือข่ายทั่วไป

Roaming

[แก้]
การโรมมิ่งโดยใช้ RADIUS เซิร์ฟเวอร์ พร็อกซี่ AAA

RADIUS มักจะถูกใช้เพื่ออำนวยความสะดวกการโรมมิ่งระหว่างผู้ให้บริการอินเทอร์เน็ตด้วยกัน ตัวอย่างเช่น:

  • โดยบริษัทที่จัดหาชุดของสิทธิเดียวทั่วโลก ที่สามารถใช้งานได้บนเครือข่ายสาธารณะจำนวนมาก
  • โดยสถาบันอิสระ แต่ทำงานร่วมกันในการออกสิทธิของตัวเองให้กับผู้ใช้ของตัวเองที่ช่วยให้ผู้เข้าเยี่ยมจากเครือข่ายหนึ่งไปยังอีกเครือข่ายหนึ่งจะถูก authen โดยสถาบันในบ้าน เช่นใน eduroam

RADIUS อำนวยความสะดวกในเรื่องนี้โดยการใช้งานของอาณาจักร ซึ่งระบุสถานที่ที่เซิร์ฟเวอร์ RADIUS ควรจะ forward การร้องขอ AAA ไปเพื่อการประมวลผล

อาณาจักร

[แก้]

อาณาจักรโดยทั่วไปจะถูกผนวกเข้ากันกับ user name ของผู้ใช้และคั่นด้วยเครื่องหมาย '@', คล้ายกับชื่อโดเมนของที่อยู่อีเมล์ แบบนี้เป็นที่รู้จักในฐานะคำเติมท้ายสำหรับอาณาจักร การใช้งานทั่วไปอีกประการหนึ่งคือการเติมหน้า ซึ่งเกี่ยวข้องกับการเติมหน้าอาณาจักรเข้ากับชื่อผู้ใช้และการใช้ '\ ' เป็นตัวคั่น RADIUS เซิร์ฟเวอร์ที่ทันสมัย​​ยอมให้ใช้ตัวอักษรใด ๆ ก็ได้ที่จะเอามาใช้เป็นตัวคั่นอาณาจักร แม้ว่าในทางปฏิบัติมักจะใช้ '@' และ ' \'

แม้ว่าอาณาจักรมักจะมีลักษณะคล้ายกับโดเมน เป็นสิ่งสำคัญที่จะทราบว่าอาณาจักรจริง ๆ แล้วเป็นข้อความอะไรสักอย่างและไม่จำเป็นต้องประกอบด้วยชื่อโดเมนจริง รูปแบบอาณาจักรเป็น มาตรฐานใน RFC 4282 ซึ่งได้กำหนดตัวบ่งชี้การเข้าถึงเครือข่าย (อังกฤษ: Network Access Identifier) หรือ NAI ในรูปแบบของ 'ผู้ใช้@อาณาจักร' ในสเปคนั้น ส่วนของ'อาณาจักร'จะต้องเป็นชื่อโดเมน แต่วิธีนี้ไม่ค่อยปฏิบัติตามเสมอ

การดำเนินงานพร็อกซี่

[แก้]

เมื่อ RADIUS เซิร์ฟเวอร์ได้รับการร้องขอ AAA สำหรับ user name ที่มีอาณาจักร เซิร์ฟเวอร์จะอ้างอิงกับตารางของอาณาจักรที่ถูก config ไว้แล้ว ถ้าอาณาจักรที่เป็นที่รู้จัก เซิร์ฟเวอร์ก็จะพร็อกซี่การร้องขอไปยังเซิร์ฟเวอร์บ้านที่ถูก config สำหรับโดเมนนั้น เซิร์ฟเวอร์ที่ทำหน้าที่ proxy จะถอดอาณาจักรออกจากการร้องขอ ("การลอกออก") ซึ่งเป็นงานที่ขึ้นอยู่กับการ config สำหรับเซิร์ฟเวอร์ส่วนใหญ่ นอกจากนี้เซิร์ฟเวอร์ที่ทำหน้ที่ proxy สามารถถูก config ให้เพิ่มเข้า หรือลบออก หรือ เขียนคำขอ AAA ใหม่ เมื่อคำขอพวกนั้นถูก proxy ซ้ำ

การรักษาความปลอดภัย

[แก้]

การโรมมิ่งด้วย RADIUS จะทำให้ผู้ใช้เสี่ยงกับความปลอดภัยที่หลากหลายและความเป็นส่วนตัว บางคู่ค้าการโรมมิ่งสร้างอุโมงค์แห่งความปลอดภัยระหว่าง RADIUS เซิร์ฟเวอร์ด้วยกันมากกว่าปกติ เพื่อให้แน่ใจว่าสิทธิของผู้ใช้จะไม่ถูกดักจับในขณะที่กำลัง proxy ผ่านทางอินเทอร์เน็ต นี่คือความกังวลเมื่อ MD5 ที่ถูกสร้างขึ้นใน RADIUS ถูกพิจารณาว่าไม่ปลอดภัย

ดูเพิ่ม

[แก้]
  • 802.1X
  • Diameter (protocol)
  • Kerberos (protocol)
  • Security Assertion Markup Language
  • TACACS
  • TACACS+