การคืนการตั้งค่า Secure Account:  ขั้นตอนการปิดการใช้งาน Amazon Detective

การคืนการตั้งค่า Secure Account: ขั้นตอนการปิดการใช้งาน Amazon Detective

ขอแนะนำขั้นตอนการปิดการใช้งาน การตั้งค่าสำหรับบริการ Secure Account ที่เกี่ยวกับ Amazon Detective ที่เรามอบให้กับลูกค้าที่ใช้บริการ Classmethod Members ครับ
2025.11.11

สวัสดีครับ ท่านผู้อ่านทุกท่าน ผมกาญจน์ครับ เรามาพบกันอีกครั้งกับสาระดีๆเกี่ยวกับ Secure Account อีกครั้งครับ

ในบทความนี้ จะมาแนะนำขั้นตอนการปิดการใช้งานการตั้งค่าความปลอดภัยของ AWS Detective ที่เกิดขึ้นจากการเปิดใช้บริการ Secure Account ที่ Classmethod Members มอบให้ครับ

บทความนี้แปลมาจากบทความภาษาญี่ปุ่นชื่อ 【セキュアアカウント切り戻し手順】Amazon Detective無効化手順のご案内 โดยเจ้าของบทความนี้คือ คุณ 岩城 匠朗

Secure Account คืออะไร

ที่ Classmethod เรามีการให้บริการบัญชี AWS ที่มีการติดตั้งด้านความปลอดภัยอย่างครบถ้วนตามแนวทาง Best practice แก่ลูกค้าของเรา

คุณลูกค้าที่ใช้บริการบัญชี AWS ผ่าน Classmethod ทุกท่านสามารถใช้บริการนี้ได้ จึงอยากเชิญชวนให้มาใช้กันครับ

https://www.classmethod.co.th/th/services-secure-account

สถาปัตยกรรมของ Secure Account

Secure Account มีสถาปัตยกรรมและการตั้งค่าดังต่อไปนี้

Secure Account Service GuardDuty-1

สำหรับรายละเอียดของแต่ละการตั้งค่า สามารถอ้างอิงบทความข้างล่างหรือเอกสารในลิงค์นี้ได้ครับ

https://dev.classmethod.jp/articles/th-aws-how-to-use-secure-account/

บริการที่เป็นเป้าหมายในการปิดการใช้งานครั้งนี้

ในครั้งนี้ จะขอแนะนำขั้นตอนการปิดการใช้งานการตั้งค่า Detective ที่เปิดใช้งานในทุก Region บน Secure Account

Secure Account Service Amazon Detective-1

Amazon Detective คืออะไร

Detective เป็นบริการที่อยู่ในหมวด "การตอบสนอง (Respond)" จากทั้งหมด 5 หมวดที่กำหนดไว้ใน NIST Cyber Security Framework (CSF) ซึ่งประกอบไปด้วย

  1. Identify (ระบุ) - การระบุและจัดการความเสี่ยง
  2. Protect (ป้องกัน) - การป้องกันภัยคุกคาม
  3. Detect (ตรวจจับ) - การตรวจจับเหตุการณ์ด้านความปลอดภัย
  4. Respond (ตอบสนอง) - การตอบสนองต่อเหตุการณ์
  5. Recover (กู้คืน) - การกู้คืนระบบ

detective03

บริการนี้จะนำเข้าผลการตรวจจับจาก AWS Security Hub และ Amazon GuardDuty เพื่อทำการวิเคราะห์ สืบสวน และระบุสาเหตุหลักของผลการตรวจจับด้านความปลอดภัยและกิจกรรมที่น่าสงสัยอย่างรวดเร็ว

ดังนั้น การใช้งาน AWS Security Hub และ Amazon GuardDuty จึงเป็นข้อกำหนดเบื้องต้นครับ

นอกจากนี้ Detective ยังได้รับการอัปเดตฟีเจอร์อย่างต่อเนื่อง โดยเมื่อเร็วๆ นี้ได้มีการเพิ่มฟีเจอร์ Finding Group Visualization ที่ช่วยแสดงความสัมพันธ์ของผลการตรวจจับในรูปแบบภาพ

Secure Account Service Amazon Detective-2

ภาพ: ตัวอย่างของ Finding Group Visualization (แหล่งที่มา)

https://aws.amazon.com/about-aws/whats-new/2023/03/amazon-detective-graph-visualization-interactive-security-investigations/?nc1=h_ls

ค่าบริการ

Detective มีค่าใช้จ่ายตามปริมาณล็อกที่รวบรวมจากแหล่งต่อไปนี้

  • AWS CloudTrail
  • VPC Flow Logs
  • ล็อกการตรวจสอบของ Amazon EKS
  • ผลการตรวจจับจาก AWS Security Hub
  • ผลการตรวจจับจาก Amazon GuardDuty

กรณีที่มีการรวบรวม log 100GB/เดือน ในภูมิภาคสิงคโปร์ จะมีค่าใช้จ่ายประมาณ 310USD/เดือน

100(GB) × 3.10USD(สำหรับ 1,000 GB แรก/บัญชี/ภูมิภาค/เดือน) = 310USD/เดือน

สำหรับรายละเอียดเพิ่มเติม กรุณาตรวจสอบที่นี่

ข้อกำหนดเบื้องต้น

1. การปิดใช้งานบริการ (Opt-in) ผ่าน Classmethod Members Portal (CMP)

ในระบบ Secure Account เราจะต้องไปที่เว็บไซต์ Classmethod Members Portal (CMP) เพื่อทำการปิดการใช้งาน Opt-in

หากไม่ปิดการใช้งานในส่วนนี้ ในทุกๆวันเสาร์ Classmethod Members Portal จะทำการเปิดบริการดังกล่าวขึ้นมาใหม่โดยอัตโนมัติ แม้ว่าเราจะปิดการใช้งาน CloudTrail ใน Console ไปแล้วก็ตาม ฉะนั้น หากต้องการจะปิดการใช้บริการไหน เราต้องปิด Opt-in ในเว็บไซต์ Classmethod Members Portal ก่อนครับ

  1. อันดับแรก ให้มาที่เว็บไซต์ Classmethod Members Portal จากหัวข้อ "AWS Account" แล้วเลือก Account ID ที่เราต้องการครับ

cloudfront02

  1. จากนั้นเลื่อนลงมาที่หัวข้อ "Security Settings" แล้วคลิกที่ Edit

cloudfront03

  1. หลังจากนั้น ให้เลื่อนลงมาที่ "Secure Settings" แล้วติ๊ก "Amazon Detective" ออก

detective01

  1. จากนั้นเลื่อนลงมาข้างล่างสุดแล้วกด "Save" เพื่อบันทึกการเปลี่ยนแปลงครับ
    secure_account_save

2. IAM permission ที่จำเป็นสำหรับดำเนินการปิดการใช้งาน

Policy ที่จำเป็นสำหรับดำเนินการเพื่อทำการปิดการใช้งานในครั้งนี้มีดังต่อไปนี้

  • AWSCloudShellFullAccess
  • AmazonGuardDutyFullAccess
  • AmazonEC2ReadOnlyAccess
    Secure Account Service GuardDuty-3

ขั้นตอนการปิดการใช้งาน

1. ตรวจสอบสถานะปัจจุบันของ Detective

เปิด CloudShell และรันคำสั่งต่อไปนี้ (สามารถดูการใช้ Cloudshell ได้ตามลิงค์นี้ครับ)
หลังจากตรวจสอบแล้ว จะสามารถปิดใช้งาน GuardDuty ได้ 2 วิธี คือ

  1. ใช้ CloudShell
  2. ใช้ Console
    ซึ่งวิธี CloudShell จะสะดวกมากเวลาต้องการปิดการใช้งานหลาย Region พร้อมกันทีเดียวครับ เพราะถ้าใช้ Console เราต้องคอยเปลี่ยน Region เพื่อปิดการใช้งาน

Note: เนื่องจากปัจจุบัน บริการ Cloudshell จะยังไม่มีใน Thailand Region ครับ หากผู้อ่านจะใช้ Cloudshell จำเป็นต้องเปลี่ยนไปใช้ที่ Singapore Region ก่อนครับ

for REGION in $(aws ec2 describe-regions --query "sort(Regions[].RegionName)" --output text); do
    DETECTIVE_ARN=$(aws detective list-graphs --region "${REGION}" --query "GraphList[].Arn" --output text 2>/dev/null)
    if [ -n "$DETECTIVE_ARN" ]; then
        DETECTIVE_STATUS=$(aws detective list-members --graph-arn "${DETECTIVE_ARN}" --query 'MemberDetails[].Status' --region "${REGION}" --output text 2>/dev/null)
        if [ "$DETECTIVE_STATUS" == "ENABLED" ]; then
            # แสดงสถานะที่กำลังเปิดใช้งาน
            echo "${REGION}: Enabled: ${DETECTIVE_ARN}"
        else
            # แสดงสถานะในกรณีอื่นๆ ที่นอกเหนือจากที่กล่าวข้างต้น
            echo "${REGION}: Unknown Status: ${DETECTIVE_ARN}"
        fi
    else
        # แสดงสถานะที่กำลังปิดใช้งาน
        echo "${REGION}: Disabled: -"
    fi
done

หากเปิดใช้งาน Detective อยู่ จะแสดงผลลัพธ์ดังต่อไปนี้

ap-northeast-1: Enabled: arn:aws:detective:ap-northeast-1:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ap-northeast-2: Enabled: arn:aws:detective:ap-northeast-2:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ap-northeast-3: Disabled: -
ap-south-1: Enabled: arn:aws:detective:ap-south-1:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ap-southeast-1: Enabled: arn:aws:detective:ap-southeast-1:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ap-southeast-2: Enabled: arn:aws:detective:ap-southeast-2:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ca-central-1: Enabled: arn:aws:detective:ca-central-1:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
eu-central-1: Enabled: arn:aws:detective:eu-central-1:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
eu-north-1: Enabled: arn:aws:detective:eu-north-1:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
eu-west-1: Enabled: arn:aws:detective:eu-west-1:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
eu-west-2: Enabled: arn:aws:detective:eu-west-2:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
eu-west-3: Enabled: arn:aws:detective:eu-west-3:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
sa-east-1: Enabled: arn:aws:detective:sa-east-1:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
us-east-1: Enabled: arn:aws:detective:us-east-1:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
us-east-2: Enabled: arn:aws:detective:us-east-2:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
us-west-1: Enabled: arn:aws:detective:us-west-1:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
us-west-2: Enabled: arn:aws:detective:us-west-2:XXXXXXXXXXXX:graph:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

2. วิธีปิดใช้งาน Detective

วิธี 1: กรณีใช้ CloudShell

  • หากต้องการจัดการ Detective ในทุก Region พร้อมกัน แนะนำให้ใช้ CloudShell ครับ
for REGION in $(aws ec2 describe-regions --query "sort(Regions[].RegionName)" --output text); do
    DETECTIVE_ARN=$(aws detective list-graphs --region "${REGION}" --query "GraphList[].Arn" --output text 2>/dev/null)
    if [ -n "$DETECTIVE_ARN" ]; then
        DETECTIVE_STATUS=$(aws detective list-members --graph-arn "${DETECTIVE_ARN}" --query 'MemberDetails[].Status' --region "${REGION}" --output text 2>/dev/null)
        if [ "$DETECTIVE_STATUS" == "ENABLED" ]; then
            # ปิดการใช้งาน Detective
            aws detective delete-graph --graph-arn "${DETECTIVE_ARN}" --region "${REGION}"
            echo "${REGION}: Disable Successful"
        else
            # แสดงสถานะในกรณีอื่นๆ ที่นอกเหนือจากที่กล่าวข้างต้น
            echo "${REGION}: Unknown Status: ${DETECTIVE_ARN}"
        fi
    else
        # แสดงสถานะที่กำลังปิดใช้งาน
        echo "${REGION}: Disabled"
    fi
done
  • หากอยากยกเว้นเฉพาะบาง Region จากทั้งหมด เราสามารถเติมคำสั่งนี้ (โดยใส่ -e เพื่อเพิ่ม Region ที่จะยกเว้นได้)
| grep -v -e '<ชื่อ region1>' -e '<ชื่อ region2>' -e ... 

โดยแทนที่ส่วน {ใส่โค้ดยกเว้น Region ตรงนี้} ด้วยคำสั่งยกเว้น Region ครับ

for REGION in $(aws ec2 describe-regions --query "sort(Regions[].RegionName)" --output text | {ใส่โค้ดยกเว้น Region ตรงนี้}; do
    # ... โค้ดส่วนที่เหลือ
done
  • ตัวอย่างข้างล่างเป็นการปิด Detective ในทุก Region ยกเว้น North Virginia กับ Singapore
for REGION in $(aws ec2 describe-regions --query "sort(Regions[].RegionName)" --output text | grep -v -e 'us-east-1' -e 'ap-southeast-1'); do
    DETECTIVE_ARN=$(aws detective list-graphs --region "${REGION}" --query "GraphList[].Arn" --output text 2>/dev/null)
    if [ -n "$DETECTIVE_ARN" ]; then
        DETECTIVE_STATUS=$(aws detective list-members --graph-arn "${DETECTIVE_ARN}" --query 'MemberDetails[].Status' --region "${REGION}" --output text 2>/dev/null)
        if [ "$DETECTIVE_STATUS" == "ENABLED" ]; then
            # ปิดการใช้งาน Detective
            aws detective delete-graph --graph-arn "${DETECTIVE_ARN}" --region "${REGION}"
            echo "${REGION}: Disable Successful"
        else
            # แสดงสถานะในกรณีอื่นๆ ที่นอกเหนือจากที่กล่าวข้างต้น
            echo "${REGION}: Unknown Status: ${DETECTIVE_ARN}"
        fi
    else
        # แสดงสถานะที่กำลังปิดใช้งาน
        echo "${REGION}: Disabled"
    fi
done

วิธี 2: กรณีใช้ Console

  • การใช้ Console ปิดการใช้ Detective จำเป็นต้องทำในแต่ละ Region ซึ่งจะใช้เวลานานมากถ้ามีหลาย Region ดังนั้น วิธีนี้จะเหมาะในกรณีต้องการปิดการใช้ Detective ไม่กี่ Region ครับ
  1. วิธีการปิด Detective ใน Region ที่ต้องการ สามารถดำเนินการตามในรูปด้านล่างได้เลยครับ

Secure Account Service Amazon Detective-3

Secure Account Service Amazon Detective-4

  1. จากนั้น ให้รันคำสั่งตรวจสอบสถานะปัจจุบัน เหมือนที่เราเคยใช้ไปแล้ว ตามนี้ครับ

Note: ถ้าอยู่ Thailand Region ให้เปลี่ยนไปใช้ Singapore Region ก่อนเพื่อใช้ Cloudshell ครับ

for REGION in $(aws ec2 describe-regions --query "sort(Regions[].RegionName)" --output text); do
    DETECTIVE_ARN=$(aws detective list-graphs --region "${REGION}" --query "GraphList[].Arn" --output text 2>/dev/null)
    if [ -n "$DETECTIVE_ARN" ]; then
        DETECTIVE_STATUS=$(aws detective list-members --graph-arn "${DETECTIVE_ARN}" --query 'MemberDetails[].Status' --region "${REGION}" --output text 2>/dev/null)
        if [ "$DETECTIVE_STATUS" == "ENABLED" ]; then
            # แสดงสถานะที่กำลังเปิดใช้งาน
            echo "${REGION}: Enabled: ${DETECTIVE_ARN}"
        else
            # แสดงสถานะในกรณีอื่นๆ ที่นอกเหนือจากที่กล่าวข้างต้น
            echo "${REGION}: Unknown Status: ${DETECTIVE_ARN}"
        fi
    else
        # แสดงสถานะที่กำลังปิดใช้งาน
        echo "${REGION}: Disabled: -"
    fi
done
  1. ถ้า Region ที่เราได้ปิดไปขึ้นสถานะ Disabled แสดงว่าเราปิดการใช้งานเสร็จสมบูรณ์ครับ

หากต้องการเปิดการใช้งานอีกครั้ง

  1. ให้มาที่เว็บไซต์ ClassMethod Portals (CMP) จากหัวข้อ "AWS Account" ให้เลือก Account ID ที่เราต้องการ

cloudfront02

  1. จากนั้นเลื่อนลงมาที่หัวข้อ "Security Settings" แล้วคลิกที่ "Edit"

cloudfront03

  1. ที่หัวข้อ "Secure Settings" ให้ติ๊กเปิดใช้งาน Amazon Detective อีกครั้ง

detective024. จากนั้นเลื่อนลงมาข้างล่างสุดแล้วกด "Save" เพื่อบันทึกการเปลี่ยนแปลงครับ
secure_account_save

ทิ้งท้าย

จบไปแล้วครับกับบทความ "การคืนการตั้งค่า Secure Account: ขั้นตอนการปิดการใช้งาน Amazon Detective" หวังว่าผู้อ่านทุกท่านจะได้ประโยชน์และเข้าใจเกี่ยวกับการเปิดปิดการใช้ Detective ใน Secure Account มากขึ้นนะครับ

แล้วพบกันใหม่ในบทความหน้า สวัสดีครับ

บทความต้นฉบับ

【セキュアアカウント切り戻し手順】Amazon Detective無効化手順のご案内(บทความภาษาญี่ปุ่น)

この記事をシェアする

FacebookHatena blogX

関連記事