Nhiều nhóm bảo mật EC2 - cho phép hay hạn chế?


27

Điều gì xảy ra khi tôi gán nhiều nhóm bảo mật cho một thể hiện? Có phải nó được cho phép theo nghĩa là lưu lượng được cho phép nếu bất kỳ một trong các nhóm bảo mật cho phép nó. HOẶC nó có bị hạn chế theo nghĩa là mọi nhóm bảo mật phải cho phép lưu lượng truy cập cho nó được truyền vào không?

Ví dụ: giả sử tôi có một lớp các trường hợp sẽ chỉ nói chuyện với các phiên bản khác trong cùng một tài khoản. Tôi cũng có một lớp các trường hợp sẽ chỉ chấp nhận lưu lượng truy cập qua HTTP (cổng 80).

Có thể hạn chế quyền truy cập vào các phiên bản nội bộ và chỉ thông qua HTTP bằng cách tạo và áp dụng hai nhóm bảo mật:

  1. Một nhóm bảo mật "nội bộ". Cho phép tất cả lưu lượng truy cập từ các thành viên khác trong nhóm bảo mật đó trên tất cả các cổng cho tất cả các vận chuyển (TCP, UDP, ICMP)
  2. Tạo một nhóm bảo mật "http". Cho phép tất cả lưu lượng truy cập vào cổng 80 thông qua TCP từ bất kỳ nguồn nào.

HOẶC Tôi có bị buộc phải tạo một nhóm bảo mật duy nhất cho phép lưu lượng truy cập từ cổng 80 trong đó chính nguồn đó không?

Câu trả lời:


5

Nếu một thể hiện có nhiều nhóm bảo mật, nó có tổng của tất cả các quy tắc trong các nhóm khác nhau.

Ví dụ: giả sử tôi có một lớp các trường hợp sẽ chỉ nói chuyện với các phiên bản khác trong cùng một tài khoản. Tôi cũng có một lớp các trường hợp sẽ chỉ chấp nhận lưu lượng truy cập qua http (cổng 80).

Đây là một tình huống hoàn hảo cho Đám mây riêng ảo AWS. Đặt các thể hiện nội bộ trong các mạng con riêng tư và các thể hiện đối diện công khai trong các mạng con công cộng.


ceejayoz - Vậy đó là trường hợp "hạn chế"? Có nghĩa là hai giải pháp nhóm bảo mật sẽ làm việc? Đồng ý về giải pháp VPC; ví dụ của tôi là nhiều hơn để hiểu làm thế nào nhiều nhóm làm việc. Bạn đã tìm thấy câu trả lời ở đâu?
SFun28

Bạn muốn có một nhóm bảo mật cho các phiên bản nội bộ và một nhóm khác cho các phiên bản công khai. Thêm nhóm 80: 0.0.0.0 / đối mặt công khai vào các phiên bản nội bộ sẽ giúp chúng có sẵn cho internet công cộng.
ceejayoz

1
Để được rõ ràng, bạn đang nói rằng lưu lượng truy cập được cho phép nếu bất kỳ nhóm bảo mật cá nhân nào cho phép nó? Tôi bị ném ra bởi nhận xét của bạn về "tổng của tất cả các quy tắc" bởi vì khi tôi nghĩ về tổng, tôi nghĩ VÀ thay vì HOẶC.
SFun28

2
Có, nếu bất kỳ nhóm nào được áp dụng cho một thể hiện cho phép nó, điều đó được cho phép. Quy tắc nhóm được ORed với nhau, không ANDed.
ceejayoz

7
Tại sao mọi người không thể trả lời câu hỏi được hỏi thay vì chèn ý tưởng của họ về những gì nên làm. Nếu bạn sẽ làm điều đó ít nhất là trả lời đúng câu hỏi trước. Jeez
Bill Rosmus

28

Cho phép.

Theo AWS tại đây: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/USE-network-security.html#security-group-rules

Nếu có nhiều hơn một quy tắc cho một cổng cụ thể, chúng tôi sẽ áp dụng quy tắc cho phép nhất. Ví dụ: nếu bạn có quy tắc cho phép truy cập vào cổng TCP 22 (SSH) từ địa chỉ IP 203.0.113.1 và một quy tắc khác cho phép truy cập vào cổng TCP 22 từ mọi người, mọi người đều có quyền truy cập vào cổng TCP 22.


3

Đây là phản hồi từ hỗ trợ tài liệu AWS. Họ nói rằng họ sẽ cập nhật tài liệu:

Tôi tìm thấy một vài bài đăng trên diễn đàn thảo luận giải quyết các vấn đề tương tự với các quy tắc xung đột trong một hoặc nhiều nhóm bảo mật:

https://forums.aws.amazon.com/thread.jspa?messageID=221768

https://forums.aws.amazon.com/thread.jspa?messageID=349244吼

Khi nhiều nhóm bảo mật được áp dụng cho một thể hiện, các quy tắc được tổng hợp để tạo ra một bộ quy tắc lớn. Trong EC2, các quy tắc nhóm bảo mật chỉ được cho phép, nói cách khác, bạn không thể thêm bất kỳ quy tắc DENY nào. Điều này có nghĩa là quy tắc cho phép nhất sẽ luôn được áp dụng. Ví dụ: nếu bạn có một nhóm bảo mật cho phép truy cập vào cổng 22 từ địa chỉ IP 10.10.10.10 và một nhóm bảo mật khác cho phép truy cập vào cổng 22 từ mọi người, mọi người sẽ có quyền truy cập vào cổng 22 trên ví dụ.


0

Khi bạn chỉ định nhóm bảo mật làm nguồn hoặc đích cho quy tắc, quy tắc sẽ ảnh hưởng đến tất cả các trường hợp được liên kết với nhóm bảo mật. Lưu lượng truy cập đến được cho phép dựa trên địa chỉ IP riêng của các phiên bản được liên kết với nhóm bảo mật nguồn (chứ không phải địa chỉ IP công cộng hoặc địa chỉ IP đàn hồi). Để biết thêm thông tin về địa chỉ IP, hãy xem Địa chỉ IP của Instance Amazon EC2. Nếu quy tắc nhóm bảo mật của bạn tham chiếu nhóm bảo mật trong VPC ngang hàng và nhóm bảo mật tham chiếu hoặc kết nối tiên phong VPC bị xóa, quy tắc này được đánh dấu là cũ. Để biết thêm thông tin, hãy xem Làm việc với Quy tắc nhóm bảo mật cũ trong Hướng dẫn ngang hàng Amazon VPC.

Nếu có nhiều hơn một quy tắc cho một cổng cụ thể, chúng tôi sẽ áp dụng quy tắc cho phép nhất. Ví dụ: nếu bạn có quy tắc cho phép truy cập vào cổng TCP 22 (SSH) từ địa chỉ IP 203.0.113.1 và một quy tắc khác cho phép truy cập vào cổng TCP 22 từ mọi người, mọi người đều có quyền truy cập vào cổng TCP 22.

Khi bạn liên kết nhiều nhóm bảo mật với một thể hiện, các quy tắc từ mỗi nhóm bảo mật được tổng hợp một cách hiệu quả để tạo một bộ quy tắc. Chúng tôi sử dụng bộ quy tắc này để xác định xem có cho phép truy cập hay không.

Thận trọng Vì bạn có thể gán nhiều nhóm bảo mật cho một thể hiện, một thể hiện có thể có hàng trăm quy tắc được áp dụng. Điều này có thể gây ra vấn đề khi bạn truy cập thể hiện. Do đó, chúng tôi khuyên bạn nên cô đọng các quy tắc của mình càng nhiều càng tốt.

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.