ไม่มีทรัพยากรเพียงพอที่จะตั้งแผนกความปลอดภัยแต่ต้องการติดตามเหตุการณ์ AWS CloudTrail ของคุณอยู่หรือไม่? ค้นหาว่าโมดูล CloudTrail-to-Slack Terraform โดย FivexL แก้ปัญหานี้สำหรับสตาร์ทอัพและทีมขนาดเล็กได้อย่างไร
โมดูล Terraform สำหรับ AWS CloudTrail — เครื่องมือความปลอดภัยที่มีประสิทธิภาพ ลิงก์ไปยังหัวข้อ
ในขณะที่บริษัทขนาดใหญ่มีศูนย์ปฏิบัติการความปลอดภัย (SOCs) ของตนเองที่รับผิดชอบด้านความปลอดภัยของข้อมูลและสามารถจ่ายค่าโซลูชันราคาแพงได้ สตาร์ทอัพมักไม่มีทรัพยากรและเวลามากพอที่จะตั้งระบบหรูหราเช่นนั้น ดังนั้นพวกเขาจึงต้องมองหาโซลูชันความปลอดภัยที่เรียบง่ายเพื่อปกป้องข้อมูลของตน โดยเข้าใจถึงความลำบากของทรัพยากรที่จำกัด FivexL จึงพัฒนาโมดูล Cloudtrail-to-Slack Terraform ขึ้นมา
โมดูลนี้ทำงานกับข้อมูลที่รวบรวมจาก AWS CloudTrail และส่งการแจ้งเตือนไปยัง Slack เพื่อให้คุณอัปเดตเกี่ยวกับสิ่งที่เกิดขึ้นใน CloudTrail แบบเรียลไทม์ คิดว่ามันเหมือนกล้องวงจรปิดที่ไม่ได้ถูกตรวจสอบตลอดเวลาแต่จะแจ้งเตือนคุณหากมีสิ่งผิดปกติเกิดขึ้น — เช่น หากมีคนแปลกหน้าคอยเคลื่อนไหวใกล้ประตูหน้าหรือหลังบ้านของคุณ
AWS CloudTrail คืออะไร? ลิงก์ไปยังหัวข้อ
มาพูดถึง AWS CloudTrail แบบสั้น ๆ AWS CloudTrail คือบริการของ AWS ที่ช่วยให้คุณเปิดใช้งานการกำกับดูแล การปฏิบัติตามข้อกำหนด และการตรวจสอบการดำเนินงานและความเสี่ยงของบัญชี AWS ของคุณ การกระทำที่ดำเนินการโดยผู้ใช้ บทบาท หรือบริการ AWS จะถูกบันทึกเป็นเหตุการณ์ใน CloudTrail เหตุการณ์เหล่านี้รวมถึงการกระทำที่ทำใน AWS Management Console, AWS Command Line Interface และ AWS SDKs และ APIs ข้อมูลเพิ่มเติม: What is CloudTrail?
การมองเห็นข้อมูลประเภทนี้เป็นองค์ประกอบสำคัญของความปลอดภัยในองค์กร เพราะคุณสามารถระบุได้ว่าใครทำอะไร เมื่อไหร่ ที่ไหน และอย่างไร รวมถึงทรัพยากรใดที่ถูกใช้ ผลลัพธ์คือคุณสามารถติดตามสิ่งที่เกิดขึ้นใน Amazon Console ของคุณได้เสมอเพื่อแก้ไขการตั้งค่าที่ผิดพลาดได้ทันท่วงทีและป้องกันการบุกรุก ในทางหนึ่งคุณมีข้อมูลทั้งหมดเพื่อรับรองความปลอดภัยของคุณ ในอีกทางหนึ่งคุณยังคงเป็นเป้าหมายง่ายสำหรับอาชญากรไซเบอร์ นี่คือเหตุผลบางประการ:
เหตุการณ์มากเกินไปที่จะติดตามด้วยตนเอง ลิงก์ไปยังหัวข้อ
แม้แต่สตาร์ทอัพหรือทีมขนาดเล็กก็จะมีบันทึกจำนวนมากให้ตรวจสอบ ดังนั้นคุณอาจพลาดเหตุการณ์สำคัญที่ควรได้รับความสนใจได้ง่าย ตัวอย่างเช่น คุณอาจไม่สังเกตเห็นการเรียก API ที่ล้มเหลวเนื่องจากขาดสิทธิ์ ซึ่งอาจบ่งชี้ถึงการตั้งค่าการดำเนินงานที่ไม่ถูกต้องหรือการบุกรุก ในกรณีแรกคุณเพียงแค่ต้องแก้ไขการตั้งค่าที่ผิดพลาด แต่ในกรณีหลังคุณต้องป้องกันการโจมตีทางไซเบอร์ที่อาจทำให้ธุรกิจของคุณเสียหาย
ลองนึกภาพว่าคุณใช้ root user เพื่อเข้าสู่ระบบ Amazon Console ของคุณ อาชญากรไซเบอร์สามารถขโมยข้อมูลประจำตัวแบบคงที่ของคุณ เปลี่ยนรหัสผ่าน และขโมยข้อมูลของคุณพร้อมกับธุรกิจ เราแนะนำให้ใช้ Single Sign-on (SSO) หรือ Identity and Access Management (IAM) ร่วมกับ multifactor authentication (MFA) ด้วยวิธีนี้ ข้อมูลประจำตัวของคุณจะหมดอายุภายในระยะเวลาหนึ่ง ซึ่งทำให้แฮกเกอร์มีโอกาสโจมตีในช่วงเวลาสั้น ๆ เท่านั้น
การแจ้งเตือน CloudWatch ที่ซับซ้อนและเข้าใจยาก ลิงก์ไปยังหัวข้อ
คุณสามารถตั้งค่าการแจ้งเตือนจาก CloudWatch ที่จะส่งการแจ้งเตือนไปยังอีเมลของคุณหากมีเหตุการณ์น่าสงสัยถูกบันทึกไว้ แต่ต้องเตรียมพร้อมที่จะทุ่มเทเวลาและความพยายามมากในการตั้งค่าและทำความเข้าใจ
ติดตามเหตุการณ์ CloudTrail ของคุณได้ง่าย ๆ ด้วยโมดูล CloudTrail-to-Slack Terraform ลิงก์ไปยังหัวข้อ
การส่งการแจ้งเตือนเกี่ยวกับเหตุการณ์ AWS CloudTrail ไปยัง Slack เป็นฟีเจอร์ที่มีประโยชน์สำหรับสตาร์ทอัพที่ถูกนำมาใช้ในโมดูล Cloudtrail-to-Slack Terraform โดย FivexL เราได้สร้าง Lambda ที่ใช้ Python ซึ่งวิเคราะห์เหตุการณ์ทั้งหมดที่บันทึกใน CloudTrail และส่งการแจ้งเตือนไปยัง Slack หากเหตุการณ์เหล่านั้นถูกจัดประเภทเป็นบันทึกที่น่าสงสัยตามกฎที่กำหนด การนำ Lambda ไปยัง AWS เป็นปัญหาที่แก้ไขได้แล้วและเราเลือกใช้โมดูลโอเพนซอร์สจาก Terraform AWS Modules ดังนั้นนี่จึงเป็นโมดูล CloudTrail-to-Slack Terraform ที่พร้อมใช้งานและยืดหยุ่น คุณเพียงแค่ตั้งค่าในไม่กี่วินาที และการแจ้งเตือนต่อไปนี้จะถูกส่งไปยังช่อง Slack ของคุณ:
- กิจกรรมที่ทำโดยบัญชี root
- การเรียก API ที่ล้มเหลว และเหตุการณ์น่าสงสัย
- การเข้าสู่ระบบคอนโซลโดยไม่มี MFA
- เหตุการณ์ที่ละเอียดอ่อน เช่น การเปลี่ยนแปลง IAM, เครือข่าย และการเข้าถึงการจัดเก็บข้อมูล
ผลลัพธ์คือคุณจะรับรู้เสมอหากมีสิ่งผิดปกติเกิดขึ้นใน AWS Console ของคุณโดยไม่ต้องลงทุนเวลาและความพยายามเพิ่มเติม Corey Quinn หัวหน้าฝ่ายเศรษฐศาสตร์คลาวด์ที่ The Duckbill Group ซึ่งช่วยบริษัทลดค่าใช้จ่าย AWS ได้กล่าวถึงโมดูลนี้ใน พอดแคสต์ของเขาที่อุทิศให้กับการฝึกอบรมความตระหนักด้านความปลอดภัย: ‘ผมเจอโมดูล Terraform ที่ deploy Lambda เพื่อตรวจสอบ CloudTrail และรายงานไปยัง Slack — เข้าใจไหม? ดีมาก — เมื่อเกิดเหตุการณ์บางอย่าง เหตุการณ์เหล่านั้นรวมถึงการเข้าสู่ระบบ root, การเข้าสู่ระบบคอนโซลโดยไม่มี MFA, การเรียก API ที่ล้มเหลวเนื่องจากขาดสิทธิ์ และอื่น ๆ อาจจะมีเสียงแจ้งเตือนมาก แต่ผมคิดว่าควรติดตั้งอย่างน้อยเหตุการณ์สำคัญใหญ่ ๆ’ นี่ทำให้โมดูลนี้น่าสนใจและควรให้ความสนใจ
โปรดทราบ: มีความล่าช้าในการส่งการแจ้งเตือนประมาณ 5-10 นาที เนื่องจากเวอร์ชันปัจจุบันสร้างขึ้นบนพื้นฐานการแยกวิเคราะห์การแจ้งเตือนจาก S3
คุณสมบัติของโมดูล CloudTrail-to-Slack Terraform ลิงก์ไปยังหัวข้อ
นอกจากจะช่วยให้สตาร์ทอัพติดตามเหตุการณ์ CloudTrail ได้แล้ว โมดูล Terraform ยังมอบความยืดหยุ่นให้กับสตาร์ทอัพอีกด้วย นี่คือประโยชน์หลัก:
กฎสำเร็จรูปที่ปรับแต่งได้ ลิงก์ไปยังหัวข้อ
สตาร์ทอัพเป็นที่รู้กันว่ามีเวลาน้อยหรือแทบไม่มีเลยเนื่องจากทรัพยากรบุคคลจำกัด เพื่ออำนวยความสะดวกในการตั้งค่าโมดูล มีชุดกฎเริ่มต้นซึ่งเป็นสตริง Python ที่ถูกประเมินในระหว่างรันไทม์และออกแบบมาเพื่อคืนค่า bool เหตุการณ์ CloudTrail จะถูกแปลงเป็นโครงสร้างแบนก่อนการประมวลผลและควรอ้างอิงเป็นตัวแปร event
กฎบางข้อสามารถถูกละเว้นได้ ในกรณีนี้ เหตุการณ์จะถูก Lambda ละเว้นและไม่มีการส่งการแจ้งเตือนไปยัง Slack “Ignore rules” มีไวยากรณ์เหมือนกับกฎเริ่มต้น แต่แนะนำให้แก้ไขการแจ้งเตือนแทนที่จะละเว้น ควรใช้วิธีนี้เฉพาะเมื่อไม่มีโอกาสแก้ไขการแจ้งเตือนเท่านั้น นี่คือตัวอย่างวิธีทำ
locals {
cloudtrail_ignore_rules = [
"'userIdentity.accountId' in event and event['userIdentity.accountId'] == '11111111111'",
]
}
# we recomend storing hook url in SSM Parameter store and not commit it to the repo
data "aws_ssm_parameter" "hook" {
name = "/cloudtrail-to-slack/hook"
}
module "cloudtrail_to_slack" {
source = "fivexl/cloudtrail-to-slack/aws"
version = "2.3.0"
default_slack_hook_url = data.aws_ssm_parameter.hook.value
cloudtrail_logs_s3_bucket_name = aws_s3_bucket.cloudtrail.id
ignore_rules = join(",", local.cloudtrail_ignore_rules)
}
การปรับแต่งการแจ้งเตือน ลิงก์ไปยังหัวข้อ
คุณอาจไม่ต้องการให้สมาชิกทีมทุกคนได้รับการแจ้งเตือนความปลอดภัยจากโมดูล Terraform บางคนอาจใช้ข้อมูลนี้เพื่อประโยชน์ของตนเอง ในขณะที่บางคนอาจถูกรบกวนด้วยการแจ้งเตือนที่ไม่เกี่ยวข้องจำนวนมาก ซึ่งทำให้ประสิทธิภาพการทำงานลดลงและไม่เหมาะสำหรับสตาร์ทอัพ นี่คือเหตุผลที่โมดูลนี้ให้โอกาสในการปรับแต่งการแจ้งเตือน เช่น สามารถส่งไปยังช่อง Slack ต่าง ๆ สำหรับบัญชีต่าง ๆ ตาม ID บัญชีของเหตุการณ์
กฎที่ผู้ใช้กำหนดเองเพื่อจับคู่เหตุการณ์ ลิงก์ไปยังหัวข้อ
หากกฎเริ่มต้นไม่ครอบคลุมความต้องการทั้งหมดของคุณ คุณสามารถตั้งค่ากฎที่ผู้ใช้กำหนดเองเพื่อควบคุมสิ่งที่เกิดขึ้นใน CloudTrail ได้ นี่คือตัวอย่างวิธีการ deploy โมดูลพร้อมรายการเหตุการณ์ที่จำเป็นต้องติดตาม
data "aws_ssm_parameter" "hook" {
name = "/cloudtrail-to-slack/hook"
}
locals {
# CloudTrail events
cloudtrail = "DeleteTrail,StopLogging,UpdateTrail"
# EC2 Instance connect and EC2 events
ec2 = "SendSSHPublicKey"
# Config
config = "DeleteConfigRule,DeleteConfigurationRecorder,DeleteDeliveryChannel,DeleteEvaluationResults"
# All events
events_to_track = "${local.cloudtrail},${local.ec2},${local.config}"
}
module "cloudtrail_to_slack" {
source = "fivexl/cloudtrail-to-slack/aws"
version = "2.0.0"
default_slack_hook_url = data.aws_ssm_parameter.hook.value
cloudtrail_logs_s3_bucket_name = aws_s3_bucket.cloudtrail.id
events_to_track = local.events_to_track
}
resource "aws_cloudtrail" "main" {
name = "main"
s3_bucket_name = aws_s3_bucket.cloudtrail.id
...
}
resource "aws_s3_bucket" "cloudtrail" {
....
}
สรุป ลิงก์ไปยังหัวข้อ
โมดูล FivexL Cloudtrail-to-Slack Terraform เป็นเครื่องมือเรียบง่ายที่ช่วยให้คุณติดตามเหตุการณ์ CloudTrail ของคุณและมั่นใจว่า Amazon Console ของคุณปลอดภัยและตั้งค่าอย่างถูกต้อง คุณจะได้รับการแจ้งเตือนเกี่ยวกับการกระทำที่ดำเนินการโดยบัญชี root, การอนุญาต API ที่ล้มเหลว และการเข้าสู่ระบบคอนโซลโดยไม่มี MFA นอกจากนี้ คุณยังสามารถระบุเหตุการณ์ที่ละเอียดอ่อนที่ต้องการติดตาม ตั้งค่ากฎใหม่เพื่อขยายการตรวจสอบเกินกว่ากฎเริ่มต้น และปรับแต่งผู้รับการแจ้งเตือนได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโมดูล Cloudtrail-to-Slack Terraform โปรดดูที่ FivexL’s GitHub
ผลลัพธ์คือสตาร์ทอัพและทีมขนาดเล็กสามารถมุ่งเน้นไปที่การดำเนินงานหลักในขณะที่มั่นใจได้ว่าข้อมูลและธุรกิจของพวกเขาปลอดภัย อย่างไรก็ตาม หาก CloudTrail ของคุณบันทึกเหตุการณ์จำนวนมากเกินไป โมดูล FivexL Terraform อาจไม่เพียงพอ