ช่องทางการเติมเงินบนคลาวด์ของ Amazon: AWS Security Hub สแกนช่องโหว่การปฏิบัติตามข้อกำหนดที่มีความเสี่ยงสูง? แนวทางการซ่อมแซมรายการปฏิบัติตามข้อกำหนดด้านความปลอดภัยทั่วไป
ในฐานะผู้รับผิดชอบการดำเนินงานและการบำรุงรักษาที่เกี่ยวข้องกับสถาปัตยกรรมคลาวด์และความปลอดภัยของระบบทุกวันช่วงเวลาที่น่ากลัวที่สุดอย่างหนึ่งคือการเปิดคอนโซลในตอนเช้าและดู
AWS Security Hub
สีแดงปรากฏบนอินเทอร์เฟซ
CRITICAL (ฉุกเฉิน)
หรือ
สูง (ความเสี่ยงสูง)
การแจ้งเตือน
ในระบบการกำกับดูแลการปฏิบัติตามข้อกำหนดขององค์กรในปัจจุบันไม่ว่าจะเป็น PCI-DSS, CIS AWS Foundation Benchmark หรือ CIS Controls Security Hub เปรียบเสมือน "ผู้ตรวจสอบระบบคลาวด์" ที่เข้มงวดมันจะสแกนทรัพยากร AWS ทั้งหมดของคุณตลอดเวลาและเมื่อคุณพบการกำหนดค่าที่ไม่เป็นไปตามแนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุดมันจะติดป้ายกำกับช่องโหว่การปฏิบัติตามข้อกำหนดทันที
ช่องโหว่ที่มีความเสี่ยงสูงเหล่านี้ไม่เพียงแต่ทำให้บริษัทต่างๆต้องเผชิญกับความเสี่ยงจากการไม่ปฏิบัติตามข้อกำหนดในการตรวจสอบเท่านั้นแต่ยังทิ้งแบ็คดอร์สำหรับการรั่วไหลของข้อมูลการโจมตีของแรนซัมแวร์หรือการใช้งานที่เป็นอันตราย
บทความนี้จะใช้มุมมองการดำเนินงานและการบำรุงรักษาที่แท้จริงเพื่อจัดเรียงการสแกนของ Security Hub
ช่องโหว่การปฏิบัติตามข้อกำหนดทั่วไปที่มีความเสี่ยงสูงสี่ประการ
, ให้คำแนะนำในการซ่อมแซมแบบลงมือปฏิบัติและเชื่อมโยงไปถึงและพูดคุยเกี่ยวกับแนวป้องกันของกองทุนพื้นฐานเพื่อความปลอดภัยบนคลาวด์และการทำงานปกติของทรัพยากร (รวมถึง
การเติมเงินบัญชี AWS
กลยุทธ์).
1.ทำความเข้าใจมาตรฐานและการจัดอันดับความเสี่ยงของ Security Hub
ก่อนที่จะทำการซ่อมแซมเราจำเป็นต้องเข้าใจว่า Security Hub ดำเนินการประเมินการปฏิบัติตามข้อกำหนดอย่างไร
Security Hub ส่วนใหญ่จะขึ้นอยู่กับมาตรฐานความปลอดภัยประเภทต่อไปนี้สำหรับการตรวจสอบอัตโนมัติ:
AWS Foundation Security Best Practices (FSBP): แนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุดที่ AWS แนะนำอย่างเป็นทางการ
CIS AWS Foundatation Benchmark: มาตรฐานพื้นฐานความปลอดภัย AWS ที่ใช้กันทั่วไปในอุตสาหกรรม
PCI-DSS / NIST / HIPAA: มาตรฐานการปฏิบัติตามข้อกำหนดสำหรับอุตสาหกรรมเฉพาะ (เช่นการชำระเงินทางการเงินการดูแลทางการแพทย์ฯลฯ)
หลังจากการทดสอบกฎการปฏิบัติตามข้อกำหนดแต่ละครั้งล้มเหลว Security Hub จะแบ่งระดับความเสี่ยงตามผลกระทบที่อาจเกิดขึ้นจากช่องโหว่:
Critical (ฉุกเฉิน), High (สูง), Medium (กลาง), Low (ต่ำ)
。
[AWS Security Hub คอนโซลการตรวจสอบ]
│
├─► [ค้นพบช่องโหว่ Critical/High]
│ │
│├─► S3 Bucket มีการเข้าถึงทั้งหมด
│├─►IAM Root / Admin ขาด MFA
│
├─ ► กลุ่มความปลอดภัย0.0.0.0/0การปล่อยพอร์ตที่มีความเสี่ยงสูง
│└ ─►CloudTrail/VPC Flow Logs การตรวจสอบไม่ได้เปิด
│
└ ─ ► [ดำเนินการตรวจสอบเชิงลึกและการซ่อมแซมอัตโนมัติ]
2.ช่องโหว่การปฏิบัติตามข้อกำหนดที่มีความเสี่ยงสูงทั่วไป4ประการและแนวทางการแก้ไขด้วยมือ
จากประสบการณ์การตรวจสอบความปลอดภัย AWS ของบริษัทจำนวนมากพบว่าช่องโหว่4ประเภทต่อไปนี้ปรากฏบ่อยมากใน Security Hub และส่วนใหญ่ถูกระบุว่า
HIGH
หรือ
CRITICAL
。
1. S3ถังเปิดการอ่าน/เขียนสิทธิ์สาธารณะ (S3.2 / S3.3)
ระดับความเสี่ยง: CRITICAL/HIGH
คำอธิบายช่องโหว่: ถังเก็บข้อมูล S3ไม่เปิด "Block Public Access" (Block Public Access) หรือ Bucket Policy / ACL อนุญาตให้ Principal: "*" อ่านหรือเขียนได้นี่คือต้นตอของเหตุการณ์การรั่วไหลของข้อมูลที่ละเอียดอ่อนขององค์กรนับไม่ถ้วน
ขั้นตอนการแก้ไข:
วิธี A: เปิด "บล็อกการเข้าถึงสาธารณะ" ที่ระดับถังเก็บข้อมูล
เปิดคอนโซล AWS S3และค้นหา Bucket ที่ทำเครื่องหมายไว้
คลิกแท็บ Permissions (สิทธิ์)
คลิก Edit ในพื้นที่ Block public access (การตั้งค่า bucket)
คลิกบันทึกและป้อนคำสั่งยืนยัน
วิธี B: ใช้ AWS CLI ซ่อมแซมด้วยคลิกเดียว
แบช
Aws s3api put-public-access-block\
-- Bucket <ชื่อถังเก็บข้อมูลของคุณ> \
-- Public-access-block-configuration "BlockPublicAcls = true,IgnorePublicAcls = true,BlockPublicPolicy = true,RestrictPublicBuckets = true"
คำแนะนำในการดำเนินการและการบำรุงรักษา: ขอแนะนำให้เปิด Block Public Access โดยตรงที่ระดับบัญชี AWS Account / Organizations เพื่อป้องกันไม่ให้นักพัฒนาสร้างถัง S3สาธารณะโดยไม่ได้ตั้งใจ
2.บัญชีราก IAM (Root User) ไม่ได้เปิดใช้งาน MFA หรือใช้บัญชีรากสำหรับการดำเนินงานประจำวัน (IAM.1 / IAM.6)
ระดับความเสี่ยง: CRITICAL
คำอธิบายช่องโหว่: R ของบัญชี AWS
ผู้ใช้ oot มีสิทธิ์สูงสุดเมื่อรหัสผ่านรั่วไหลและไม่มีการป้องกันการตรวจสอบหลายปัจจัย (MFA) ผู้โจมตีสามารถเข้าครอบครองบัญชี AWS ทั้งหมดได้ทันทีและแม้แต่ทำลายข้อมูลทั้งหมด
ขั้นตอนการแก้ไข:
ผูก MFA สำหรับบัญชี Root: ลงชื่อเข้าใช้บัญชี AWS Root และเข้าสู่คอนโซล IAM คลิก Dashboard ทางด้านซ้ายเพื่อค้นหา Root user MFA ในการรักษาความปลอดภัยคลิก Add MFA ขอแนะนำให้เลือก Virtual MFA device (เช่น Authenticator App) หรือคีย์ความปลอดภัยของฮาร์ดแวร์ FIDO
ล็อคบัญชีรูทปิดใช้งาน Access Key: ตรวจสอบว่าบัญชีรูทได้สร้าง Access Key / Secret Key หรือไม่ถ้ามีทันที Delete 。บัญชีรูทจะถูกเก็บไว้ในสถานการณ์การจัดการเหตุฉุกเฉินเพียงไม่กี่สถานการณ์ (เช่นการเปลี่ยนวิธีการชำระเงินการยกเลิกบัญชี) และการดำเนินการและการบำรุงรักษาประจำวันจะต้องได้รับอนุญาตจาก IAM Identity Center (SSO) หรือ IAM Roles
3.กลุ่มความปลอดภัยปล่อยการเข้าถึงพอร์ตที่มีความเสี่ยงสูง0.0.0.0/0 (EC2.2 / EC2.19)
ระดับความเสี่ยง: HIGH
คำอธิบายช่องโหว่: 0.0.0.0/0 (สาธารณะทั่วทั้งเครือข่าย) จะถูกแมปกับพอร์ตการจัดการที่ละเอียดอ่อนในกฎการเข้าถึงเช่น TCP 22 (SSH), TCP 3389 (RDP) หรือพอร์ตฐานข้อมูล TCP 3306 (MySQL), TCP 5432 (PostgreSQL)
ขั้นตอนการแก้ไข:
เปิดคอนโซล EC2-> Security Groups ค้นหา ID กลุ่มความปลอดภัยที่กล่าวถึงในการแจ้งเตือน Security Hub 。
แก้ไขกฎ Inbound: ลบกฎ22/3389จากที่มา0.0.0.0/0แก้ไขแหล่งที่มาของพอร์ตการจัดการเป็นส่วนเครือข่ายสาธารณะส่งออก IP /232หรือ VPN คงที่ของบริษัทสำหรับพอร์ตฐานข้อมูล Source จะอนุญาตเฉพาะการเชื่อมต่อการรับส่งข้อมูลจากกลุ่มความปลอดภัยของชั้นเว็บ/แอปพลิเคชันเท่านั้น (โดยใช้การอ้างอิงที่ซ้อนกันของ Security Group ID)
แนวทางปฏิบัติที่ดีที่สุด: ละทิ้งการเข้าสู่ระบบ SSH บนเครือข่ายสาธารณะโดยตรงไปยัง EC2และเปลี่ยนไปใช้ AWS Systems Manager (SSM) Session Manager SSM สามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้อย่างปลอดภัยโดยไม่ต้องเปิดพอร์ต22และไม่ต้องใช้ IP เครือข่ายสาธารณะ
4. CloudTrail ไม่ได้เปิดบันทึกการตรวจสอบทั่วโลก (CloudTrail.1 / CloudTrail.2
)
ระดับความเสี่ยง: สูง
คำอธิบายช่องโหว่: CloudTrail ไม่ได้กำหนดค่าการบันทึกของภูมิภาค (การบันทึกหลายภูมิภาค) ทั้งหมดหรือไม่เปิดการตรวจสอบความสมบูรณ์ของไฟล์บันทึกซึ่งหมายความว่าเมื่อผู้บุกรุกดำเนินการที่เป็นอันตรายในพื้นที่ที่ไม่ได้เปิดใช้งานเขาจะไม่สามารถเก็บร่องรอยบันทึกได้
ขั้นตอนการซ่อมแซม:
ไปที่คอนโซล CloudTrail แล้วคลิก Trails -> Create trail 。
กรอกชื่อ Trail และตรวจสอบ Enable for all regions (เปิดใช้งานสำหรับทุกภูมิภาค)
ในการจัดเก็บการกำหนดค่าจะส่งบันทึกไปยังถังเก็บข้อมูล S3ที่เข้ารหัส
ตรวจสอบ Log file validation (การตรวจสอบไฟล์บันทึก) เพื่อให้แน่ใจว่าบันทึกป้องกันการงัดแงะ
เปิดการเข้ารหัสเพิ่มเติม KMS เพื่อความปลอดภัยในการจัดเก็บบันทึก
3."แนวป้องกันด้านล่าง" สำหรับการรักษาความปลอดภัยบนคลาวด์และการดำเนินงานโครงสร้างพื้นฐาน: เงินในบัญชีและการปฏิบัติตาม
ในการดำเนินการด้านความปลอดภัยและการบำรุงรักษาประจำวันช่างเทคนิคจำนวนมากให้ความสำคัญกับช่องโหว่ของโค้ดกลุ่มความปลอดภัยเครือข่ายและการควบคุมสิทธิ์ IAM 100% แต่พวกเขามักเพิกเฉยต่ออันตรายที่ร้ายแรงพอๆกันซึ่งมักซ่อนอยู่นอกเทคโนโลยี-
ความเสี่ยงของการหยุดชะงักของบริการคลาวด์ที่เกิดจากความล้มเหลวของข้อมูลรับรองบัญชี AWS หรือการหยุดชะงักของเงินทุน
。
สมมติว่าสถานการณ์ดังกล่าว: คุณเพิ่งทำงานอย่างหนักเพื่อดำเนินการจัดการการปฏิบัติตามข้อกำหนดของ Security Hub ให้เสร็จสิ้นแต่เนื่องจากวิธีการชำระเงินที่ผูกไว้กับบัญชี AWS ไม่ถูกต้องหรือวงเงินบัตรเครดิตไม่เพียงพอบัญชีจึงค้างชำระ
จะเกิดอะไรขึ้นเมื่อบัญชี AWS ถูกระงับหรือถูกจำกัดเนื่องจากการค้างชำระ
การปรับลดรุ่นบริการรักษาความปลอดภัยและการตัดการบันทึก: ในสถานะการค้างชำระบริการรักษาความปลอดภัยบางส่วนที่อาศัยการตั้งเวลาแบบไดนามิก (เช่นการตรวจจับภัยคุกคามของ GuardDuty การส่งบันทึกแบบเรียลไทม์ของ CloudTrail และการตรวจจับความปลอดภัยอัตโนมัติของ Hub) อาจปรากฏในบันทึกเนื่องจากการเข้าถึง API ที่จำกัดความล่าช้าหรือการระงับนำไปสู่ช่วงเวลาว่างในการตรวจสอบความปลอดภัย
สคริปต์การซ่อมแซมอัตโนมัติล้มเหลว: หากทีมของคุณปรับใช้กระบวนการซ่อมแซมอัตโนมัติ (กู้คืนอัตโนมัติ) ตาม EventBridge Lambda การจำกัดบริการบัญชีอาจทำให้การดำเนินการ Lambda ล้มเหลวโดยตรงและไม่สามารถปิดกั้นช่องโหว่ได้ในครั้งแรก
การใช้การป้องกันที่เป็นอันตรายจะลดลง: บัญชีที่อยู่ในสถานะผิดปกติมีแนวโน้มที่จะถูกโจมตีโดยแฮกเกอร์โดยใช้ช่องทางการผลิตสีดำหากแฮกเกอร์ใช้ช่องโหว่เพื่อใช้ประโยชน์จาก Crypto-Mining ในบัญชีของคุณอย่างผิดกฎหมายการเรียกเก็บเงินจำนวนมากที่สร้างขึ้นทันทีอาจทำให้บัญชีมีความเสี่ยงมันทำให้เรื่องแย่ลง
กองทุน AWS ขององค์กรและกลยุทธ์การรับประกันการป้องกัน:
สร้างการแจ้งเตือนการเรียกเก็บเงิน AWS ที่สมบูรณ์แบบ (AWS Budget
S): กำหนดค่าการแจ้งเตือนงบประมาณใน Cost Management เมื่อการบริโภคถึง50% 80% และ100% ที่คาดไว้ให้ส่งอีเมลและการแจ้งเตือน Dingding/Flying Book ผ่าน SNS
ช่องทางการเติมเงินและการชำระเงินระดับองค์กรที่ราบรื่น: สำหรับบริษัทในต่างประเทศหรือไซต์ข้ามชาติขนาดใหญ่มีความเสี่ยงอย่างมากในการผูกบัญชี AWS โดยอาศัยบัตรเครดิตส่วนบุคคลของพนักงานเท่านั้น (เช่นบัตรหมดอายุการหักเงินจากบัตรควบคุมความเสี่ยงของธนาคารเป็นต้น) องค์กรควรสร้างกลไกการเติมเงินบัญชี AWS อย่างเป็นทางการและต่อเนื่องเช่นการเติมเงินจากสาธารณะสู่สาธารณะการชำระบัญชีสาธารณะผ่านพันธมิตรที่ได้รับการยอมรับอย่างเป็นทางการของ AWS (AWS Partner) หรือการสมัครระยะเวลาบัญชี AWS Enterprise Agreement (ข้อตกลง EA) ขจัดความเสี่ยงของบริการคลาวด์ที่เกิดจากการหยุดชะงักของเงินทุน
แยกบัญชีการจัดการและบัญชีธุรกิจ: ด้วยความช่วยเหลือของ AWS Organizations บัญชีการจัดการหลักจะแยกออกจากบัญชีความปลอดภัย/บัญชีการผลิต (บัญชีความปลอดภัย/บัญชีการผลิต) สำหรับการดำเนินธุรกิจเฉพาะบัญชีหลักมีหน้าที่เพียงการเรียกเก็บเงินรวมและการเติมเงินบัญชี AWS ให้เสร็จสมบูรณ์และแยกเงินทุนผลกระทบของความเสี่ยงต่อสภาพแวดล้อมความปลอดภัยทางธุรกิจ
สี่สรุปและการกำกับดูแลความปลอดภัย Checklist
AWS Security Hub ไม่ใช่เครื่องมือเพียงครั้งเดียวแต่เป็นระบบตรวจสอบอย่างต่อเนื่องเมื่อเผชิญกับคำเตือนที่มีความเสี่ยงสูงซึ่งได้รับการรีเฟรชบ่อยครั้งทีมปฏิบัติการและการบำรุงรักษาควรสร้างกลไกวงปิดของ "การป้องกันการตรวจสอบ-ซ่อมแซม-ตรวจสอบ-อัตโนมัติ"
สุดท้ายสรุปรายการตรวจสอบการปฏิบัติตามข้อกำหนดรายวัน/รายสัปดาห์สำหรับคุณ:
ตรวจสอบรายการ
ความต้องการเป้าหมาย
แก้ไขลำดับความสำคัญ
การเข้าถึงถังเก็บ S3
เปิดบัญชีเต็ม Block Public Access
P0 (ฉุกเฉิน)
** การป้องกันบัญชีรูท **
เปิด MFA ปิดใช้งาน Access Key
P0 (ฉุกเฉิน)
กลุ่มความปลอดภัยพอร์ตที่มีความเสี่ยงสูง
บล็อก0.0.0.0/0เปิด22/3389
P1 (สูง)
การตรวจสอบและการตรวจสอบ
เปิด CloudTrail บันทึกพื้นที่ทั้งหมดด้วยการเข้ารหัส KMS
P1 (สูง)
การปฏิบัติตามเงินทุนและบริการ
ตั้งค่าการแจ้งเตือนการเรียกเก็บเงินเพื่อให้แน่ใจว่าช่องทางการเติมเงินบัญชี AWS เป็นไปอย่างราบรื่น
P1 (สูง)
ความปลอดภัยบนคลาวด์ไม่ใช่เรื่องเล็กน้อยการปฏิบัติตามความปลอดภัยไม่เพียงแต่รับผิดชอบต่อทรัพย์สินข้อมูลขององค์กรเท่านั้นแต่ยังเป็นรากฐานที่สำคัญของการดำเนินธุรกิจที่มั่นคงยั่งยืนและมีประสิทธิภาพในระดับโลก!
