2014-11-28 12 views
12

Tôi đã nhìn thấy một loạt các câu hỏi tương tự như this one, nhưng không có câu trả lời chung nào. Tôi mới đến AWS. Tôi có 2 trường hợp đang chạy trong VPC của tôi ngay bây giờ. Tôi có một thiết lập ELB ở phía trước của họ đang làm việc tốt trong việc định tuyến lưu lượng truy cập cho cả hai. Vấn đề là, cả hai trường hợp cũng có thể bị tấn công với HTTP từ toàn bộ web. Tôi muốn thay đổi mọi thứ để trường hợp của tôi chỉ có thể chỉ được truy cập trên HTTP thông qua ELB của tôi. Tôi có thể làm cái này như thế nào?Chỉ cho phép truy cập HTTP vào các trường hợp AWS qua ELB

+1

Bạn có quen thuộc với các nhóm bảo mật trong AWS không? – helloV

Trả lời

22

Tôi đã tìm thấy những gì tôi đang tìm kiếm. Trong các nhóm bảo mật, bạn có thể thêm một nhóm bảo mật khác dưới dạng nguồn theo IP tùy chỉnh. Sẽ rất tuyệt nếu Amazon đã làm rõ hơn điều này được cho phép, vì một nhóm bảo mật không phải là một địa chỉ IP tùy chỉnh. Dù sao, đây là cách bạn làm điều đó: rules

+0

Bạn cũng có thể đặt các cá thể EC2 của mình trong mạng con riêng, điều đó có nghĩa là không có phương tiện để truy cập chúng từ Internet. Ngoài ra, không cần chúng có địa chỉ IP công cộng vì ELB sẽ sử dụng một địa chỉ IP nội bộ để truy cập chúng. –

+0

@Eli - nhóm bảo mật đó được áp dụng cho ai? Bản thân ELB hoặc EC2? – hybrid9

+0

@ hybrid9 bạn chỉnh sửa các quy tắc cho nhóm bảo mật của cá thể EC2 để cho phép truy cập HTTP/HTTPS từ nhóm bảo mật của ELB. – Eli

0

Tôi sẽ đề xuất phương pháp tiếp cận bổ sung sau đây lâu sau khi giải pháp gốc đã được chấp nhận. Các giải pháp ban đầu có lẽ là tốt nhất, nhưng cách tiếp cận dưới đây là thẳng về phía trước và nếu không có gì khác có thể hỗ trợ khắc phục sự cố.

Đầu tiên, tách rời khỏi các trường hợp bất kỳ quy tắc hoặc nhóm bảo mật nào cho phép http từ web lớn. Đặc biệt nghi ngờ là 0.0.0.0/0 có nghĩa là tất cả địa chỉ IP. Sau đó, trong nhóm bảo mật được áp dụng cho cá thể, cho phép cổng 80/http từ không gian địa chỉ riêng của VPC. Ví dụ, nếu không gian địa chỉ riêng của VPC là 172.31.0.0/16, thì cho phép phạm vi đó truy cập cá thể của bạn thông qua một nhóm bảo mật được áp dụng trực tiếp cho cá thể đó. Tại thời điểm này máy chủ httpd đăng nhập vào cá thể sẽ hiển thị các lần truy cập từ các địa chỉ riêng cụ thể của bộ cân bằng tải. Giả sử tệp mục tiêu của kiểm tra sức khỏe tồn tại và được phục vụ đúng cách bởi httpd, trạng thái kiểm tra tình trạng nhóm mục tiêu sẽ thay đổi từ không lành mạnh sang lành mạnh. Lưu ý rằng trình kiểm tra sức khỏe cân bằng tải tự xác định rõ ràng trong nhật ký httpd là ELB-HealthChecker.

172.31.3.56 - - [24/Oct/2017:17:02:36 +0000] "GET /index.html HTTP/1.1" 200 265 "-" "ELB-HealthChecker/2.0" 
172.31.20.249 - - [24/Oct/2017:17:02:36 +0000] "GET /index.html HTTP/1.1" 200 265 "-" "ELB-HealthChecker/2.0" 
172.31.3.56 - - [24/Oct/2017:17:03:06 +0000] "GET /index.html HTTP/1.1" 200 265 "-" "ELB-HealthChecker/2.0" 
172.31.20.249 - - [24/Oct/2017:17:03:06 +0000] "GET /index.html HTTP/1.1" 200 265 "-" "ELB-HealthChecker/2.0" 

Tại thời điểm này, bạn có thể hạn chế các địa chỉ ip phép của nhóm bảo mật để chỉ những hiển thị trong các bản ghi httpd, nhưng tôi sẽ phải cẩn thận, vì nếu ELB được khởi động lại hoặc nếu cấu hình của nó bị thay đổi hoặc nạp lại, tôi nghi ngờ rằng nó được đảm bảo để phản hồi cùng một địa chỉ riêng mà nó đã giữ trước đó.

Bây giờ với bộ cân bằng tải thừa nhận mục tiêu của nó là lành mạnh, nó sẽ xem xét chúng sẵn sàng cho dịch vụ và bắt đầu định tuyến lưu lượng truy cập đến chúng. Và theo mục tiêu của poster ban đầu ("Vấn đề là, cả hai trường hợp cũng có thể bị tấn công với HTTP từ toàn bộ web.") Cách tiếp cận này không cho phép truy cập vào các cá thể từ toàn bộ web.

Hầu hết người đọc ở đây sẽ quen thuộc với địa chỉ riêng tư. Đối với bất kỳ ai không phải là the Wikipedia article thì cũng là một tài liệu tham khảo tốt.

Các vấn đề liên quan