คำตอบสั้น ๆ: ตั้ง Conditional Access ใน Microsoft Entra บล็อกการล็อกอินอีเมลจากนอกประเทศไทย ปิด Legacy authentication บังคับ MFA หรืออุปกรณ์องค์กร และทดสอบแบบ Report-only
คู่มือนี้อธิบาย Conditional Access ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
Conditional Access ใน Microsoft Entra คือกลไกที่ตัดสินทุกครั้งที่มีคนลงชื่อเข้าใช้ Microsoft 365 ว่าจะอนุญาต ขอ MFA หรือบล็อก โดยดูจากสัญญาณอย่างผู้ใช้ ประเทศที่มาของ IP อุปกรณ์ และแอปที่ใช้ ตัวอย่างที่องค์กรไทยใช้บ่อยคือ "ถ้าล็อกอินอีเมลจากนอกประเทศไทยให้บล็อก" และ "ถ้าใช้โปรแกรมอีเมลรุ่นเก่าที่ข้าม MFA ให้บล็อก" Conditional Access ต้องใช้ไลเซนส์ Microsoft Entra ID P1 ซึ่งรวมอยู่ใน Microsoft 365 Business Premium, E3 และ E5 ส่วนนโยบายที่ใช้คะแนนความเสี่ยงของการล็อกอินต้องใช้ P2
คู่มือนี้เขียนให้ผู้ดูแลระบบที่เห็นใน Sign-in logs ว่ามีคนพยายามล็อกอินจากต่างประเทศทุกวัน และต้องการปิดประตูนั้นโดยไม่ล็อกตัวเองออกจากระบบ เมื่อทำครบ คุณจะมีบัญชีฉุกเฉินที่ถูกยกเว้น มี Named location ประเทศไทย นโยบายบล็อกการล็อกอินนอกประเทศ นโยบายบล็อก Legacy authentication และนโยบายเรื่องอุปกรณ์ ทั้งหมดผ่านการทดสอบในโหมด Report-only ก่อนเปิดใช้จริง
สิ่งที่ต้องเตรียม
- ไลเซนส์: Microsoft Entra ID P1 ให้ผู้ใช้ทุกคนที่อยู่ใต้นโยบาย ถ้ายังใช้ Business Basic หรือ Standard ให้ใช้ Security defaults ไปก่อน ซึ่งบังคับ MFA และบล็อก Legacy authentication ได้ แต่กำหนดประเทศไม่ได้
- สิทธิ์: บทบาท Conditional Access Administrator ขึ้นไป
- บัญชีฉุกเฉิน (break-glass) อย่างน้อยหนึ่งบัญชี ที่จะยกเว้นจากทุกนโยบาย Conditional Access ใช้กู้ระบบเมื่อตั้งนโยบายผิดจนผู้ดูแลทุกคนเข้าไม่ได้ วิธีสร้างดูที่ Emergency Access Account: บัญชีกู้ระบบเมื่อผู้ดูแลเข้าไม่ได้
- รายชื่อข้อยกเว้น: พนักงานที่ประจำต่างประเทศหรือเดินทางบ่อย บัญชีบริการ และเครื่องพิมพ์หรือแอปที่ส่งอีเมลด้วย SMTP AUTH
- Security defaults ต้องปิด ก่อนนโยบาย Conditional Access จะเปิดใช้ได้ ปิดได้ที่ Entra ID > Overview > Properties > Manage security defaults แต่ให้ปิดก็ต่อเมื่อนโยบายบังคับ MFA ของคุณพร้อมเปิดแทนทันที ไม่เช่นนั้นจะมีช่วงที่ไม่มี MFA
- ถ้าจะบังคับเรื่องอุปกรณ์ ต้องมี Microsoft Intune (รวมใน Business Premium) หรืออุปกรณ์ที่ทำ Microsoft Entra hybrid join แล้ว
ขั้นตอนที่ 1: เตรียมกลุ่มยกเว้นสำหรับ Conditional Access
ใน Entra admin center ไปที่ Entra ID > Groups สร้าง Security group สองกลุ่ม
CA-Exclude-Emergency: ใส่บัญชีฉุกเฉินเท่านั้น และยกเว้นกลุ่มนี้จากทุกนโยบาย Conditional Access ที่สร้างCA-Exclude-Travel: ใส่พนักงานที่ต้องล็อกอินจากต่างประเทศชั่วคราว ตั้งกติกาในทีมว่าต้องมีผู้อนุมัติและวันสิ้นสุด แล้วนำออกเมื่อกลับ
การใช้กลุ่มแทนการเลือกรายชื่อในนโยบาย Conditional Access โดยตรงทำให้เพิ่มหรือลดข้อยกเว้นได้โดยไม่ต้องแก้นโยบาย และตรวจย้อนหลังได้จาก Audit logs
ขั้นตอนที่ 2: สร้าง Named location ประเทศไทยสำหรับ Conditional Access
- ไปที่ Entra ID > Conditional Access > Named locations แล้วคลิก Countries location
- ช่อง Name ใส่
Allowed - Thailand - เลือก Determine location by IP address (IPv4 and IPv6) แล้วติ๊ก Thailand ถ้ามีสาขาหรือพนักงานประจำในประเทศอื่น เช่น ลาวหรือเวียดนาม ให้ติ๊กเพิ่ม
- ช่อง Include unknown countries/regions ปล่อยว่างไว้ IP ที่ระบุประเทศไม่ได้จะถูกนับเป็นนอกประเทศและถูกบล็อก
- คลิก Create
ถ้าสำนักงานมี IP สาธารณะคงที่ ให้สร้าง IP ranges location อีกตัว ใส่ช่วง IP แบบ CIDR เช่น 203.0.113.0/28 แล้วติ๊ก Mark as trusted location ใช้ประกอบนโยบาย Conditional Access อื่นและช่วยให้การประเมินความเสี่ยงแม่นขึ้น ระวังว่า IP ที่ Entra เห็นคือ IP สาธารณะของเครือข่าย ไม่ใช่ IP ภายในอย่าง 10.0.0.x และถ้าพนักงานใช้ VPN หรือ proxy บนคลาวด์ ประเทศที่เห็นคือประเทศของเครื่อง VPN
ขั้นตอนที่ 3: สร้างนโยบาย Conditional Access บล็อกการล็อกอินนอกประเทศไทย
- ไปที่ Entra ID > Conditional Access > Policies คลิก New policy ตั้งชื่อตามมาตรฐาน เช่น
CA01 - Block outside Thailand - Users or workload identities: Include เลือก All users ส่วน Exclude เลือก Users and groups แล้วเลือกกลุ่ม CA-Exclude-Emergency และ CA-Exclude-Travel
- Target resources > Resources (formerly cloud apps) > Include เลือก All resources (formerly 'All cloud apps') การจำกัดแค่อีเมลทำได้ด้วยการเลือก Office 365 แต่คนร้ายจะยังเข้า OneDrive หรือ Teams ได้
- Network (ชื่อเดิมคือ Locations): ตั้ง Configure เป็น Yes แท็บ Include เลือก Any network or location แท็บ Exclude เลือก Selected networks and locations แล้วเลือก
Allowed - Thailand - Access controls > Grant: เลือก Block access แล้วคลิก Select
- Enable policy: เลือก Report-only แล้วคลิก Create
นโยบายแบบนี้ไม่ได้หยุดคนร้ายที่ใช้เครื่องหรือ VPN ในประเทศไทย จึงต้องใช้คู่กับ MFA เสมอ และ Conditional Access ทำงานหลังการยืนยันรหัสผ่านขั้นแรก ไม่ได้กันการเดารหัสผ่าน แต่ทำให้รหัสผ่านที่ถูกเดาได้ใช้งานไม่ได้
ขั้นตอนที่ 4: บล็อก Legacy authentication ด้วย Conditional Access
โปรโตคอลเก่าอย่าง IMAP, POP และ SMTP AUTH แบบ Basic ไม่รองรับ MFA Microsoft ระบุว่าการโจมตีเดารหัสผ่านเกือบทั้งหมดใช้โปรโตคอลกลุ่มนี้ สร้างนโยบายใหม่ CA02 - Block legacy authentication
- Users: Include All users Exclude กลุ่ม CA-Exclude-Emergency และบัญชีที่ยังจำเป็นต้องใช้โปรโตคอลเก่าชั่วคราว
- Target resources: All resources (formerly 'All cloud apps')
- Conditions > Client apps: ตั้ง Configure เป็น Yes ติ๊กเฉพาะ Exchange ActiveSync clients และ Other clients แล้วคลิก Done
- Grant: Block access และ Enable policy: Report-only
ก่อนเปิดจริง ให้ดู Sign-in logs กรอง Client app เป็น Legacy authentication clients ทั้งแท็บ interactive และ non-interactive เครื่องสแกนเอกสารที่ส่งอีเมลผ่าน smtp.office365.com ด้วยชื่อผู้ใช้และรหัสผ่านจะถูกบล็อกด้วยนโยบายนี้ ให้ย้ายไปใช้วิธีอื่นตาม SMTP AUTH: ให้แอปและเครื่องพิมพ์ส่งอีเมลผ่าน Microsoft 365 หรือยกเว้นบัญชีนั้นไว้ชั่วคราวพร้อมกำหนดวันเลิกใช้