Làm cách nào tôi có thể chặn một dải địa chỉ IP bằng phiên bản Amazon EC2?


27

Tôi biết một phạm vi địa chỉ IP nhất định đang gây ra sự cố với máy chủ của mình, 172.64.*.*cách tốt nhất để chặn truy cập vào đối tượng Amazon EC2 của tôi là gì? Có cách nào để làm điều này bằng cách sử dụng các nhóm bảo mật hay tốt hơn là làm điều đó với tường lửa trên chính máy chủ?


1
Nếu phiên bản nằm trong VPC, bạn có thể chỉnh sửa ACL mạng để từ chối một phạm vi cụ thể.

Câu trả lời:


17

Chặn lưu lượng trên cả máy chủ và tường lửa nếu có thể, chỉ trong trường hợp.

Các nhóm bảo mật rất tốt vì chúng ở bên ngoài máy chủ của bạn để dữ liệu không bao giờ đến được với bạn. Chúng không hoàn toàn có thể cấu hình như hầu hết các tường lửa dựa trên máy chủ.

Thật không may, các nhóm bảo mật EC2 chỉ có thể "cho phép" các dịch vụ thông qua chính sách từ chối mặc định. Vì vậy, nếu bạn đang cố gắng chặn quyền truy cập vào dịch vụ "được phép" công khai cho một phạm vi IP nhỏ, việc xây dựng quy tắc cho phép đối với "phần còn lại của internet" phức tạp hơn một chút so với chỉ chặn một dải IP. Như bạn đã chỉ định một khối lớn đẹp, danh sách các phạm vi mạng không bao gồm 172.64.0.0/16 không quá dài:

0.0.0.0/1
128.0.0.0/3
160.0.0.0/5
168.0.0.0/6
172.0.0.0/10
173.0.0.0/8
174.0.0.0/7
176.0.0.0/4
192.0.0.0/3
224.0.0.0/3

Danh sách này sẽ cần phải được thêm cho (các) cổng của bạn. Sau đó, bạn có thể xóa quy tắc 'cho phép tất cả' của mình cho cổng đó. Nếu bạn có nhiều cổng bạn muốn làm điều này cho điều đó không liền kề, danh sách chúng sẽ cần phải đi nhiều lần. Nếu bạn có nhiều nhóm bảo mật, điều này có thể nhanh chóng phát triển thành không thể quản lý được.

Tường lửa cục bộ cũng sẽ hoạt động. iptablescó sẵn trên Amazon AMI mặc định và tất cả các bản phân phối linux

sudo iptables -I INPUT -s 172.64.0.0/16 -j DROP

Sau khi thêm quy tắc của bạn, bạn sẽ cần lưu chúng và đảm bảo iptablesdịch vụ bắt đầu khi khởi động.

# For Amazon Linux
sudo service iptables save

# Other distributions might use one of these:
#sudo iptables-save > /etc/sysconfig/iptables-config
#sudo iptables-save > /etc/iptables/rules.4

Các tập tin cấu hình để lưu vào sẽ thay đổi theo phân phối.

Sử dụng VPC

Nếu bạn sử dụng VPC cho các phiên bản của mình, bạn có thể chỉ định "Mạng ACLS" hoạt động trên mạng con của mình. ACL mạng cho phép bạn viết cả hai quy tắc cho phép và từ chối vì vậy tôi khuyên bạn nên làm theo cách này.


việc này không còn hiệu quả nữa
Kim Jong Woo

@KimJongWoo cái gì không hoạt động? Tôi không thể thấy iptableskhông hoạt động vì vậy bạn đang đề cập đến mạng con lớn cho phép trong nhóm bảo mật?
Matt

12

Cách đơn giản nhất để dừng lưu lượng là (giả sử VPC đang được sử dụng) bằng cách thêm nó vào ACL Mạng VPC của trường hợp đó và từ chối tất cả lưu lượng truy cập từ Địa chỉ IP đó.

Một điều cần nhớ là số quy tắc từ chối phải nhỏ hơn số quy tắc cho phép đầu tiên.


4
Bạn có nghĩa là số quy tắc từ chối nên ít hơn số quy tắc cho phép đầu tiên ?
Dan Tenenbaum

Vâng đúng rồi.
pg2286

1
Hãy nhớ rằng có giới hạn 20 quy tắc ACL. Và điều này thật tệ, Amazon.
Alex

3

Tôi đã gặp vấn đề hai lần và nhận ra tình huống EC2 của mình hơi khác một chút: iptableskhông hoạt động nếu (các) máy chủ của bạn nằm trong cụm phía sau bộ cân bằng tải đàn hồi (ELB) - địa chỉ IP mà cá thể biết là ELB.

Nếu ELB của bạn được cấu hình theo cấu hình hiện đại hơn, hãy xem câu trả lời SO này: https://stackoverflow.com/questions/20123308/how-to-configure-aws-elb-to-block-certain-ip-addresses- Unknown -số đập

Trong trường hợp của chúng tôi, chúng tôi đã không có những thứ được thiết lập tốt, vì vậy tôi đã phải sử dụng Apache, có thể tìm X-FORWARDED-FORtiêu đề và chặn địa chỉ IP từ đó.

Thêm phần này vào cấu hình apache của bạn (có thể trong khối Virtualhost):

RewriteEngine On
RewriteCond %{HTTP:X-FORWARDED-FOR] ^46\.242\.69\.216
RewriteRule .* - [F]

Điều này sẽ kiểm tra tiêu đề được thiết lập bởi ELB

Lưu cấu hình, kiểm tra với apache2ctl -tdebian / ubfox (hoặc apachectl -tcho RHEL), sau đó khởi động lại apache.

Điều này chỉ cần gửi 403 Forbiddenphản hồi lại


2

Chặn lưu lượng truy cập từ một phạm vi IP / IP duy nhất trong AWS

  1. Mở bảng điều khiển VPC của bạn
  2. Mở chế độ xem mạng ACLs của mạng Cameron
  3. Mở trình soạn thảo ACL
  4. Thêm quy tắc để chặn lưu lượng

Dưới đây là hướng dẫn nhanh: http://chopmo.dk/posts/2015/06/13/blocking-traffic-in-aws.html

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.