4559 คำ
23 นาที
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: เมืองนี้ทำไมต้องมียาม

Part 1 — HOW: ระบบนิเวศของเมือง

Part 2 — Identity: บัตรประชาชน + กุญแจห้อง

Part 3 — Data: ของในเซฟ

Part 4 — Infrastructure: ถนน กำแพง ท่อ

Part 5 — Operations: ตำรวจ ดับเพลิง สืบสวน

Part 6 — Governance: เทศบาล + กฎหมายเมือง

→ สารบัญรวมของซีรีส์ (Hub)

ก่อนจะเข้า EP นี้ ผมขอชวน recap สั้นๆ ก่อน เพราะ EP.10 คือตอนเปิด 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 หมด

EP.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 + ความเสี่ยง + เครื่องมือที่ต่างกัน. และจาก pattern ที่ออกข้อสอบ CISA บ่อย + รายงาน access review ของวงการ — บริษัทไทย ส่วนใหญ่ทำขั้น 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