Làm thế nào để xác định phụ thuộc nhóm bảo mật AWS?


46

Amazon EC2 sẽ không cho phép tôi xóa một nhóm bảo mật, phàn nàn rằng nhóm vẫn còn phụ thuộc. Làm thế nào tôi có thể tìm thấy những phụ thuộc là gì?

aws ec2 mô tả-nhóm bảo mật không nói.


Câu trả lời là không đúng trong câu hỏi đó @MichaelHampton, mặc dù nó được đánh dấu như vậy.
konr

@konr Nếu bạn tin rằng câu hỏi cần câu trả lời tốt hơn, bạn có thể bắt đầu tiền thưởng .
Michael Hampton

Câu trả lời:


58

Dán ID nhóm bảo mật trong phần "Giao diện mạng" của EC2. Điều này sẽ tìm thấy việc sử dụng trên EC2, EB, RDS, ELB.

CLI: aws ec2 describe-network-interfaces --filters Name=group-id,Values=sg-123abc45


10

Cách tốt nhất để thực hiện việc này trong bảng điều khiển AWS EC2, là dán tên nhóm bảo mật vào trường tìm kiếm trong phần EC2-> Instances.

Tất cả các trường hợp được liên kết với nhóm bảo mật được dán sau đó sẽ cư trú - những đối tượng đó sẽ là các đối tượng ec2 (phụ thuộc).

Bạn cũng có thể chạy tìm kiếm này trong phần ELB và các dịch vụ AWS khác sử dụng các nhóm bảo mật.

Nếu bạn đang cố xóa nhóm bảo mật, bạn sẽ cần 'thay đổi nhóm bảo mật' cho từng phiên bản (nếu chúng ở trong VPC) hoặc tạo AMI và khởi chạy lại bằng nhóm bảo mật khác - sau đó xóa trường hợp cũ (nếu sử dụng EC2 cổ điển)

Hy vọng rằng sẽ giúp-


8

Bạn cần xem xét các đối tượng EC2 của mình chứ không phải các nhóm:

$ aws ec2 describe-instances --output text

Sau đó, hãy tìm "sg- *" hoặc sử dụng các công cụ xử lý luồng văn bản unix tiêu chuẩn để lấy ra dữ liệu bạn cần.

Ngoài ra, nếu bạn có một số lượng nhỏ các trường hợp, hãy sử dụng --output tablecho một danh sách được định dạng độc đáo.


2
aws ec2 describe-instances --output text | grep sg-
cdmckay

Vì một nhóm bảo mật có thể tham chiếu đến các nhóm bảo mật khác, có lẽ bạn cần chạy chức năng đó một cách đệ quy?
brendan

1
Đó là yên tĩnh không đầy đủ. Các nhóm bảo mật có thể được sử dụng ở nhiều nơi ngoài các trường hợp EC2 - ELB's, VPC, các nhóm bảo mật khác (như @enamendan đã đề cập), v.v.
Amos Shapira

@AmosShapira OP đã hỏi cụ thể về EC2. Nếu bạn thích, bạn luôn tự do chỉnh sửa câu trả lời của tôi để cải thiện nó.
EEAA

@AmosShapira Nó đã giải quyết vấn đề mà OP đang gặp phải. Câu trả lời SF không bắt buộc phải là câu trả lời toàn diện cho mọi tình huống có thể liên quan.
EEAA

7

Bạn có thể thẩm vấn các aws cli để lấy dữ liệu bạn muốn.

Bạn sẽ cần:

  • Liệt kê tất cả các nhóm bảo mật đang tìm kiếm tài liệu tham khảo cho nhóm được đề cập
  • Liệt kê tất cả các EC2 và các nhóm của họ
  • Liệt kê tất cả ELB và các nhóm của họ
  • Liệt kê tất cả các RDS và các nhóm của họ

Bạn cũng có thể sử dụng các thư viện, như boto https://code.google.com.vn/p/boto/ thay vì cls aws thô.


4

Các chức năng Lambda cũng có thể có Nhóm bảo mật. Tại thời điểm viết bài, Amazon không ngăn chặn việc xóa các nhóm bảo mật được sử dụng bởi các chức năng Lambda.

Tôi đã sử dụng điều này:

aws lambda list-functions | jq -c '.Functions[] | {FunctionArn, SecurityGroups: (.VpcConfig.SecurityGroupIds[]? // null) }'

2

Một vấn đề khác là Nhóm bảo mật phụ thuộc vào Nhóm bảo mật khác. Người ta có thể sử dụng lệnh này để tạo danh sách điều chỉnh (phụ thuộc trực tiếp):

aws ec2 describe-security-groups --query "SecurityGroups[*].{ID:GroupId,Name:GroupName,dependentOnSGs:IpPermissions[].UserIdGroupPairs[].GroupId}

Lý tưởng nhất, kết quả này nên được sử dụng để tìm ra đóng cửa Transitive (tất cả các phụ thuộc, trực tiếp & gián tiếp). Thật không may, tôi đã không tìm thấy một sử dụng đóng cửa Transitive.


1

Điều này có thể không có sẵn khi câu hỏi ban đầu được hỏi nhưng nếu bạn đi vào Bảng điều khiển AWS cho các nhóm bảo mật, hãy chọn (các) Nhóm trong câu hỏi và chọn Xóa hành động, lời nhắc kết quả sẽ cho bạn biết nếu nó được tham chiếu và bởi những gì .


1

Bạn có thể sử dụng công cụ Python này để liệt kê các nhóm bảo mật với các phụ thuộc của chúng. Nó cũng cho phép liệt kê các nhóm bảo mật không sử dụng (lỗi thời):

https://github.com/mingbowan/sgdeps


0

Câu trả lời được đánh dấu là không chính xác. Nếu bạn đang thấy Vi phạm phụ thuộc, có khả năng Nhóm bảo mật khác được tham chiếu trong cấu hình Quyền IP (Nhập) của bạn. Bạn sẽ cần phải thu hồi tất cả các quyền xâm nhập có chứa Nhóm bảo mật làm nguồn.


Tôi đoán câu hỏi ban đầu là những gì liên quan đến một số nhóm bảo mật. Có những thứ không phải là giao diện mạng tham chiếu các nhóm bảo mật (và các cổng vào của chúng) không? Nếu không, thì danh sách giao diện mạng là một câu trả lời tốt, phải không?
user14645

Mặc dù có giá trị theo quan điểm của bạn, nhưng tham chiếu đến nhóm bảo mật không phải là vi phạm phụ thuộc. Có thể xóa một nhóm bảo mật không được đính kèm với bất kỳ ENI nào nhưng được tham chiếu trong một nhóm bảo mật khác. Sau khi xóa xảy ra, bạn sẽ nhận được thông báo "Bạn có quy tắc nhóm bảo mật cũ" trong bảng điều khiển để cho biết rằng có một tham chiếu cũ đến nhóm bảo mật không tồn tại trong một quy tắc. Sau đó, nó sẽ cung cấp cho bạn một siêu liên kết "xem quy tắc cũ" để sửa đổi tình huống sau đó.
Denys Stroebel
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.