วิธีการใช้งาน Amazon Inspector สำหรับ EC2

Amazon Inspector เป็นบริการจัดการช่องโหว่ที่สแกนหาช่องโหว่ของซอฟต์แวร์และการเปิดเผยเครือข่ายโดยไม่ได้ตั้งใจอย่างต่อเนื่อง ซึ่ง Container Image ที่มีอยู่ใน Amazon EC2 และ Amazon ECR จะถูกสแกน ดังนั้นในบทความนี้ เรามาลองใช้ Amazon Inspector V2 สแกนบน EC2 กันครับ

สวัสดีครับ POP จากบริษัท Classmethod (Thailand) ครับ

ครั้งนี้ผมจะมาแนะนำวิธีการใช้งาน Amazon Inspector สำหรับ EC2

Amazon Inspector คืออะไร

Amazon Inspector เป็นบริการจัดการช่องโหว่ที่สแกนหาช่องโหว่ของซอฟต์แวร์และการเปิดเผยเครือข่ายโดยไม่ได้ตั้งใจอย่างต่อเนื่อง ซึ่ง Container Image ที่มีอยู่ใน Amazon EC2 และ Amazon ECR จะถูกสแกน

คุณสมบัติของ Amazon Inspector V2

  • รองรับ EC2 (Linux และ Windows)
  • รองรับการสแกน Amazon EC2 และ Amazon ECR
  • ใช้ Amazon Systems Manager (SSM) Agent สแกนช่องโหว่ EC2 (ไม่ต้องติดตั้ง Agent)
  • ข้อมูลช่องโหว่ถูกจัดลำดับความสำคัญโดย Common Vulnerabilities and Exposures (CVE)
  • ผลการสแกนสามารถเชื่อมโยงกับ Amazon Security Hub และ Amazon EventBridge ได้

อ่านรายละเอียดเพิ่มเติมได้ที่ลิงก์บทความด้านล่างนี้

เกี่ยวกับการดำเนินการสแกนของ AWS Inspector

เมื่อเปิดใช้งานการสแกน Amazon EC2 ด้วย Amazon Inspector (Inspector) ระบบจะสแกน EC2 Instance ทั้งหมดที่ถูกตั้งค่า Amazon SSM Agent ใน Account

Inspector จะดำเนินการสแกนโดยอัตโนมัติตามเงื่อนไขต่อไปนี้

  • สำหรับ EC2
    • เมื่อมีการติดตั้งหรือถอนการติดตั้ง Software packages ใหม่ใน Instance
    • เมื่อมีการเผยแพร่ CVE ใหม่ (เมื่อตรวจพบช่องโหว่)
    • เมื่อมีการอัปเดต Packages ที่มีช่องโหว่
  • สำหรับ ECR
    • เมื่อมีการเผยแพร่ CVE ใหม่ (เมื่อตรวจพบช่องโหว่)
    • การสแกน Container Image ซ้ำเป็นเวลา 30 วันแรกหลังจาก Push Image

ดูรายละเอียดได้ที่ลิงก์ด้านล่างนี้
Amazon Inspector FAQs

การเปิดใช้งาน Inspector

ก่อนอื่นให้ Login เข้ามาที่หน้า AWS Management Console แล้วค้นหา 🔍︎ Inspector แล้วเลือกInspector

คลิก Get Started

คลิก Enable Inspector

เมื่อเปิดใช้งาน Inspector เสร็จแล้วจะแสดงหน้าจอแบบนี้

ต่อไปให้เตรียม Windows Server เพื่อใช้ในการทดสอบสแกนหาช่องโหว่

การเตรียม Windows Server

  • สร้าง IAM Role โดยอนุญาตให้ Amazon Inspector สามารถเข้าถึง EC2 ได้
  • สร้าง Windows Server ใน EC2 (โดยไม่ต้อง Login)

การสร้าง IAM Role

เข้ามาที่ Service IAM แล้วค้นหา 🔍︎ IAM แล้วเลือก IAM

มาที่เมนูด้านซ้าย เลือกRoles

คลิกCreate role

Step 1 - Select trusted entity:
Trusted entity type
» เลือก AWS service
Use case
» เลือก ◉ EC2
» คลิก Next

Step 2 - Add permissions:
» ค้นหา Permissions policies: AmazonSSMManagedInstanceCore
» ติ๊ก AmazonSSMManagedInstanceCore
» คลิก Next

Step 3 - Name, review, and create:
» Name: ec2-tinnakorn-inspector (ชื่ออะไรก็ได้)

เลื่อนลงมาด้านล่างสุด คลิก Create role

การสร้าง Windows Server ใน EC2

ดูวิธีการสร้าง Windows Server ใน EC2 ได้ที่ลิงก์ด้านล่างนี้ (ให้อ่าน ตัวอย่างตั้งค่าการสร้าง Microsoft Windows Server ใน EC2 ประกอบด้วย เนื่องจากมีขั้นตอนการเพิ่ม Role ที่ไม่ได้เขียนในลิงก์บทความด้านล่างนี้)

ตัวอย่างตั้งค่าการสร้าง Microsoft Windows Server ใน EC2

※Create Key pairs
Key pairs: tinnakorn-inspector (ตั้งชื่อที่ต้องการ)
Key pair type: RSA
Private key file format: ◉ pem

※Launch instances
Name and tags
Name: tinnakorn-inspector (ตั้งชื่อที่ต้องการ)

Application and OS Images (Amazon Machine Image)
Amazon Machine Image (AMI): Microsoft Windows Server 2022 Base

Instance type
Instance type: t3a.medium

Key pair (login)
Key pair name - required: tinnakorn-inspector (key pair ที่สร้างขึ้นเมื่อสักครู่นี้)

Network settings
Firewall (security groups)
Security group name - required: tinnakorn-inspector (ตั้งชื่อที่ต้องการ)
Description - required: tinnakorn-inspector (ป้อนตามต้องการ)
Inbound security groups rules
Security group rule 1 (TCP, 3389, xxx.xxx.xxx.xxx/32)
Type: rdp | Source type: My IP | Source: xxx.xxx.xxx.xxx/32

Configure storage
1x: 30 GiB gp2 Root volume (Default)


     ** จากนี้ไปคือการเพิ่ม Role เพื่ออนุญาตให้ Inspector สามารถสแกน EC2 ได้ **

คลิก Advanced details เพื่อขยายหน้าจอ แล้วเลือก Role ที่เราสร้างไว้ก่อนหน้านี้

เมื่อสร้างเสร็จแล้วไม่ต้อง Login ก็ได้ เพราะการสาธิตนี้คือการใช้ Inspector สแกน EC2

ตรวจสอบสถานะ Findings: By instance

หลังจากรอ Windows Server เริ่มต้นระบบเสร็จแล้ว กลับมาที่ Service [Inspector > Dashboard] จะเห็นว่าขึ้น 100% เนื่องจาก Inspector ตรวจพบ Instance ที่ได้รับอนุญาตจาก Role ที่เพิ่มเข้าไปยัง Windows Server ที่สร้างเมื่อสักครู่นี้ จึงสามารถเข้าถึงและสแกนหาช่องโหว่ได้ จากนั้นคลิกที่ Instance: 100% (โปรดทราบว่าอาจต้องใช้เวลาในการสแกนจนกว่าจะเสร็จสมบูรณ์)

แล้วคลิกเข้าไปที่ EC2 Instance ของเราได้เลย

เมื่อเข้ามาแล้ว จะแสดงเป็น [ Medium | Port 3389 is reachable from an Internet Gateway] ซึ่งส่วนนี้เราสามารถดูข้อมูลเพิ่มเติมได้โดยคลิก Port 3389 is reachable from an Internet Gateway

แล้วจะมีข้อมูลแสดงโดยเลื่อนออกมาจากด้านขวา

ต่อไปเราจะไปดูช่องโหว่ที่ตรวจพบกัน ให้เลือก By vulnerability จากเมนูด้านซ้าย และเลือกแท็บ By vulnerability ก็จะเห็น Vulnerability: 3389 (RDS) และ 22 (SSH) แสดงอยู่ที่นี่ โดยสถานะที่แสดงที่ All ตอนนี้คือ Medium

การตั้งค่า Suppression rules

เราสามารถ Filter ผลลัพธ์ที่แสดงได้
ครั้งนี้มาตั้งค่า Severity เพื่อไม่ให้แสดงรายการภายใต้ Medium กัน

เลือก Suppression rules จากเมนูด้านซ้าย และคลิก Create rule ด้านขวา

ตั้งชื่อที่ต้องการในช่อง Name เช่น except-under-middle และพิมพ์ Severity ลงในช่อง Suppression rule filters และคลิก Severity

แล้วติ๊ก [✅Medium, ✅Low, ✅Informational, ✅Untriaged] และคลิก Apply

แล้ว filter จะเพิ่มเป็น [Severity: Medium, Low, Informational, Untriaged] แบบนี้ จากนั้นคลิก Save

เมื่อเสร็จแล้วจะแสดงแบบนี้ เพียงเท่านี้การตั้งค่า Suppression rules ก็เสร็จแล้ว

ต่อไปเราจะมาตรวจสอบสถานะดูว่า Medium จะแสดงอยู่ใน Findings หรือไม่
ให้เลือก Account management จากเมนูด้านซ้าย แล้วคลิกเข้าไปที่ EC2 Instance ของเราอีกครั้ง

จะเห็นว่าแสดงเป็น No findings ก็คือไม่มีสถานะ Medium แสดงที่นี่แล้ว

การปิดใช้งาน Inspector

คลิก General จากเมนูด้านซ้าย แล้วคลิก Disable Inspector ด้านขวา

แล้วจะมีหน้าจอยืนยันการปิดใช้งาน Inspector แสดงแบบนี้ แล้วพิมพ์ disable ลงในช่อง แล้วคลิก Disable Inspector

ก็จะแสดงหน้าจอแบบนี้เหมือนกับตอนแรกที่เราจะทำการเปิดใช้งาน Inspector

สรุป

การทดลองใช้ Amazon Inspector ในครั้งนี้ ผมได้ใช้สแกนหาช่องโหว่ของ Windows Server ใน EC2 Instance ซึ่งการตั้งค่าและการใช้งานง่ายมากๆ เพราะผมสามารถเปิดใช้งาน Amazon Inspector เพื่อสแกน Windows Server ได้ด้วยการคลิกเพียงครั้งเดียว นอกจากนั้นก็ตั้งค่าตามต้องการ เช่น ไม่ให้แสดงสถานะที่ไม่จำเป็นอย่าง Medium เป็นต้น

ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ

POP จากบริษัท Classmethod (Thailand) ครับ !

Link อ้างอิง

ดูรายละเอียดเพิ่มเติมได้ที่นี่ สอบถามเพิ่มเติมเกี่ยวกับ AWS คลิกที่นี่