IMDS và IMDSv2 là gì?
Instance Metadata Service (IMDS) là một dịch vụ của Amazon EC2 cho phép lấy nhiều loại thông tin từ instance (trên OS).
v2 có nghĩa là version 2, và hiện tại phiên bản mặc định là IMDSv2.
Xem thêm về sự chuyển đổi này: New Instance Metadata Service (IMDS) Packet Analyzer simplifies migration to IMDSv2 (amazon.com)
Điểm khác biệt giữa v1 và v2 là sự tăng cường bảo mật để ngăn chặn việc lạm dụng metadata instance bởi kẻ tấn công.
・ Instance Metadata Service Version 1 (IMDSv1) – Phương thức Gửi/Nhận (Request/Response Methods)
・ Instance Metadata Service Version 2 (IMDSv2) – Phương thức hướng phiên (Session-Oriented Methods)
– Instance Metadata Service Version 1 (IMDSv1)
Metadata có thể được truy xuất thông qua việc gửi các yêu cầu HTTP từ trong EC2. Do đó, nó có thể được coi là phương thức Request/Response.
– Instance Metadata Service Version 2 (IMDSv2)
Từ version 2, bảo mật đã được tăng cường.
Bước đầu tiên, cần lấy một session token (có thời hạn, được xem như mật khẩu), không thể lấy token nếu không có PUT request. Thời hạn của session token tối đa là 6 giờ (từ 1 giây đến 6 giờ).
Sử dụng Session header token để lưu trữ giá trị trong một biến gọi là “TOKEN”. Sau đó, token sẽ được sử dụng để lấy dữ liệu. Sau khi tạo token, bạn có thể sử dụng lại token đó cho đến khi hết thời hạn đã đặt.
Nội dung cập nhật
Hiện tại, SDK mặc định được cài đặt là IMDSv2. Để tận dụng tối đa lợi ích về truy cập an toàn của IMDSv2, bạn cần vô hiệu hóa IMDSv1 trên instance EC2.
Điều này đòi hỏi phần mềm tùy chỉnh và các ứng dụng bên thứ ba đang sử dụng IMDSv1 cần được cập nhật để tương thích với IMDSv2.
IMDS packet analyzer đã được công bố giúp dễ dàng cập nhật từ IMDSv1 lên IMDSv2.
Sử dụng IMDS packet analyzer, bạn có thể nắm được các quy trình và chi tiết liên quan đến cách gọi IMDS. IMDS packet analyzer là một công cụ mã nguồn mở có thể chạy từ CLI hoặc cài đặt như một dịch vụ để xác định và ghi log các request IMDSv1 từ giai đoạn khởi động của instance.
Cách sử dụng IMDS Packet Analyzer
Bạn có thể xem ở đây
AWS ImdsPacketAnalyzer theo dõi các TCP trả về từ EC2 Instance Metadata Service (IMDS). Việc theo dõi này giúp bạn biết chương trình nào đang gọi IMDSv1 trên máy chủ.
ImdsPacketAnalyzer sử dụng BPF Compiler Collection (BCC). Để chạy được trình phân tích, bạn cần cài đặt các packages liên quan tuỳ theo BCC.
Amazon Linux 2023
Cài đặt BCC
sudo dnf install bcc-tools
Amazon Linux 2
Cài đặt BCC (BPF Compiler Collection):
sudo amazon-linux-extras enable BCC
sudo yum install kernel-devel-$(uname -r)
sudo yum install bcc
BCC yêu cầu máy phân tích phải được chạy với quyền root. Khi bạn chạy tập lệnh sau sẽ mặc định ghi các lệnh gọi IMDS vào console và log.
sudo python3 src/imds_snoop.py
Để lại một bình luận