小さなサイトも狙われる理由
- 攻撃は自動で行われる:攻撃者は、弱点のあるサイトを探すプログラムを使い、世界中のサイトを片っ端から調べています。会社の大きさや知名度は関係ありません。
- 乗っ取ったサイトは「道具」になる:小さなサイトでも、乗っ取れば迷惑メールの送信や、ほかのサイトへの攻撃、詐欺ページの設置などに使えます。
- 更新されていないサイトが狙われる:多くの被害は、知られている弱点の修正(アップデート)をしていないことが原因です。
よくある攻撃と対策
「危険度」は、お店や中小企業のホームページでの被害の起きやすさと大きさの目安です。
1. 弱点(脆弱性)を突く攻撃危険度:高
ソフトウェアの弱点(脆弱性)を突いて、サイトを書き換えたり、サーバーを乗っ取ったりする攻撃です。今回の PHP の件もこれにあたります。
- 狙われる所
- WordPress などの CMS 本体、プラグイン、テーマ、PHP などのサーバーのソフト
- 被害
- サイトの改ざん、情報の流出、サーバーの乗っ取り
- 対策
- CMS・プラグイン・PHP を最新版に保つ。使っていないプラグインやテーマは削除する。サポートが終わった版を使い続けない。
2. 不正ログイン(パスワードリスト攻撃・総当たり攻撃)危険度:高
管理画面などのログインを乗っ取る攻撃です。いま特に多いのがパスワードリスト攻撃(リスト型攻撃)です。
- パスワードリスト攻撃:ほかのサービスから漏れた「メールアドレスとパスワードの組み合わせ」の一覧を使い、別のサービスでも同じ組み合わせでログインできないか、機械で次々に試します。パスワードを使い回していると、どこか1か所から漏れただけで、ほかのサービスまで乗っ取られます。
- 総当たり攻撃:
123456やpassword、店名+電話番号のような、ありがちなパスワードを大量に試します。
- 狙われる所
- WordPress の管理画面、サーバー・ドメインの管理画面、メール
- 被害
- サイトの書き換え、ドメインやサーバーの乗っ取り
- 対策
- パスワードをサービスごとに変え、使い回さない。長く推測されにくいものにする。二段階認証を使う。管理者アカウントを必要な人だけにする。ログインの失敗が続いたら止める仕組みを入れる(正しいパスワードの決め方)。
3. SQL インジェクション危険度:高
お問い合わせや検索の入力欄に、データベースへの命令をまぎれ込ませて、保存されている情報を盗み出したり消したりする攻撃です(SQL インジェクション)。
- 狙われる所
- 会員・予約・ネットショップなど、データベースを使う機能
- 被害
- 顧客情報やパスワードの流出、データの消失
- 対策
- 作る側が、入力された文字を命令として扱わない作り方(プレースホルダ)にする。自社で機能を作る場合は、実績のある仕組み(フレームワーク)を使い、制作会社に対策を確認する。
4. クロスサイトスクリプティング(XSS)危険度:中
入力欄やコメント欄から、悪いプログラム(スクリプト)をページにまぎれ込ませ、見に来た人のブラウザで動かす攻撃です(XSS)。
- 狙われる所
- コメント欄、口コミ、検索結果のページ、入力した内容を表示する画面
- 被害
- 見に来た人のログイン状態を盗まれる、偽の入力画面を出される
- 対策
- 作る側が、入力された内容を画面に出すときに、プログラムとして動かない形に変換する(エスケープ)。
5. CSRF(クロスサイトリクエストフォージェリ)危険度:中
管理画面にログインしたままの人に、罠のページを開かせて、本人が知らないうちに操作を実行させる攻撃です(CSRF)。たとえば、メールやSNSのリンクを開いただけで、自社サイトの設定を書き換えられたり、勝手に投稿されたりします。
- 狙われる所
- 管理画面、会員ページ、設定の変更やお知らせの投稿など「送信」を伴う機能
- 被害
- 設定の書き換え、管理者アカウントの追加、勝手な投稿・注文
- 対策
- 作る側が、本人の画面から送られた操作かを確かめる仕組み(トークン)を入れる。使う側は、管理画面での作業が終わったらログアウトする、管理画面にログインしたまま怪しいリンクを開かない。
6. フォームの悪用・迷惑な書き込み危険度:中
お問い合わせフォームに、プログラム(ボット)が宣伝や詐欺のメッセージを大量に送りつけます。フォームの作りによっては、迷惑メールの送信に使われることもあります。
- 被害
- 迷惑な問い合わせで本当の問い合わせが埋もれる、サーバーが迷惑メールの送信元にされる
- 対策
- ロボットかどうかを見分ける仕組み(reCAPTCHA・Cloudflare Turnstile など)を入れる。Google フォームなど、対策済みの外部サービスを使う。
7. DDoS 攻撃(大量アクセス)危険度:中
たくさんの機械から一斉にアクセスして、サイトを表示できなくする攻撃です(DDoS 攻撃)。
- 被害
- サイトが見られなくなる、サーバーの利用料が増える
- 対策
- CDN(Cloudflare など)を通して配信する。CDN が大量のアクセスを受け止め、怪しい通信を止めてくれます。
8. 改ざん・不正なファイルの設置危険度:高
1〜3 の攻撃で入り込んだあと、ページを書き換えたり、詐欺ページやウイルスを置いたりします。見た目が変わらないように仕込まれることも多く、気づきにくいのが特徴です。
- 被害
- 見に来た人がウイルスに感染する、検索結果に「このサイトは危険」と表示される、Google の検索結果から外される
- 対策
- 定期的なバックアップ。Google Search Console の「セキュリティの問題」を確認する。知らないファイルやページが増えていないか、ときどき確認する。
9. なりすまし(偽サイト・偽メール)危険度:中
お店や会社を名乗った偽のメールや、そっくりの偽サイトで、お客様から情報やお金をだまし取ります。お店自体が攻撃されなくても、信用が傷つきます。
- 対策
- メールの送信元を証明する設定(SPF・DKIM・DMARC)をする。サイトを https にする。ドメインの更新を忘れない(期限切れのドメインを他人に取られると、なりすましに使われます)。
10. 外部の部品を経由した攻撃危険度:中
サイトに組み込んでいるプラグインや、外部から読み込んでいるプログラム(広告・チャット・解析など)が乗っ取られ、そこから攻撃されることがあります。
- 対策
- 組み込む外部のサービスやプラグインは、必要なものだけにする。更新が止まっているものは使わない。
正しいパスワードの決め方
総務省は、パスワードを破られてアカウントが乗っ取られたり、サービス側から流出した事実がない場合について、次のように案内しています。
「パスワードを変更する必要はありません。」
出典:総務省「国民のためのサイバーセキュリティサイト」― 安全なパスワードの設定・管理(一部抜粋)
ただし、漏えいや乗っ取りの疑いがあるときは、すぐに変更してください。日頃は、長く推測されにくいパスワードをサービスごとに使い分け、二段階認証を設定することが大切です。
「パスワードは定期的に変えましょう」と言われてきましたが、今の考え方は違います。総務省の「国民のためのサイバーセキュリティサイト」では、流出した事実がなければ、パスワードを定期的に変える必要はないとしています。定期的に変えさせると、Shop2025 → Shop2026 のような規則的なパスワードになったり、覚えきれずに使い回したりして、かえって危険になるためです。大切なのは、変える頻度ではなく、サービスごとに違う、推測されにくいパスワードにすることです。
| おすすめ | やめたほうがよい | |
|---|---|---|
| 使い方 | サービスごとに違うパスワードにする | 同じパスワードを複数のサービスで使い回す(パスワードリスト攻撃で一度に乗っ取られる) |
| 作り方 | ある程度長い、ランダムな英数字の並び。ブラウザやスマホの「パスワードを自動で作る」機能を使う | 店名・電話番号・誕生日・123456・password など推測しやすいもの |
| 覚える必要があるとき | 無関係な(文章にならない)単語をいくつかつなげ、間に数字を挟む(例:sora7kame42ringo のような形。例のものはそのまま使わないでください) | 短い単語1つに数字を足しただけのもの |
| 変えるタイミング | 漏れた・乗っ取られた疑いがあるときは、すぐに変える | 決まった期間ごとに、規則的に少しだけ変える |
| 守り方 | 二段階認証をオンにする。パスワード管理アプリや、ブラウザのパスワード保存機能で管理する | 付せんに書いてパソコンに貼る、メールやチャットでそのまま送る |
出典:安全なパスワードの設定・管理(総務省「国民のためのサイバーセキュリティサイト」)
ふだんからできる対策チェックリスト
| 頻度 | やること |
|---|---|
| すぐに | 管理画面のパスワードを、長く、ほかで使い回していないものにする(定期的に変える必要はありません)/二段階認証をオンにする/使っていない管理者アカウント・プラグインを削除する |
| 毎月 | CMS・プラグイン・テーマの更新を確認する/バックアップが取れているか確認する |
| 年に数回 | サーバーの PHP などのバージョンを確認する/Search Console の「セキュリティの問題」を確認する/お問い合わせフォームが正しく届くか試す |
| 年に1回 | ドメインとサーバーの契約・支払い方法・登録メールアドレスを確認する(ドメインのよくある失敗) |
被害にあったかもしれないときは
- 落ち着いて、記録を残す:いつ、何に気づいたか、画面のスクリーンショットを残します。
- パスワードを変える:管理画面・サーバー・ドメイン・メールのパスワードを、乗っ取られていない端末から変更します。
- 制作会社・サーバー会社に連絡する:原因の調査、改ざんされたファイルの復旧、バックアップからの復元を依頼します。
- 必要に応じて公開を止める:見に来た人に被害が出るおそれがあるときは、一時的にメンテナンス表示に切り替えます。
- お客様の情報が漏れた可能性があるとき:個人情報保護委員会への報告や、お客様へのお知らせが必要になることがあります。専門家に相談しましょう。
YKプランニングの作り方
YKプランニングでは、お店や会社の紹介サイトを、できるだけ攻撃される場所が少ない作りでご提案しています。
- 静的なサイト+CDN:見るためのページは、サーバー側でプログラムを動かさない形(静的サイト)で作り、Cloudflare から配信します。今回の PHP の弱点のような、サーバーのソフトの問題の影響を受けにくくなります。
- 更新する機能は必要な分だけ:お知らせやメニューの更新など、必要な機能だけを持たせ、使わない機能は入れません。
- 保守プランで見守り:サーバー・ドメイン・証明書の管理や更新、障害時の対応を承ります(保守プラン)。