Giám sát tính toàn vẹn của tệp với AWS Systems Manager và Amazon Security Lake

Tác giả: Adam Nemeth
Ngày phát hành: 27 JAN 2026
Chuyên mục: Amazon Security Lake, AWS Security Hub, AWS Systems Manager, Intermediate (200), Security, Identity, & Compliance, Technical How-to

Khách hàng cần các giải pháp để theo dõi dữ liệu kiểm kê như tệp và phần mềm trên các phiên bản Amazon Elastic Compute Cloud (Amazon EC2), phát hiện các thay đổi trái phép và tích hợp cảnh báo vào quy trình bảo mật hiện có của họ.

Trong bài đăng trên blog này, tôi sẽ hướng dẫn bạn một giải pháp giám sát tính toàn vẹn của tệp không máy chủ có khả năng mở rộng cao. Giải pháp này sử dụng AWS Systems Manager Inventory để thu thập siêu dữ liệu tệp từ các phiên bản Amazon EC2. Siêu dữ liệu được gửi thông qua tính năng Systems Manager Resource Data Sync đến một bucket Amazon Simple Storage Service (Amazon S3) được phiên bản hóa, lưu trữ một đối tượng kiểm kê cho mỗi phiên bản EC2. Mỗi khi một đối tượng mới được tạo trong Amazon S3, một Thông báo sự kiện Amazon S3 sẽ kích hoạt một hàm AWS Lambda tùy chỉnh. Hàm Lambda này so sánh phiên bản kiểm kê mới nhất với phiên bản trước đó để phát hiện các thay đổi tệp. Nếu một tệp không được mong đợi thay đổi đã được tạo, sửa đổi hoặc xóa, hàm sẽ tạo một phát hiện có thể hành động trong AWS Security Hub. Các phát hiện sau đó được Amazon Security Lake thu thập ở định dạng OCSF tiêu chuẩn, tập trung và chuẩn hóa dữ liệu. Cuối cùng, dữ liệu có thể được phân tích bằng Amazon Athena cho các truy vấn một lần, hoặc bằng cách xây dựng các bảng điều khiển trực quan với Amazon QuickSightAmazon OpenSearch Service. Hình 1 tóm tắt luồng này:


Hình 1: Quy trình giám sát tính toàn vẹn của tệp

Tích hợp này cung cấp một giải pháp thay thế cho tích hợp AWS ConfigSecurity Hub mặc định, vốn dựa trên dữ liệu hạn chế (ví dụ: không có dấu thời gian sửa đổi tệp). Giải pháp được trình bày trong bài đăng này cung cấp quyền kiểm soát và tính linh hoạt để triển khai logic tùy chỉnh phù hợp với nhu cầu hoạt động của bạn và hỗ trợ các nỗ lực liên quan đến bảo mật.

Giải pháp linh hoạt này cũng có thể được sử dụng với các siêu dữ liệu Systems Manager Inventory khác, chẳng hạn như các ứng dụng đã cài đặt, cấu hình mạng hoặc các mục đăng ký Windows, cho phép logic phát hiện tùy chỉnh trên nhiều trường hợp sử dụng hoạt động và bảo mật.

Bây giờ chúng ta hãy xây dựng giải pháp giám sát tính toàn vẹn của tệp.

Điều kiện tiên quyết

Trước khi bắt đầu, bạn cần một tài khoản AWS với các quyền để tạo và quản lý các tài nguyên AWS như Amazon EC2, AWS Systems Manager, Amazon S3 và Lambda.

Bước 1: Khởi động một phiên bản EC2

Bắt đầu bằng cách khởi chạy một phiên bản EC2 và tạo một tệp mà bạn sẽ sửa đổi sau này để mô phỏng một thay đổi trái phép.

Tạo một vai trò AWS Identity and Access Management (IAM) để cho phép phiên bản EC2 giao tiếp với Systems Manager:

  1. Mở AWS Management Console và truy cập IAM, chọn Roles từ ngăn điều hướng, sau đó chọn Create role.
  2. Trong Trusted entity type, chọn AWS service, chọn EC2 làm trường hợp sử dụng, và chọn Next.
  3. Trên trang Add permissions, tìm kiếm và chọn chính sách IAM AmazonSSMManagedInstanceCore, sau đó chọn Next.
  4. Nhập SSMAccessRole làm tên vai trò và chọn Create role.
  5. SSMAccessRole mới bây giờ sẽ xuất hiện trong danh sách các vai trò IAM của bạn:

Figure 2: Create an IAM role for communication with Systems Manager
Hình 2: Tạo vai trò IAM để giao tiếp với Systems Manager

Khởi động một phiên bản EC2:

  1. Mở bảng điều khiển Amazon EC2 và chọn Launch Instance.
  2. Nhập Name, giữ nguyên Amazon Machine Image (AMI) Linux mặc định và chọn Instance type (ví dụ: t3.micro).
  3. Trong Advanced details:
    a. IAM instance profile, chọn SSMAccessRole đã tạo trước đó.
    b. Tạo một tệp cấu hình ứng dụng thanh toán giả định trong thư mục `/etc/paymentapp/` trên phiên bản EC2. Sau này, bạn sẽ sửa đổi nó để minh họa một sự kiện thay đổi tệp cho việc giám sát tính toàn vẹn. Để tạo tệp này trong quá trình khởi động EC2, hãy sao chép và dán tập lệnh sau vào User data.
#!/bin/bash
mkdir -p /etc/paymentapp
echo "db_password=initial123" > /etc/paymentapp/config.yaml


Hình 3: Thêm tệp cấu hình ứng dụng

  1. Để lại các cài đặt còn lại là mặc định, chọn Proceed without key pair, và sau đó chọn Launch Instance. Không cần cặp khóa cho bản demo này vì bạn sử dụng Session Manager để truy cập.

Bước 2: Bật Security Hub và Security Lake

Nếu Security Hub và Security Lake đã được bật, bạn có thể bỏ qua Bước 3.
Để bắt đầu, hãy bật Security Hub, nơi thu thập và tổng hợp các phát hiện bảo mật. AWS Security Hub CSPM bổ sung khả năng giám sát liên tục và kiểm tra tự động theo các phương pháp hay nhất.

  1. Mở bảng điều khiển Security Hub.
  2. Chọn Security Hub CSPM từ ngăn điều hướng và sau đó chọn Enable AWS Security Hub CSPM và chọn Enable Security Hub CSPM ở cuối trang.

Lưu ý: Đối với bản demo này, bạn không cần các tùy chọn Security standards và có thể bỏ chọn chúng.


Hình 4: Bật Security Hub CSP

Tiếp theo, kích hoạt Security Lake để bắt đầu thu thập các phát hiện có thể hành động từ Security Hub:

  1. Mở bảng điều khiển Amazon Security Lake và chọn Get Started.
  2. Trong Data sources, chọn Ingest specific AWS sources.
  3. Trong Log and event sources, chọn Security Hub (bạn sẽ chỉ sử dụng cái này cho bản demo này):


Hình 5: Chọn nguồn nhật ký và sự kiện

  1. Trong Select Regions, chọn Specific Regions và đảm bảo bạn chọn Vùng AWS mà bạn đang sử dụng.
  2. Sử dụng tùy chọn mặc định để Create and use a new service role.
  3. Chọn NextNext một lần nữa, sau đó chọn Create.

Bước 3: Cấu hình Systems Manager Inventory và đồng bộ hóa với Amazon S3

Với Security Hub và Security Lake đã được bật, bước tiếp theo là bật Systems Manager Inventory để thu thập siêu dữ liệu tệp và cấu hình Resource Data Sync để xuất dữ liệu này sang S3 để phân tích.

  1. Tạo một bucket S3 bằng cách làm theo cẩn thận các hướng dẫn trong phần Để tạo và cấu hình một bucket Amazon S3 cho đồng bộ hóa dữ liệu tài nguyên.
  2. Sau khi bạn đã tạo bucket, hãy bật tính năng phiên bản hóa trong bảng điều khiển Amazon S3 bằng cách mở tab Properties của bucket, chọn Edit trong Bucket Versioning, chọn Enable và lưu các thay đổi của bạn. Tính năng phiên bản hóa khiến mỗi ảnh chụp nhanh kiểm kê mới được lưu dưới dạng một phiên bản riêng biệt, để bạn có thể theo dõi các thay đổi tệp theo thời gian.

Lưu ý: Trong môi trường sản xuất, hãy bật ghi nhật ký truy cập máy chủ S3 trên bucket kiểm kê để giữ lại dấu vết kiểm toán các yêu cầu truy cập, buộc truy cập chỉ HTTPS và bật sự kiện dữ liệu CloudTrail cho S3 để ghi lại ai đã truy cập hoặc sửa đổi các tệp kiểm kê.

Bước tiếp theo là bật Systems Manager Inventory và thiết lập đồng bộ hóa dữ liệu tài nguyên:

  1. Trong bảng điều khiển Systems Manager, truy cập Fleet Manager, chọn Account management, và chọn Set up inventory.
  2. Giữ nguyên các giá trị mặc định nhưng bỏ chọn mọi loại kiểm kê ngoại trừ File. Đặt Path để giới hạn việc thu thập chỉ các tệp liên quan đến bản demo này và các yêu cầu bảo mật của bạn. Trong File, đặt Path thành: `/etc/paymentapp/`.


Hình 6: Đặt các tham số và đường dẫn

  1. Chọn Setup Inventory.
  2. Trong Fleet Manager, chọn Account management và chọn Resource Data Syncs.
  3. Chọn Create resource data sync, nhập Sync name, và nhập tên của bucket S3 đã được phiên bản hóa mà bạn đã tạo trước đó.
  4. Chọn This Region và sau đó chọn Create.

Bước 4: Triển khai hàm Lambda

Tiếp theo, hoàn tất thiết lập để phát hiện các thay đổi và tạo các phát hiện. Mỗi khi Systems Manager Inventory ghi một đối tượng mới vào Amazon S3, một Thông báo sự kiện S3 sẽ kích hoạt một hàm Lambda so sánh các phiên bản đối tượng mới nhất và trước đó. Nếu nó tìm thấy các tệp đã được tạo, sửa đổi hoặc xóa, nó sẽ tạo một phát hiện bảo mật. Để thực hiện điều này, bạn sẽ tạo hàm Lambda, đặt các biến môi trường của nó, thêm lớp trợ giúp và đính kèm các quyền cần thiết.

Sau đây là một ví dụ về phát hiện được tạo ở Định dạng phát hiện bảo mật AWS (ASFF) và được gửi đến Security Hub. Trong ví dụ này, bạn thấy một thông báo về thay đổi tệp trên phiên bản EC2 được liệt kê trong phần Resources.

{
...
"Id": "fim-i-0b8f40f4de065deba-2025-07-12T13:48:31.741Z",
"AwsAccountId": "XXXXXXXXXXXX",
"Types": [
"Software and Configuration Checks/File Integrity Monitoring"
],
"Severity": {
"Label": "MEDIUM"
},
"Title": "File changes detected via SSM Inventory",
"Description": "0 created, 1 modified, 0 deleted file(s) on instance i-0b8f40f4de065deba",
"Resources": [
{
"Type": "AwsEc2Instance",
"Id": "i-0b8f40f4de065deba"
}
],
...
}

Tạo hàm Lambda

Hàm này phát hiện các thay đổi tệp, báo cáo các phát hiện và xóa các phiên bản đối tượng Amazon S3 không sử dụng để giảm chi phí.

  1. Mở bảng điều khiển Lambda và chọn Create function trong ngăn điều hướng.
  2. Đối với Function Name nhập `fim-change-detector`.
  3. Chọn Author from scratch, nhập tên hàm, chọn thời gian chạy Python mới nhất và chọn Create function.
  4. Trên tab Code, dán hàm chính sau và chọn Deploy.
import boto3, os, json, re
from datetime import datetime, UTC
from urllib.parse import unquote_plus
from helpers import is_critical, load_file_metadata, is_modified, extract_instance_id
s3 = boto3.client('s3')
securityhub = boto3.client('securityhub')
CRITICAL_FILE_PATTERNS = os.environ["CRITICAL_FILE_PATTERNS"].split(",")
SEVERITY_LABEL = os.environ["SEVERITY_LABEL"]
def lambda_handler(event, context):
# Safe event handling
if "Records" not in event or not event["Records"]:
return
# Extract S3 event
record = event['Records'][0]
bucket = record['s3']['bucket']['name']
key = unquote_plus(record['s3']['object']['key'])
current_version = record['s3']['object'].get('versionId')
if not current_version:
return
# Fetching the region name
account_id = context.invoked_function_arn.split(":")[4]
region = boto3.session.Session().region_name
# Get object versions (latest first)
versions = s3.list_object_versions(Bucket=bucket, Prefix=key).get('Versions', [])
versions = sorted(versions, key=lambda v: v['LastModified'], reverse=True)
# Find previous version
idx = next((i for i,v in enumerate(versions) if v["VersionId"] == current_version), None)
if idx is None or idx + 1 >= len(versions):
return
prev_version = versions[idx+1]["VersionId"]
# Load both versions
current = load_file_metadata(bucket, key, current_version)
previous = load_file_metadata(bucket, key, prev_version)
# Compare
created = {p for p in set(current) - set(previous) if is_critical(p)}
deleted = {p for p in set(previous) - set(current) if is_critical(p)}
modified = {p for p in set(current) & set(previous) if is_critical(p) and is_modified(p, current, previous)}
# Report if changes were found
if created or deleted or modified:
instance_id = extract_instance_id(bucket, key, current_version)
now = datetime.now(UTC).isoformat(timespec='milliseconds').replace('+00:00', 'Z')
finding = {
"SchemaVersion": "2018-10-08",
"Id": f"fim-{instance_id}-{now}",
"ProductArn": f"arn:aws:securityhub:{region}:{account_id}:product/{account_id}/default",
"AwsAccountId": account_id,
"GeneratorId": "ssm-inventory-fim",
"CreatedAt": now,
"UpdatedAt": now,
"Types": ["Software and Configuration Checks/File Integrity Monitoring"],
"Severity": {"Label": SEVERITY_LABEL},
"Title": "File changes detected via SSM Inventory",
"Description": (
f"{len(created)} created, {len(modified)} modified, "
f"{len(deleted)} deleted file(s) on instance {instance_id}"
),
"Resources": [{"Type": "AwsEc2Instance", "Id": instance_id}]
}
securityhub.batch_import_findings(Findings=[finding])
# No change – delete older S3 version
else:
if prev_version != current_version:
try:
s3.delete_object(Bucket=bucket, Key=key, VersionId=prev_version)
except Exception as e:
print(f"Delete previous S3 object version failed: {e}")

Lưu ý: Trong môi trường sản xuất, hãy đặt Lambda reserved concurrency để ngăn chặn việc mở rộng không giới hạn, cấu hình một dead letter queue (DLQ) để ghi lại các lần gọi không thành công và tùy chọn đính kèm hàm vào một Amazon VPC để cách ly mạng.

Cấu hình biến môi trường

Cấu hình hai biến môi trường bắt buộc trong bảng điều khiển Lambda. Hai biến này (một cho các đường dẫn quan trọng cần giám sát và một cho mức độ nghiêm trọng của phát hiện bảo mật) phải được đặt nếu không hàm sẽ thất bại.

  1. Mở bảng điều khiển Lambda và chọn Configuration sau đó chọn Environment variables.
  2. Chọn Edit và sau đó chọn Add environment variable.
  3. Trong Key, chọn CRITICAL_FILE_PATTERNS
    a. Nhập `^/etc/paymentapp/config.*$` làm giá trị.
    b. Đặt SEVERITY_LABEL thành MEDIUM.


Hình 7: Cấu hình CRITICAL_FILE_PATTERNS và SEVERITY_LABEL

Thiết lập quyền hạn

Bước tiếp theo là đính kèm quyền hạn cho hàm Lambda

  1. Trong hàm Lambda của bạn, chọn Configuration và sau đó chọn Permissions.
  2. Trong Execution role, chọn tên vai trò sẽ dẫn đến vai trò trong IAM.
  3. Chọn Add permissions và chọn Create inline policy. Chọn JSON view.
  4. Dán chính sách sau, và đảm bảo thay thế `<bucket-name>` bằng tên bucket S3 của bạn, và bạn cũng cập nhật `<region>``<account-id>` bằng Vùng AWS và ID tài khoản của bạn:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "securityhub:BatchImportFindings",
"Resource": "arn:aws:securityhub:<region>:<account-id>:product/<account-id>/default"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:ListBucketVersions",
"s3:DeleteObjectVersion"
],
"Resource": [
"arn:aws:s3:::<bucket-name>",
"arn:aws:s3:::<bucket-name>/*"
]
}
]
}
  1. Để hoàn tất, nhập Policy name và chọn Create policy.

Thêm các hàm vào Lambda layer

Để có tính mô-đun tốt hơn, hãy thêm một số hàm trợ giúp vào một Lambda layer. Các hàm này đã được tham chiếu trong phần import của mã Python của hàm Lambda trước đó. Các hàm trợ giúp kiểm tra các đường dẫn quan trọng, tải siêu dữ liệu tệp, so sánh thời gian sửa đổi và trích xuất ID phiên bản EC2.

Mở AWS CloudShell từ góc trên bên phải của tiêu đề bảng điều khiển AWS, sau đó sao chép và dán tập lệnh sau và nhấn Enter. Nó tạo lớp trợ giúp và đính kèm nó vào hàm Lambda của bạn.

#!/bin/bash
set -e
FUNCTION_NAME="fim-change-detector"
LAYER_NAME="fim-change-detector-layer"
mkdir -p python
cat > python/helpers.py << 'EOF'
import json, re, os
from dateutil.parser import parse as parse_dt
import boto3
s3 = boto3.client('s3')
CRITICAL_FILE_PATTERNS = os.environ.get("CRITICAL_FILE_PATTERNS", "").split(",")
def is_critical(path):
return any(re.match(p.strip(), path) for p in CRITICAL_FILE_PATTERNS if p.strip())
def load_file_metadata(bucket, key, version_id):
obj = s3.get_object(Bucket=bucket, Key=key, VersionId=version_id)
data = {}
for line in obj['Body'].read().decode().splitlines():
if line.strip():
i = json.loads(line)
n, d, m = i.get("Name","").strip(), i.get("InstalledDir","").strip(), i.get("ModificationTime","").strip()
if n and d and m: data[f"{d.rstrip('/')}/{n}"] = m
return data
def is_modified(path, current, previous):
try: return parse_dt(current[path]) != parse_dt(previous[path])
except: return current[path] != previous[path]
def extract_instance_id(bucket, key, version_id):
obj = s3.get_object(Bucket=bucket, Key=key, VersionId=version_id)
for line in obj['Body'].read().decode().splitlines():
if line.strip():
r = json.loads(line)
if "resourceId" in r: return r["resourceId"]
return None
EOF
zip -r helpers_layer.zip python >/dev/null
LAYER_VERSION_ARN=$(aws lambda publish-layer-version \
--layer-name "$LAYER_NAME" \
--description "Helper functions for File Integrity Monitoring" \
--zip-file fileb://helpers_layer.zip \
--compatible-runtimes python3.13 \
--query 'LayerVersionArn' \
--output text)
aws lambda update-function-configuration \
--function-name "$FUNCTION_NAME" \
--layers "$LAYER_VERSION_ARN" >/dev/null
echo "Layer created and attached to the Lambda function."

Bước 5: Thiết lập thông báo sự kiện S3

Cuối cùng, thiết lập Thông báo sự kiện S3 để kích hoạt hàm Lambda khi dữ liệu kiểm kê mới đến.

  1. Mở bảng điều khiển S3 và chọn bucket Systems Manager Inventory mà bạn đã tạo.
  2. Chọn Properties và chọn Event notifications.
  3. Chọn Create event notification.
    a. Nhập Event name.
    b. Trong trường Prefix, nhập `AWS%3AFile/` để giới hạn các kích hoạt Lambda chỉ cho các đối tượng kiểm kê tệp.
    Lưu ý: Tiền tố chứa ký tự :, phải được mã hóa URL thành `%3A`.
    c. Trong Event types, chọn Put.
    d. Ở phía dưới, chọn Lambda function mới tạo của bạn, và chọn Save changes.

Trong ví dụ này, việc thu thập kiểm kê chạy cứ sau 30 phút (48 lần mỗi ngày) nhưng có thể được điều chỉnh dựa trên các yêu cầu bảo mật để tối ưu hóa chi phí. Hàm Lambda được kích hoạt một lần cho mỗi phiên bản bất cứ khi nào một đối tượng kiểm kê mới được tạo. Bạn có thể giảm thêm khối lượng sự kiện bằng cách lọc các phiên bản EC2 thông qua tiền tố Thông báo sự kiện S3, cho phép giám sát tập trung các phiên bản có giá trị cao.

Bước 6: Kiểm tra luồng phát hiện thay đổi tệp

Bây giờ phiên bản EC2 đang chạy và tệp cấu hình mẫu `/etc/paymentapp/config.yaml` đã được khởi tạo, bạn đã sẵn sàng mô phỏng một thay đổi trái phép để kiểm tra thiết lập giám sát tính toàn vẹn của tệp.

  1. Mở bảng điều khiển Systems Manager.
  2. Truy cập Session Manager và chọn Start session.
  3. Chọn EC2 instance của bạn và chọn Start Session.
  4. Chạy lệnh sau để sửa đổi tệp:

`echo “db_password=hacked456" | sudo tee /etc/paymentapp/config.yaml`

Điều này mô phỏng một sự kiện giả mạo cấu hình. Trong lần chạy Systems Manager Inventory tiếp theo, siêu dữ liệu đã cập nhật sẽ được lưu vào Amazon S3.

Để kích hoạt thủ công điều này:

  1. Mở bảng điều khiển Systems Manager và chọn State Manager.
  2. Chọn liên kết của bạn và chọn Apply association now để bắt đầu cập nhật kiểm kê.
  3. Sau khi trạng thái liên kết thay đổi thành Success, hãy kiểm tra SSM Inventory S3 bucket của bạn trong thư mục `AWS:File` và xem xét đối tượng kiểm kê và các phiên bản của nó.
  4. Mở bảng điều khiển Security Hub và chọn Findings. Sau một thời gian ngắn, bạn sẽ thấy một phát hiện mới như được hiển thị trong Hình 8:


Hình 8: Xem các phát hiện thay đổi tệp

Bước 7: Truy vấn và trực quan hóa các phát hiện

Trong khi Security Hub cung cấp một cái nhìn tập trung về các phát hiện, bạn có thể đào sâu phân tích của mình bằng cách sử dụng Amazon Athena để chạy các truy vấn SQL trực tiếp trên dữ liệu Security Lake đã được chuẩn hóa trong Amazon S3. Dữ liệu này tuân theo Khung lược đồ an ninh mạng mở (OCSF), một tiêu chuẩn độc lập với nhà cung cấp giúp đơn giản hóa việc tích hợp và phân tích dữ liệu bảo mật trên các công cụ và dịch vụ khác nhau.

Sau đây là một ví dụ về truy vấn Athena:

SELECT
finding_info.desc AS description,
class_uid AS class_id,
severity AS severity_label,
type_name AS finding_type,
time_dt AS event_time,
region,
accountid
FROM amazon_security_lake_table_us_east_1_sh_findings_2_0

Lưu ý: Đảm bảo điều chỉnh mệnh đề FROM cho các Vùng khác. Security Lake xử lý các phát hiện trước khi chúng xuất hiện trong Athena, vì vậy hãy đợi một thời gian ngắn giữa việc thu thập và dữ liệu có sẵn.
Bạn sẽ thấy một kết quả tương tự cho truy vấn trước đó, được hiển thị trong Hình 9:


Hình 9: Kết quả truy vấn Athena trong trình chỉnh sửa truy vấn Amazon Athena

Security Lake phân loại phát hiện này là Lớp 2004 OCSF, Phát hiện. Bạn có thể khám phá các định nghĩa lược đồ đầy đủ tại Danh mục OCSF. Để biết thêm các ví dụ truy vấn, hãy xem các ví dụ truy vấn Security Lake.
Để khám phá trực quan và hiểu biết theo thời gian thực, bạn có thể tích hợp Security Lake với OpenSearch Service và QuickSight, cả hai đều hiện cung cấp hỗ trợ AI tạo sinh mở rộng. Để được hướng dẫn chi tiết bằng QuickSight, hãy xem Cách trực quan hóa các phát hiện của Amazon Security Lake với Amazon QuickSight.

Dọn dẹp

Sau khi kiểm tra hướng dẫn từng bước, hãy đảm bảo dọn dẹp các tài nguyên bạn đã tạo cho bài đăng này để tránh các chi phí phát sinh.

  1. Chấm dứt phiên bản EC2
  2. Xóa Resource Data Sync và Inventory Association
  3. Xóa hàm Lambda.
  4. Tắt Security Lake và Security Hub CSPM
  5. Xóa các vai trò IAM được tạo cho bài đăng này
  6. Xóa các bucket SSM Resource Data Sync và Security Lake S3 liên quan.

Kết luận

Trong bài đăng này, bạn đã học cách sử dụng Systems Manager Inventory để theo dõi tính toàn vẹn của tệp, báo cáo các phát hiện cho Security Hub và phân tích chúng bằng Security Lake.
Bạn có thể truy cập mã mẫu đầy đủ để thiết lập giải pháp này trong kho lưu trữ AWS Samples.
Mặc dù bài đăng này sử dụng thiết lập một tài khoản, một Vùng để đơn giản, Security Lake hỗ trợ thu thập dữ liệu trên nhiều tài khoản và Vùng bằng cách sử dụng AWS Organizations. Bạn cũng có thể sử dụng đồng bộ hóa dữ liệu tài nguyên Systems Manager để gửi dữ liệu kiểm kê đến một bucket S3 trung tâm.

Bắt đầu với Amazon Security LakeSystems Manager Inventory cung cấp hướng dẫn để bật giám sát tập trung vào đám mây có khả năng mở rộng với đầy đủ ngữ cảnh hoạt động.

Về tác giả


Adam Nemeth
Adam là Kiến trúc sư Giải pháp cấp cao và người đam mê AI tạo sinh tại AWS, giúp khách hàng dịch vụ tài chính bằng cách áp dụng văn hóa Ngày 1 và sự tận tâm với khách hàng của Amazon. Với hơn 24 năm kinh nghiệm CNTT, Adam trước đây đã làm việc tại UBS với tư cách là kiến trúc sư và cũng từng là trưởng nhóm triển khai, tư vấn viên và doanh nhân. Anh sống ở Thụy Sĩ cùng vợ và ba con.