ドメイン持ってるならアレ使ってるよね?
どうもスナックです!!今回は便利なアレについて話していきます~
ということでcloudflareです。
ドメインを持っているなら、Cloudflareに管理を移すだけで、無料で使える機能がかなり増えます。この記事では、私が実際に使っている機能と、ベルギーからのスキャンを止めた実例を紹介するよ~ん^ ^
まずドメインをCloudflareへ
ネームサーバーをCloudflareに向けると、DNS、CDN、SSL証明書、DDoS対策が使えるようになります!無料プランにも、以下の機能が含まれます。
- DDoS防御
- CDN
- Universal SSL (サブドメインは1段階まで。aa.aa.example.comにはSSLがつかないので注意)
- Free Managed Ruleset
移行前に、既存のDNSレコードを控えておくと安心です
Cloudflare Tunnel
自宅サーバーやhomelabを、ルーターのポート開放なしで公開できます。cloudflared のトンネルはアカウントあたり1,000本まで作れます。
注意点として、Tunnelだけでは認証が入りません。公開するなら、次のAccessと組み合わせてください。
Zero Trust Access
アプリの前段にログイン画面を置き、メール認証やGoogleログインなどで二段階認証を強制できます。無料プランは50ユーザーまでです。管理画面や自作ツールを個人用に守る用途なら、十分な枠です!
そこそこ細かく調整してポリシーを作ることができるのでおすすめです。
不審なアクセスを止める
セキュリティの項目からセキュリティルールを設定できます!
無料プランのカスタムルールは5本までです。国別ブロックは ip.src.country で書けます。
(ip.src.country ne "JP")
国別ブロックがどうのこうの言いましたが、ダッシュボードから簡単にアクセスできる国を制限できます。
質の低いbotによる調査は、これでかなり減らせます。ただし日本のVPNを経由されると!
意味がありません。完全な防御ではなく、ノイズを減らす一層にはなるのではないでしょうか~
実例:ベルギーからの攻撃
アナリティクスで30日間を見ると、普段はほぼ0件のところに、10月下旬にカスタムルールで約2,000件のブロックが出ていました。1時間あたり数百リクエストです。国別では次のとおりです。
| 国 | リクエスト数 |
|---|---|
| Belgium | 2.37k |
| United States | 2.13K |
| Japan | 1.89k |
| China / Canada | 各60 |
| France / Brazil | 各20 |
| Singapore / Taiwan | 各10 |
狙われたパスは以下のとおりでした。
-
/terraform.tfstate.backup(140件) -
/api%2F.env(100件) -
/ml/.env(80件) -
/config/.env.production(60件) -
/actuator(60件)
環境変数、Terraformの状態ファイル、Spring Bootの管理画面と、置き忘れた秘密情報を探す典型的なスキャンです。同じ辞書を順に回しているため、どのパスも件数が近くなっています。
これらはすべてCloudflareで緩和されており、オリジンには届いていません。
秘密情報を守る基本
国別ブロックの前に、そもそも公開ディレクトリに .env やstateファイルを置かないことが基本です。そのうえで、パスで直接止めるルールを重ねると、VPN経由でも効きます。
パスで制限やったことないですが確か設定あったはず、、、
(http.request.uri.path contains ".env") or
(http.request.uri.path contains "tfstate") or
(http.request.uri.path contains "/actuator")
他にも無料で使える機能!?
- Workers: 1日10万リクエストまで無料です。
- Turnstile(CAPTCHAの代替): 無料で、ウィジェットは20個までです。
- Email Routing: 独自ドメインのメールを自分の受信箱に転送できます。
とこんな感じでいろいろ説明しました!
ですがまだまだ機能があるので時間があるときに追加しようと思います~!