AWS ELBのセキュリティ設定(セキュリティグループ・WAF連携)を初心者向けに解説!
生徒
「先生、AWSのELBを使っているんですが、セキュリティの設定ってどうすればいいんですか?不正アクセスが怖いです。」
先生
「とても大切なポイントですね。ELB(イーエルビー、Elastic Load Balancer:エラスティックロードバランサー)では、セキュリティグループの設定とAWS WAF(ダブリューエーダブリュー エーダブリューエス ダブリュエーエフ)の連携を行うことで、アクセス制御や攻撃防御ができますよ。」
生徒
「セキュリティグループとWAFってどう違うんですか?」
先生
「セキュリティグループはファイアウォールのように通信の許可・拒否を設定する仕組みです。一方、WAFはアプリケーションに届くリクエストを検査して攻撃を防ぐ仕組みです。では、それぞれの役割と設定方法を詳しく見ていきましょう。」
1. ELBとセキュリティの基本
AWSのElastic Load Balancer(エラスティックロードバランサー)は、インターネットからのアクセスを複数のサーバーに分散させる仕組みです。しかし、外部に公開されるため、不正アクセスや攻撃を防ぐ仕組みが欠かせません。
ELBのセキュリティは大きく分けて2つの要素で守られています。
- セキュリティグループ(アクセス制御の基本)
- WAFとの連携(アプリケーション層の保護)
これらを組み合わせることで、堅牢なセキュリティを実現できます。
2. セキュリティグループとは?
セキュリティグループは、AWSの仮想ファイアウォールです。読み方はセキュリティグループで、EC2(イーシーツー)やELBに対して通信のルールを定義します。
例えば、HTTP(エイチティーティーピー:ポート80)やHTTPS(エイチティーティーピーエス:ポート443)の通信だけを許可し、それ以外を拒否することで安全性を高められます。
ELBに適用するセキュリティグループの例は以下の通りです。
- インバウンド:0.0.0.0/0からのTCP 80番、443番を許可
- アウトバウンド:任意の宛先に対してすべて許可(デフォルト)
このように設定することで、ELBはインターネットからのアクセスを受け付け、内部のサーバーに振り分けることができます。
3. セキュリティグループ設定のポイント
セキュリティグループを設定するときのポイントは以下の通りです。
- 必要最小限のポートだけを許可する
- 特定のIPアドレスだけを許可することで不正アクセスを減らす
- 管理用のポート(例:SSHの22番)は直接ELBに設定しない
特に「全てのポートを許可する」という設定は非常に危険なので避けるべきです。
4. AWS WAFとは?
AWS WAF(ダブリューエーダブリュー エーダブリューエス ダブリュエーエフ)はWeb Application Firewall(ウェブアプリケーションファイアウォール)の略です。アプリケーションに届くリクエストを監視して、攻撃パターンを検出しブロックできます。
代表的に防げる攻撃は以下の通りです。
- SQLインジェクション(エスキューエルインジェクション)
- XSS(クロスサイトスクリプティング)
- DDoS(ディードス:分散型サービス妨害攻撃)の一部
これにより、セキュリティグループでは防ぎきれないアプリケーション層の攻撃も保護できます。
5. ELBとWAFの連携方法
ELBとWAFを連携させるには、AWSマネジメントコンソールで以下の操作を行います。
- WAFのWebACL(ウェブアクセスコントロールリスト)を作成する
- ルールを設定して特定の攻撃パターンを検出・ブロックする
- 作成したWebACLをELBに関連付ける
これにより、ELBを経由するすべてのリクエストがWAFによって検査され、安全性が高まります。
6. セキュリティグループとWAFを組み合わせた運用
セキュリティグループとWAFは役割が異なるため、両方を正しく組み合わせることが重要です。
- セキュリティグループ:ネットワークレベルのアクセス制御
- WAF:アプリケーションレベルの攻撃防御
例えば、不特定多数のユーザーからのHTTPリクエストはセキュリティグループでポート制御し、リクエスト内容の不正なパラメータはWAFで防御する、といった使い方ができます。
7. 運用のベストプラクティス
ELBのセキュリティを強化するためのベストプラクティスをまとめます。
- 定期的にセキュリティグループのルールを見直す
- 不要になったIPアドレス許可を削除する
- WAFのルールを最新に保つ
- CloudWatch(クラウドウォッチ)でログを監視する
- 必要に応じてShield(シールド)など他サービスと併用する
このように運用管理を徹底することで、ELBの安全性を大幅に高められます。