特定の範囲の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を使用すると、許可および拒否ルールを作成できるため、そうすることをお勧めします。