ハマログ

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

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日


関連記事

Amazon Linux 2のファイル容量拡張

はじめに Amazon Linux 2 で動いているシステムのファイル容量が10…

『ドキュメントルートの変更が反映されない』にハマって酷い目に遭った話。

『検証環境のドキュメントルートのディレクトリ名がちょっとアカンから本番と合わせて…

CentOS Stream 8でSSH鍵認証ログインできない(暗号化形式が古かった)

CentOS Streamでサーバー構築をしています。ユーザーアカウントを作成し…


← 前の投稿

次の投稿 →