何かサービスを運用していて、特定のIPアドレスからのアクセスをブロックや許可をしたい時、
ALB(ロードバランサー)環境下だと、WAF を使うのが多分一番簡単。
効果はホワイトリストは必須と思うので評価なし。
ブラックリストは正直手間に見合った効果はない。
ごく稀に自宅や学校、会社のような場所から DDoS のような事をしてくる方々が一定数いるので、
それ向けに効果があるくらい。
AWS 環境
- WAF
- ALB
- EC2
保護パックを作成する
ブラックリストを作る
ブロックしたい IPアドレスリストを作る。
IPアドレスセットというらしい。
- 「AWS WAF」→「IP セット」→「IP アドレスセットを作成」クリック
- IP セット名: 適当(blacklist-IPv4 とか?)
- スコープ: リージョン別
- IP バージョン: IPv4
- IP アドレス: ブロックしたい IPアドレスを追加する
- 自分の IPアドレス
- 「xxx.xxx.xxx.xx(自分の IPアドレス)/32」で試すと分かりやすいかも
- IPアドレスのスラッシュ表記について(CIDR表記)
- ALB + EC2 にてアクセスするユーザーの IPアドレスを知りたい
- 自分の IPアドレス
- 「保存」クリック
ルールに追加する
- 「AWS WAF」→「保護パック (ウェブ ACL)」→ 作成した保護パックを選択 →「ルールを管理」→「ルールを追加」クリック
- 「カスタムルール」→「次へ」→「IP ベースのルール」→「次へ」
- アクション: Block
- ルール名: 適当
- ステートメント: 既存の IP セットを使用
- IP アドレスリスト: 先程作成した IP アドレスセットを選択
- 「ルールを追加」クリック
- 「カスタムルール」→「次へ」→「IP ベースのルール」→「次へ」
ホワイトリストを作る
逆に許可したい IPアドレスのリストを作る。
自分等が管理している EC2 インスタンスの IP アドレスとか?
- 「AWS WAF」→「IP セット」→「IP アドレスセットを作成」クリック
- IP セット名: 適当(whitelist-IPv4 とか?)
- スコープ: リージョン別
- IP バージョン: IPv4
- IP アドレス: 許可したい IPアドレスを追加する
- 「保存」クリック
ルールに追加する
- 「AWS WAF」→「保護パック (ウェブ ACL)」→ 作成した保護パックを選択 →「ルールを管理」→「ルールを追加」クリック
- 「カスタムルール」→「次へ」→「IP ベースのルール」→「次へ」
- アクション: Allow
- ルール名: 適当
- ステートメント: 既存の IP セットを使用
- IP アドレスリスト: 先程作成した IP アドレスセットを選択
- 「ルールを追加」クリック
- 「カスタムルール」→「次へ」→「IP ベースのルール」→「次へ」
ルールの順序を変更する
- 「AWS WAF」→「保護パック (ウェブ ACL)」→ 作成した保護パックを選択 →「ルールを管理」クリック
- 「ルール順序を編集」クリック
- リストの上部が優先度高いので、ホワイトリストは最上部、ブラックリストはその次くらいにドラッグするのが良い?
- 「ルール順序を保存」クリック