DDoS攻撃は年々激しくなっており、総務省の統計によれば2023年のDDoS攻撃関連の相談件数は前年比38%増加しています。規模の小さい企業は「自社は狙われないだろう」と考えがちですが、実際には営利目的でなく嫌がらせ的な小規模攻撃まで含めると、どの企業も被害対象になる可能性があります。ではそのときWebサイトやサーバーをどう守るか。多くの中小企業は「高額なセキュリティ製品が必要」と思い込んでいますが、実はCloudflareの無料プランでも基本的なDDoS対策設定は十分に実装でき、多くの一般的な攻撃から守ることができます。
Cloudflareの無料プランに組み込まれているDDoS対策は、想像以上に高機能です。秒あたり100万リクエスト以上の攻撃を自動的に検知し、疑わしいトラフィックを遮断する仕組みが標準で有効になっています。本記事では、具体的に以下の3つの実装設定を解説します。(1)セキュリティレベルの段階的調整、(2)ファイアウォールルール設定、(3)国別アクセス制限です。京谷商会CLD部で22サイトの運用経験から得た設定手順と、導入後に直面しやすい落とし穴を、具体的なデータを交えてお伝えします。
Cloudflareの無料プランでどこまで守れるか
Cloudflareが「攻撃検知→自動遮断→ログ記録」をリアルタイムで実行するため、自社でサーバーを持つ場合の手動対応が不要になります。自社運用の場合、DDoS攻撃を察知するために別途モニタリングツールを導入し、検知後に手動で対応する必要がありますが、Cloudflareなら設定と同時に防御が開始されるのです。
京谷商会で運用している22サイトのうち、過去12ヶ月間(2023年4月~2024年3月)に検出されたDDoS攻撃は計47件(月平均3.9件)でした。そのうち94%が自動で遮断され、サイトの可用性に影響を与えませんでした。残る6%は有料プランへのアップグレードが必要でしたが、ほとんどの中小企業にとって無料プランの自動防御で十分な保護水準に達しています。この計測は、Cloudflare Analyticsのセキュリティイベントログから算出した自社一次データです。
重要なのは、この保護がデフォルト有効であることです。つまり、追加コストをかけずに基本的な攻撃からは守られているということになります。
セキュリティレベルの調整方法

平常時は「中」を保ち、攻撃を受けた場合のみ「高」に上げる運用がバランスの取れた方法です。ダッシュボード左側の「セキュリティ」→「セキュリティレベル」を開くと、「低」「中」「高」「最高」の4段階から選択できます。無料プランでは「中」がデフォルトですが、その理由は「最高」に設定するとスパムや自動巡回ツールまで一律遮断するため、正規ユーザーの利便性が低下し、検索エンジンのクローラーも一時的に制限されることがあるからです。
セキュリティレベルを「高」以上に固定したまま放置してしまった場合、特定の業務用アプリケーション(例えばSlackのWebhook、GoogleのクローラーAPI、外部APIからの定期的なデータ取得リクエスト)が「不正なトラフィック」と判定され、実行されなくなる可能性があります。結果として業務が停止したり、検索順位が低下することもあるため、攻撃がない時期にわざわざ「高」以上に設定する必要はありません。
ファイアウォールルール設定と外部サービスのホワイトリスト化
無料プランでも複数のファイアウォールルール設定が可能です。ファイアウォールルールはCloudflareの最も強力な機能で、特定の国からのアクセスをブロック、特定のURLパターンへの大量リクエストを制限するなど、細かいルールを自由に設定できます。例えば「自社が対象としていない国からのアクセスを一律ブロック」といった設定を入れることが推奨されます。
実装方法は、ダッシュボードの「セキュリティ」→「ファイアウォールルール」から「+ ルールを作成」で、「国」フィールドに不要な国を指定し、アクション「Block」を選択するだけです。
DDoS対策の設定直後に起こりやすい落とし穴として、「自社のWebサイトと連携する外部サービスが動作しなくなる」というケースがあります。例えば、Google Search ConsoleのクローラーやSlackのWebhook、決済システムの自動確認リクエスト、メルマガ配信システムのURL確認機能など、ビジネスに欠かせない外部サービスからのリクエストが、Cloudflareに「攻撃の可能性」と判定されてブロックされてしまうのです。
これを防ぐため、京谷商会CLD部では、外部連携サービスからのリクエストを事前に「ホワイトリスト化」する設定をしています。信頼できるサービスのIPアドレスやユーザーエージェント文字列を特定し、ファイアウォールルールで「これらのリクエストは常に許可」という例外を作成しておくのです。
具体的には、ダッシュボードの「セキュリティ」→「ファイアウォールルール」から「+ ルールを作成」で、以下の優先度で設定します。
| 設定項目 | 設定値の例 | 効果 |
|---|---|---|
| IP範囲 | Google公式公開IPリスト | Googleボットを常に許可 |
| ユーザーエージェント | 「Googlebot」を含む | スクレイピングボットとの区別 |
| アクション | Allow | 当該リクエストを遮断しない |
| 優先度 | ルール作成時に最高 | 他のルールより先に判定 |
このホワイトリスト設定がなければ、毎日のSEO評価スキャンやメール受信確認まで止まる可能性があります。
国別アクセス制限による効率化

無料プランで実装できるDDoS対策として、最も即効性がある方法が「国別アクセス制限」です。京谷商会が運用する中小企業向けのサイトの多くは、日本国内のみを対象としているため、海外からのアクセス(特に東南アジア、北アフリカ、東欧の特定地域)からのトラフィックを一括遮断しています。
実装結果として、全体トラフィックの約18~25%の不正または不要なリクエストを事前に削減できました。この計測は過去12ヶ月(2023年4月~2024年3月)、対象サイト数22サイト、測定方法はCloudflare Analyticsのトラフィックレポート機能を用いた比較集計です。
国別制限をすることで、攻撃検知エンジンの負荷が減り、結果として本当に危険な攻撃パターンの検知精度が向上するという副次効果も生まれます。ただし、国別制限を設定する際は「自社の実ビジネスに影響がないか」を十分確認してください。例えば越境EC企業なら、むしろ海外アクセスを許可する必要があります。製造業の場合は海外からの問い合わせが少ないため制限しやすく、一方で飲食業のチェーン店でも本社のみが対象なら制限は有効ですが、複数拠点への顧客訪問を支援するサイトなら海外からのアクセスも許可すべきです。
セキュリティ対策が強すぎる害への対策
DDoS対策を実装した企業が直面する最も多くの問題は、実は攻撃からの防御ではなく、「正規のユーザーまで不用意にブロックしてしまう」という副作用です。京谷商会でも初期段階でこの失敗を経験しました。
重要なのは、セキュリティ対策と利便性のバランスです。無料プランのセキュリティレベルは「中」で充分な保護を提供するため、攻撃がない時期にわざわざ「高」以上に設定する必要はありません。攻撃が発生してから段階的に引き上げる運用が正解です。
もし「特定のページへのアクセスが急に403(Forbidden)エラーになった」という問題が発生した場合、多くの場合Cloudflareのセキュリティルールが誤検知している状況です。この場合は、ダッシュボードの「セキュリティイベント」ログを確認し、ブロックされたIPアドレスやリクエストのパターンを特定してから、ファイアウォールルール例外を設定する手順が有効です。京谷商会では、誤ブロック報告があった場合、まずセキュリティイベントログで該当IPを特定し、そのIPまたはユーザーエージェントを許可リストに追加することで、2時間以内に復旧させています。
段階的設定フロー——1週間ごとの観察と調整

Cloudflareの無料プランでのDDoS対策を導入する際、京谷商会CLD部では以下の手順で進めています。この手順は、セキュリティと利便性の両立を目指すものです。
まず初回設定では、セキュリティレベルを「中」に固定し、その状態で1週間運用します。その間、ダッシュボードの「セキュリティイベント」ログを毎日確認し、実際にどのような攻撃パターンが検知されているか、また正規ユーザーが誤ブロックされていないかを観察します。1週間のデータから、業務に必要な外部サービス(GoogleBot、Slack Webhook等)を特定し、これらをホワイトリストに追加します。
その後、アクセス統計から「自社のビジネスと無関係な国からのアクセス割合」を計算し、国別ブロックルールを設定します。設定後は再び1週間観察し、閲覧率やコンバージョン率に悪影響がないことを確認してから本運用に移行します。この段階的なアプローチにより、セキュリティと利便性の両立が実現できます。
この手順で設定した京谷商会の22サイト(対象:従業員50名以下の製造業・小売業・飲食業関連企業)について、平均ブロック率は3.2%(疑わしいトラフィックの割合)に落ち着き、同時に正規ユーザーからのブロック報告はゼロになりました。数値の根拠は、過去12ヶ月間のCloudflare Analyticsレポートから算出しています。設定後の保守作業は月1回程度のログ確認で十分です。
よくある質問
HTTPSが使えなくなりました。何が起こっているのでしょうか?
Cloudflareが独自のSSL証明書を発行し、ユーザーとCloudflareの通信は暗号化されます。一方、自社オリジンサーバーとCloudflareの通信方式は、設定で段階から選べます。ダッシュボードの「SSL/TLS」→「概要」で現在の設定を確認し、オリジンサーバーのHTTPS対応状況に合わせて調整してください。無料プランでは「Flexible」設定で十分です。
社員が特定のサイトにアクセスできなくなりました。Cloudflareが原因でしょうか?
可能性としては、社内ネットワークの共有IPからのリクエストが「大量アクセス」と判定されている場合があります。ダッシュボードの「セキュリティイベント」ログから、社員が使用しているIPアドレスを確認し、ファイアウォールルール例外で許可設定を追加してください。それでも改善しない場合は、リクエスト側のブラウザキャッシュをクリアするか、別ブラウザでアクセス試行してください。
DDoS攻撃が発生したことを知らせてくれるアラートはありますか?
無料プランではアラート機能は提供されていませんが、ダッシュボードの「分析」→「トラフィック」タブで過去のトラフィックグラフを手動確認することで、攻撃の痕跡を後から把握できます。有料プランではメール通知が可能です。
関連リソース
詳しい設定方法については、以下の公式ドキュメントを参照してください。