วันอังคารที่ 16 ตุลาคม พ.ศ. 2561

Securing Azure Storage Account Part 1

     สวัสดีครับท่านผู้อ่านทุกท่าน สำหรับบทความตอนนี้ของผมนั้น จะเป็นการนำเสนอเรื่องราวของการสร้างความปลอดภัยให้กับ Azure Storage ครับ สำหรับองค์กรที่ใช้งาน Microsoft Azure อยู่แล้วหรือกำลังจะใช้งาน Services ต่างๆ ของ Microsoft Azure ไม่ว่าจะเป็นการใช้งาน Service ที่เป็นรูปแบบ Infrastructure as a Service (IaaS) หรือ Platform as a Service (PaaS) เป็นต้น จะต้องมีการเข้าเกี่ยวข้องกับสิ่งที่เรียกว่า "Azure Storage" แน่นอนครับ ไม่ว่าจะสร้าง Azure VM, Azure App Services, และอื่นๆ  ดังนั้น Azure Storage ก็จะเป็นส่วนประกอบที่สำคัญส่วนหนึ่งที่ถูกนำมาใช้งานครับใน Microsoft Azure ครับ

หรือสรุปง่ายๆ ก็คือ ไม่ว่าท่านผู้อ่านจะใช้ Services หรือ Features ใดๆ ของ Microsoft Azure ก็จะต้องเกี่ยวข้องกับ Azure Storage ไม่ว่าจะเป็นทางตรงหรือทางอ้อมครับ เพราะที่ๆ สำหรับเก็บข้อมูลต่างๆ นั้น สุดท้ายก็จะมาเก็บไว้ที่ Azure Storage ครับ  ดังนั้นสิ่งหนึ่งที่ไม่ควรมองข้ามหรือละเลย คือ การป้องกันข้อมูลเมื่อองค์กรมีการใช้งาน Services หรือ Features ต่างๆ ของ Microsoft Azure แล้วจัดเก็บไว้ใน Azure Storage ครับ

สำหรับท่านผู้อ่านท่านใดอยากรู้จักกับ Azure Storage มากกว่านี้ ผมแนะนำให้ท่านผู้อ่านไปหาบทความก่อนหน้านี้ของผม ซึ่งผมได้เขียนเรื่องราวของ Azure Storage เอาไว้ทั้งหมด 2 ตอนด้วยกันครับ แล้วค่อยมาอ่านบทความนี้ต่อนะครับ เพื่อจะได้เข้าใจภาพรวมและเรื่องราวของ Azure Storage มากขึ้นครับ เพราะบทความของผมตอนนี้จะเน้นที่เรื่องของการ Securing Azure Storage ครับ โดยผมบทความตอนนี้ของผมจะเป็นตอนที่ 1 สำหรับเรื่องราวของการ Securing Azure Storage

ดังนั้นผู้ที่จะเข้ามาดูแลระบบต่างๆ ที่รันและทำงานอยู่บน Microsoft Azure จะต้องทราบถึงคอนเซปและการทำงานของ Azure Storage ก่อน จากนั้นค่อยมาพิจารณาแนวและวิธีการป้องกัน Azure Storage ครับผม สำหรับท่านผู้อ่านท่านใดยังไม่รู้จักกับ Azure Storage มาก่อน ผมขออธิบายคอนเซปของ Azure Storage ตลอดจนรายละเอียดต่างๆ ที่จะต้องทำความรู้จักและเข้าใจก่อนที่จะเริ่มสร้างและใช้งาน ดังนี้ครับ

รู้จักกับ Azure Storage
Azure Storage คือ Microsoft-Managed Cloud Service ที่ทาง Microsoft เตรียมเอาให้กับลูกค้าใช้งานสำหรับการเก็บข้อมูลต่างๆ ไม่ว่าจะเป็นข้อมูลในรูปแบบ Structured Data หรือ Unstructured Data ก็ตาม โดย Storage ที่ทาง Microsoft เตรียมเอาให้บริการนั้น จะรองรับในเรื่องของ High Availability (HA), Durability, Security, และ Redundancy ครับ


Azure Storage Accounts
และก่อนที่จะเริ่มใช้งาน Azure Storage เพื่อจัดเก็บข้อมูลต่างๆ ท่านผู้อ่านจะต้องทำการสร้างสิ่งหนึ่งที่เรียกว่า "Azure Storage Account" ครับ โดยมีให้เลือก 3 รูปแแบบ คือ

1. General-Purpose V1 Account,  Azure Storage Account ชนิดนี้รองรับ Azure Storage Types ได้ หลากหลายรูปแบบ เช่น Blobs, Files, Queues, และ Tables ครับ

2. General-Purpose V2 Account, Azure Storage Account ชนิดนี้รองรับ Azure Storage Types เหมือนกับ General-Purpose V1 ครับ แต่มีข้อแตกต่างหลายอย่าง เช่น รูปแบบของการ Replications, Access Tiers, เป็นต้น

3. Blob Storage Account, Azure Storage Account ชนิดนี้มีความแตกต่างจาก Storage Accounts ทั้ง 2 แบบข้างต้นคือ รองรับ Azure Storage Type แบบเดียวคือ Blob (Block Blob และ Append  Blob), เรื่องของการ Replications, และ Access Tiers ครับ

รูปด้านล่างเป็นรูปที่แสดงถึงรายละเอียดการเปรียบเทียบของ Azure Storage Accounts ครับ




Azure Storage Types
หลังจากเลือก Azure Storage Account ว่าจะเป็นแบบใดแล้ว สิ่งต่อมาที่จะต้องทำการพิจารณาเลือกคือ Azure Storage Types ซึ่งมีชนิดต่างๆ ทั้งหมด 5 ชนิด ดังนี้

1. Blob Storage, เป็น Storage ที่สามารถเก็บข้อมูลได้ทุกชนิด เช่น รูปภาพ, วิดีโอ, Virtual Machines, เป็นต้น โดยเจ้า Blob Storage นี้จะมีความคล้ายคลึงกับ AWS S3 ครับ ข้อมูลต่างๆ ที่เก็บใน Blob Storage สามารถเข้าถึงจากที่ใดก้อได้ครับ โดยผ่านทาง URLs, REST Interfaces, Azure SDKs ครับ โดย Blob Storage จะแบ่งออกเป็น 3 ชนิดย่อยๆ ดังนี้ครับ

1.1 Block Blob, ใช้เก็บข้อมูลที่เป็น Generic Files ต่างๆ เช่น .doc, .xls, .txt, .png, jp, และอื่นๆ เป็นต้น
1.2 Append Blob, ใช้เก็บข้อมูลที่เป็น Log Files
1.3 Page Blob, ใช้เก็บข้อมูลที่เป็น .VHDs Files หรือเก็บ Virtual Machines

2. File Storage, เป็น Storage ที่อยู่ในรูปแบบของ Files Share โดยสามารถเข้าถึงได้ผ่านทาง SMB Protocol ครับ นั่นหมายความว่าท่านผู้อ่านสามารถใช้ Storage ชนิดนี้ (File Storage) ทำ File Sharing ให้ผู้ใช้งานเข้ามาใช้งานได้ครับ ตัวของ File Storage จะมีความคล้ายคลึงกับ Elastic File Service (EFS) ของ AWS ครับ

3. Queue Storage, เป็น Storage ที่เอาไว้จัดเก็บ Messages ต่างๆ  สำหรับ Applications ครับ โดยสามารถเข้าถึงจากที่ใดก้อได้ครับ เปรียบเทียบได้กับ SQS ของ AWS ครับ

4. Table Storage, เป็น Storage ที่เอาไว้จัดเก็บข้อมูลที่เป็น Structured Data หรือเก็บข้อมูลที่เป็น  Non-Relational ครับ หรือจะเรียกว่า Table Storage คือ NoSQL DataStore ก็ได้ครับ ตัวอย่างเช่น  Azure Cosmos DB ครับ เปรียบเทียบได้กับ DynamoDB ของ AWS ครับ

5. Disk Storage, หรือจะเรียกว่า "Azure Managed Disks" ก็ได้ครับ โดย Storage ชนิดนี้ทาง Microsoft ออกแบบมาเพื่อใช้งานกับ Azure Virtual Machines โดยตรงเลยครับ เพราะทำให้การบริหารและจัดการ Disks มีความง่ายและมีประสิทธิภาพมากขึ้นครับ โดยมี Options ให้เลือกดังนี้ครับ

- Standard Disks, มันเป็น Traditional HDD หรือจะเรียกว่าเป็น HDD ปรกติที่ใช้งานทั่วไปครับ มีราคาถูก
- Premium Disks, มันเป็น Solid State Disk (SSD) ครับ เหมาะสำหรับนำไปใช้งานกับ Azure Virtual Machines เพื่อเพิ่มความรวดเร็วและประสิทธิภาพในการทำงานครับ


Azure Storage Replications
เรื่องต่อมาที่จะต้องทำการพิจารณาคือ เรื่องของ Storage Replication ครับ โดย Azure Storage มีรูปแบบของการ Replication ให้เลือกทั้งหมด 4 รูปแบบ ดังนี้ครับ

Locally-Redundant Storage (LRS), LRS จะทำการ Replicates ข้อมูลของเรา 3 ชุด แล้วเก็บไว้ใน Azure Data Center ที่ข้อมูลเราถูกเก็บอยู่ครับ

Zone-Redundant Storage (ZRS), ZRS จะทำการ Replicates 3 ชุด ที่ Azure Data Center ที่ข้อมูลเราถูกเก็บอยู่ซึ่งก็คือ LRS บวกกับจะทำการ Replicates อีก 3 ชุดไปเก็บที่ Azure Data Center อื่นๆ ที่อยู่ภายใน Azure Regions เดียวกัน

Geo-Redundant Storage, GRS จะทำการ Replicates ข้อมูล 3 ชุดไปเก็บใน Azure Regions เดียวกันและจะทำการ Replicates ข้อมูลอีก 3 ชุดไปเก็บใน Azure Regions อื่นๆ 

Read-Access Geo-Redundant Storage (RA GRS), GRS จะทำการ Replicates ข้อมูล 3 ชุดไปเก็บใน Azure Regions เดียวกันและจะทำการ Replicates ข้อมูลอีก 3 ชุดไปเก็บใน Azure Regions อื่นๆ 


อาล่ะครับ เมื่อมาถึงตรงนี้ผมเชื่อว่าท่านผู้อ่านทุกท่านน่าจะมีความเข้าใจและรู้จักกับ Azure Storage มากยิ่งขึ้นแล้วใช่มั๊ยครับ ดังนั้นก็พร้อมที่จะทำการสร้าง Azure Storage กันแล้วล่ะครับ โดยสิ่งแรกที่จะต้องทำการสร้าง คือ การสร้าง Azure Storage Account ครับ ส่วนวิธีการสร้าง Azure Storage นั้นมีให้เลือกหลายวิธีครับ ไม่ว่าจะเป็น Azure Portal, PowerShell, และอื่นๆ เป็นต้น รูปด้านล่าง เป็นรูปที่แสดงถึงการสร้าง Azure Storage ผ่านทาง Azure Portal ครับ






จากนั้นให้ทำการคลิ๊ก Create เพื่อทำการสร้าง Storage Account ครับ โดยท่านผู้อ่านจะต้องทำการกำหนดค่า Settings ดังที่เห็นจากรูปด้านล่างครับ






รายละเอียดสำหรับค่า Settings ผมได้อธิบายไว้ในตอนต้นแล้วครับ ในส่วนของค่า Settings ต่อมา ผมกำหนดตามรูปด้านล่างครับ


จากนั้นในส่วนที่เหลือ ผมใช้ค่า Default ทั้งหมด แล้วคลิ๊ก Create เพื่อทำการสร้าง Storage Account ครับ ซึ่งจะใช้เวลาไม่นานครับผม และเมื่อสร้างเสร็จแล้ว ผมจะพาท่านผู้อ่านไปดูหน้าตาของ Azure Storage Account ที่ได้สร้างขึ้นนั้น หน้าตาจะเป็น ดังรูปด้านล่างครับ






จากนั้นในขั้นตอนต่อไปท่านผู้อ่านสามารถเลือก Azure Storage Types ได้เลยครับ ว่าจะใช้ชนิดใด เช่น Blobs Files, Queues, และ Tables ครับ มาถึงตรงนี้ท่านผู้อ่านจะเห็นว่าวิธีการสร้าง Azure Storage และ Storage Account ไม่ได้มีขั้นตอนยุ่งยากอะไรเลยใช่มั๊ยครับ เอาล่ะครับที่ผ่านมาผมได้อธิบายเพื่อเป็นการปูพื้นฐานกันก่อนนะครับ ตอนหน้าผมจะพาท่านผู้อ่านเข้าสู่เนื้อหาของการป้องกัน Azure Storage ครับผม…..









วันพฤหัสบดีที่ 11 ตุลาคม พ.ศ. 2561

รู้จักกับ Azure Security Center (ASC)

     สวัสดีครับท่านผู้อ่านทุกท่าน ช่วงเวลาที่ผ่านมาจนกระทั่งถึงวันนี้มีหลายๆ องค์กรที่ใช้งานบริการต่างๆ บน Cloud ไม่ว่าจะเป็นของ Microsoft, AWS, Google, และอื่นๆ แต่มีสิ่งหนึ่งที่หลายๆ องค์กรต้องการเมื่อถึงเวลาที่จะย้ายหรือสร้างระบบต่างๆ เพื่อใช้งานบน Cloud นั่นก็คือจะดำเนินการสร้างและจัดการอย่างไรให้เป็นไปตาม Best Practices เพื่อสร้างความปลอดภัยและเป็นไปตาม Compliance ต่างๆ ด้วย

และทั้งหมดนี้คือที่มาของบทความตอนนี้ของผมครับ ซึ่งจะเป็นเรื่องราวของ Service ตัวหนึ่งที่อยู่ใน Microsoft Azure ครับ โดย Service นี้สามารถทำการตรวจสอบ (Monitoring), การจัดการด้านความปลอดภัย (Security Management), การป้องกันภัยคุกคาม (Threat Protection), และอื่นๆ สำหรับ Resources ต่างๆ (เช่น Azure Virtual Machines, Azure Virtual Networks, Azure Storages, และอื่นๆ ที่รันและทำงานอยู่ใน Microsoft Azure), Workloads หรือระบบงานต่าๆ ที่รันอยู่ใน On-Premise Data Center, รวมถึง Workloads หรือระบบงานต่างๆ ที่ทำงานอยู่ใน Cloud Providers อื่นๆ โดย Service ที่ว่านี้มีชื่อว่า "Azure Security Center" หรือเรียกสั้นๆ ว่า "ASC" ครับ

รู้จักกับ Azure Security Center (ASC)
Azure Security Center เป็น Service หนึ่งที่ให้บริการอยู่ใน Microsoft Azure ซึ่งตัวของ Azure Security Center นั้นจะเป็น Unified Security Management และ Advanced Threat Protection โดยมีหน้าที่ทำการตรวจสอบหรือ Monitor, การกำหนด Security Policy, การป้องกัน, ตลอดจนคำแนะนำต่างๆ สำหรับ Resources ต่างๆ เช่น Compute, Network, Storage, และอื่นๆ ที่รันและทำงานอยู่ใน Microsoft Azure, On-Premise Data Center, และ Cloud Providers อื่นๆ ให้มีความปลอดภัยจากความเสี่ยงและภัยคุกคามต่างๆ ครับ 






ฟีเจอร์ต่างๆ ของ Azure Security Center
1. Centralized Policy Management
Azure Security Center สามารถสร้าง Policy เพื่อกำหนดมาตราฐาน (Standardization) ให้กับ Workloads หรือระบบงานต่างๆ ไม่ว่าจะอยู่ใน Microsoft Azure, On-Premise, และ Cloud Providers อื่นๆ  โดยในส่วนของ Centralized Policy Management จะประกอบไปด้วยส่วนต่างๆ ให้เราสามารถกำหนดค่า Settings เช่น Data Collection คือการเก็บรวบรวมข้อมูลต่างๆ เช่น Logs, Machine Name, IP Address, และอื่นๆ เป็นต้น เพื่อนำเอาข้อมูลเหล่านี้มาทำ Log Analytics, การสร้างและกำหนด Security Policy, และ การกำหนด Email Notification  และด้วยค่า Settings ดังกล่าว สามารถทำให้เราสามารถกำหนดค่าต่างๆ เช่น การเก็บรวบรวมข้อมูล (Collecting Data), การควบคุมและคำแนะนำ ตลอดจนการแจ้งเตือน

2. Recommendations
หลังจากที่ Azure Security Center ทำการรวบรวมข้อมูล (เช่น Logs) มาจาก Sources ต่างๆ เช่น Virtual Machines หลังจากนั้น Azure Security Center จะทำการวิเคราะห์และประเมิน เพื่อให้คำแนะนำ (Recommendations) เช่น ควรจะทำการเข้ารหัส Disks ของ Virtual Machines, ควรจะมีการกำหนดหรือใช้งาน MFA (Multi-Factor Authentications) สำหรับการเข้าถึง Resources ต่างๆ, ควรจะมีการกำหนดการเข้าถึง Virtual Machines (Just-In-Time VM Access) และอื่นๆ  เป็นต้น

3. Just-In-Time VM Access
เป็นฟีเจอร์ในการป้องกันภัยคุกคาม (Threats) ต่างๆ เช่น Brute Force Attacks ด้วยการควบคุมและจัดการ การเข้าถึง Ports ต่างๆ ของ Virtual Machine โดยการกำหนด Rules สำหรับเข้าถึง Ports นั้นๆ ของ Virtual Machine เมื่อต้องการหรือจำเป็นเท่านั้น

4. Threat Intelligence & Intelligent Alerting
Threat Intelligenceใช้ Machine Learning เทคโนโลยีเข้ามาใช้ในการวิเคราะห์ข้อมูลที่ได้ทำการรวบรวมมาและการประเมินภัยคุกคามต่างๆ และใช้ Global Threat Intelligence ทำการค้นหาการจู่โจม (Attacking) และทำการแจ้งเตือน รวมถึงการนำเอา Windows Defender Advanced Threat Protection มาช่วยและปรับปรุงการทำProactive Security Alerting ให้มีประสิทธิภาพมากขึ้น

5. Adaptive Application Controls
เป็นฟีเจอร์ที่ช่วยในการลด (Mitigate) ภัยคุกคาม (Threats) ต่างๆ ที่จะเข้ามาจู่โจม Workloads หรือระบบงานขององค์กร โดยใช้ Whitelisting ซึ่งใช้เทคโนโลยี Machine Learning ซึ่งสามารถประยุกต์ใช้งานกับ Workloads หรือระบบงานต่างๆ


ดังนั้นหากท่านผู้อ่านต้องการใช้งาน Azure Security Center เริ่มต้นด้วยการที่ท่านผู้อ่านจะต้องมี Azure Subscription ก่อนนะครับ โดยทาง Microsoft Azure อนุญาตให้เราใช้งานในแบบ Trial หรือเรียกว่า Free Tierได้ก่อนครับ โดย Free-Tier, Azure Security Center จะทำการตรวจสอบหรือ Monitor Resources ต่างๆ เช่น Compute, Network, Storage, และ Application ที่อยู่ใน Microsoft Azure เท่านั้น ดังรูปด้านล่างครับ



ณ ขณะนี้ Azure Security Center มีให้เลือกใช้ 2 Tiers ครับ คือ Free และ Standard ครับ โดย Standard Tier จะมีความสามารถและฟีเจอร์มากกว่า Free Tier  โดยท่านผู้อ่านสามารถทำการ Upgrade เป็น Standard Tier โดยทาง Microsoft Azure ให้ทดลองใช้งานฟรี 60 วัน สำหรับทดสอบการใช้งานฟีเจอร์ต่างๆ ดังรูปด้านล่างครับ




ในบทความนี้ผมเลือก Free Tier ครับ โดยผมทำการคลิ็กที่ Start Trial เพื่อเป็นการเริ่มต้นการใช้งาน ASC ครับและสำหรับสิ่งแรกที่ผมจะพาท่านผู้อ่านไปดูกันคือ Dashboard ของ Azure Security Center ครับ ดังรูป  ในการจัดการและใช้งานต่างๆ ใน Azure Security Center เช่น การกำหนด Security Policy, Threat Protection, Recommendation, และอื่นๆ เป็นต้น ท่านผู้อ่านจะต้องใช้ Dashboard นี้ครับ




Azure Security Center Architecture
หัวข้อต่อมา ผมจะพาท่านผู้อ่านไปทำความรู้จักกับ Architecture ของ Azure Security Center กันครับ โดยเมื่อผมต้องการใช้งาน Azure Security Center ทำการตรวจสอบหรือ Monitor Resources ต่างๆ ใน Microsoft Azure, On-Premises, และ Cloud Providers อื่นๆ  ดังรูป




จากรูปด้านบนแสดงให้เห็นว่า Azure Security Center นั้นใช้  "Microsoft Monitoring Agent" ซึ่งเป็น Agent ตัวเดียวกันกับที่ใช้ใน Operations Management Suite (OMS) และ Log Analytics นั่นหมายความว่าจะต้องทำการติดตั้ง Microsoft Monitoring Agent ไปยัง Virtual Machines ที่ต้องการให้ Azure Security Center ทำการตรวจสอบครับ

และทั้งหมดนี้เป็นเรื่องราวของ Azure Security Center ที่ผมนำมาให้ท่านผู้อ่านได้ทำความรู้จักกันก่อนครับ และพบกับเรื่องราวของ Azure Security Center ในตอนต่อไป เร็วๆ นี้แน่นอนครับผม…..