今回やろうとしていること
こちらの記事で紹介されていますが、管理画面系は攻撃対象になるようです。
なので、CloudFront⇔AWS WAF(以下WAF)連携によるセキュリティ強化、具体的には
- ログイン機能(wp-login.php)には指定IP(自宅やオフィス)からのみアクセス許可
- それ以外のIPはアクセス拒否
する仕組みを設定し、自衛策を講じます。
補足
WAFはあくまで補助的なセキュリティ対策を行うものであり、
- AWSの各種リソースに対する適切なセキュリティ設定や権限付与
- OSやDBの設定やパッチ適用
etc…といった箇所でのセキュリティ対策をお忘れなく。
設定手順
前提条件
CloudFrontが設定済である必要があります。
CloudFrontの設定についてはこちらの記事を参考にして下さい。
WAFの設定
こちらの記事を参考にさせて頂きました。
いつもありがとうございます。
用語や概念など分かりづらい箇所は、調べながら設定すると理解が深まると思います。
ハマったこと
自宅のグローバルIPは許可する設定をしているにも関わらずブロックされました(涙)
WAFのLogを見てみると、BlockLogがこうなっていました。
許可設定したIPアドレスはIPv4、WAFに通知されたIPアドレスはIPv6。
IPアドレス不一致でそりゃブロックされますね。
私が契約しているプロバイダはWAFに対してグローバルIPをIPv6で通知しているようです。
[IP match condition]をブロックされたIPv6に変更し無事解決。
※IPv6では指定するサブネットは[/128]となる点ご注意下さい。
料金について
2018/8/26現在
- 1WebACLあたり$5/月
- 1ルールあたり$1/月
- 100万リクエストあたり$0.6
まとめ
- 他の類似サービスに比べたら安価だと思います。
- 個人でやるには割高感は否めませんが、享受できるセキュリティメリットも大きいと思います。
参考資料