답변:
가능한 경우 서버와 방화벽 모두에서 트래픽을 차단하십시오.
보안 그룹은 호스트 외부에 있으므로 데이터가 사용자에게 도달하지 않기 때문에 좋습니다. 그러나 대부분의 서버 기반 방화벽만큼 구성 할 수는 없습니다.
불행히도 EC2 보안 그룹은 기본 거부 정책을 통해서만 서비스를 "허용"할 수 있습니다. 따라서 소규모 IP 범위에 대해 공개적으로 "허용 된"서비스에 대한 액세스를 차단하려는 경우 "인터넷 나머지 부분"에 대한 허용 규칙을 작성하는 것은 IP 범위를 차단하는 것보다 조금 더 복잡합니다. 멋진 큰 청크를 지정 했으므로 172.64.0.0/16을 포함하지 않는 네트워크 범위 목록이 너무 길지 않습니다.
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
포트에이 목록을 추가해야합니다. 그런 다음 해당 포트에 대한 '모두 허용'규칙을 삭제할 수 있습니다. 연속적이지 않은 포트를 여러 개 가지고 있다면, 목록은 여러 번 가야합니다. 보안 그룹이 여러 개인 경우 관리하기 어려운 그룹으로 빠르게 성장할 수 있습니다.
로컬 방화벽도 작동합니다. iptables
기본 Amazon AMI 및 모든 Linux 배포판에서 사용할 수 있습니다.
sudo iptables -I INPUT -s 172.64.0.0/16 -j DROP
규칙을 추가 한 후에는 규칙을 저장하고 iptables
부팅시 서비스가 시작 되는지 확인해야합니다 .
# 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
저장할 구성 파일은 배포판에 따라 다릅니다.
인스턴스에 VPC 를 사용하는 경우 서브넷에서 작동하는 "네트워크 ACLS"를 지정할 수 있습니다. 네트워크 ACL을 사용하면 허용 및 거부 규칙을 모두 작성할 수 있으므로이 방법으로 수행하는 것이 좋습니다.
iptables
작동 하지 않는 것을 볼 수 없으므로 보안 그룹에서 큰 서브넷 허용을 참조하고 있습니까?
트래픽을 중지하는 가장 간단한 방법은 해당 인스턴스의 VPC 네트워크 ACL에 트래픽을 추가하고 해당 IP 주소의 모든 트래픽을 거부하는 것입니다 (VPC가 사용되고 있다고 가정).
기억해야 할 것은 거부 규칙 번호가 첫 번째 허용 규칙 번호보다 작아야한다는 것입니다.
두 번 문제가 발생하여 EC2 상황이 약간 다르다는 것을 깨달았습니다. iptables
서버가 ELB (Elastic Load Balancer) 뒤에있는 클러스터에있는 경우 작동하지 않습니다- 인스턴스 가 알고 있는 IP 주소 는 ELB.
ELB를 최신 구성으로 구성한 경우 다음 SO 답변을 참조하십시오. https : //.com/questions/20123308/how-to-configure-aws-elb-to-block-certain-ip-addresses-known -스팸 머
우리의 경우에는 설정이 잘되지 않았으므로 Apache를 사용해야했는데 X-FORWARDED-FOR
헤더를 찾고 IP 주소를 차단할 수있었습니다.
이것을 아파치 구성에 추가하십시오 (아마도 VirtualHost 블록에 있음).
RewriteEngine On
RewriteCond %{HTTP:X-FORWARDED-FOR] ^46\.242\.69\.216
RewriteRule .* - [F]
ELB에서 설정 한 헤더를 확인합니다.
설정을 저장하고 apache2ctl -t
debian / ubuntu (또는 apachectl -t
RHEL)로 테스트 한 다음 아파치를 다시 시작하십시오.
이것은 단지 403 Forbidden
응답을 다시 보냅니다.
AWS에서 단일 IP / IP 범위의 트래픽 차단
빠른 자습서는 다음과 같습니다. http://chopmo.dk/posts/2015/06/13/blocking-traffic-in-aws.html