Gadget 42:DNS と WAF / セキュリティ
Cloudflare DNS のフル活用と WAF・ボット対策でサイトを守る
DNS と WAF / セキュリティ
Cloudflare にドメインを載せたら「DNS の高度活用」と「WAF による防御」を組みます。
目的
- DNS レコードを正しく深く使う(プロキシ/のみ/ワイルドカード)
- WAF・レート制限・ボット対策で攻撃面を減らす
前提条件
- ドメイン保有と Cloudflare への移管(41)
- 公式: https://developers.cloudflare.com/dns/ / https://developers.cloudflare.com/waf/
手順
1. DNS の基本フル活用
| レコード種別 | 使いどころ |
|---|---|
| A / AAAA | サーバー IP へ向ける(直結時) |
| CNAME | サブドメインを別ホストへ(Tunnel でも使う) |
| CNAME Flattening | apex でも CNAME 相当が使える(Cloudflare の特徴) |
| ワイルドカード | *.example.com を一括で扱いたい場合 |
dig +short cf.example.com # 解決確認
dig +short cf.example.com @1.1.1.1 # Cloudflare DNS で確認2. プロキシ(オレンジ雲)を理解する
- オレンジ雲 = Cloudflare を経由(CDN・WAF・保護対象)
- 灰色雲 = 直接接続(DNS only)
- 公開サービスは基本オレンジ雲。WAF が効きます
3. WAF で守る
Cloudflare ダッシュボード → WAF:
| 項目 | 推奨設定 |
|---|---|
| Managed Rules | 全有効(既定で十分) |
| Custom Rules | 管理 URL の保護(例: /admin* を特定 IP のみ許可) |
| Rate Limiting | ログイン等へ 1 分あたりの上限 |
| Bot Fight Mode | 明らかなボットをブロック |
# Custom Rule 例(管理面を閉じる)
URI PATH contains "/admin" and not IP.src in { 自宅のIP } -> Block
よくある失敗
| 症状 | 原因 | 対処 |
|---|---|---|
| プロキシ ON なのに IP が見える | 灰色雲のまま | オレンジ雲へ切替 |
| 社内だけ繋がらない | DNS 解決の膿 | @1.1.1.1 で切り分け(29) |
| 自分が WAF にブロック | IP 許可の見直し不足 | 特定 IP 許可を Custom Rule に |
| OAuth のコールバックが塞がる | WAF・レート制限と衝突 | 必要なパスはルールの Allow で明示 |
確認
次に読む
- TLS / 証明書 → 13-certificates-and-tls
- 公開方法 → 41-tunnel-and-access
- DNS 切り分け → 29-dns-debugging