Amazon EC2 インスタンスを使用して IP アドレス範囲をブロックするにはどうすればよいですか?

Amazon EC2 インスタンスを使用して IP アドレス範囲をブロックするにはどうすればよいですか?

特定の範囲のIPアドレスが私のサーバーに問題を引き起こすことを知っています。172.64.*.*私のAmazon EC2インスタンスへのアクセスをブロックする最良の方法は何ですか?セキュリティグループを使用してこれを行う方法はありますか、それともサーバー自体のファイアウォールを使用して実行する方が良いですか?

答え1

可能であれば、サーバーとファイアウォールのトラフィックをブロックしてください。

セキュリティグループはホストの外部にあり、データがユーザーに到達しないため、優れています。ただし、ほとんどのサーバーベースのファイアウォールほど構成できません。

残念ながら、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ネットワークACLの使用

使用する場合プライベートネットワークインスタンスの場合、サブネット上で実行するように「ネットワーク ACLS」を指定できます。ネットワークACLを使用すると、許可および拒否ルールを作成できるため、そうすることをお勧めします。

答え2

トラフィックを停止する最も簡単な方法は、トラフィックをインスタンスのVPCネットワークACLに追加し、そのIPアドレスのすべてのトラフィックを拒否することです(VPCが使用中であると仮定)。

覚えておくべき1つのことは、拒否ルール番号が最初の許可ルール番号より小さくなければならないことです。

答え3

私は問題に2回ぶつかり、EC2の状況が少し異なることに気づきました。iptablesサーバーがElastic Load Balancer(ELB)の背後にあるクラスターにある場合は機能しません。 - IPアドレスはい知っている人はELBです。

ELBが最新の構成で構成されている場合は、以下の回答を参照してください。https://stackoverflow.com/questions/20123308/how-to-configure-aws-elb-to-block-certain-ip-addresses-known-spammers

私たちの場合、そのような設定がなかったので、そこでX-FORWARDED-FORヘッダーを検索し、IPアドレスをブロックするApacheを使用する必要がありました。

これをApache設定に追加します(おそらくVirtualHostブロックにあります)。

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

ELBで設定したヘッダーを確認してください。

設定を保存してapache2ctl -tDebian / Ubuntu(またはapachectl -tRHEL)でテストし、Apacheを再起動してください。

これは単に403 Forbidden応答を送り返します。

答え4

インスタンスがVPC内にある場合は、ネットワークACLインバウンドルールを編集できます。

To block 172.64.*.* add an entry like 172.64.0.0/16

To block 172.64.120.* add an entry like 172.64.120.0/24

To block 172.*.*.* add an entry like 172.0.0.0/8

To block a specific IP add an entry 172.64.120.56/32     

ここに画像の説明を入力してください。

関連情報