บทความนี้รวมอาการที่พบบ่อยของ ZTNA (การเข้า App ภายในผ่าน App Connector) พร้อมวิธีไล่ตามลำดับ อาการ → จุดที่ดู → สาเหตุ → วิธีแก้ → ตรวจซ้ำ สำหรับผู้ดูแลระบบที่ดูแล Athena SASE ประจำวัน ก่อนอ่านบทความนี้ แนะนำให้อ่านภาพรวมวิธีไล่ปัญหาใน วิธีไล่ปัญหา Athena SASE อย่างเป็นขั้นตอน
สารบัญ
- แยกให้ได้ก่อนว่าเป็นที่ App หรือที่ผู้ใช้
- Connector ที่เพิ่งติดตั้งยังเป็น Down
- Connector ที่เคย Up กลายเป็น Down
- App ขึ้น Down หรือ Unhealthy
- ผู้ใช้ไม่เห็นไอคอน App และเชื่อมต่อไม่ได้
- ผู้ใช้เห็นไอคอนแต่ถูก Block พร้อมข้อความแจ้งเหตุผล
- เรียก App ด้วย IP ได้ แต่ด้วยชื่อไม่ได้
- ผู้ใช้ Login ไม่สำเร็จ
- ผู้ใช้แจ้งว่าเข้า App ได้แต่ใช้เวลาตอบสนองนาน
แยกให้ได้ก่อนว่าเป็นที่ App หรือที่ผู้ใช้
| สิ่งที่เห็น | จุดที่ควรเริ่มดู |
|---|---|
| ผู้ใช้ทุกคนเข้า App เดียวกันไม่ได้ | สถานะ App ใน App List และสถานะ Connector ที่ App ใช้ |
| บางคนเข้าได้ บางคนเข้าไม่ได้ | สิทธิ์ใน App Authorization, App Protection Policy, User Policy และสภาพเครื่องของผู้ใช้ที่มีปัญหา |
| ไม่เห็นไอคอน App ใน Workspace | สิทธิ์ของผู้ใช้ (App Authorization หรือ App Access Request) |
| เห็นไอคอน แต่ Client แสดงข้อความว่าถูก Block | Security Policy เช่น App Protection Policy |
| Login เข้า Client ไม่ได้ | User Source, Auth Source และ Identity Connector |
ก่อนทดสอบจากฝั่ง Connector ให้รัน Diagnostics ที่เครื่องผู้ใช้ก่อนทุกครั้ง เพื่อตัดเรื่อง Network หรือ Software บนเครื่องผู้ใช้ออก
Connector ที่เพิ่งติดตั้งยังเป็น Down
อาการ ที่ Core Features › Zero Trust Security › Policies › Connectors แท็บ Connector Apps การ์ดของ Connector แสดงสถานะ Down และช่อง Instances เป็น Pending Installation เมื่อวางเมาส์ที่สถานะจะเห็นข้อความ "No connector instances available or all connections are down."
สาเหตุที่พบบ่อย ยังไม่ได้ติดตั้ง Package บนเครื่อง หรือเครื่อง Connector ติดต่อ Platform และ PoP ขาออกไม่ได้
วิธีแก้และตรวจ
-
ติดตั้งตามขั้นตอนในหน้า Install ของ Connector นั้น (บน Linux: แตกไฟล์ Package โดยไม่เปลี่ยนชื่อไฟล์ เข้าโฟลเดอร์
targetแล้วรันsudo ./install.sh) จากนั้นตรวจว่า Service ทำงานด้วยsystemctl status connectorผลต้องเป็น
active (running) -
ถ้า Service ทำงานแต่การ์ดยัง Down ให้ตรวจการเชื่อมต่อขาออกด้วยคำสั่งบนเครื่อง Connector (บน Windows เปิด URL เดียวกันใน Browser)
curl http://localhost:18888/get_detect_networkผลแต่ละหัวข้อเป็น √ หรือ X ได้แก่ Detect Gateway Connection, Detect DNS, Detect Internet Connection, Connector Login Platform Request (การติดต่อ Platform) และ Connector Access POP Request (การเชื่อม Tunnel ไปที่ PoP)
ถ้าหัวข้อใดเป็น X ผลจะระบุ IP และ Port ปลายทางที่ต่อไม่ได้ ให้เปิดปลายทางนั้นที่ Firewall ขาออกขององค์กร โดยอ้างอิงรายการปลายทางทั้งหมดจาก
System › General Settings › Service Address Listซึ่งแตกต่างกันในแต่ละองค์กร ให้เปิดดูจาก Console ของตนเองเสมอรันคำสั่งเดียวกันซ้ำจนทุกหัวข้อเป็น √ แล้วกดไอคอน Refresh ที่รายการใน Console สถานะต้องเปลี่ยนเป็น Up
-
เปิดดูแถว Instance ของ Connector ช่อง DNS ต้องเป็น DNS Server ภายในขององค์กร เพราะ Connector ใช้ DNS นี้ Resolve ชื่อ Server ให้ผู้ใช้ ถ้าเครื่อง Ubuntu แสดง
127.0.0.53ให้ชี้/etc/resolv.confไปที่ไฟล์ของ systemd-resolved แล้ว Restart Connectorsudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf sudo systemctl restart connector
ค่าในภาพเป็นค่าตัวอย่าง ให้เปลี่ยนเป็นค่าขององค์กร
Connector ที่เคย Up กลายเป็น Down
อาการ ที่ Dashboard › Home Widget Zero Trust Network Access แสดงจำนวน Down ของ Connectors มากกว่า 0 เมื่อคลิกชื่อ Connector จะไปที่หน้า Connectors และปุ่ม Details แสดง Instances เป็น 0 ถ้า Connector นั้นอยู่ใน Connector Group แท็บ Connector Groups จะแสดงสถานะกลุ่มเป็น Partially Up (บาง Connector ยัง Up)
จุดที่ดูใน Console ที่ Logs › System Logs › Platform & System กรอง Log Source เป็น Zero Trust Network Access จะเห็นแถว Warn ที่ระบุชื่อ Connector เช่น Connector ติดต่อ Console กลางไม่ได้ และแถว Info เมื่อกลับมาปกติ
วิธีแก้และตรวจ
-
ที่เครื่อง Connector รัน
systemctl status connectorถ้าผลเป็นinactive (dead)แปลว่า Service หยุดทำงาน ให้เริ่ม Service แล้วตรวจซ้ำsudo systemctl start connector systemctl status connector ถ้า Service ทำงานอยู่ ให้ตรวจว่าเครื่องยังออกอินเทอร์เน็ตและ Resolve DNS ได้ แล้วรัน
get_detect_networkตามหัวข้อก่อนหน้ากด Refresh ในหน้า Connectors สถานะต้องกลับเป็น Up และกลุ่มใน Connector Groups กลับเป็น Up
-
ถ้าต้องการดู Latency ระหว่าง Connector กับ PoP ใช้คำสั่ง
get_line_infoโดย Token คือ 6 ตัวอักษรท้ายของไฟล์ authcodecurl http://localhost:18888/get_line_info?token=$(tail -c 6 /opt/sangfor/spa-connector/connector/conf/authcode)บน Windows เปิดไฟล์
C:\Program Files (x86)\connector\conf\authcodeคัดลอก 6 ตัวอักษรท้าย แล้วเปิดhttp://localhost:18888/get_line_info?token=xxxxxxใน Browser ผลแสดงpopid(PoP ที่ใช้อยู่)now line(Path ที่ใช้อยู่) และทุก Path ที่ใช้ได้ซึ่งขึ้นต้นด้วยipพร้อมค่าnetworkUnreachableถ้าเป็นtrueทุก Path ระบบจะแจ้งว่า Connector ผิดปกติ (connector exception) ซึ่งเป็นคนละสถานะกับ Offline
แนวทางที่ดีคือติดตั้ง App Connector ตั้งแต่สองเครื่องขึ้นไป หรือใช้ Connector Group (สูงสุด 8 Connector ต่อกลุ่ม) ให้ App ใช้กลุ่มนั้น เมื่อ Connector เครื่องหนึ่งหยุด อีกเครื่องรับงานต่อ ผู้ใช้จึงยังเข้า App ได้ และควรเปิด Alert สำหรับ Connector ใน Alert Settings
App ขึ้น Down หรือ Unhealthy
อาการ ผู้ใช้เปิด App ผ่าน Workspace แล้ว Browser แจ้งว่าเว็บไม่ส่งข้อมูลกลับมา (เช่น ERR_EMPTY_RESPONSE)
จุดที่ดู
-
Core Features › Zero Trust Security › Policies › Appsแท็บ App List ตัวนับด้านบนแยกสถานะ Normal · Unhealthy · Down · Probing · Unknown และเปิดคอลัมน์ App Health Status ได้จากตัวเลือกคอลัมน์ (⋯) ที่หัวตาราง - ถ้า Connector ที่ App ใช้ยังเป็น Up และ App อื่นบน Server เดียวกันยังเป็น Normal แปลว่าการเชื่อมต่อผ่าน Connector ปกติ สาเหตุอยู่ที่บริการของ App บน Server ปลายทาง
- ที่ Platform & System (Log Source = Zero Trust Network Access) จะมีแถว Warn ที่ระบุว่าการสื่อสารระหว่าง Connector กับที่อยู่ของ App ผิดปกติ และแถว Info เมื่อกลับมา
วิธีแก้ ตรวจและเริ่มบริการของ App บน Server ปลายทาง ถ้ายังไม่แน่ใจ ให้ทดสอบจากเครื่อง Connector ไปที่ IP และ Port ของ App โดยตรง (เช่นด้วย ping, curl หรือ nc) ถ้าเครื่อง Connector เข้าไม่ได้ ให้แก้ที่ Server หรือ Network ภายในก่อน
ตรวจซ้ำ กด Refresh ที่ App List สถานะต้องกลับเป็น Normal แล้วให้ผู้ใช้โหลดหน้า App ใหม่
เปิด Trigger Internal App Connectivity Error ใน Alert Settings เพื่อรับ Email เมื่อ Connector ตรวจ App ภายในไม่ผ่านต่อเนื่อง ข้อความระบุชื่อ Connector และที่อยู่ของ App จึงรู้ทันทีว่าต้องเริ่มตรวจที่ใด
ผู้ใช้ไม่เห็นไอคอน App และเชื่อมต่อไม่ได้
อาการ ใน Workspace ของผู้ใช้ไม่มีไอคอนของ App นั้น และเมื่อผู้ใช้เปิดโปรแกรมเชื่อมต่อเอง เช่น Remote Desktop ไปที่ IP ของ Server จะได้ข้อความทั่วไปของโปรแกรมว่าเชื่อมต่อไม่ได้ โดยไม่มีหน้าขอรหัสผ่าน
สาเหตุ ผู้ใช้ไม่มีสิทธิ์ใน App นั้น (เรื่องสิทธิ์ ไม่ใช่เรื่อง Network) และจะไม่มีรายการเข้าถึง App นั้นของผู้ใช้ใน ZTNA Logs แท็บ Access Logs
วิธีแก้
ไปที่
Core Features › Zero Trust Security › Policies › Apps › App Authorizationเลือก App ที่ต้องการทางซ้าย แล้วดูรายการที่ได้สิทธิ์ (User, Department หรือ User Group)ถ้าผู้ใช้จำเป็นต้องใช้ กด Permissions แล้วเลือกผู้ใช้ Department หรือ User Group ในหน้าต่าง Authorize แล้วกด OK หรือเปิดให้ผู้ใช้ส่ง App Access Request และอนุมัติที่ App Approval
ถ้าให้สิทธิ์ผ่าน AD Group ให้ย้ายผู้ใช้เข้ากลุ่มใน AD สิทธิ์จะตามมาหลัง User Source Sync ครั้งถัดไป
ตรวจซ้ำ ให้ผู้ใช้กด Refresh ใน Workspace โดยไม่ต้อง Login ใหม่ ไอคอน App จะปรากฏ เมื่อเชื่อมต่ออีกครั้งควรได้หน้าขอบัญชีของ Server ปลายทาง
ให้สิทธิ์ App ประเภท Remote Desktop และ File Share เท่าที่จำเป็นตามหลัก Least Privilege เพราะเป็นช่องทางที่ผู้โจมตีมักใช้เดารหัสผ่านและแพร่มัลแวร์
ถ้าผู้ใช้มีสิทธิ์แล้วแต่ยังเข้าไม่ได้ ให้ดู ZTNA Logs แท็บ Access Logs รายการที่ไม่สำเร็จจะมีรหัสต่อท้าย เช่น exit with:500 ซึ่งหมายถึงการสื่อสารกับบริการไม่สำเร็จ อาจเกิดจาก Policy ปฏิเสธการเข้าถึงหรือ Server ตอบไม่ได้
ผู้ใช้เห็นไอคอนแต่ถูก Block พร้อมข้อความแจ้งเหตุผล
อาการ ผู้ใช้มีสิทธิ์และเห็นไอคอน แต่เปิด App แล้วหน้าเว็บไม่ขึ้น และ Client แสดงข้อความระบุรหัส Policy (เช่น P000001) ชื่อ App และที่อยู่ที่ถูกจำกัด
จุดที่ดู ZTNA Logs แท็บ User Logs จะมีรายการ "Application access blocking by ACL" และ "Application authentication" ที่ไม่สำเร็จพร้อมรหัส Policy เดียวกัน (acl check not passed)
สาเหตุ เครื่องของผู้ใช้ไม่ผ่านเงื่อนไขของ App Protection Policy เช่น Policy กำหนดให้ต้องเปิด Windows Firewall
วิธีแก้ ใช้รหัส Policy หา Policy ที่ Zero Trust Security › Policies › Security Policies › App Protection Policies แล้วแก้ที่เครื่องผู้ใช้ให้ผ่านเงื่อนไข หรือปรับ Policy ให้ตรงกับความต้องการ Policy ประเภทนี้มีผลเมื่อผู้ใช้ Login ครั้งถัดไป หลังสร้างหรือแก้ Policy จึงให้ผู้ใช้ Logout แล้ว Login ใหม่
ตรวจซ้ำ เมื่อเครื่องผ่านเงื่อนไข ผู้ใช้เปิด App ได้ตามปกติ และ User Logs บันทึกว่าการตรวจผ่าน
เรียก App ด้วย IP ได้ แต่ด้วยชื่อไม่ได้
ตรวจที่ Zero Trust Security › Policies › Advanced Settings › User Policies ดังนี้
- ผู้ใช้อยู่ใน Objects ของ User Policy ที่ใช้งาน (User Policy ของผู้ใช้มีผลก่อน Policy ของ OU ระดับบน และ Default policy)
- แท็บ Access Settings เปิด Internal DNS Resolution และมีกฎของโดเมนนั้น โดยเลือก Connector ที่ถูกต้อง ระบบจะแสดง DNS Server ของ Connector ที่เลือก
- ถ้าผู้ใช้พิมพ์ชื่อสั้น ให้เปิด Append DNS suffix และกรอกโดเมนขององค์กร
- มี App ที่ครอบคลุม IP ปลายทางหลังการ Resolve และ App นั้นใช้ Connector ที่เข้าถึง Server ได้
- ช่อง DNS ของ Instance ของ Connector เป็น DNS ภายใน (ดูหัวข้อ Connector ด้านบน)
รายละเอียดการตั้งค่าดูได้ที่ การ Resolve ชื่อภายในสำหรับ App ของ ZTNA
ผู้ใช้ Login ไม่สำเร็จ
| สิ่งที่เห็น | สาเหตุ | วิธีแก้ |
|---|---|---|
| ZTNA Logs แท็บ User Logs มีรายการ Failed พร้อมเหตุผล "Login is not allowed because the account is not imported" | ผู้ใช้ยังไม่ถูกนำเข้าจาก User Source | ตรวจที่ Identity Management › User Management ว่ามีผู้ใช้คนนั้น แล้วสั่ง Sync User Source การ Login แบบ AD ต้องมีทั้ง User Source (นำผู้ใช้ OU และ Group เข้ามา) และ Auth Source (ตรวจรหัสผ่าน) |
| Platform & System (Log Source = Authentication Management) มีแถว "User synchronization failed." ระบุว่า Connector ของ User Source ใช้งานไม่ได้ | Identity Connector ติดต่อ AD หรือ Platform ไม่ได้ | ตรวจ Service ของ Identity Connector บนเครื่องด้วย systemctl status idaas-agent และการเชื่อมต่อขาออกตามที่แสดงในหน้าติดตั้งของ Identity Connector |
Logs › User Access › Login/Logout คอลัมน์ Result ไม่สำเร็จ |
รหัสผ่านไม่ถูกต้อง หรือบัญชีถูกปิด | ให้ผู้ใช้ตรวจรหัสผ่าน หรือรีเซ็ตที่ระบบต้นทางของบัญชี |
ถ้า AD ใช้ Windows Server ที่บังคับการเชื่อมต่อแบบเข้ารหัส ให้ตั้ง Encryption Method ของ Auth Source และ User Source เป็น SSL (LDAPS Port 636) และ Domain Controller ต้องมี Certificate สำหรับ LDAPS
ถ้าต้องการรู้ทันทีเมื่อมีปัญหา ให้เปิด Trigger Login Error, Auth Connector Error และ Department Sync Error ใน Alert Settings
Log การ Login ระบุตัวพนักงานได้และเป็นข้อมูลส่วนบุคคล ควรจำกัดสิทธิ์การเปิดดูเฉพาะผู้ดูแลที่ได้รับมอบหมาย และปฏิบัติตามนโยบายความเป็นส่วนตัวขององค์กร
ผู้ใช้แจ้งว่าเข้า App ได้แต่ใช้เวลาตอบสนองนาน
วัดทีละช่วง แล้วแก้ที่ช่วงที่ใช้เวลานาน
| ช่วง | วิธีวัด | แนวทางแก้ |
|---|---|---|
| เครื่องผู้ใช้ → PoP | Diagnostics ที่เครื่องผู้ใช้ (กรอกที่อยู่ของ App แล้วดูเวลาของแต่ละช่วง) และ Ping ไปที่ PoP ตามรายการในหน้า https://127.0.0.1:30001/v1/saio/debug/policyCache
|
ถ้า Packet Loss หรือ Jitter สูง ให้ลอง Network อื่น หรือประสานผู้ให้บริการอินเทอร์เน็ต |
| Connector → App | Ping ไปที่ Server และทดสอบดาวน์โหลดไฟล์ขนาดใหญ่จากเครื่อง Connector | แก้ Network ภายใน หรือวาง Connector ให้ใกล้ Server |
| Connector → PoP |
get_line_info และทดสอบดาวน์โหลดไฟล์จากอินเทอร์เน็ตบนเครื่อง Connector |
เพิ่ม Bandwidth ขาออกของ Data Center |
- แถว Instance ของ Connector แสดง Bandwidth, CPU และ Memory ถ้าใช้เต็มกำลัง ให้เพิ่ม Instance หรือเพิ่มขนาดเครื่อง
- สำหรับผู้ใช้บน Network คุณภาพต่ำ ดูหัวข้อ Poor Network Acceleration ที่
Zero Trust Security › Policies › Advanced Settings › Global Policies(Enable bandwidth optimization และ Reduce network latency) การตั้งค่านี้มีผลกับทั้งองค์กร - Alert Settings มี Trigger Connector Packet Loss/Latency Error, Insufficient Connector CPU Resources และ Insufficient Connector Memory Resources สำหรับเฝ้าดูล่วงหน้า
ถ้าตรวจครบแล้วยังไม่พบสาเหตุ ให้เก็บผลคำสั่งของ Connector และ Log จาก http://localhost:18888/diag พร้อม Log ของเครื่องผู้ใช้ แล้วส่งต่อให้ทีม Support ของ Sangfor ตาม การเก็บ Log สำหรับแก้ปัญหา
ข้อคิดเห็น
0 ข้อคิดเห็น
โปรด ลงชื่อเข้าใช้ เพื่อแสดงข้อคิดเห็น