Authelia คืออะไร และวิธีติดตั้งบน Cloud Server
Authelia คือด่านยืนยันตัวตนน้ำหนักเบาที่วางไว้หน้า Reverse Proxy เพื่อบังคับให้ทุกคนต้องล็อกอินและยืนยันตัวตนสองชั้นก่อนเข้าถึงระบบภายใน แม้ระบบนั้นจะไม่มีระบบล็อกอินของตัวเอง
- หมวดหมู่
- Identity และ SSO
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 1 vCPU · RAM 1 GB
- ไลเซนส์
- Apache License 2.0 (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Authelia คืออะไร
องค์กรมักมีหน้าเว็บภายในที่ไม่มีระบบล็อกอินหรือมีแต่ไม่แข็งแรง เช่น หน้าแดชบอร์ดของเครื่องมือต่าง ๆ Authelia แก้ปัญหานี้โดยเป็นด่านหน้าที่บังคับยืนยันตัวตนก่อนส่งผู้ใช้ต่อไปยังระบบเป้าหมาย
การทำงานอาศัยความสามารถ Forward Authentication ของ Reverse Proxy คือ Proxy จะถาม Authelia ก่อนทุกคำขอว่าผู้ใช้นี้ผ่านการยืนยันแล้วหรือยัง ถ้ายังจะเปลี่ยนเส้นทางไปหน้าล็อกอินกลาง
Authelia ตั้งใจให้เบาและเรียบง่าย จึงไม่มีความสามารถระดับ Identity Provider เต็มรูปแบบเท่า Keycloak หรือ Authentik แต่ตอบโจทย์ตรงมากสำหรับการปิดหน้าเว็บภายในไม่ให้คนนอกเข้าถึง
ความสามารถเด่นของ Authelia
บังคับยืนยันตัวตนหน้าเว็บใดก็ได้
ใช้ได้แม้กับระบบที่ไม่มีระบบล็อกอินของตัวเอง
MFA หลายรูปแบบ
ทั้งรหัสจากแอป Authenticator และคีย์ความปลอดภัย
ตั้งกฎการเข้าถึงตามเส้นทาง
กำหนดได้ว่าเส้นทางใดต้องยืนยันสองชั้น เส้นทางใดล็อกอินก็พอ
เบามาก
รันบนเครื่องสเปกต่ำสุดได้และใช้หน่วยความจำน้อย
ต่อกับ LDAP ได้
ใช้บัญชีเดิมขององค์กรหรือเก็บผู้ใช้ในไฟล์สำหรับทีมเล็ก
ใช้ Authelia ทำอะไรได้บ้าง
- ปิดหน้าแดชบอร์ดของเครื่องมือภายในไม่ให้คนภายนอกเข้าถึง
- เพิ่ม MFA ให้หน้าเว็บที่ไม่มีระบบยืนยันตัวตนสองชั้น
- ทีมเล็กที่ต้องการล็อกอินกลางแบบเรียบง่ายโดยไม่ตั้ง Identity Provider เต็มรูปแบบ
- ป้องกันหน้าเว็บของระบบทดสอบที่เปิดสู่อินเทอร์เน็ตชั่วคราว
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นทีมเล็กและระบบภายในไม่กี่ตัว | 1 vCPU | 1 GB | NVMe 20 GB |
| แนะนำองค์กรขนาดกลางที่มีหลายระบบหลัง Proxy เดียว | 2 vCPU | 2 GB | NVMe 40 GB |
| ใช้งานหนักผู้ใช้จำนวนมากและมีการตรวจสิทธิ์ถี่ | 2 vCPU | 4 GB | NVMe 60 GB |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Authelia บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Reverse Proxy ที่รองรับ Forward Authentication เช่น Nginx, Traefik หรือ Caddy
- Cloud Server ที่ติดตั้ง Docker แล้ว
- โดเมนย่อยสำหรับหน้าล็อกอินและใบรับรอง SSL
- ที่เก็บผู้ใช้ ทั้งไฟล์รายชื่อหรือ LDAP ขององค์กร
ทดสอบบน Ubuntu Server 24.04 LTS ที่ติดตั้ง Docker แล้ว
- 1
สร้างไฟล์ compose.yml
services: authelia: image: authelia/authelia:latest restart: always volumes: - ./config:/config ports: ["127.0.0.1:9091:9091"] - 2
สร้างไฟล์ตั้งค่าหลัก
กำหนดโดเมนของหน้าล็อกอิน ที่เก็บผู้ใช้ และกฎการเข้าถึงของแต่ละโดเมนย่อย
default_redirection_url: https://auth.example.com authentication_backend: file: path: /config/users.yml access_control: default_policy: deny rules: - domain: grafana.example.com policy: two_factor - domain: wiki.example.com policy: one_factor session: domain: example.com storage: local: path: /config/db.sqlite3 - 3
สร้างรายชื่อผู้ใช้
สร้างไฟล์ users.yml โดยเก็บรหัสผ่านเป็นค่าที่ผ่านการแฮชแล้ว ใช้คำสั่งของ Authelia สร้างค่าแฮช
docker run --rm authelia/authelia:latest authelia crypto hash generate argon2 --password 'YourPassword' - 4
สั่งรัน
docker compose up -d - 5
ตั้ง Nginx ให้ถาม Authelia ก่อนทุกคำขอ
เพิ่มบล็อกตรวจสิทธิ์ในเว็บที่ต้องการป้องกัน ถ้าผู้ใช้ยังไม่ได้ยืนยันตัวตนจะถูกส่งไปหน้าล็อกอินกลาง
location /authelia { internal; proxy_pass http://127.0.0.1:9091/api/verify; proxy_set_header X-Original-URL $scheme://$http_host$request_uri; } location / { auth_request /authelia; error_page 401 = @redirect_to_login; proxy_pass http://127.0.0.1:3000; } - 6
ลงทะเบียน MFA
ให้ผู้ใช้เข้าหน้าล็อกอินครั้งแรกเพื่อลงทะเบียนแอป Authenticator จากนั้นเส้นทางที่ตั้งเป็นสองชั้นจะบังคับใช้ทันที
ต้องตั้งโดเมนของ Session ให้เป็นโดเมนหลักที่ครอบทุกโดเมนย่อยที่ป้องกันไว้ มิฉะนั้นผู้ใช้จะต้องล็อกอินซ้ำทุกครั้งที่สลับระบบ
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | HTTPS ของหน้าล็อกอินและระบบที่ป้องกันไว้ |
| 9091 | TCP | พอร์ตภายในของ Authelia |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ตั้งนโยบายเริ่มต้นเป็นปฏิเสธทั้งหมด แล้วเปิดเฉพาะเส้นทางที่ต้องการ
- บังคับสองชั้นสำหรับหน้าจัดการที่มีสิทธิ์สูง
- เก็บไฟล์รายชื่อผู้ใช้และฐานข้อมูลไว้ในโฟลเดอร์ที่จำกัดสิทธิ์
- ตั้งจำนวนครั้งที่ล็อกอินผิดได้ก่อนล็อกบัญชีชั่วคราว
- สำรองโฟลเดอร์ตั้งค่าและฐานข้อมูลของอุปกรณ์ MFA ที่ลงทะเบียนไว้
ทำไมควรรัน Authelia บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
ใช้ปิดหน้าเว็บจัดการของเครื่องมือต่าง ๆ บน Cloud Server ไม่ให้เปิดสู่อินเทอร์เน็ตแบบไร้การป้องกัน
รันบนเครื่องสเปกต่ำสุดได้ จึงเพิ่มความปลอดภัยให้ระบบภายในด้วยต้นทุนแทบไม่เพิ่ม
ใช้คู่กับ VPN Gateway เพื่อทำการป้องกันสองชั้นสำหรับระบบที่อ่อนไหวที่สุด
คำถามที่พบบ่อยเกี่ยวกับ Authelia
Authelia ต่างจาก Keycloak อย่างไร
Authelia เป็นด่านยืนยันตัวตนหน้า Proxy ที่เบาและตั้งค่าเร็ว เหมาะกับการปิดหน้าเว็บภายใน ส่วน Keycloak เป็น Identity Provider เต็มรูปแบบที่ให้แอปต่าง ๆ ใช้เป็นระบบล็อกอินกลางผ่านมาตรฐาน OIDC หรือ SAML ซึ่งครอบคลุมกว่าแต่ซับซ้อนกว่า
ใช้กับ Traefik หรือ Caddy ได้ไหม
ได้ ทั้งสองรองรับการถามสิทธิ์ไปยังบริการภายนอกเช่นเดียวกับ Nginx เพียงตั้งค่า Middleware ให้ชี้มาที่ Authelia ตามเอกสารของแต่ละตัว
เก็บผู้ใช้ในไฟล์ปลอดภัยไหม
ปลอดภัยพอสำหรับทีมเล็กถ้ารหัสผ่านถูกแฮชและไฟล์จำกัดสิทธิ์ แต่เมื่อผู้ใช้เพิ่มขึ้นควรต่อกับ LDAP หรือ Active Directory เพื่อให้จัดการบัญชีจากที่เดียวและถอนสิทธิ์ได้ทันทีเมื่อพนักงานลาออก
ทางเลือกอื่นที่คล้ายกับ Authelia
แอปอื่นในหมวด Identity และ SSO
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Authelia ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด