特定の範囲のIPアドレスがサーバーに問題を引き起こしていることがわかっています。172.64.*.*
Amazon EC2インスタンスへのアクセスをブロックする最良の方法は何ですか?セキュリティグループを使用してこれを行う方法はありますか、それともサーバー自体のファイアウォールで行う方が良いですか?
可能であれば、サーバーとファイアウォールの両方でトラフィックをブロックします。
セキュリティグループは、ホストの外部にあり、データが届かないため、優れています。ただし、ほとんどのサーバーベースのファイアウォールほど構成可能ではありません。
残念ながら、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」を指定できます。ネットワークACLでは、許可ルールと拒否ルールの両方を記述できるため、この方法で作成することをお勧めします。
トラフィックを停止する最も簡単な方法は、そのインスタンスのVPCネットワークACLにトラフィックを追加し、そのIPアドレスからのすべてのトラフィックを拒否することです(VPCが使用されていると想定)。
覚えておくべきことの1つは、拒否ルール番号は最初の許可ルール番号よりも小さい必要があることです。
私は2回問題に遭遇し、EC2の状況が少し異なることに気づきました:サーバーがElastic Load Balancer(ELB)の背後にあるクラスターにある場合、iptables
は機能しません-IPアドレスinstanceは、ELBのインスタンスであることを認識しています。
ELBをより新しい構成で構成している場合は、SO回答: 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によって設定されたヘッダーをチェックします
設定を保存し、debian/ubuntuの場合はApache2ctl -t
でテストし(RHELの場合はapachectl -t
)、Apacheを再起動します。
これは403 Forbidden
応答を返すだけです
AWSの単一のIP/IP範囲からのトラフィックをブロックする
これは簡単なチュートリアルです: http://chopmo.dk/posts/2015/06/13/blocking-traffic-in-aws.html