4341 คำ
22 นาที
CyberSecurity Foundation EP.10 — IAM Lifecycle: เข้า / ย้าย / ออก — ที่บริษัทไทยลืมขั้นตอนสุดท้าย
สารบัญ
ทำไม Identity คือรากของทุก control ในระบบ Twitter 2020 — เคสที่ทำให้วงการตื่น IAM (Identity and Access Management) คืออะไร Vendor หลักในตลาด — รู้ชื่อไว้ก่อน กลับมาที่ analogy — ระบบบัตรประจำตัวของบริษัท Lifecycle 3 ขั้น — J / M / L Joiner — วันที่เข้ามา Provisioning — การสร้างสิทธิ์อัตโนมัติ Real case — Microsoft Entra ID auto-provisioning กับดักของ Joiner — over-provisioning จาก Day 1 ทางแก้ — Role-Based Access Control (RBAC) จาก Day 1 Mover — วันที่ย้ายแผนก (Privilege Creep) Privilege Creep — การคืบคลานของสิทธิ์ ทำไม Privilege Creep อันตราย — blast radius Stat ที่บริษัทไทยต้องรู้ ทางแก้ — Mover process ที่มี Permission Reset Hard case — พนักงานที่ทำหลายบทบาทพร้อมกัน Leaver — วันสุดท้าย (ที่บริษัทไทยลืม) ภาพแย่ที่เป็น pattern คลาสสิคของวงการ Deprovisioning — Disable, อย่าลบ Leaver Checklist — รายการที่ต้อง revoke Orphan Account — ผีในระบบ Real case — Tesla 2018 Real case — Twitter 2020 (กลับมาอีกครั้ง) Account Reviews + Recertification — ยาแก้ Privilege Creep Account Reviews — ตรวจรอบสั้น Recertification — sign-off ที่เป็นทางการรายปี กับดักของ Recertification — ทำเพราะต้อง ไม่ใช่เพราะต้องการ เคล็ดลับที่ work — Recertification ผูกกับโบนัส Vendor — IAM Governance Platforms สรุป EP.10 — Lifecycle 3 ขั้น + 2 takeaway สิ่งที่ผู้นำต้องจำ — 2 ข้อ Tease EP.11 — แล้วตอน login จริงๆ ระบบรู้ยังไงว่าคุณคือคุณ?

Series: CyberSecurity Foundation — รากฐาน Security สำหรับยุค AI (ภาษาคน)

Part 0 — WHY: เมืองนี้ทำไมต้องมียาม

  1. EP.01 — Cybersecurity คือเรื่องของคุณ
  2. EP.02 — 4 เคสที่เปลี่ยนวงการ
  3. EP.03 — CIA Triad
  4. EP.04 — Defense in Depth + Diversity
  5. EP.05 — Assume Breach + Risk

Part 1 — HOW: ระบบนิเวศของเมือง 6. EP.06 — ระบบนิเวศของโจร 7. EP.07 — ระบบนิเวศของผู้ป้องกัน 8. EP.08 — Framework: ISO/NIST/COBIT/CIS 9. EP.09 — Compliance Theater

Part 2 — Identity: บัตรประชาชน + กุญแจห้อง 10. EP.10 — IAM Lifecycle: เข้า / ย้าย / ออก ← คุณอยู่ตรงนี้ 11. EP.11 — Authentication: 3 Factors + AAA (เร็วๆ นี้) 12. EP.12 — Password 101 (เร็วๆ นี้) 13. EP.13 — MFA + Biometric (เร็วๆ นี้) 14. EP.14 — Kerberos (เร็วๆ นี้) 15. EP.15 — Federation / SSO (เร็วๆ นี้) 16. EP.16 — Authorization (เร็วๆ นี้) 17. EP.17 — PAM + Zero Trust (เร็วๆ นี้)

Part 3-6 (Data / Infrastructure / Operations / Governance) — กำลังเขียนต่อ

ครับ — ก่อนจะเข้า EP นี้ ผมขอชวนคุณ recap สั้นๆ ก่อน เพราะ EP.10 คือ EP เปิด Part 2 — ถ้าเข้ามาตรงนี้โดยข้าม Part 0 + Part 1 อาจจะรู้สึกว่าคุยอะไรกันไปเยอะมาก. ผมจะรวบให้ใน 2 ย่อหน้า

Part 0 เราปูฐาน mindset 3 ตัว — CIA Triad (ของต้องลับ + ห้ามเพี้ยน + ต้องใช้ได้), Defense in Depth (กำแพงหลายชั้น ไม่ใช่กำแพงเดียวสูง), และ Assume Breach (สมมติว่าโจรเข้ามาแล้ว — ต้องเจอเร็ว ออกเร็ว ฟื้นเร็ว). 3 ตัวนี้คือเข็มทิศของทุก EP ถัดมา. Part 1 เราดูระบบนิเวศของเมือง — โจร 6 ประเภท ตั้งแต่เด็กแว้นดิจิทัลถึง Nation-State APT, ผู้ป้องกัน ที่มี CISO / Blue / Red / Purple / MSSP / MDR ทำงานคนละบทบาท, framework 4 ตัว (ISO / NIST / COBIT / CIS) ที่เป็นพิมพ์เขียวของเมือง, และ EP สุดท้ายที่ผมเปิดประเด็นว่า compliance ไม่ใช่ security — บริษัทใหญ่ระดับ Heartland / Target / Equifax / Marriott ผ่าน audit ครบทุกใบ แต่โดน breach หมด

Eป.09 ปิดด้วยคำถามที่ผมตั้งให้คุณติดไว้ในใจครับ — “ถ้า compliance ไม่ใช่ security จริง — แล้ว security จริงๆ เริ่มที่ไหน?” คำตอบที่ผมทิ้งไว้คือ — เริ่มที่ราก. และรากของทุก security control คือ identity (ตัวตน). ทุกอย่างกลับมาที่ราก — คนนี้คือใคร? ทำอะไรได้บ้าง?

Part 2 ของ series คือ 8 EPs ที่ไล่เรื่อง identity จบครบทุกมิติ — ตั้งแต่ lifecycle (เข้า/ย้าย/ออก), การยืนยันตัวตน (Authentication 3 factors), การจัดการ password, MFA + Biometric, Kerberos ใน Windows, Federation / SSO ข้ามบริษัท, การให้สิทธิ์ (Authorization), จนถึง PAM + Zero Trust สำหรับ admin. EP.10 ที่คุณกำลังอ่านคือ ประตูแรกของเมือง — บัตรประจำตัวพนักงานทุกคนที่กำลังเดินเข้าทำงานพรุ่งนี้

และผมจะใช้ EP นี้พิสูจน์ประโยคนึงที่ผมเขียนทิ้งไว้ใน EP.09 ครับ — “บริษัทไทยส่วนใหญ่ลืมขั้นตอนสุดท้าย”. คุณจะเจอ scenario คลาสสิคของวงการเรื่องพนักงานที่ลาออกจากบริษัทเก่ามา 6 เดือนแล้วยัง login VPN เข้าระบบบริษัทเก่าได้สบายๆ. คุณจะเจอเคส Tesla 2018 ที่ insider พยายาม sabotage ระบบหลังโดน demote — เพราะ account ยังเปิด. และคุณจะเข้าใจว่าทำไม Twitter 2020 ที่ admin คนเดียวยึดบัญชี Obama / Musk / Apple ได้ — รากของเรื่องอยู่ที่ identity layer

ทำไม Identity คือรากของทุก control ในระบบ#

ก่อนเจาะ lifecycle ผมอยากให้คุณเห็นภาพให้ชัดก่อนครับว่า ทำไม identity เป็นรากของทุก control — ไม่ใช่แค่ control ตัวหนึ่งในหลายๆ ตัว

ลองนึกตามผมครับ. ทุก security control ในบริษัท — ไม่ว่าจะเป็น firewall, encryption, MFA, audit log, ระบบ alarm — สุดท้ายตอบคำถามเดียวกัน 2 ข้อ:

  1. คนนี้คือใคร? (Authentication — การยืนยันตัวตน)
  2. เขาได้รับอนุญาตทำสิ่งนี้ไหม? (Authorization — การให้สิทธิ์)

Firewall ที่บอกว่า “IP นี้ผ่านได้” — เบื้องหลังคือ identity (ของ device หรือ user). Encryption ที่ปลดล็อคไฟล์ได้ — เพราะมี key ผูกกับ identity ของคนใดคนหนึ่ง. Audit log ที่บันทึก “ใครทำอะไรเมื่อไหร่” — ตัว “ใคร” คือ identity. แม้แต่ปืนใหญ่ของกำแพงเมือง — ถ้าโจรถือบัตรประจำตัวปลอมเดินเข้ามา ปืนใหญ่ก็ไม่ยิง

ผมขอใช้ analogy ของเมืองที่เราเดินกันมาตั้งแต่ EP.01 ครับ. ลองนึกภาพบริษัทที่ลงทุนระดับเทพ — กำแพง 10 ชั้น, ปืนใหญ่ที่ทุกมุม, ยามเฝ้าทุกประตู 24 ชั่วโมง, ระบบ alarm ที่ trigger ทันทีถ้ามีของหายแม้ชิ้นเดียว. ฟังดูแน่นใช่ไหมครับ? แต่ถ้าระบบ บัตรประจำตัวพนักงาน ของบริษัทนี้พัง — มี บัตรปลอม ที่ใครก็ทำได้ — ทุกอย่างที่ลงทุนมาเป็นศูนย์

โจรเดินถือบัตรปลอมเข้าประตูหน้า — ยามดูบัตร “พนักงาน Mr.A แผนกบัญชี ระดับ Manager” — ทักทาย “สวัสดีครับ Mr.A”. เปิดประตู. โจรเดินเข้าตู้เซฟ ใช้บัตร tap → ประตูตู้เซฟเปิด. หยิบของมูลค่า 100 ล้านบาทเดินออก — ยามทักทาย “กลับก่อนนะครับ Mr.A”. กำแพง 10 ชั้น + ปืนใหญ่ + alarm — ไม่มีตัวไหน trigger เลย เพราะทุกอย่าง “ตรงตามระบบ”. ระบบบอกว่า Mr.A มีสิทธิ์ — บัตรของ Mr.A อยู่ในมือคน — ทุก control เห็นภาพเดียวกัน

นี่คือเหตุที่วงการ security มีประโยคนึงที่พูดกันทั่วโลก — “Identity is the new perimeter”“ตัวตนคือกำแพงใหม่”. ในยุคที่พนักงานทำงานจากบ้าน + บริษัทใช้ cloud + ข้อมูลอยู่ทั่ว SaaS หลายสิบตัว — ไม่มี “กำแพงรอบเมือง” แบบสมัยก่อนแล้วครับ. กำแพงเดียวที่เหลือคือ identity ของพนักงานแต่ละคน — บัตรประจำตัวที่ใช้เปิดทุกระบบ. ถ้าบัตรปลอม → ทุกระบบโดน

Twitter 2020 — เคสที่ทำให้วงการตื่น#

ผมขอใช้เคสจริงเคสเดียวเล่าให้คุณเห็นภาพชัดครับ — Twitter 2020

วันที่ 15 กรกฎาคม 2020 — กลางวันของวงการ social media ทั่วโลก. บัญชี Twitter ของบุคคลที่ดังที่สุดในโลกพร้อมกัน — Barack Obama, Elon Musk, Bill Gates, Apple, Joe Biden, Kanye West, Jeff Bezos, Warren Buffett — โพสต์ tweet เหมือนกันเป๊ะ:

“ผมอยากตอบแทนสังคม. ส่ง Bitcoin มาที่ wallet นี้ — ผมจะส่งคืน 2 เท่า ภายใน 30 นาที”

ภายใน 2 ชั่วโมง — โจรได้ Bitcoin มูลค่า $118,000 จากผู้ใช้ทั่วโลกที่หลงเชื่อ. แต่นั่นคือ damage เล็ก. damage ใหญ่คือ — ในชั่วโมงนั้น โจรเข้าถึงข้อความ private ของบัญชีระดับโลก + ดาวน์โหลด data ของ 8 บัญชีเต็ม (รวม direct messages ที่ไม่เคยถูก reveal ในประวัติศาสตร์ของ Twitter เลย)

โจรเข้ามาได้ยังไง? — Spear phishing พนักงาน Twitter 4 คนที่มีสิทธิ์เข้า admin panel ภายใน — เครื่องมือที่พนักงาน support ใช้รีเซ็ต password, เปลี่ยน email, ปลด lock บัญชี. โจรหลอกให้พนักงานบอก credential + MFA code → เข้า admin panel → จากนั้น กดเปลี่ยน email ของบัญชี @BarackObama ได้ในคลิกเดียว → reset password → take over

ที่น่าตกใจที่สุดในเคสนี้ — ไม่ใช่เพราะระบบของ Twitter ถูกแฮกในแง่ technical. ไม่มีใครเจาะ encryption, ไม่มีใครหา zero-day vulnerability. โจรแค่ ขโมย identity ของพนักงาน 4 คน + ใช้เครื่องมือที่ Twitter ออกแบบให้พนักงานใช้ปกติ — ผลคือบัญชีระดับโลกโดนยึดในชั่วโมงเดียว

บทเรียนของวงการจากเคสนี้ครับ — identity layer คือ single point of failure ของทุกบริษัท. ถ้าโจรครอบครอง identity ของคนที่มีสิทธิ์ — ทุก control อื่นไม่มีความหมาย. และนี่คือเหตุที่ Part 2 ของ series นี้ มี 8 EPs ทั้งหมดเพื่อปูเรื่อง identity — เพราะถ้าเรื่องนี้ไม่แน่น ทุก control ที่ผมจะเล่าใน Part 3-6 ไม่มีประโยชน์

มุมผู้บริหาร: ถ้าวันนี้คุณมีงบ security 100 บาท — ทุกหนังสือ + ทุก consulting firm ระดับโลกจะแนะนำตรงกันว่า ลงใน identity ก่อน — มากกว่าทุก control อื่น. เหตุผลคือ — control อื่นๆ ทั้งหมด build บน identity เป็นฐาน. firewall ที่ดีที่สุดในโลก + encryption ที่แข็งที่สุด + SIEM ที่แพงที่สุด — ถ้าไม่รู้ว่าใครเป็นใคร + ใครมีสิทธิ์อะไร = ไร้ประโยชน์. คำถามที่ผู้บริหารควรถาม CIO ในประชุมถัดไปคือ — “ในบริษัทเราตอนนี้ — มี account กี่บัญชี? เป็นของคนปัจจุบันกี่บัญชี? เป็น service account กี่บัญชี? และมีบัญชีที่ไม่มีคนรับผิดชอบกี่บัญชี?” ถ้าตอบไม่ได้ภายใน 1 นาที = บริษัทคุณยังไม่รู้จัก identity ของตัวเอง

IAM (Identity and Access Management) คืออะไร#

ทีนี้มาตั้งชื่อให้กับเรื่องที่เรากำลังคุยกันครับ. ในวงการ security เรื่อง “การจัดการบัตรประจำตัวพนักงาน + การให้สิทธิ์เข้าระบบ” มีชื่อทางการว่า IAM (Identity and Access Management — การจัดการตัวตนและการเข้าถึง)

ผมขอให้นิยามแบบภาษาคนก่อนครับ — IAM = framework ที่จัดการตัวตนของคนทุกคนในบริษัท ตั้งแต่วันแรกที่เข้าทำงานจนถึงวันสุดท้ายที่ออก. รวมถึง — ใครเป็นใคร, ทำงานในแผนกอะไร, ใช้ระบบไหนได้บ้าง, มีสิทธิ์ทำอะไร, เปลี่ยนเมื่อไหร่, ปิดเมื่อไหร่

สิ่งสำคัญที่ต้องเข้าใจตั้งแต่แรกครับ — IAM ไม่ใช่ “tool” ที่ไปซื้อมาแล้วจบ. IAM คือ 3 อย่างรวมกัน:

  1. Discipline (วินัย) — มี process ที่ทุกคนต้องทำตาม ตั้งแต่ HR ถึง IT ถึง manager
  2. Process (ขั้นตอน) — มีขั้นตอนชัดเจนสำหรับ “พนักงานใหม่เข้า”, “พนักงานย้ายแผนก”, “พนักงานออก”
  3. Technology (เทคโนโลยี) — มี tool ที่ทำให้ process นี้อัตโนมัติ + ตรวจสอบได้

ในบริษัทไทยส่วนใหญ่ — ผมเห็น pattern ที่ผิดเหมือนกันคือ ซื้อ tool มาก่อน แล้วค่อยคิดเรื่อง process. ผลคือ — มี tool ราคา $50,000-200,000 นั่งกินฝุ่นใน data center ที่ไม่มีใครเปิด เพราะ process ของบริษัทไม่ได้ปรับมารองรับ. tool ที่ดีที่สุดในโลกไม่ช่วยอะไรถ้า HR ยังส่ง email บอก IT ว่า “พนักงานใหม่มา — สร้าง account ให้หน่อยนะคะ”

Vendor หลักในตลาด — รู้ชื่อไว้ก่อน#

ผมจะไม่ลึกใน vendor ตอนนี้ครับ — เพราะเรื่อง vendor selection อยู่ใน EP ถัดๆ ไป. แต่อยากให้คุณรู้จักชื่อ 4 ตัวที่ผู้บริหารน่าจะเจอบ่อย:

  • Okta — vendor ที่ใหญ่ที่สุดในวงการ IAM ตอนนี้ (ในอเมริกา + ระดับโลก). โดดเด่นเรื่อง SSO + Multi-Cloud. ราคาเริ่มต้น $2-8/user/เดือน ขึ้นกับ feature
  • Microsoft Entra ID (ชื่อเก่า Azure AD) — IAM ของ Microsoft. รวมอยู่ใน Microsoft 365 license หลายตัวอยู่แล้ว — บริษัทที่ใช้ Office 365 มักได้ Entra ID มาด้วย “ฟรี” (ในระดับ feature พื้นฐาน). บริษัทไทยที่ใช้ Microsoft ecosystem ส่วนใหญ่จะลงเอยที่ Entra ID
  • Ping Identity — vendor enterprise สำหรับบริษัทใหญ่ที่มีระบบเก่า (legacy) เยอะ. เน้นเรื่อง federation + integration กับระบบเก่า
  • JumpCloud — vendor ใหม่กว่า เน้นบริษัทเล็ก-กลาง. ราคาประหยัด ใช้ง่าย แต่ feature น้อยกว่า Okta / Entra

ผมจะกลับมาคุยเรื่อง vendor selection ลึกขึ้นใน EP.15 ตอนคุยเรื่อง Federation / SSO. ตอนนี้ขอให้คุณคุ้นชื่อก่อนพอ

กลับมาที่ analogy — ระบบบัตรประจำตัวของบริษัท#

ผมขอใช้ analogy ที่จะใช้ไปทั้ง EP นี้ครับ — IAM คือระบบบัตรประจำตัวพนักงานของบริษัท แต่ดิจิทัล + ใช้กับ 50 ระบบพร้อมกัน

ลองนึกภาพบริษัทขนาดกลางขนาด 500 คน. พนักงานหนึ่งคนใช้ระบบอะไรบ้างในวันทำงานปกติ? — email, Slack/Teams, Google Drive/SharePoint, CRM (เช่น Salesforce/HubSpot), ERP (เช่น SAP/Oracle), HR system, ระบบเงินเดือน, VPN, Wi-Fi office, Zoom, Figma (ถ้าเป็น designer), GitHub (ถ้าเป็น developer), Adobe Creative Cloud, ระบบจอง meeting room, ระบบเบิกค่าใช้จ่าย — เฉลี่ยพนักงานหนึ่งคนใช้ 20-50 ระบบ

ทีนี้คิดต่อ — บริษัท 500 คน × 30 ระบบ = 15,000 account ที่ต้องจัดการ. แล้วทุกปีมีพนักงานเข้าใหม่ ออก ย้ายแผนก เลื่อนตำแหน่ง — เท่ากับมี การเปลี่ยนแปลง 1,000+ ครั้งต่อปี. ถ้าทำด้วยมือ — ไม่มีทางทำได้ครับ. ต้องมีระบบ

นี่คือเหตุที่ IAM เกิดขึ้นมา — ระบบที่ทำให้ HR + IT + Manager ทำงานร่วมกันได้ในเรื่อง identity แบบอัตโนมัติ + ตรวจสอบได้. ในเมืองที่เราเดินมาตั้งแต่ EP.01 — IAM คือ ระบบทะเบียนราษฎร์ของเมือง + ระบบออกบัตรประชาชน + ระบบกุญแจห้อง รวมกัน — แต่สำหรับบริษัท + แบบดิจิทัล

Lifecycle 3 ขั้น — J / M / L#

วงการ IAM เรียก 3 ช่วงสำคัญของชีวิตพนักงานในบริษัทว่า J / M / L:

  • J — Joiner (วันที่เข้ามา)
  • M — Mover (วันที่ย้ายแผนก / เลื่อนตำแหน่ง / เปลี่ยนบทบาท)
  • L — Leaver (วันสุดท้ายที่ออก)

แต่ละขั้นมี process + ความเสี่ยง + เครื่องมือที่ต่างกัน. และจากประสบการณ์ผม — บริษัทไทย ส่วนใหญ่ทำขั้น J ค่อนข้างดี (เพราะ HR อยากให้พนักงานใหม่ทำงานได้เร็ว), ทำขั้น M ลวกๆ (เพราะไม่มีใครเป็นเจ้าของ process), และทำขั้น L แย่ที่สุด (เพราะตอนพนักงานออก ไม่มีใครเดือดร้อนนอกจาก security team)

ใน 3 ส่วนถัดไปของ EP นี้ — เราเจาะทีละขั้นครับ

มุมผู้บริหาร: ก่อนเข้า detail ผมอยากให้คุณตอบคำถามตัวเองสั้นๆ ครับ — บริษัทคุณมีคนที่เป็นเจ้าของ “IAM process” ชัดเจนไหม? ใครเป็น single point of contact ที่ตอบได้ว่า — พนักงานคนนี้มี access อะไรบ้าง?. ถ้าคำตอบคือ “HR ดูเรื่องคน. IT ดูเรื่องระบบ. ไม่มีคนที่ดูทั้ง 2 ฝั่งรวมกัน” = บริษัทคุณยังไม่มี IAM. มีแค่ HR system + IT system ที่ทำงานแยกกัน. นี่คือต้นทางของ orphan account ที่เราจะคุยใน Leaver section. คำแนะนำของผมคือ — แต่งตั้งคนหนึ่งคน (มักเป็น CIO หรือ CISO หรือ HR Director — ขึ้นกับขนาดบริษัท) ให้เป็น “IAM Owner” — รับผิดชอบทั้ง process + technology. ค่าจ้างคนคนนี้ < ค่า breach 1 ครั้งหลายร้อยเท่า

Joiner — วันที่เข้ามา#

มาเริ่มที่ J — Joiner — วันที่พนักงานใหม่เข้ามา

ลองนึกภาพวันแรกของพนักงานใหม่ในบริษัทคุณครับ. 9 โมงเช้า. เขามาถึงออฟฟิศ. HR พาทัวร์. แจกบัตรพนักงาน. นั่งโต๊ะ. เปิด laptop. แล้วยังไงต่อ?

ภาพแย่ที่เป็น pattern คลาสสิคของบริษัทไทย: Laptop เปิดมา — ไม่มี email account, ไม่มี Wi-Fi password, ไม่มี Slack invite, ไม่มี VPN credential. HR ส่ง LINE ไปหา IT — “พี่ครับ พนักงานใหม่มาแล้ว สร้าง account ให้หน่อย”. IT ตอบ — “ขอ 2-3 วันนะครับ ติดงานเร่ง”. พนักงานใหม่ นั่งดู YouTube + รอ 3 วัน กว่าจะ login ระบบบริษัทได้. วันแรกของบริษัท — ความประทับใจที่พนักงานใหม่ได้คือ “บริษัทนี้ไม่พร้อม”

ภาพดีที่บริษัทระดับโลกทำ: Laptop เปิดมา — มี email account พร้อม. Login ด้วย company email + password ชั่วคราว → ถูกบังคับเปลี่ยน password + setup MFA. หน้า dashboard บอก “Welcome — นี่คือระบบที่คุณมีสิทธิ์ใช้: 1) Email, 2) Slack, 3) Google Drive, 4) CRM, 5) HR self-service”. กดเข้าได้ทันที. 30 นาที — พนักงานใหม่ทำงานได้แล้ว

ความต่างของ 2 ภาพนี้คือ Provisioning (การสร้างสิทธิ์อัตโนมัติ)

Provisioning — การสร้างสิทธิ์อัตโนมัติ#

Provisioning = process ที่ระบบ IAM สร้าง account + กำหนดสิทธิ์ใน ทุกระบบ ของบริษัท อัตโนมัติ เมื่อ HR กรอกข้อมูลพนักงานใหม่เข้ามาใน HR system

ขั้นตอนคร่าวๆ ครับ:

  1. HR กรอกข้อมูล ลง HR system — ชื่อ, ตำแหน่ง, แผนก, manager, วันเริ่มงาน
  2. IAM ดึงข้อมูลจาก HR system อัตโนมัติ
  3. IAM ดู rule ที่บริษัทตั้งไว้ — เช่น “ตำแหน่ง Sales Manager แผนก North = ต้องมี Email + Slack + CRM (สิทธิ์ Manager) + VPN + ระบบเบิกค่าใช้จ่าย”
  4. IAM สร้าง account ใน 5 ระบบนั้นพร้อมกัน — ทุกระบบมี email เดียวกัน, password ชั่วคราวเดียวกัน, สิทธิ์ตาม rule
  5. IAM ส่ง email ให้พนักงาน + manager — บอกว่ามี account อะไรพร้อมแล้ว
  6. พนักงานวันแรก login — ทำงานได้ทันที

วงการเรียก state ที่พนักงานใหม่ทำงานได้ทันทีว่า Day-1 Readiness — พร้อมตั้งแต่วันแรก

Real case — Microsoft Entra ID auto-provisioning#

ผมขอใช้เคสจริงเล่าครับ — บริษัท technology ขนาดกลาง (~1,000 คน) ที่เปลี่ยนจาก manual provisioning มาเป็น Microsoft Entra ID auto-provisioning ผ่าน SCIM protocol (มาตรฐานการ sync identity ระหว่างระบบ)

ก่อนเปลี่ยน — manual:

  • HR ส่ง email หา IT — “พนักงานใหม่ 5 คนเข้าวันจันทร์ครับ”
  • IT คน 1 คน นั่งสร้าง account ใน 12 ระบบ × 5 คน = 60 account ด้วยมือ
  • เวลาที่ใช้: 2-3 วัน
  • ความผิดพลาด: บ่อย — ลืมสร้างในระบบใดระบบหนึ่ง, ใส่สิทธิ์ผิด, copy-paste สิทธิ์ของพนักงานเก่า (ที่อาจมีสิทธิ์เกินจำเป็น)

หลังเปลี่ยน — auto-provisioning:

  • HR กรอกข้อมูลใน HR system
  • Entra ID sync ข้อมูลทุก 30 นาที — เห็นพนักงานใหม่
  • ดู rule ที่ตั้งไว้ตามตำแหน่ง + แผนก → สร้าง account ในทั้ง 12 ระบบพร้อมกัน
  • เวลาที่ใช้: 30 นาที
  • ความผิดพลาด: น้อยมาก (เพราะ rule เขียนไว้ตายตัว — ไม่มี human decision ใน loop)

ผลที่ Microsoft โฆษณาเป็น case study — onboarding time จาก 3 วัน → 30 นาที. นั่นคือสิ่งที่บริษัทไทยควรเล็ง

กับดักของ Joiner — over-provisioning จาก Day 1#

แต่ — และนี่คือจุดสำคัญที่บริษัทไทยพลาดบ่อยที่สุดครับ — กับดักของขั้น Joiner ไม่ใช่ “พนักงานใหม่ login ไม่ได้”. กับดักคือ “พนักงานใหม่ได้สิทธิ์เกินจำเป็น”

อะไรทำให้เกิด over-provisioning ตั้งแต่ Day 1? — admin ขี้เกียจคิด

นี่เป็น pattern คลาสสิคของบริษัทไทย. ลองนึก scenario นี้ — พนักงาน Mr.B เข้าใหม่ตำแหน่ง Sales Manager. IT admin ที่ดู account ไม่อยากเสียเวลาคิดว่า Sales Manager ควรมีสิทธิ์อะไรบ้าง. เขาเปิด account ของ Mr.C (Sales Manager คนเดิม) → กด “copy permissions to new user” → จบ. Mr.B ได้สิทธิ์ เท่า Mr.C ทันที

ปัญหาคืออะไร? — Mr.C ทำงานบริษัทนี้มา 5 ปี. ในระหว่างนั้น Mr.C เคยช่วยแผนก Marketing ตอน campaign ใหญ่ → ได้สิทธิ์เข้า marketing tools เพิ่ม. เคยช่วยแผนก Finance สรุปยอดขายปลายปี → ได้สิทธิ์ดู finance dashboard เพิ่ม. เคย backup ให้ Sales Director ลาคลอด → ได้สิทธิ์ admin ของ CRM. ทั้งหมดนี้ Mr.C ใช้ครั้งเดียวแล้วไม่ใช้อีก — แต่สิทธิ์ยังอยู่

ตอน IT copy permission ของ Mr.C ให้ Mr.B — Mr.B ที่เพิ่งเริ่มงาน Day 1 ได้สิทธิ์เกินจำเป็น 4-5 เท่า. และ Mr.B ก็ไม่รู้ว่าตัวเองมีสิทธิ์เหล่านั้น เพราะไม่เคยเปิดใช้

นี่คือจุดเริ่มต้นของปัญหาที่เราจะเจอใน Mover section — Privilege Creep

ทางแก้ — Role-Based Access Control (RBAC) จาก Day 1#

ทางแก้ที่บริษัท security-mature ใช้คือ — ไม่ copy สิทธิ์จากคนใดคนหนึ่ง. ใช้ template ของ “ตำแหน่ง” แทน

RBAC (Role-Based Access Control — การควบคุมการเข้าถึงตามบทบาท) = ระบบที่กำหนดสิทธิ์ตาม role (เช่น “Sales Manager - North”, “Finance Analyst”) ไม่ใช่ตามคน. ทุกคนใน role เดียวกันได้สิทธิ์เท่ากันเป๊ะ — ไม่ขึ้นกับว่าคนคนนั้นเคยทำงานพิเศษอะไรในอดีต

ขั้น Joiner ที่ดี:

  1. HR ระบุ role ของพนักงานใหม่ใน HR system
  2. IAM ดู role → สร้าง account + ให้สิทธิ์ตาม template ของ role นั้น (ไม่ใช่ copy จากคนใดคนหนึ่ง)
  3. ถ้าพนักงานใหม่ต้องการสิทธิ์เพิ่มในภายหลัง → ต้องขออนุมัติแยกต่างหาก — ทำเป็น exception ที่มี ticket + manager sign-off

ผลคือ — พนักงานใหม่ Day 1 = minimum permission ที่ทำงานได้ — ไม่ใช่ everything-everyone-has. นี่คือหลักการ Least Privilege (สิทธิ์น้อยที่สุดที่ทำงานได้) ที่เราจะคุยลึกใน EP.16

RBAC ลึกอีกใน EP.16 ครับ — ตอนนี้ขอแค่รู้ว่า มี alternative ของ “copy สิทธิ์จากคนเก่า” ที่ไม่ก่อปัญหา

มุมผู้บริหาร: 2 คำถามที่ผู้บริหารควรถาม HR + IT ในประชุมถัดไปเรื่อง Joiner ครับ. คำถามที่ 1: “พนักงานใหม่ Day 1 — login ระบบทำงานได้ภายในกี่นาที?” ถ้าตอบ “ต้องรอ 1-3 วัน” = บริษัทคุณยังใช้ manual provisioning. กำลังเสียเวลา + เสีย first impression ของพนักงานใหม่. คำถามที่ 2: “Access ที่พนักงานใหม่ได้ใน Day 1 — มาจาก template ของตำแหน่ง หรือ copy จากคนที่เคยอยู่ในตำแหน่งเดิม?” ถ้าตอบ “copy จากคนเก่า” = คุณกำลังสะสมหนี้ permission ตั้งแต่ Day 1 ของทุกคน. 2 คำถามนี้แยกบริษัทระดับ “ทำได้” กับ “ทำดี” ได้ในประโยคเดียว

Mover — วันที่ย้ายแผนก (Privilege Creep)#

ขั้น M — Mover — วันที่พนักงานย้ายแผนก, เลื่อนตำแหน่ง, เปลี่ยนบทบาท

ขั้นนี้เป็นขั้นที่บริษัทไทย ทำลวกๆ มากที่สุด ครับ. เหตุผลคือ — ตอนพนักงานย้ายแผนก HR ดีใจ (เพราะ retention ดี), manager ใหม่ดีใจ (ได้คนใหม่), manager เก่าเสียดาย (เสียคน) — แต่ ไม่มีใครคิดเรื่อง access. และเพราะไม่มีใครคิด — เกิดปัญหาที่ชื่อว่า Privilege Creep

Privilege Creep — การคืบคลานของสิทธิ์#

Privilege Creep (การคืบคลานของสิทธิ์) = ปรากฏการณ์ที่สิทธิ์ของพนักงานคนหนึ่งสะสมเพิ่มขึ้นเรื่อยๆ ตามเวลาที่ทำงานในบริษัท — โดยที่ไม่มีใครเอาสิทธิ์เก่าออก

คำว่า “creep” (คืบคลาน) บอกอะไร? — มันคืบเข้ามาทีละนิด ช้าๆ จนไม่มีใครสังเกต. ไม่มีจุดไหนที่ใครพูดว่า “เอ๊ะ Mr.D ตอนนี้มีสิทธิ์เกินไปแล้วนะ” — เพราะแต่ละครั้งที่เพิ่มสิทธิ์มันเหมาะสมในตอนนั้น

ผมขอเล่าเป็น story ครับ — เรื่องของ Mr.D ที่ทำงานในบริษัทเดียวมา 4 ปี:

ปีที่ 1 — Mr.D เริ่มงานในแผนก Sales. ตำแหน่ง Sales Executive. สิทธิ์ที่ได้: Email, Slack, CRM (สิทธิ์ระดับ user), ระบบเบิกค่าใช้จ่าย. ใช้งานทุกระบบทุกวัน. ทุกอย่างเหมาะสม

ปีที่ 2 — Mr.D ย้ายแผนกไป Marketing. บริษัทเห็นว่า Mr.D เก่งเรื่อง storytelling ลูกค้า — ย้ายไปทำ content marketing. สิทธิ์เพิ่ม: Marketing tools (HubSpot Marketing Hub, Hootsuite, Canva Pro), Analytics dashboard, ระบบ approve content. แต่สิทธิ์เก่าใน Sales? — ยังอยู่. ไม่มีใครเอาออก เพราะ “เผื่อต้องกลับมาช่วย Sales”

ปีที่ 3 — Mr.D ย้ายไป Finance. ทำ financial planning + budget allocation. สิทธิ์เพิ่ม: ERP (สิทธิ์ Finance Analyst), ระบบทำงบประมาณ, ระบบดู P&L รายแผนก, ระบบ approve PO. สิทธิ์ใน Marketing? — ยังอยู่. ใน Sales? — ยังอยู่. รวมแล้ว Mr.D มีสิทธิ์ของ 3 แผนกซ้อนกัน

ปีที่ 4 — Mr.D เลื่อนเป็น Finance Manager. สิทธิ์เพิ่ม: Executive dashboard ของ Board, ระบบ approve งบใหญ่, สิทธิ์ admin ของ ERP บางส่วน. รวม 4 ปี — Mr.D สะสมสิทธิ์ของ 4 ตำแหน่งซ้อนกัน + executive level

ทีนี้คำถามครับ — Mr.D ใช้สิทธิ์ของ Sales จากปีที่ 1 ครั้งสุดท้ายเมื่อไหร่? คำตอบที่น่าจะตรง — 2 ปีที่แล้ว ตอนกลับไปช่วย Sales 1 ครั้ง. หลังจากนั้น Mr.D ไม่เคย login CRM อีกเลย. แต่ account ของ Mr.D ใน CRM ยังเปิดอยู่ — และมีสิทธิ์ดูข้อมูลลูกค้าทั้งบริษัท

ทำไม Privilege Creep อันตราย — blast radius#

ทีนี้คำถามที่ผู้บริหารต้องคิดครับ — ถ้า account ของ Mr.D โดน compromise วันนี้ — โจรได้อะไร?

คำตอบที่น่ากลัวคือ — โจรได้กุญแจของ 4 แผนกพร้อมกัน. โจรจะ:

  • เข้า CRM → ดาวน์โหลด customer database 50,000 รายชื่อ + ประวัติการซื้อ
  • เข้า Marketing tools → ดาวน์โหลด email list ของลูกค้า + ตั้ง campaign หลอกในนาม Mr.D
  • เข้า ERP Finance → ดูข้อมูลการเงินทั้งบริษัท + ดู P&L ของแผนกทุกแผนก
  • เข้า Executive dashboard → ดู strategy ของ Board

วงการเรียกพื้นที่ที่โจรเข้าถึงได้ผ่าน 1 account ว่า blast radius (รัศมีการระเบิด). Account ที่มี privilege creep มี blast radius ที่บานเกินจำเป็นมาก — โจรเข้ามา 1 ครั้ง = ได้ข้อมูลของ 4 แผนกพร้อมกัน

ถ้าเป็น Mr.D ที่เพิ่งย้ายมา Finance ใหม่ + ไม่มีสิทธิ์ของ Sales / Marketing / executive ค้าง — โจรเข้ามาเดียวกัน = ได้ข้อมูล Finance อย่างเดียว. blast radius เล็กลง 4 เท่า

Stat ที่บริษัทไทยต้องรู้#

จากรายงาน access review ของบริษัทที่ปรึกษา security ระดับโลก (Microsoft, Varonis, SailPoint) — pattern ที่ออกมาตรงกันคือ พนักงานที่ทำงานในบริษัทเดียวมามากกว่า 3 ปี มักมีสิทธิ์เกินที่ใช้จริง 3-5 เท่า

หมายความว่ายังไง? — ถ้าทำ audit สิทธิ์ของพนักงานคนหนึ่ง แล้วถามว่า “สิทธิ์ใน list นี้ — คุณใช้ตัวไหนใน 90 วันที่ผ่านมาบ้าง?” — คำตอบจะอยู่ที่ 20-30% ของ list. อีก 70-80% เป็นสิทธิ์ที่ไม่ได้ใช้ — แต่ยังเปิดอยู่ — และเป็น blast radius ที่บานเปล่าๆ

นี่ไม่ใช่ปัญหาของบริษัทไทยอย่างเดียวครับ. การศึกษาในวงการระดับโลก (เช่น Microsoft, Varonis report ต่างๆ) ทุกตัวชี้ตรงกันว่า — บริษัททั่วโลกมีสิทธิ์ที่ใช้จริงต่ำกว่าสิทธิ์ที่เปิดไว้ 50-70%. ความเสี่ยงนี้เป็น universal — ไม่ใช่ปัญหาเฉพาะถิ่น. แต่บริษัทไทยมักรุนแรงกว่าเพราะ culture ของไทยไม่ค่อยถอดสิทธิ์ — รู้สึกเหมือนเป็นการลดสถานะของพนักงาน

ทางแก้ — Mover process ที่มี Permission Reset#

ทางแก้ที่ดีที่สุดของ Privilege Creep คือ — ตอนพนักงานย้ายแผนก = reset permission กลับมาที่ template ของตำแหน่งใหม่ ไม่ใช่เพิ่มสิทธิ์ใหม่บนของเก่า

ขั้นตอน Mover process ที่ดี:

  1. HR แจ้ง IAM ว่าพนักงานจะย้ายแผนก (พร้อมระบุวันที่)
  2. IAM ดูสิทธิ์ปัจจุบันของพนักงาน + ดูสิทธิ์ของ role ใหม่
  3. IAM ทำ “diff” — เห็นว่าสิทธิ์ตัวไหนต้องเพิ่ม, ตัวไหนต้องเอาออก
  4. ก่อนวันย้าย — manager เก่า + manager ใหม่ + พนักงาน ดู diff ร่วมกัน — confirm
  5. วันย้าย — IAM execute diff อัตโนมัติ → เอาสิทธิ์เก่าออก + เพิ่มสิทธิ์ใหม่

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

Hard case — พนักงานที่ทำหลายบทบาทพร้อมกัน#

ผมต้องเตือนครับว่ามี edge case ที่ไม่ง่าย — พนักงานบางคนทำหลายบทบาทพร้อมกันจริงๆ. เช่น ใน SME ที่คนน้อย — คนหนึ่งคนทำ Sales + Marketing + Customer Service พร้อมกัน. ในกรณีนี้ การ reset เป็น role เดียวจะไม่ work

ทางแก้คือ — ระบบ IAM ที่ดีต้องรองรับ multi-role assignment — assign ให้พนักงานหนึ่งคนมีได้หลาย role พร้อมกัน + ทุก role มี start date + end date. ถ้าวันหนึ่งบริษัทโตขึ้น มี Sales เต็มเวลาแล้ว → ถอด role Sales ของพนักงานคนเดิมออก. ระบบไม่งง

มุมผู้บริหาร: คำถามที่จะเปลี่ยนวิธีคิดเรื่อง Mover ของบริษัทคุณครับ — “ครั้งล่าสุดที่คุณเซ็นย้ายพนักงานคนหนึ่งจากแผนกหนึ่งไปอีกแผนก — ใครเป็นคนตัดสินใจว่า access เก่าจะถูกเอาออกหรือเก็บไว้?” ในบริษัทไทยส่วนใหญ่ — คำตอบคือ “ไม่มีใคร” — เพราะคำถามนี้ไม่เคยถูกตั้ง. ผมแนะนำให้คุณเพิ่ม 1 บรรทัด ในเอกสารอนุมัติย้ายพนักงาน — “Access เก่าที่ต้องเอาออก: ___ / Access ใหม่ที่ต้องเพิ่ม: ___ / Access เก่าที่ต้องเก็บไว้ (พร้อมเหตุผล): ___”. แค่บรรทัดเดียวนี้ — ทำให้ Mover process เปลี่ยนจาก “ไม่มีใครคิด” เป็น “ทุกคนต้องคิด”. Privilege Creep จะลดลง 60-70% โดยไม่ต้องลงทุน tool เพิ่มเลย

Leaver — วันสุดท้าย (ที่บริษัทไทยลืม)#

มาถึงขั้น L แล้วครับ — Leaver — วันสุดท้ายที่พนักงานออกจากบริษัท

นี่คือขั้นที่ผมตั้งเป็น headline ของ EP ทั้งหมด — ขั้นตอนสุดท้ายที่บริษัทไทยลืม. และเหตุที่ลืมไม่ใช่เพราะไม่รู้ — แต่เพราะ ตอนพนักงานออก ไม่มีใครเดือดร้อนนอกจาก security team — และส่วนใหญ่บริษัทไทยไม่มี security team เต็มเวลา

ภาพแย่ที่เป็น pattern คลาสสิคของวงการ#

ผมขอเล่าเป็น scenario ที่หลายคนรายงานในวงการครับ — เป็น pattern ที่ ISACA และนักวิจัย security ใช้สอนเรื่อง orphan account บ่อยที่สุด. ลองนึก scenario นี้ — สมมติพนักงานคนหนึ่ง (ขอเรียกว่า Mr.E) ทำงานบริษัท IT ขนาดกลางในกรุงเทพ ตำแหน่ง System Engineer. เขาลาออกตามขั้นตอนปกติ — ส่ง resignation letter, ทำงานต่อ 1 เดือน, hand-over งานให้คนใหม่, คืน laptop + บัตรพนักงานในวันสุดท้าย, signature ในเอกสาร exit interview. ทุกอย่างเรียบร้อย

วันสุดท้าย — Mr.E รู้สึกประหลาดใจเล็กน้อยที่ HR ไม่ได้บอกอะไรเรื่อง account ของบริษัท. เขาคิดในใจ — “เดี๋ยว IT คงปิดเอง”. กลับบ้าน. ขึ้นงานใหม่. ลืมเรื่องบริษัทเก่าไป

6 เดือนต่อมา — Mr.E เปิด laptop ส่วนตัวที่บ้าน. เห็น VPN client ที่เคย install ตอนทำงานบริษัทเก่า — ลืมถอน. ลองกด connect เล่นๆ. ใส่ username + password เดิม ของบริษัทเก่า. — connect ติด. เข้า internal network ของบริษัทเก่าได้

Mr.E ตกใจครับ. ในสมมติฐานนี้ เขาไม่ใช่คนที่อยากทำอะไรไม่ดี — แค่อยากทดลอง. แต่ลองคิดต่อ — ถ้า Mr.E เป็นคนที่ไม่ดี — หรือถ้าเครื่อง laptop ของเขาโดน malware ที่ขโมย credential ของบริษัทเก่าไปแล้ว — บริษัทเก่าไม่มีทางรู้เลยว่ามีคนข้างนอกที่ยังเข้าระบบของเขาได้

Mr.E โทรหา IT บริษัทเก่า — บอก “ผมยัง login VPN ได้นะครับ ปิด account ผมหน่อย”. IT ตอบ — “อ้าว — ลืมครับ — ปิดให้เลย”. จบ. 6 เดือนของ orphan account จบลงด้วยโทรศัพท์ 1 สาย

นี่ไม่ใช่เคสที่หายากครับ. ในบริษัทไทยที่ไม่มี Leaver process ที่เป็นทางการ — เกือบทุกบริษัทมี orphan account ค้างอยู่ — ปริมาณมากน้อยขึ้นกับขนาด

Deprovisioning — Disable, อย่าลบ#

Deprovisioning = process ที่ตรงข้ามกับ Provisioning — ปิด account ของพนักงานในทุกระบบ ในวันสุดท้ายที่พนักงานทำงาน

จุดที่ subtle ที่บริษัทไทยมักเข้าใจผิด — คำว่า “ปิด” ในที่นี้ = disable. ไม่ใช่ delete

  • Disable = ปิดไม่ให้ login ได้ — แต่ data ของ account + log activity ทั้งหมดยังอยู่
  • Delete = ลบ account ทิ้งหมด — data หาย, log หาย, ไม่มีร่องรอย

ทำไมต้อง disable ไม่ใช่ delete? — 3 เหตุผล:

เหตุผลที่ 1 — Forensic investigation. ถ้าหลังพนักงานออกไป — 3 เดือนต่อมามีเหตุการณ์ data leak เกิดขึ้น — ทีม security ต้องสามารถย้อนดู log ของพนักงานคนนั้นได้ ว่าก่อนออกได้ทำอะไรในระบบบ้าง. ถ้า account ถูก delete = log หาย = investigate ไม่ได้

เหตุผลที่ 2 — Email forwarding + business continuity. ถ้าพนักงาน Sales ออก — ลูกค้าของเขายังเคยส่ง email มาที่ email ของเขาอยู่. บริษัทต้อง forward email มาที่คนใหม่ที่รับช่วงงาน. ถ้า delete email = ลูกค้าได้ bounce-back = เสียลูกค้า

เหตุผลที่ 3 — Audit trail สำหรับ regulator. ในบริษัทที่อยู่ภายใต้ regulation (เช่น SOX, PDPA) — มี requirement ให้เก็บ log ของ user activity เป็นระยะเวลาหนึ่ง (ปกติ 1-7 ปี). ถ้า delete account ทันที = log ของ activity เก่าหาย = ไม่ compliant

ทาง best practice คือ — Disable ทันทีในวันสุดท้าย → เก็บ disabled state ไว้ 1-2 ปี → ค่อย archive → ค่อยลบหลังหมดอายุ retention

Leaver Checklist — รายการที่ต้อง revoke#

ทีนี้คำถามคือ — มีอะไรบ้างที่ต้องปิด/คืน ในวันสุดท้าย?. ผมขอ list ที่บริษัทไทยมักลืมเป็นข้อๆ ครับ:

Digital access:

  • Email account (disable + forward ไปที่ manager)
  • Active Directory / Entra ID account
  • VPN access
  • Slack / Teams / Zoom
  • Google Drive / SharePoint / OneDrive
  • CRM (Salesforce, HubSpot, ฯลฯ)
  • ERP (SAP, Oracle, ฯลฯ)
  • HR self-service
  • ระบบเงินเดือน (เก็บ read-only แต่ปิด edit)
  • SaaS subscriptions ทุกตัว (Figma, Notion, GitHub, Adobe, ฯลฯ)
  • API keys + access tokens (สำหรับ developer / DevOps — ตัวที่ลืมบ่อยที่สุด)
  • SSH keys + service account credential ที่ผูกกับชื่อพนักงาน

Physical access:

  • บัตรพนักงาน (เข้าออฟฟิศ)
  • Key card / fob (เข้าห้อง server, ห้อง confidential)
  • Laptop + accessories
  • Mobile phone ของบริษัท
  • 2FA hardware token (YubiKey, RSA token)

Third-party access:

  • ลบชื่อพนักงานออกจาก vendor portal ที่บริษัทใช้
  • แจ้ง vendor ที่ contract direct กับพนักงาน (เช่น vendor ที่มี email ของเขาเป็น primary contact) — เปลี่ยน contact

Soft items:

  • เปลี่ยน password ของ shared account ที่พนักงานรู้ (เช่น admin password ของระบบ social media ของบริษัท)
  • Review ของ commit หรือ deployment ที่พนักงานทำในระยะ 30 วันสุดท้าย — เช็คว่ามี backdoor หรือ unauthorized change ไหม
  • ปิด GitHub / GitLab / Bitbucket access

ลองนับดู — ทั้งหมด 20+ รายการ. ถ้าทำด้วยมือ + ไม่มี checklist + ไม่มี HR + IT shared ownership = ลืมแน่นอน. และพอลืม → เกิด orphan account

Orphan Account — ผีในระบบ#

Orphan Account (บัญชีกำพร้า) = account ที่ยังเปิดอยู่ในระบบ — แต่ไม่มีคนรับผิดชอบ

3 sources หลักของ orphan account:

  1. พนักงานออกไป — แต่ account ไม่ถูกปิด (เคส Mr.E ที่เพิ่งเล่า)
  2. Service account ของระบบเก่าที่เลิกใช้แล้ว — ระบบเก่าโดน decommission ไป 2 ปีแล้ว แต่ service account ที่เคยใช้ยังเปิดอยู่
  3. Vendor account ที่หมดสัญญา — vendor ที่เคย contract กับบริษัท ทำโครงการเสร็จ ลาออกแล้ว — แต่ admin account ที่บริษัทสร้างให้ vendor เข้าระบบยังเปิดอยู่

ทำไม orphan account อันตราย? — เพราะมันคือประตูที่บริษัทไม่รู้ว่ามี. ไม่มีใครเฝ้า (เพราะไม่รู้ว่ามี). ไม่มีใคร rotate password (เพราะไม่รู้ว่าเป็นของใคร). ไม่มีใคร enable MFA (เพราะไม่มีคนเป็นเจ้าของ). โจรเข้าผ่าน orphan account = เข้าได้ลับๆ เป็นเดือนๆ หรือเป็นปีๆ โดยไม่มีใครเห็น

Real case — Tesla 2018#

ผมขอเล่าเคสจริงเคสหนึ่งที่ทำให้วงการตื่นเรื่อง Leaver process ครับ — Tesla 2018

ในเดือนมิถุนายน 2018 — Tesla ค้นพบว่าพนักงานคนหนึ่งของบริษัท Martin Tripp (Process Technician) ได้พยายาม sabotage ระบบการผลิตของ Tesla. รายละเอียดของเคสนี้ Elon Musk ส่ง email ทั่วบริษัทบอกว่า — Tripp ได้แก้ code ของระบบ Manufacturing Operating System (MOS) แล้ว export ข้อมูล sensitive จำนวนมาก ไปให้บุคคลที่สาม

จุดสำคัญของเคสนี้สำหรับ EP ของเราคือ — Tripp ทำสิ่งเหล่านี้ “ในช่วงที่เขายังเป็นพนักงานอยู่” — แต่หลังจากที่เขาเพิ่งโดน demote จากตำแหน่งที่เขาคิดว่าควรได้. หมายความว่า — insider ที่กำลังจะกลายเป็น leaver — ยังมี access เต็มที่ ในช่วงที่เขามี motive ที่จะทำร้ายบริษัท

เคส Tesla ทำให้วงการเข้าใจว่า — risk ของ Leaver ไม่ได้เริ่มในวันสุดท้าย — มันเริ่มในวันที่พนักงานเริ่มไม่พอใจ. และ best practice ใหม่ที่หลายบริษัทเริ่มทำหลัง Tesla คือ — เมื่อพนักงานยื่นใบลาออก → เปลี่ยน access ของเขาเป็น “monitoring mode” ทันที — ยังทำงานได้ปกติ แต่ทุก activity ถูก log + alert ถ้าทำอะไรผิดปกติ (เช่น download data จำนวนมาก, copy ไฟล์ออก USB, forward email หลาย thread ออก)

Real case — Twitter 2020 (กลับมาอีกครั้ง)#

ผมขอกลับมาที่ Twitter 2020 อีกครั้งครับ — เพราะมี dimension ของเคสนี้ที่เกี่ยวกับ Leaver ที่ผมไม่ได้พูดในช่วงต้น EP

การ social engineering ที่ใช้หลอกพนักงาน Twitter — ส่วนหนึ่งของข้อมูลที่โจรใช้ → มาจาก “อดีตพนักงาน Twitter” ที่ขายข้อมูลเชิงโครงสร้างของระบบภายใน + ชื่อ + ตำแหน่งของพนักงาน support — ใน dark forum

หมายความว่า — risk ของ Leaver ไม่จบในวันสุดท้าย — มันต่อเนื่องไปอีกหลายเดือนหรือหลายปี. อดีตพนักงานที่ออกไปด้วยความขมขื่น = threat vector ที่ใช้ได้นาน สำหรับโจรที่ social engineer พนักงานที่ยังอยู่. นี่คือเหตุที่บริษัท security-mature เริ่มทำ exit interview ที่มี security component — บอกอดีตพนักงานชัดเจนว่ามี NDA + อะไรพูดได้/ไม่ได้ + แม้ออกไปแล้วยังมี obligation ทางกฎหมาย

มุมผู้บริหาร: ผมอยากให้คุณตอบคำถามตัวเอง 1 ข้อเงียบๆ ครับ — “ในบริษัทคุณ — มี shared checklist ระหว่าง HR + IT ที่ทำให้ในวันสุดท้ายของพนักงานทุกคน account ถูกปิด 100% ครบทุก system หรือไม่?” ถ้าตอบ “ไม่มี” — ผมแทบรับประกันได้ว่าบริษัทคุณมี orphan account ค้างอยู่. อาจจะ 5 บัญชี อาจจะ 50 บัญชี — แต่มีแน่นอน. คำแนะนำของผมคือ — ในประชุมถัดไป สั่งให้ HR + IT ร่วมกันสร้าง “Leaver Checklist” ที่มี 20+ รายการ + ตั้งเป้าให้ใช้กับพนักงานที่ออกในเดือนถัดไปทุกคน + รายงานผลในประชุมถัดไป. ค่าใช้จ่ายในการทำ checklist = ใช้เวลา HR + IT รวม 2-3 ชั่วโมง. ป้องกัน breach 1 ครั้ง = หลายล้านบาท. ROI ที่ดีที่สุดในวงการ security คือเรื่องนี้

Account Reviews + Recertification — ยาแก้ Privilege Creep#

ใน 3 ขั้นที่เราเดินมา — Joiner, Mover, Leaver — เราเห็นแล้วว่าแต่ละขั้นมีกับดักของตัวเอง. แต่ในชีวิตจริง ไม่มีบริษัทไหนที่ทำ 3 ขั้นนี้ได้สมบูรณ์ 100% ตลอดเวลา. คนเปลี่ยน. ระบบเปลี่ยน. ความเร่งด่วนของธุรกิจทำให้บางครั้ง process โดนข้าม. ผลคือ — เมื่อเวลาผ่านไป สิทธิ์ในระบบจะเพี้ยนจากที่ควรเป็น

ทางแก้ที่วงการใช้คือ — ตรวจซ้ำเป็นรอบ. ชื่อทางการคือ Account Reviews + Recertification

Account Reviews — ตรวจรอบสั้น#

Account Reviews (การทบทวนบัญชี) = process ที่ manager นั่งดู รายชื่อลูกน้องของตัวเอง + รายการ access ที่ลูกน้องแต่ละคนมี — เป็นรอบ. ปกติทุก 3-6 เดือน

ในการ review แต่ละครั้ง — manager ตอบคำถาม 3 ข้อสำหรับ access แต่ละตัวของลูกน้องแต่ละคน:

  1. ยังต้องใช้ — สิทธิ์นี้ยังจำเป็นสำหรับงานของลูกน้องคนนี้ → keep
  2. ไม่ใช้แล้ว — สิทธิ์นี้ไม่ต้องการแล้ว → revoke
  3. ไม่รู้จัก — manager ไม่รู้ว่าทำไมลูกน้องมีสิทธิ์นี้ → escalate + investigate

คำตอบที่ 3 เป็นคำตอบที่สำคัญที่สุด — เพราะมันเป็น signal ว่า มีสิทธิ์ที่ไม่มีใครเข้าใจที่มาที่ไป. นี่คือ orphan permission ที่ Privilege Creep สร้างขึ้น

Account Review เป็น process ที่ เครื่องมือ IAM ส่วนใหญ่รองรับ built-in — Okta, Microsoft Entra ID, SailPoint, Saviynt ทุกตัวมี module นี้. ระบบจะส่ง email ให้ manager ทุก 3 เดือน — “กรุณา review access ของลูกน้อง 12 คน — กดปุ่ม approve/revoke”. Manager ใช้เวลา 30-60 นาทีก็เสร็จ

Recertification — sign-off ที่เป็นทางการรายปี#

Recertification (การรับรองสิทธิ์ซ้ำ) = ขั้นที่ใหญ่กว่า Account Review. เป็น formal sign-off ของ manager ทุก 12 เดือน — manager ต้อง เซ็นรับรองอย่างเป็นทางการ:

“ผม [ชื่อ manager] ยืนยันว่าลูกน้อง 12 คนต่อไปนี้ — มี access ตามรายการที่แนบ — ทั้งหมดเหมาะสมกับงานปัจจุบัน + ใช้ในระยะ 90 วันที่ผ่านมา”

ความแตกต่างระหว่าง Review กับ Recertification:

  • Review = approval ทั่วไป, ระดับ operational
  • Recertification = legal sign-off, ถ้าเซ็นแล้วเกิดปัญหา → manager รับผิดชอบ

นี่คือเหตุที่ Recertification เป็น process ที่ผู้บริหารต้องเข้าใจ — เพราะมันโอน accountability ไปที่ manager ผ่านการเซ็น. แต่ก็เพราะแบบนี้ — มันมักโดนทำ pro forma (เซ็นโดยไม่อ่าน)

กับดักของ Recertification — ทำเพราะต้อง ไม่ใช่เพราะต้องการ#

นี่คือ pattern คลาสสิคของวงการที่บริษัทไทยติดบ่อยที่สุดครับ — Recertification ที่ทำเพราะ regulator บังคับ ไม่ใช่เพราะอยากปลอดภัย

ภาพคลาสสิคที่ออกข้อสอบ CISA บ่อย:

  • ถึงปลายปี — ระบบส่ง email ให้ manager 100+ คน — “กรุณา recertify access ของลูกน้อง — deadline: 15 ธันวาคม
  • Manager ที่ยุ่ง → เปิด email ใน 5 นาทีสุดท้ายก่อน deadline → กด “Approve All” โดยไม่อ่าน → submit
  • ระบบบันทึก: “Manager X ได้ recertify ลูกน้อง 12 คน — เสร็จสมบูรณ์”
  • Audit ปีหน้าผ่าน — เพราะมีหลักฐานเซ็น

ปัญหาคืออะไร? — Recertification ที่ทำแบบนี้ = check-the-box theater เหมือนที่เราคุยใน EP.09 เรื่อง compliance theater. ไม่มีใครได้ดูจริงๆ ว่า access ของลูกน้องเหมาะสมไหม. orphan permission ที่ควรถูกถอด → ถูก recertify แทน. Privilege Creep ที่ควรถูก reset → ถูก approve

เคล็ดลับที่ work — Recertification ผูกกับโบนัส#

ทางแก้ที่ work ในบริษัทระดับโลกครับ (มี case study จาก SailPoint และนักวิจัย identity governance ออกมาเล่า) — ทำให้ Recertification เป็น mandatory เพื่อจ่ายโบนัสประจำปีของ manager

หมายความว่า — ถ้า manager ไม่ recertify ลูกน้อง 100% ภายใน deadline → โบนัสประจำปีของ manager ระงับ จนกว่าจะ recertify ครบ. และ — ถ้า audit รอบหน้าเจอว่า recertify แบบ “Approve All” โดยไม่ได้ตรวจจริง → manager โดน performance review hit + อาจกระทบ promotion

ผลคือ — manager เริ่มใส่ใจ. เพราะ recertify ผิดพลาด = กระทบเงินในกระเป๋าตัวเอง

มีบริษัท financial services ในไทยที่ใช้วิธีนี้ — อัตรา “Approve All blind” ลดจาก 80% เหลือ 12% ใน 1 ปี. และ orphan permission ในบริษัทลดลง 60% ในปีเดียวกัน. Incentive alignment ทำงานเสมอ — ถ้าผูก security กับเงินที่ manager สนใจ = manager จะสนใจ security

Vendor — IAM Governance Platforms#

ผู้เล่นในวงการ Account Review + Recertification ที่เด่นๆ มี 2 ตัว:

  • SailPoint — vendor ที่ใหญ่ที่สุด focus ที่ identity governance. บริษัทใหญ่ในอเมริกาส่วนใหญ่ใช้. ราคา enterprise — $100,000+ ต่อปี
  • Saviynt — competitor หลักของ SailPoint. focus ที่ cloud-first companies. ราคาใกล้เคียง

ทั้ง 2 ตัวเป็น IAM Governance Platforms — แยกจาก IAM operational tool (Okta, Entra ID) ที่ทำเรื่อง authentication + provisioning. Governance platforms เน้นเรื่อง — review, recertification, segregation of duties, compliance reporting

สำหรับบริษัทเล็ก-กลาง — feature governance ของ Okta หรือ Entra ID มักเพียงพอ ไม่ต้องซื้อ governance platform แยก. แต่บริษัทขนาดใหญ่ที่อยู่ภายใต้ regulation หนัก (เช่น financial services, healthcare) มักลงทุน SailPoint หรือ Saviynt เพิ่ม

มุมผู้บริหาร: ในประชุมถัดไป ลองถาม CIO/CISO 2 คำถามครับ. คำถาม 1: “บริษัทเราทำ Account Review หรือ Recertification ไหม? ถ้าทำ — ทำเป็นรอบเท่าไหร่?” ถ้าตอบ “ทำปีละครั้ง” = baseline. ถ้าตอบ “ทำทุก 3-6 เดือน” = ดี. ถ้าตอบ “ไม่ได้ทำ” = ปัญหา. คำถาม 2: “อัตราการกด ‘Approve All’ ของ manager เราอยู่ที่เท่าไหร่?” ถ้าตอบ “ไม่รู้” = บริษัทไม่ track. ถ้าตอบ ”> 50%” = recertification ของบริษัทคุณเป็น theater. และคำถามต่อมาที่จะเปลี่ยนทุกอย่างคือ — “ถ้าเราผูก recertification เข้ากับโบนัส manager ปีหน้า — จะ work ไหม?”. คำตอบของบริษัทระดับโลกหลายเจ้า = work มาก

สรุป EP.10 — Lifecycle 3 ขั้น + 2 takeaway#

ถ้าให้สรุป EP.10 เป็นภาพเดียวครับ — Identity คือรากของทุก security control. และ Identity Lifecycle = J / M / L. ที่บริษัทไทยลืมมากที่สุดคือ L — และ M ที่ทำให้เกิด Privilege Creep

ใน EP นี้เราเดินดู 6 เรื่อง:

เรื่องที่หนึ่ง — Identity คือรากของทุก control. Firewall / Encryption / MFA / Audit log — ทุกตัวสุดท้ายตอบคำถามเดียวกัน — “คนนี้คือใคร? ทำสิ่งนี้ได้ไหม?”. Twitter 2020 — โจรไม่ได้แฮก encryption หรือหา zero-day — โจร hijack identity ของพนักงาน 4 คน + ใช้ admin panel ปกติ → ยึดบัญชี Obama/Musk/Apple ในชั่วโมงเดียว. “Identity is the new perimeter”

เรื่องที่สอง — IAM คือ discipline + process + technology. ไม่ใช่ tool ตัวเดียว. Vendor หลัก — Okta, Microsoft Entra ID, Ping Identity, JumpCloud. ทุก vendor ทำงานได้ก็ต่อเมื่อ process ของบริษัทพร้อมรองรับ. Lifecycle 3 ขั้น = J / M / L

เรื่องที่สาม — Joiner. Provisioning อัตโนมัติทำให้พนักงานใหม่ทำงานได้ใน 30 นาที (vs. 3 วัน manual). Day-1 Readiness คือ KPI. กับดัก — copy permission จากคนเก่า = สะสมหนี้ตั้งแต่ Day 1. ทางแก้ — RBAC + Role template

เรื่องที่สี่ — Mover. Privilege Creep = สิทธิ์สะสมจากการย้ายแผนกหลายรอบ. พนักงานที่ทำงาน 4 ปี + ย้าย 3 แผนก = blast radius บานเกินจำเป็น 3-5 เท่า. ทางแก้ — reset permission ตอนย้าย ไม่ใช่เพิ่มบนของเก่า

เรื่องที่ห้า — Leaver. ขั้นที่บริษัทไทยลืมมากที่สุด. Deprovisioning = disable ในวันสุดท้าย (ไม่ใช่ delete). Orphan Account = ประตูที่บริษัทไม่รู้ว่ามี. Cases ที่ใช้สอน — scenario Mr.E login VPN บริษัทเก่าได้หลังออก 6 เดือน / Tesla 2018 Martin Tripp sabotage หลัง demote / Twitter 2020 ใช้ข้อมูลจากอดีตพนักงาน. Leaver Checklist ต้องมี 20+ รายการ — HR + IT shared ownership

เรื่องที่หก — Account Reviews + Recertification. ยาแก้ Privilege Creep. Review ทุก 3-6 เดือน. Recertification formal sign-off รายปี. กับดัก — manager กด “Approve All” โดยไม่อ่าน = check-the-box theater. เคล็ดลับ — ผูก recertification เข้ากับโบนัส manager → อัตรา blind-approve ลด 80% → 12%

สิ่งที่ผู้นำต้องจำ — 2 ข้อ#

ข้อแรก — ถ้า HR + IT ไม่มี Leaver Checklist ที่ shared — บริษัทมี orphan account แน่ๆ

นี่เป็นข้อที่ผมอยากให้คุณจำที่สุดของ EP นี้ครับ. ตามรายงานจาก auditor ในวงการ — เกือบทุกบริษัท ที่ไม่มี Leaver Checklist ที่เป็น shared document ระหว่าง HR กับ IT — มี orphan account ค้างอยู่. ปริมาณน้อยมากในบริษัทเล็ก (อาจจะ 3-5 บัญชี). มหาศาลในบริษัทใหญ่ที่มี turnover เยอะ (อาจจะหลายร้อยบัญชี)

วิธีตรวจง่ายๆ ที่ใช้กันทั่วไปในวงการ — ขอ list ของ user account ทั้งหมดในระบบ → join กับ HR roster ของพนักงานปัจจุบัน → ดู diff. เป็น pattern คลาสสิคที่ใช้ใน access review — แทบทุกครั้งจะเจอ account ในระบบที่ไม่มีใน HR. นั่นคือ orphan account. และเกือบทุกครั้งบริษัทจะตกใจว่า “เอ๊ะ เราไม่รู้ว่ามีเยอะขนาดนี้”

แค่ 1 step เริ่มต้น — ใช้เวลา 1 วัน + คน 2 คน (HR analyst + IT admin) + เอกสาร Excel 1 ใบ — ทำให้บริษัทคุณเห็น orphan account ที่ค้างอยู่ทั้งหมด. ลงทุนน้อยที่สุดในวงการ security ที่ ROI สูงที่สุด

ข้อสอง — Recertification ปีละครั้ง = ฮีโร่ของบริษัทที่อยู่นาน

บริษัทที่ทำธุรกิจมานาน 10-20 ปี — มีพนักงานที่อยู่มานานเฉลี่ย 5-10 ปี — เป็นบริษัทที่ Privilege Creep รุนแรงที่สุด. เพราะแต่ละคนสะสมสิทธิ์ของหลายตำแหน่งซ้อนกัน. และเพราะ culture ของไทยไม่ค่อยถอดสิทธิ์ — สิทธิ์เก่าค้างอยู่นาน

Recertification ที่ทำจริง (ไม่ใช่ที่ผ่านพิธี) เป็น single ปฏิบัติการที่จะลด Privilege Creep มากที่สุด. และผมเสนอให้ผู้บริหารทำ 3 อย่างเริ่มต้น:

  1. ตั้ง Recertification cycle รายปี — เริ่มที่ปีนี้
  2. ผูก Recertification เข้ากับโบนัส manager — ถ้าไม่ทำ = ไม่ได้โบนัส
  3. Track อัตรา blind-approve — เป้าหมาย < 20% ภายใน 2 ปี

3 ข้อนี้ — ไม่ต้องลงทุน tool ใหม่. ใช้ tool ที่มีอยู่แล้ว (Okta หรือ Entra ID หรือแม้แต่ Excel). ใช้วินัยของ HR + Finance ในการผูก recertification เข้ากับโบนัส. ผลในปีที่ 2 — orphan permission ลด 60-70%. และเมื่อ Privilege Creep ลด = blast radius ของทุก account ลด = ถ้าโจรเข้าได้ 1 account = ความเสียหายลดทันที

Tease EP.11 — แล้วตอน login จริงๆ ระบบรู้ยังไงว่าคุณคือคุณ?#

ครับ — EP.10 จบที่นี่. คุณได้เห็นแล้วว่า lifecycle ของพนักงานในบริษัทมี 3 ขั้น — J / M / L — และในแต่ละขั้นบริษัทต้องบริหารตัวตน + สิทธิ์ของพนักงานอย่างเป็นระบบ

แต่ผมเขียน EP นี้ไปทั้งหมด — ผมยังไม่ได้พูดถึงเรื่องนึงที่สำคัญที่สุดเลยครับ. ผมพูดถึงคำว่า “login” หลายครั้ง — แต่ไม่ได้อธิบายว่า ตอน login จริงๆ ระบบรู้ยังไงว่าคนที่กำลังพิมพ์ password อยู่นั้น = ตัวจริงของพนักงานที่ถูก provision เข้ามาในระบบ?

นี่คือคำถามที่ใหญ่ที่สุดในวงการ security ครับ — “ฉันจะรู้ได้ยังไงว่าคุณคือคุณ?”

ถ้า password คือคำตอบเดียว — โจรขโมย password ของพนักงาน = โจรเข้าระบบได้เลย. แต่ในชีวิตจริง — ระบบที่ปลอดภัยใช้ มากกว่า password ในการพิสูจน์ตัวตน. วงการเรียกหลักการนี้ว่า 3 Factors of Authentication:

  1. Something you Know (สิ่งที่คุณรู้) — password, PIN, คำถามลับ
  2. Something you Have (สิ่งที่คุณมี) — มือถือที่รับ SMS, hardware token (YubiKey), บัตร smart card
  3. Something you Are (สิ่งที่คุณเป็น) — ลายนิ้วมือ, ใบหน้า, ม่านตา, เสียง

ครั้งหน้า EP.11 — Authentication: 3 Factors + AAA ผมจะพาคุณดู — 3 factors นี้ทำงานยังไง, AAA framework (Authentication / Authorization / Accountability) ที่เป็นแม่บทของวงการ, ความต่างระหว่าง SFA / 2FA / MFA, และทำไม factor 1 (password) อย่างเดียวคือ กับดัก single point of failure ที่บริษัทไทยส่วนใหญ่ยังติด

และผมจะพาคุณนับนิ้วครับ — บัญชีที่คุณใช้ในชีวิตประจำวันตอนนี้ — กี่บัญชีใช้แค่ password? กี่บัญชีใช้ MFA? คำตอบที่คุณนับเองจะเป็นจุดเริ่มต้นที่ดีที่สุดของการเปลี่ยน mindset เรื่อง security ของคุณ

EP.11 — เจอกันที่ประตูที่ 2 ของเมือง — ตอนที่ยามตรวจบัตรประจำตัวที่คุณเพิ่งได้รับใน EP.10