วันศุกร์ที่ 23 กรกฎาคม พ.ศ. 2564

รู้จักกับ Zero Trust Model

     สวัสดีครับทุกท่าน เรื่องของปลอดภัย (Security) เป็นเรื่องสำคัญเรื่องหนึ่งที่ทุกๆ องค์กรให้ความสนใจ และวางแผนเพื่อเตรียมความพร้อมสำหรับการดำเนินการในเรื่องดังกล่าวครับ แต่หลายๆ องค์กรรวมถึงท่านผู้อ่านด้วย อาจจะมีคำถามครับว่าจะเริ่มต้นเรียนรู้และเตรียมความพร้อมอย่างไร, ทาง Microsoft มี Best Practices, เครื่องมือ, Models และอื่นๆ ที่จะช่วยองค์กรกับเรื่องดังกล่าวนี้หรือไม่ คำตอบ คือ มีครับ โดยทาง Microsoft ได้เตรียมสิ่งต่างๆ ที่ผมเกริ่นไว้เมื่อซักครู่ให้แล้วครับ และจึงเป็นที่มาของบทความนี้ ซึ่งผมจะพาทุกท่านไปทำความรู้จักและทำความเข้าใจเกี่ยวกับคอนเซปของ Security, Compliance, และ Identity กันครับ โดยบทความนี้ผมขอเริ่มจาก Model ที่ชื่อว่า "Zero Trust Model" ครับ


Zero Trust Model คืออะไร?





โดยคอนเซปของ Zero Trust Model มองว่า Data หรือ Resources ทุกอย่างที่องค์กรมีและเปิดให้ผู้ใช้งานเข้าถึงนั้น ไม่ว่า Data หรือ Resources ดังกล่าวนั้นจะอยู่ที่ใดก็ตาม เช่น ใน Cloud (Microsoft Azure, SaaS Apps, เป็นต้น) ตลอดจน Resources ใน On-Premise Data Center และอยู่หลัง Firewall ขององค์กร ในมุมของ Zero Trust ถือว่า ไม่มีที่ใดที่เชื่อถือหรือไว้ใจได้ เพราะฉะนั้นจะต้องมีการตรวจสอบทุกสิ่งทุกอย่างครับ เป็นไปตามกฏของ Zero Trust ที่ใช้ในการปฏิบัติการที่เรียกว่า "Trust no one, Verify everything" ครับ

มาดูกันในฝั่งของ Attackers กันบ้างครับ ในช่วงที่ผ่านมาจนถึง ณ ปัจจุบันได้ Attackers ได้มีการพัฒนาเทคนิคและวิธีการต่างๆ อย่างต่อเนื่อง เพื่อที่จะใช้ในการโจมตีเป้าหมาย เช่น Resources หรือข้อมูลต่างๆ ขององค์กร โดยพยายามหาวิธีการเข้าถึงและ Bypass การควบคุมในการเข้าถึงข้อมูลหรือ Resources ต่างๆ ใน On-Premise Data Center รวมถึง Cloud (เช่น Microsoft Azure เป็นต้น) ซึ่งที่ผ่านมาทุกท่านที่ติดตามข่าวสารก็จะเห็นว่า มีการโจมตีและเข้าถึงข้อมูลต่างๆ ในองค์กร แม้ว่าองค์กรนั้นๆ จะมีการควบคุมและจัดการในเรื่องของความปลอดภัย เช่น มีการแบ่ง Networks ออกเป็นวงย่อยๆ (Segmented Networks), มีการควบคุมการเข้าถึง (Access Control), มีการใช้ Firewall ในการควบคุม Traffics ที่เข้า-ออกทั้งภายในและภายนอก แต่องค์กรดังกล่าวก็ยังถูกโจมตีหรือ Attack ครับ นั่นหมายความว่าแนวทางและวิธีการจัดการในเรื่องของความปลอดภัยที่ใช้กันก่อนหน้านี้ ไม่เพียงพอหรือไม่สามารถป้องกันหรือลดความเสี่ยงที่จะถูกโจมตีจากภัยคุกคามต่างๆ ได้ครับ เพราะฉะนั้นจะทำอย่างไรเพื่อที่จะเตรียมความพร้อมและจัดการในเรื่องของความปลอดภัย จากประเด็นดังกล่าวนี้ จึงเป็นที่มาของการนำเอา Zero Trust Model เข้ามาประยุกต์ใช้งานในองค์กรครับ 

โดยคอนเซปของ Zero Trust Model นั้น จะต้องทำการตรวจสอบทุกอย่างที่จะเข้าถึงข้อมูลหรือ Resources ต่างๆ ไม่ว่าจะอยู่ที่ใดก็ตามครับ และที่ผ่านมาหลายๆ องค์กรได้ดำเนินการตาม Best Practices ไปบ้าง เช่น มีการนำเอาคอนเซปและเทคโนโลยีที่เรียกว่า Multi-Factor Authentication เข้ามาเพื่อช่วยทำให้กระบวนการในการตรวจสอบ Identity (Authentication) นั้นมีความแข็งแรงหรือปลอดภัยมากขึ้น เสริมการ Authentication ในรูปแบบปรกติ นั่นก็คือ การ Sign-In โดยใช้ Username และ Password ครับ แต่ยังไม่ครบถ้วนทั้งหมดครับ ดังนั้นผมจะพาทุกท่านเข้าสู่รายละเอียดของ Zero Trust Model กันมากขึ้นครับ







Zero Trust Model (Principles)

มีหลักปฏิบัติด้วยกัน 3 ข้อ ดังนี้:

1. Verify Explicitly ทำการ Authenticate และ Authorize Data Points และ Endpoints เช่น  User, Location, Device, Service หรือ Workload, Data Classification, และอื่นๆ ตลอดเวลา

2. Least Privileged Access จำกัดการเข้าถึงข้อมูล Resources ต่างๆ ด้วย Just-in-time และ Just-enough access (JIT/JEA), Policies, Data Protection เป็นต้น

3. Assume Breach ทำการแยกหรือแบ่งการเข้าถึงโดยกำหนดตาม Network, User Devices,  Application,
เป็นต้น ใช้การการเข้ารหัส (Encryption) เพื่อป้องกันข้อมูล, ทำการค้นหาตรวจสอบและวิเคราะห์ภัยคุกคาม (Threats) เพื่อปรับปรุงความปลอดภัยให้ดีขึ้น



Zero Trust Model (6 Foundation Components)


ใน Zero Trust Model นั้นประกอบไปด้วย ส่วนประกอบหรือ Components ต่างๆ ที่จะต้องทำงานร่วมกันเพื่อทำ End-to-End Security โดยส่วนประกอบที่ทำงานร่วมกันนี้ถือเป็นพื้นฐานสำคัญของ Zero Trust Model ซึ่งประกอบไปด้วย 6 ส่วนประกอบโดยมีรายละเอียดดังนี้:

Identities เป็นสิ่งที่ Attackers ต้องการเพื่อใช้ในการเข้าถึง โดยส่วนประกอบนี้ (Identities)  คือ Users, Services และ Devices เมื่อ Identity เหล่านี้พยายามที่จะเข้าถึงข้อมูลหรือ Resources ต่างๆ ก็จะต้องมีการตรวจสอบโดยใช้ Authentication ที่มีความแข็งแรงและปลอดภัย เช่น MFA (Multi-Factor Authentication) และต้องดำเนินการตามหลักปฏิบัติที่อยู่ในหัวขัอก่อนหน้านี้ นั่นก็คือ Least Privileged Access ครับ

Devices เป็นสิ่งที่ Attackers ต้องการเช่นเดียวกันกับ Identities โดย Attackers พยายามค้นหาช่องโหว่ของเครื่องของผู้ใช้งาน (Devices) เพื่อใช้ Devices ดังกล่าวในการเข้าถึงข้อมูลหรือ Resources ใน On-Premise หรือ Cloud  ดังนั้นจะต้องมีการวางแผนและจัดการโดยการ Monitoring Health และ Compliance ของ Devices เหล่าน้้นว่าเป็นไปตามที่กำหนดไว้หรือไม่

Applications ถือว่าเป็นช่องทางหนึ่งที่สามารถเข้าถึงข้อมูลได้ เพราะฉะนั้นจะต้องทำการตรวจสอบสิทธิ์ในการเข้าถึงของ Applications กับข้อมูลที่เกี่ยวข้องกับ Applications นั้นๆ ด้วย

Data ควรมีการวางแผนดำเนินสร้างความปลอดภัยให้กับข้อมูล เช่น การแบ่งแยกประเภทข้อมูล (Classification), การกำหนดคำอธิบายข้อมูล (Labeling), และการเข้ารหัสข้อมูล (Encryption) เพื่อทำการปกป้องข้อมูล (Data Protection) ให้มีความปลอดภัย ไม่ว่าจะมีการเข้าถึงจากทีใด, อุปกรณ์ใด, และจากใคร

Infrastructure จะต้องมีการปรับปรุงในเรื่องของความปลอดภัยให้กับ Infrastructure ท้้งที่อยูใน On-Premise และ Cloud โดยจะต้องมีการตรวจสอบและทำการประเมิน, การค้นหา (Detection), และป้องกัน (Protection), และอื่นๆ เพื่อป้องกันและลดความเสี่ยงที่ภัยคุกคามที่จะเข้ามาโจมตี

Network ควรจะต้องมีการแบ่งแยก Networks เป็น Network ย่อยๆ และควรจะมีการนำเอา Real-Time Threat Protection, End-to-End Encryption, Monitoring และอื่นๆ เข้ามาใช้งานเพื่อสร้างความปลอดภัย

รายละเอียดเพิ่มเติมสำหรับเรื่องราวของ Microsoft Zero Trust Model สามารถไปที่ Link นี้ได้เลยครับ




และทั้งหมดนี้คือคอนเซปของ Zero Trust Model ครับผม.....


วันอังคารที่ 13 กรกฎาคม พ.ศ. 2564

Azure Active Directory (Azure AD)

      สวัสดีครับทุกท่าน สำหรับบทความนี้จะพาทุกท่านไปทำความรู้จักกับ Concept และ Service ที่ทำหน้าที่ในการบริหารและจัดการ Identity ครับ โดย Service ดังกล่าวนี้มีชื่อว่า   “ Azure Active Directory” หรือเรียกกันสั้นๆ ว่า "Azure AD"  ครับ  สำหรับ Azure Active Directory นั้นถือว่าเป็น Service ตัวหนึ่งที่มีความสำคัญมากตัวหนึ่งสำหรับการนำเอา Cloud เข้ามาประยุกต์ใช้งานในองค์กร ในรูปแบบต่างๆ เช่น Public, Hybrid Cloud เป็นต้น 

สิ่งหนึ่งที่องค์กรจะต้องทำการวางแผนเตรียมความพร้อมนั่นก็คือ เรื่องของการบริหารจัดการและควบคุม Identity ซึ่ง ณ วันนี้ การบริหารจัดการและควบคุม Identity เพื่อเข้าถึงและใช้งานทรัพยากรต่างๆ ไม่ได้จำกัดอยู่เพียงแค่ใน On-Premise เพียงที่เดียวอีกต่อไปครับ  โดยเฉพาะหลังจากองค์กรได้มีการนำเอา Cloud  เข้ามาประยุกต์ใช้งาน จึงทำให้ทรัพยากรต่างๆ ที่เคยอยู่ใน On-Premise  ก็จะถูกย้าย (Migrate) หรือจะเป็นสร้าง Workloads ใหม่บน Cloud รวมถึงความต้องการที่นำเอา Cloud หรือ SaaS Applications เข้ามาใช้งาน เป็นต้น 

ขอยกตัวอย่างเพิ่มเติม เพื่อให้ทุกท่านได้เห็นภาพและมีความเข้าใจมากขึ้นจากที่ผมได้เกริ่นไว้ในตอนต้น เช่น ถ้าองค์กรหนึ่งมีความต้องการใช้งาน Cloud หรือ SaaS Applications โดยองค์กรดังกล่าวมีผู้ใช้งาน 1,000 คน และมี Active Directory Domain Services (AD DS) ใช้งานอยู่  สิ่งที่องค์กรจะต้องพิจารณาจากความต้องการข้างต้น คือ

- ผู้ใช้งานในองค์กรดังกล่าว จะต้องมีและจดจำ Username และ Password มากขึ้นตามจำนวนของ Cloud หรือ SaaS Applications  ที่องค์กรดังกล่าวนำเข้ามาใช้งาน ซึ่งมีความเป็นไปได้ที่ผู้ใช้งานจะกำหนด Username และ Password เหมือนกันทั้งหมดเพื่อให้ง่ายและสะดวกใน การเข้าถึงและใช้งาน แต่จะทำให้เกิดความยุ่งยากในการบริหารจัดการ และเกิดความไม่ปลอดภัย

- เกิดความยุ่งยากในการบริหารและจัดการ Username และ Password 

IT ทำการตรวจสอบ Activities ได้ยาก เนื่องจากผู้ใช้งานมีหลาย Identities

- อื่นๆ 

จากประเด็นต่างๆ ข้างต้น ทำให้ ณ ปัจจุบัน องค์กรต่างๆ จะต้องเตรียมความพร้อมและวางแผนการบริหารและจัดการ Identity  ของผู้ใช้งานในองค์กร ที่ต้องการเข้าถึงทรัพยากรต่างๆ ไม่ว่าจะอยู่ใน On-Premise และบน Cloud  อย่างไร เพื่อให้เกิดความยืดหยุ่นและปลอดภัยได้อย่างไร และนี่จึงเป็นที่มาของ Azure Active Directory (Azure AD) ครับ  และก่อนที่จะไปถึงเรื่องราวของ Azure  Active Directory หรือ Azure AD นั้น ผมขออนุญาตอธิบายคร่าวๆ เกี่ยวกับ Service ตัวหนึ่ง ซึ่งผมเชื่อว่าหลายๆ องค์กรใช้งานกันอยู่ครับ และท่านผู้อ่านทุกท่านน่าจะคุ้นเคยกันอยู่แล้วครับ  Service ที่ว่านี้ก็คือ “Active Directory Domain Services (AD DS) ” ครับ ซึ่งเป็น Role ที่อยู่ใน Windows Server ครับ และในช่วงที่ผ่านมา ยังมีหลายท่านๆ ยังสับสนและเข้าใจว่า Active Directory Domain Services หรือ  AD DS คือ Service ตัวเดียวกันกับ Azure Active Directory หรือ Azure AD ครับ ดังนั้นผมขออธิบายเรื่องราวของ Active Directory Domain Services (AD DS) กันซักนิดก่อนครับ


ทำความรู้จักกับ Active Directory Domain Services (AD DS)



Active Directory Domain Services (AD DS) เป็น Role หนึ่งใน Windows Server มาตั้งนานแล้วครับ โดยทาง Microsoft ได้นำเอา Active Directory มาเริ่มให้บริการและใช้งานตั้งแต่ใน Windows Server 2000 ครับ โดยในส่วนของ Active Directory ใน Windows Server นั้นมีหลาย Roles ให้พิจารณาเลือกไปใช้งานครับ เช่น

- Active Directory Domain Services (AD DS)

- Active Directory Certificate Services (AD CS)

- Active Directory Federation Services (AD FS)

- Active Directory Right Management Services (AD RMS)

- Active Directory Lightweight Directory Services (AD LDS)



ปัจจุบันทุกองค์กรมีการใช้งาน  Active Directory  Roles ต่างๆ กันอยู่อย่างแพร่หลายครับ โดยเฉพาะ Active Directory Domain Services (AD DS)  เพราะองค์กรต้องการ
Solution ที่มาช่วยในการบริหารและจัดการการเช้าถึงและใช้งานทรัพยากรต่างๆ ในองค์กร เช่น File Server, Print Server, Application Server และอื่นๆ และรองรับกับการทำ Single Sign-On (SSO) ครับ 

สำหรับ Active Directory Domain Service (AD DS) นั้นเป็น Service ที่ทำหน้าที่เรียกว่า “Directory Service” หรือจะเรียกอีกชื่อว่า “LDAP Service” ก็ได้ครับ โดยจะมีโครงสร้างแบบ Hierarchical Structure คือ จะมี Forest, Tree, Domain, และ Organizational Unit (OU) ครับ ดังนั้นจะเห็นว่าเวลาที่ทำสร้าง Active Directory Domain Service (AD DS) จะต้องมีการออกแบบว่าจะมีกี่ Forest, Tree, Domain และอื่นๆ ครับ และจะมี Features ต่างๆ ที่มาพร้อมกับ Active Directory Domain Service (AD DS)  เช่น การสร้าง User, Group, และ Computer Accounts ต่างๆ ไว้ใน Domain, Group Policy ซึ่งเป็น Feature ที่ให้องค์กรสามารถสร้างและกำหนด Policy ในการควบคุมและจัดการ Resources ต่างๆ และอื่นๆ 

 





ดังนั้นผู้ใช้งานที่จะเข้ามาใช้งานทรัพยากรต่างๆ ก็จะต้องมี User Account ใน Active Directory Domain Service (AD DS) ก่อนครับ นอกจากนี้แล้วเครื่องของผู้งานก็จะต้องทำกระบวนที่เรียกว่าการ “Join Domain” เพื่อจะเข้าถึงทรัพยากรต่างๆ เช่นกันครับ สำหรับในส่วนของ Authentication Protocols ที่ Active Directory Domain Service (AD DS) ที่รองรับคือ NTLM และ Kerberos ครับ ในส่วนของการทำ Query ข้อมูลใน Active Directory Domain Service (AD DS) ใช้ LDAP Protocol ครับ

จากสิ่งที่ผมได้อธิบายเกี่ยวกับ Active Directory Domain Services (AD DS) ไว้ในข้างต้น เพื่อให้ทุกท่านเห็นภาพและเข้าใจเกี่ยวกับ Service นี้กันก่อนครับ จากนั้นในหัวข้อถัดไปท่านผู้อ่านก็จะได้รู้จักกับ Azure Active Directory (Azure AD)) ว่ามี Concept และรายละเอียดเป็นอย่างไร และมีความแตกต่างกับ Active Directory Domain Services (AD DS) อย่างไร แต่สิ่งสำคัญไปกว่านั้นคือ เราสามารถใช้ทั้ง Active Directory Domain Services(AD DS) และ Azure Active Directory (Azure AD)  ทำงานร่วมกันได้เพื่อทำ Hybrid Cloud ครับ


ทำความรู้จักกับ Azure Active Directory (Azure AD)



Azure Active Directory (Azure AD) เป็น Service หนึ่งใน Microsoft Azure ครับ  โดยทำหน้าที่เป็น Identity and Access Management (IAM) Solution ทำหน้าที่ในการบริหาจัดการและควบคุมในส่วนของ Identity สำหรับการเข้าถึงและใช้งานทรัพยากรต่างๆ (Azure Storages, Azure App Services, Devices และอื่นๆ )  ใน Microsoft Azure รวมถึงใน On-Premise Data Center ครับ

นอกจากนี้แล้วยังมีความสับสนและข้อสงสัยเกี่ยวกับ Azure Active Directory  เช่น  Azure Active Directory เหมือกับ Active Directory Domain Services (AD DS) ใน Windows Server หรือไม่?   Azure Active Directory จะมาแทน Active Directory Domain Services (AD DS) ใน Windows Server หรือไม่ ?

สำหรับ Azure Active Directory  (Azure AD) มีความแตกต่างกับ Active Directory Domain Services (AD DS) ที่อยู่ใน Windows Server ครับ โดย Azure Active Directory  (Azure AD) นั้นไม่ใช่ Directory Service (LDAP Service) เหมือนกับ Active Directory Domain Services (AD DS) ใน Windows Server ครับ เพราะใน Azure Active Directory (Azure AD) มี Concept, Structure, และรายละเอียดต่างๆ ที่แตกต่างจาก Active Directory Domain Services (AD DS) ครับ สำหรับใน Azure Active Directory (Azure AD) นั้นไม่มี Forest, Tree และ Domain ซึงเป็น Hierarchical Structure เหมือนกันใน Active Directory Domain Services (AD DS) ครับ สำหรับโครงสร้างและ Structure ของ Azure Active Directory (Azure AD) นั้นมีโครงสร้างเป็น Flat Structure ครับ, รวมถึงไม่มี Group Policy สำหรับจัดการ Policy, ไม่มี Kerberos และ NTLM Protocols สำหรับการทำ Authentication ครับ

ดังนั้น Azure Active Directory (Azure AD) จะไม่ใข่ Service ที่จะมาทดแทน Active Directory Domain Services (AD DS) ที่อยู่ใน Windows Server ที่องค์การต่างๆ ใช้งานอยู่ครับ  แต่ในทางกลับกันเราสามารุถนำเอา Azure Active Directory (Azure AD) มาทำการ Integrate กับ Active Directory Domain Services (AD DS) เพื่อทำงานร่วมกันได้ใน Concept และการทำงานที่เรียกว่า Hybrid Cloud ดังรูปด้านล่างครับ



จากรูปด้านบนเป็นรูปแสดงถึงภาพรวมของ Hybrid Cloud โดยการนำเอา Azure Active Directory (Azure AD) และ Active Directory Domain Services (AD DS) มาทำงานร่วมกัน เพื่อบริหารจัดการ Identity และรองรับ Single Sign-On (SSO) ให้กับองค์กร ดังนั้นสิ่งที่องค์กรจะต้องเตรียมพิจารณาวางแผนและเตรียมความพร้อมตามที่ผมได้เกริ่นไว้ในตอนต้นนั่น คือ องค์กรจะต้องเตรียมดำเนินการ ซิงค์โครไนท์ 
(Synchronize) Users และ Groups  ที่อยู่ใน Active Directory Domain Services (AD DS) ใน Windows Server ซึ่งอยู่ใน On-Premise Data Center ขององค์กร กับ Azure Active Directory (Azure AD) ใน Microsoft Azure โดยผ่านเครื่องมือที่มีชื่อว่า “Azure AD Connect” (สามารถดาวน์โหลดมาใช้งานได้ฟรี จากที่นี่ครับ, https://www.microsoft.com/en-us/download/details.aspx?id=47594 ) เพื่อทำการกระบวน Synchronization ที่เรียกว่า “Directory Synchronization”  ดังรูปด้านล่าง




หลังจากระบวนการดังกล่าวเสร็จเรียบร้อย ก็จะทำให้ผู้ใช้งาน (Users) ในองค์กรดังกล่าวสามารถเข้าถึงและใช้งานทรัพยากรต่างๆ  (เช่น File & Print Sharing, Applications, และอื่นๆ) ใน Active Directory Domain Services (AD DS) ของ Windows Server (On-Premise) ได้ตามปรกติ แต่สิ่งที่ผู้ใช้งานทำได้มากกว่านั้น คือ ผู้ใช้งานดังกล่าวยังสามารถเข้าถึงและใช้งาน, Resources ต่างๆ ใน Microsoft Azure, Cloud Applications หรือ SaaS Applications (Microsoft 365 และ 3rd Party Cloud Applications) ได้อีกด้วย โดยใช้ Identity เดียวกัน ด้วยรูปแบบดังกล่าวนี้ทำให้องค์กรนั้นๆได้รับประโยขน์ในเรื่องของทำ Single Sign-On (SSO) ตลอดจนการบริหารจัดการและควบคุมในเรื่องของ Identity อีกด้วยครับ

ในความเป็นจริงแล้ว Azure Active Directory (Azure AD) ไม่ได้มีอยู่ใน Microsoft Azure เพียงที่เดียวนะครับ ทาง Microsoft ได้เตรียมและให้ Azure Active Directory ( Azure AD)  มาใน Cloud Services อื่นๆ ของ Microsoft  ด้วยเช่นกันครับ เช่น Microsoft 365, Microsoft Endpoint Manager, และอื่นๆ  โดยมีวัตถุประสงค์ คือ เตรียมเอาไว้ให้กับลูกค้าหรืององค์กรต่างๆ ใช้สำหรับการบริหารและจัดการ Identity (IAM) เพื่อเข้าถึงและใช้งานทรัพยากรต่างๆ ไม่ว่าจะอยู่ที่ใด (On-Premise และ Cloud) โดยที่ทางลูกค้าหรืององค์กรสามารถนำ Azure Active Directory (Azure AD) ไปใช้งานได้เลยโดยไม่มีค่าใช้จ่าย !!!!! นั้นหมายถึง Azure AD เป็น Service ที่ทาง Microsoft ให้ลูกค้าและองค์กรต่างๆ สามารถนำไปใช้งานได้ฟรีครับ

รายละเอียดเพิ่มเติมเกี่ยวกับ Azure Active Directory (Azure AD) สามารถดูได้จาก Link ดังต่อไปนี้ครับ:

https://azure.microsoft.com/en-us/services/active-directory/

https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-whatis

และทั้งหมดนี้คือเรื่องราวของ Azure Active Directory (Azure AD) ครับผม.....






-