最近、情報漏えいや不正アクセスのニュースがずいぶん増えました。
そのたび、クレジットカードの再発行やだなーとビクビクしてるmmochiです。
こうした不正アクセスによる被害のニュースを見ていると、「大きな会社だけが被害に遭っている」という感じではなくなってきたように思います。
実際、近年のランサムウェアや不正アクセスの被害を見ると、中小規模の企業も珍しくありません。
「うちは大企業じゃないから、そんなに狙われないでしょ」
という考え方は、もう捨てないと危ないかもしれないですよ。
無差別に行われる自動スキャンでは、会社の規模よりも「攻撃できる状態かどうか」のほうが重要だからです。
Webサイトは入口のひとつにすぎませんが、インターネットに直接公開されているため、継続的に攻撃を受けやすい対象です。
Webサイトには、今日も知らない誰かがアクセスしている
実際、この記事を書いている間にも、あんどぷらすのWebサイトには攻撃を試みるアクセスが届いています。
これは、WordPressのREST APIバッチエンドポイントに対する、攻撃目的と考えるのが自然なリクエストです。
ただし、Cloudflare WAFがオリジンサーバーへの到達前にブロックしているため、このログだけで侵入や攻撃成功を意味するものではありません。
インターネット上に公開している以上、Webサイトには世界中からアクセスがあります。
その中には、検索エンジンも、普通のお客さんも、そしてこのログのように「攻撃を試みるアクセス」も混ざっています。
だからこそ、「うちの会社なんて誰も狙わない」ではないんですよ。
「狙われる前提で、攻撃されても大丈夫な状態にしておく」ことが必要になります。
WordPressも、脆弱性とは無縁ではありません
[WordPress公式のセキュリティ情報]でも、WordPress本体や関連コンポーネントのセキュリティ情報が継続的に公開されています。
WordPressそのものだけではありません。
プラグインやテーマなど、周辺のソフトウェアも含めて考える必要があります。
ただし、「WordPressを最新版にしておけばいい」というわけではないんですよね。
WebサイトはWordPressだけで動いているわけではありません。
PHPがあり、Webサーバーがあり、データベースがあり、OSがあり、場合によってはキャッシュサーバーや各種ミドルウェアがあります。
どこか一つだけ古いままでも、そこが弱点になる可能性があります。
「動いているから問題ない」は、一番危ない
たとえば、サポートが終了したPHPを使っているWebサイト。
さらに、そのPHPについてサーバー会社の独自サポートまで終了している。
それでも、「今ちゃんと動いているから」と、そのまま使い続ける。
かなり危ないです。
Webサイトというのは、「壊れてから直す」ものではありません。
ソフトウェアにはサポート期間があります。
脆弱性が発見されれば、通常は修正プログラムが提供されます。
しかし、サポートが終了したバージョンでは、原則として新たなセキュリティ修正を受けられません。
- 「昨日まで動いていた」
- 「今も表示できている」
- 「何年も問題が起きていない」
これらは、セキュリティ上の安全を証明するものにはなりません。
むしろ、「何年も更新されていないこと自体が問題」かもしれません。
PHPだけじゃない。ミドルウェアも適正なバージョンに
ここはCMSを運用している人ほど意識してほしいところです。
WordPressだけが最新版だとしても、それだけでは不十分なんですよね。
- PHPは何を使っているのか。
- Webサーバーは何か。
- データベースは何か。
- OSは何か。
- その他のミドルウェアは、サポートされているバージョンなのか。
きちんと確認しておきましょう。
そして、古い環境を使い続ける理由が、「アップデートするとサイトが動かなくなるかもしれないから」というケースもあります。
これは確かに、その通りです。
だからこそ、「動かなくなる前に対応する」必要があるのですよね。
古い環境に依存したまま何年も運用して、サーバー会社から、「もうこのバージョンはサポートしません。アップデートします」と言われてから慌てる。
これは、ちょっとまずいと思います。
サーバー会社が強制アップデートしたら、サイトが壊れた?
サーバー会社によっては、サポート終了したPHPやミドルウェアを、一定期間後に強制的にアップデートすることがあります。
その結果、古いプログラムが動かなくなって、Webサイトが停止するということは実際に起こり得ますし、何度も見てきました。
そして、「サーバー会社が勝手にアップデートしたせいでサイトが止まった!」となるケースがあるんですよね。
でも、ほんとにそうなんですかね?
もちろん、サーバー会社側にも、事前告知や移行期間、サポート体制など、適切な案内は求められます。
ただ、
> 「このバージョンは○月でサポート終了します」
と何度も案内されているのに、
> 「でも今動いてるから」
で放置する。
そして数年後、
> 「アップデートされたらサイトが壊れました!」
となっても、それは「突然壊された」という話ではありません。
いつか対応しなければならない問題を、後回しにしていただけです。
サポートが終了した古い環境を使い続けていたことまで、サーバー会社のせいにするのは違うと思うんですよね。
だからこそ、Webサイトを運用する側も、環境の寿命をきちんと見ておく必要があります。
じゃあ、どう守ればいいの?
方法はいくつかあります。
すべての会社が同じ対策をする必要はありません。
まずは、きちんとアップデートする
もっとも基本的な対策です。CMS、プラグイン、テーマ、PHP、Webサーバー、データベースなど、利用しているソフトウェアを適切なバージョンに保つ。
これがスタートです。
脆弱性診断をする
自社では把握できていない問題がないか、第三者による診断を受ける方法もあります。特に、長期間運用しているサイトや、独自開発部分が多いシステムでは、一度きちんと調べてみる価値があります。
WAFで防御する
今回、弊社のログを紹介したのもこれです。WAF(Web Application Firewall)によって、Webアプリケーションへの不正なリクエストを検知・遮断します。
ただし、WAFを入れたから脆弱性を放置していい、というわけでは当然ありません。
WAFは防御のためのひとつの手段です。
脆弱性そのものを修正することとは別の話です。
そもそもの構成を変える
場合によっては、Webサイトの構成そのものを見直す方法もあります。たとえば、CMS本体や管理画面を公開サイトから分離することで、公開側から直接到達できる機能を減らせる場合があります。
ただし、APIや認証基盤が新たな攻撃面になるため、ヘッドレス化そのものをセキュリティ対策と考えるのは危険です。
大切なのは、「今の構成が、本当に必要なのか?」ということを考えることです。
作ったときは安全だったかもしれないけど
Webサイトは、家電製品のように「買って設置したら、そのまま10年間使える」というものではありません。
- 利用しているソフトウェアのサポートが終わる。
- 新しい脆弱性が発見される。
- 攻撃手法が変わる。
- サーバー環境が変わる。
- ブラウザや外部サービスの仕様が変わる。
公開したあとも、周囲の環境はずっと変化しています。
だから、Webサイトは「作って終わり」ではなく、「運用し続けるもの」です。
これは機能追加やデザイン変更だけの話ではありません。
セキュリティも含めて、です。
まずは、自社サイトを確認してみよう
もし今、
- 「うちのPHP、何バージョンだっけ?」
- 「WordPressは最新版だっけ?」
- 「プラグイン、使っていないものが残ってない?」
- 「サーバー会社から何かアップデートのお知らせ来てたっけ?」
- 「このサーバー、いつまでサポートされるんだっけ?」
- 「バックアップ取ってたっけ?」
- 「なにかあったときに復旧できるの?」
となったなら、一度確認してみてください。
大げさなセキュリティ対策を始める前に、まず現在の状況を知ることが重要です。
そこから、
- アップデートする
- 不要なものを削除する
- 脆弱性診断をする
- WAFを導入する
- 構成を見直す
- 必要ならヘッドレス化する
など、自社に合った方法を選べばいい。
Webサイトは、公開した瞬間に完成するものではありません。
そして、インターネットにつながっている限り、今日も誰かがアクセスしています。
「うちは大丈夫」ではなく、「大丈夫な状態を維持する」。
そのくらいの気持ちで、Webサイトを運用していきましょう。
マジで、気をつけましょうね。

