Active Directory คืออะไร
ก่อนที่ผู้เขียนจะก้าวเข้าสู่สายงานด้าน Cybersecurity ตัวผู้เขียนเองมักเข้าใจว่า Active Directory หรือที่เราเรียกกันสั้น ๆ ว่า AD นั้น เป็นเพียงครื่องคอมพิวเตอร์หลาย ๆ เครื่องภายในองค์กรที่เชื่อมต่อเข้าด้วยกัน ซึ่งก็ถือว่าถูกอยู่ส่วนหนึ่ง แต่นิยามของเจ้า AD จริง ๆ แล้วมันคือ Directory Service หรือ เซอร์วิส ที่ถูกพัฒนาโดย Microsoft ที่เอาไว้ใช้บริหารจัดการทรัพยากรต่าง ๆ ในองค์กร เช่น เครื่องคอมพิวเตอร์ บัญชีผู้ใช้ พรินเตอร์ เป็นต้น
โดยเจ้า AD ก็จะมีเซอร์วิสแยกย่อยลงไปอีก ทีนี้ถ้าจะให้เข้าใจแบบง่าย ๆ ผู้อ่านอาจจะลองจินตนาการว่า ถ้ามีเครื่องคอมพิวเตอร์อยู่ 2–3 เครื่อง เราอาจมีเวลามากพอที่จะไปตั้งค่าต่าง ๆ ให้ทีละเครื่องได้ แต่ถ้าหากเรามีเครื่องคอมพิวเตอร์อยู่หลายสิบเครื่อง และอาจจะมีหลายแผนกด้วย โดยแต่ละแผนกก็มีหน้าที่แตกต่างกันไป การที่เราต้องไปนั่งตั้งค่าทีละเครื่องนั้น นอกจากจะเสียเวลาแล้วยังทำให้มีโอกาสเกิดข้อผิดพลาดขึ้นได้
ดังนั้นการมีเครื่องมือที่ช่วยในการจัดการ ที่สามารถเพิ่มฟังก์ชันต่าง ๆ ให้ระบบได้ เช่น การตั้งค่าสิทธิ์ความปลอดภัยต่าง ๆ การยืนยันตัวตน เป็นต้น พร้อมทั้งสามารถ Scaling ตามทรัพยากรที่เพิ่มมากขึ้นได้ จะสามารถเพิ่มความปลอดภัยให้กับระบบ ลดระยะเวลาและเพิ่มประสิทธิภาพในการบริหารจัดการทรัพยากรต่าง ๆ ได้
หากถามว่าทุกองค์กรมีความจำเป็นต้องใช้ AD ไหม คงตอบได้แค่ว่าขึ้นอยู่กับบริบทของแต่ละองค์กร หากองค์กรมีขนาดใหญ่ มีการแบ่งหน้าที่กันชัดเจน และหากองค์กรขยายใหญ่ขึ้นเรื่อย ๆ การนำ AD เข้ามาใช้ จะช่วยให้องค์กรบริหารจัดการทรัพยากรต่าง ๆ ได้ง่ายและมีความปลอดภัยมากยิ่งขึ้น แต่การใช้งาน AD นั้น หากมีการตั้งค่าที่ไม่ปลอดภัย ก็อาจเพิ่มความเสี่ยงให้ผู้ไม่ประสงค์ดีโจมตีระบบได้ ดังนั้นควรให้ความสำคัญในเรื่องความปลอดภัยต่าง ๆ ด้วยเช่นกันนั่นเองครับ
ความเป็นมาของ Active Directory
หลังจากรู้จัก AD กันพอหอมปากหอมคอกันแล้ว มารู้จักความเป็นมาของ AD กันดีกว่า
โดย AD นั้นถูกปล่อยออกมาครั้งแรกในปี ค.ศ. 1997 และ Integrate เข้ากับ Windows Server 2000 ในปี ค.ศ. 1999 ซึ่งมาแทนที่ NT4 Domain System ซึ่งเป็นเซอร์วิสลักษณะคล้าย ๆ กัน แต่ถูกพัฒนามาจากพื้นฐาน Protocol ที่ต่างกัน AD มีพื้นฐานมาจาก Protocol LDAP และ AD นั้นถูกพัฒนาอยู่เรื่อยมา โดยตั้งแต่ปี ค.ศ. 2003 จนถึงปัจจุบัน ได้มีการเพิ่มฟีเชอร์ เซอร์วิส ใหม่ ๆ เข้ามา เช่น Forest, Active Directory Federation Services (ADFS), gMSA, Cloud Integration ต่าง ๆ
Active Directory ทำงานอย่างไร?
Active Directory นั้นมีหลากหลายเซอร์วิสมาก แต่ที่เป็นเซอร์วิสหลัก ๆ เลย จะมี Active Directory Domain Services หรือ ADDS โดยเจ้าตัว ADDS นั้นเป็นเซอร์วิสที่ไว้ใช้บริหารจัดการทรัพยากรต่าง ๆ ใน Domain
โดย AD นั้นจะมี Core ฟังก์ชันหลัก ๆ ประกอบด้วย
- Authentication and Authorization: ตรวจสอบผู้ใช้และให้สิทธิ์การเข้าถึงทรัพยากร ยกตัวอย่างเช่น NTLM และ Kerberos (สามารถเข้าไปอ่านบทความเกี่ยวกับ Kerberos แบบละเอียดได้ที่ https://datafarm-cybersecurity.medium.com/kerberos-authentication-flow-d071e8db5cfb)
- Resource Management: จัดการผู้ใช้ คอมพิวเตอร์ กลุ่ม อุปกรณ์เครือข่าย และอื่น ๆ
- Policy Enforcement: สร้าง policies ที่สามารถใช้กันทั้งเครือข่ายได้ ยกตัวอย่างเช่น Group Policy Objects หรือ GPO
ซึ่งเครื่องเซิร์ฟเวอร์ที่รันเซอร์วิสจะเรียกว่า Domain Controller หรือ DC ซึ่งในองค์กรอาจจะมี DC อยู่หลายเครื่องก็ได้เช่นกัน เพื่อลด Workload ที่จะเกิดขึ้น และยังสามารถป้องกันการเกิด Single point of failure ได้อีกด้วย
DC ทำหน้าที่เป็นเสมือนฐานข้อมูลที่ใช้ในการจัดเก็บข้อมูลต่าง ๆ เช่น Directory, GPO, ข้อมูลผู้ใช้ ฯลฯ และใช้สำหรับการยืนยันตัวตน หรือสร้างเป็น DNS เซิร์ฟเวอร์ ได้อีกเช่นกัน
Active Directory Structure and Component
Component หลัก ๆ ของ Active Directory ประกอบไปด้วย
1.Domain
- Domain คือ Logical Group ของ Object เช่น ผู้ใช้ คอมพิวเตอร์ และอุปกรณ์ที่แชร์อยู่ใน AD เดียวกัน
- ทำหน้าที่เป็นตัวกำหนดขอบเขตสำหรับ Policies ความปลอดภัยต่าง ๆ ภายใน Domain
- Replication เพื่อเก็บข้อมูลต่าง ๆ ระหว่าง DC เพื่อป้องกันข้อมูลสูญหาย
2.Organizational Units (OUs)
- OUs คือ Container Object ภายใน Domain ใช้สำหรับการบริหารจัดการทรัพยากรต่าง ๆ เช่น ผู้ใช้ เครื่องคอมพิวเตอร์ เครื่องเซิร์ฟเวอร์ หรือ Object ต่าง ๆ เป็นต้น
- สามารถใช้งาน GPO เพื่อบังคับใช้ Policies ใน OU ได้โดยไม่ต้องมาอัตโนมือทีละเครื่อง
- OU ช่วยให้การตั้ง Policies ต่าง ๆ มีการกำหนดขอบเขตที่ชัดเจนมากขึ้น
3.Forest
- Top-level container ใน AD ประกอบไปด้วย Domain หลาย ๆ Domain และใช้ Schema กับ Global Catalog ร่วมกัน
- ทำหน้าที่เป็นตัวกำหนดขอบเขตสำหรับ Policies ความปลอดภัยต่าง ๆ ภายใน Forest
- Domains ใน Forest มีการเชื่อมโยงกันผ่านทาง Trust Relationship
4.Trees
- โครงสร้างโดเมน (Domain) ที่เกิดจากการรวมกันของ Root Domain และ Child Domain เป็นการจัดเรียงตามลำดับชั้น
- Tree หลาย ๆ Tree ก็คือ Forest นั้นเอง
ตัวอย่าง
- Root Domain: example.com
- Child Domains: sales.example.com, dev.example.com
5.Domain Controllers (DCs)
- เซิร์ฟเวอร์ที่ทำหน้าที่เป็นฐานข้อมูลของ AD เป็นตัวจัดการเรื่อง Authentication & Authorization ต่าง ๆ และให้บริการ Directory Service
- Authenticate and authorize users and computers.
- มีการ Replicate ข้อมูล Directory ไปยัง DC เครื่องอื่น ๆ เพื่อ Backup ข้อมูล
6.Trust Relationships
- เป็นตัวสร้างความสัมพันธ์ต่าง ๆ กันระหว่าง Domain หรือ Forest
7.Group Policy Objects (GPOs)
- ชุดการกำหนดค่าที่ใช้กับผู้ใช้หรือคอมพิวเตอร์ภายใน OU หรือ Domain
- เป็นตัวบังคับใช้ Policies การตั้งค่าต่าง ๆ ใน AD
ภาพนี้แสดงโครงสร้างของ Domain Forest ใน Active Directory ที่มีการเชื่อมต่อกันระหว่างหลาย ๆ Domain Tree ด้วย Trust Relationship โดยในภาพจะเห็นว่ามีสอง Domain Tree หลัก ได้แก่ acme.com และ tre.com ซึ่งแต่ละต้นไม้มีโดเมนย่อยต่าง ๆ เช่น sales.acme.com, accounts.tre.com และอื่น ๆ
Organizational Units (OUs) ซึ่งแสดงด้วยวงกลมสีเขียว เป็นโครงสร้างภายในโดเมนที่ช่วยในการจัดการกลุ่มผู้ใช้และทรัพยากร นอกจากนี้ยังสามารถกำหนด Group Policy Objects (GPOs) ให้กับ OUs เพื่อควบคุมการตั้งค่าและนโยบายของผู้ใช้และทรัพยากรต่าง ๆ ภายในองค์กร เส้นสีชมพูที่เชื่อมระหว่าง acme.com และ tre.com แสดงถึง Trust Relationship ที่อนุญาตให้แชร์ทรัพยากรและผู้ใช้ร่วมกันได้
สำหรับบทความนี้ขอจบลงเพียงเท่านี้ครับ สำหรับบทความหน้านั้นผู้เขียนจะมาพูดถึงการทำงานของ AD ในเชิงลึกกันครับ สำหรับวันนี้สวัสดีครับ