「うちのような小さな会社のサイトが、攻撃されるはずがない」。セキュリティの話をすると、よくこう言われます。しかし実際の攻撃の大半は、標的を選んで行われるものではありません。プログラムが機械的に、脆弱性のあるサイトを世界中から探し回っているのです。会社の規模も知名度も関係なく、「守りが甘いかどうか」だけで狙われます。
対策を怠った代償は重く、顧客情報の漏洩、サイトの改ざん、検索結果への警告表示、そして信頼の失墜へとつながります。復旧には数十万円単位の費用と数週間の時間がかかることもめずらしくありません。とはいえ、押さえるべき基本は次の7つに整理できます。
- HTTPS(SSL/TLS)の導入
- ソフトウェアの更新
- 強固なパスワードとログイン制限
- WAFの利用
- バックアップと復旧手順の整備
- アクセス権限の最小化
- ログと監視
上から順に効果が大きく、最初の3つは費用をかけず今日からでも着手できるものです。一つずつ見ていきましょう。
1. HTTPS(SSL/TLS)の導入
HTTPSは、サイトとユーザーの間の通信を暗号化する仕組みです。導入していないサイトでは、問い合わせフォームに入力された名前やメールアドレスが、暗号化されないまま送信されます。カフェのWi-Fiのような公共のネットワークでは、この通信が第三者に盗み見られるリスクが現実にあるのです。
導入の有無は、ユーザーにも検索エンジンにも見えています。ブラウザは未導入のサイトに「保護されていない通信」と警告を表示し、それだけで問い合わせをためらう訪問者が出ます。Googleも HTTPSを検索評価の要素として扱っているため、未導入のままでは集客面でも不利です。
- 通信の暗号化
- 第三者による盗聴・改ざんを防ぎ、ログイン情報や個人情報を保護する
- ブラウザの表示
- 導入済みなら鍵マーク、未導入なら警告が表示され、第一印象を左右する
- SEOへの影響
- 検索エンジンがHTTPSを評価の一要素として扱う
証明書は無料のLet's Encryptから有料の企業認証型まで種類があり、多くのレンタルサーバーでは無料SSLを数クリックで設定でき、更新も自動化されています。導入時は、一部のページだけでなく全ページをHTTPSにする常時SSL化まで行いましょう。証明書の種類や放置した場合のリスクはSSL証明書の重要性とリスクで詳しく説明しています。
2. ソフトウェアの更新
WordPressのようなCMS、プラグイン、テーマ、サーバーのOSには、脆弱性が見つかるたびに修正版が公開されます。裏を返すと、修正版の公開は「ここに穴がありました」という攻撃者への告知でもあります。公開された脆弱性情報をもとに、更新されていないサイトを探して攻撃する。これが最も典型的な侵入パターンです。
つまり、更新を放置している期間は、既知の穴を開けたまま営業しているのと同じ状態です。当社が改ざん被害の相談を受けたサイトも、原因をたどると数年前から更新が止まったプラグインだった、というケースがほとんどを占めます。
対策はシンプルで、定期的に更新を確認し、セキュリティ更新は優先的に適用することです。WordPressならセキュリティ修正を含むマイナー更新は自動適用が既定になっていますが、プラグインとテーマは手動確認が基本なので、月1回など点検日を決めてルーチン化すると漏れがなくなります。更新には互換性の問題がつきものなので、適用前にバックアップを取る手順もセットにしてください。使っていないプラグインやテーマは、無効化ではなく削除まで行うと、管理対象そのものを減らせます。プラグインの整理の考え方はCMSプラグイン管理のベストプラクティスにまとめています。
3. 強固なパスワードとログイン制限
管理画面への不正ログインは、攻撃の中でも特に手軽な手口です。ユーザー名「admin」とよくあるパスワードの組み合わせを、プログラムが総当たりで試し続ける。これだけで突破されるサイトが、いまだに後を絶ちません。
- パスワード
- 英数字と記号を組み合わせた12文字以上を使用し、他のサービスと使い回さない
- 管理者ID
- 「admin」など推測されやすい名前を避ける
- ログイン制限
- 試行回数の制限、一定時間のロック、二要素認証で不正ログインを防ぐ
パスワードの強化に加えて、ログイン試行回数の制限と二要素認証を設定すると、総当たり攻撃はほぼ無力化できます。どちらもWordPressならプラグインで、多くのCMSでも標準機能や拡張で導入できる手軽な対策です。見落とされがちなのが、退職者や契約終了した外部業者のアカウントです。人の出入りがあったタイミングでアカウントを棚卸しする運用も、ログイン対策の一部だと考えてください。
4. WAF(Webアプリケーションファイアウォール)の利用
WAFは、サイトへのアクセスを検査し、SQLインジェクションやクロスサイトスクリプティングといった攻撃的なリクエストを、サイトに届く前にブロックする仕組みです。個別の脆弱性を一つずつ塞ぐ対策と違い、攻撃のパターン自体を入口で弾くため、未知の脆弱性に対する保険としても機能します。
かつては高価な機器が必要でしたが、現在はクラウド型WAFが普及し、多くのレンタルサーバーが標準機能やオプションとして提供しています。管理画面で有効にするだけで使えるものも多いので、契約中のサーバーの機能を確認してみましょう。まれに正常な操作がブロックされる誤検知もあるため、導入後にフォーム送信や管理画面の操作を一通り確認しておくと安心です。仕組みの詳細はWAFとは何か、導入の判断基準で解説しています。
5. バックアップの取得と復旧手順の整備
ここまでの対策をすべて講じても、リスクはゼロになりません。だからこそ、突破されたときに戻れる場所を用意しておきます。バックアップは、他の対策がすべて破られたときの最後の砦です。
データベースとファイルをセットで、更新頻度に応じた間隔で取得し、本番サーバーとは別の場所に保管する。そして、取ったバックアップから本当に復元できるかを定期的にテストする。この最後のテストを省くと、いざというとき「バックアップファイルが壊れていた」という二重の悲劇が起こり得ます。具体的な取り方と復元の手順はWebサイトのバックアップの取り方と復元手順で詳しく扱っています。
6. アクセス権限の最小化
セキュリティは技術だけの問題ではなく、権限管理の問題でもあります。原則は「必要な人に、必要な権限だけ」。全員に管理者権限を配っている状態は、鍵を全社員に複製して配っているのと同じです。
WordPressなら、記事を書く人には編集者や投稿者の権限で十分で、管理者権限はサイト全体を管理する少数に限定します。権限を絞っておくと、万一あるアカウントが乗っ取られても、被害の範囲を限定できます。制作を外注した場合は、納品後に制作会社のアカウントをそのまま残すのではなく、保守契約の有無に応じて権限を見直すことも忘れないでください。あわせて、ファイルのアップロード機能や使っていない機能を無効化しておくと、攻撃者に与える足がかりそのものを減らせます。
7. ログと監視
最後の基本は、異変に気づける状態を作ることです。改ざん被害で本当に怖いのは、気づかないまま放置される期間です。訪問者にマルウェアを配布し続け、Googleに危険なサイトとして登録され、気づいたときには検索流入が消えていた。発見が遅れるほど、被害と復旧コストは膨らみます。
アクセスログ、エラーログ、ログインログを有効にし、不審なアクセスの急増やログイン失敗の連続を検知できるようにしておきます。サーバーやWAFの監視サービス、改ざん検知の仕組みを使えば、異常時に通知を受け取れます。ログは一定期間保管しておくと、インシデント発生時に侵入経路の特定へ役立ちます。
とはいえ、ログを毎日眺め続けるのは現実的ではありません。社内に担当者を置けない場合は、監視と定期点検を外部の保守サービスに任せるのも合理的な選択です。判断の目安は「異変が起きたとき、24時間以内に気づいて動ける体制が社内にあるか」。なければ、月額の保守費用は保険料として十分に見合います。
まとめ
7つの基本を並べると多く感じるかもしれませんが、優先順位は明確です。HTTPS、ソフトウェア更新、パスワードとログイン制限の3つは、費用がほぼかからず今日から着手できます。次にWAFとバックアップで防御と保険を固め、権限の整理とログの監視で運用を引き締める。この順で進めれば、攻撃の大半を占める「機械的に守りの甘いサイトを探す攻撃」の対象から外れることができます。
セキュリティ対策は一度やって終わりではなく、更新と点検を続ける営みです。まずは自社サイトが7つのうちいくつ満たせているか、チェックしてみてください。全部で5分もあれば確認できるはずです。なお、WordPressサイトの場合は固有の注意点があるため、WordPressのセキュリティ対策もあわせてご覧ください。
セキュリティ診断と対策強化のご相談
自社サイトのセキュリティ対策がどこまでできているか分からない、何から手をつけるべきか優先順位を知りたいという方は、合同会社ギャラクタスにご相談ください。この記事の7項目に沿って現状を診断し、緊急度の高いものから対応する計画をご提案します。すでに運用中のサイトへの対策追加も、保守業務の一環として対応可能です。無料相談で、サイトの構成と運用状況をお聞かせください。