Active Directory

Datafarm
3 min readSep 25, 2024

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 เซิร์ฟเวอร์ ได้อีกเช่นกัน

ในรูปภาพจะแสดงถึง PC เครื่องต่าง ๆ ร้องขอเซอร์วิสกับ DC ภายใน Domain “ad.activedirectorypro.com

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 นั้นเอง

ตัวอย่าง

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 ในเชิงลึกกันครับ สำหรับวันนี้สวัสดีครับ

--

--