ハマログ

株式会社イーツー・インフォの社員ブログ

AWS環境で特定IPからのアクセスを拒否する

AWSのVPC内に構築されているウェブサーバーがあり、特定のIPアドレスを拒否する必要がありました。
セキュリティグループで余裕だと思っていたのですが、よく考えたらホワイトリスト方式なので、ブラックリストのような扱いができません。
今回、VPCのネットワークACL(アクセスコントロールリスト)で対応したので、方法をまとめておきます。

その前に

ネットワークACL以外でAWS環境でIPアドレスをブロックする方法を考えます。なお、可能な限りより上位の箇所でブロックしたほうがよいです。

ALBリスナールール
IPアドレスとURLとの組み合わせなど、柔軟にルールを設定できます。
AWS WAF
AWS WAFでIP拒否するパターンです。こちらもリスナールール同様に柔軟な条件を設定することができますが、ALBリスナーリスナールールよりは設定に時間がかかりそうです。
EC2インスタンス内で設定
Apacheやfirewalldなどで設定するパターンです。アクセスは拒否できますがサーバーまでアクセスは到達するので、できれば避けたいところです。

AWS VPCのネットワークACLの設定

AWSマネジメントコンソールから設定します。

VPCダッシュボード→セキュリティ→ネットワークACLと進んで、対象のACLを選択します。
デフォルトで、すべてのIPを許可する設定になっています。
「インバウンドルールの編集」で拒否するIPを追加します。ルール#の降順でルールが適用されていきます。標準で100が登録されているので、今回は99からいくつか作成しました。

参考URL
Amazon VPC>ユーザーガイド>ネットワークACL>ネットワーク ACL ルール
これで完了です。コメントが書けないのであとでなんで拒否したのか絶対に忘れる・・・その点はAWS WAFのほうが良さそうです。
AWSIP制限IP拒否IP許可NetworkNetwork ACLセキュリティネットワークネットワークACL拒否

  kaneko tomo   2020年1月10日


関連記事

AWS CDKでインフラ構築したので、CDKの概要や魅力を紹介

つい先月、私が関わっている案件でインフラリプレースをし、無事完了しました。そのと…

シングルAZ構成のAuroraをマルチAZに変更した

シングルAZ構成のAuroraデータベースをマルチAZに変更しようと思いましたが…

AWS Lambdaのトリガーが作成できない(Configuration is ambiguously defined~)

AWS LambdaでS3のPUTイベントをトリガーにして、ある関数を呼び出して…


← 前の投稿

次の投稿 →