公開・SEO・運用

ホームページのセキュリティ対策とSSLの基本

ホームページの安全対策は、SSL(通信を暗号化する仕組み)を有効にするだけでは完了しません。ソフトウェア更新、管理者アカウント、多要素認証、権限、バックアップ、フォーム、外部サービス、監視、被害時の連絡手順を組み合わせて運用します。

小規模なサイトでも、改ざん、偽ページへの転送、迷惑メール送信、不正ログイン、個人情報流出、ドメイン乗っ取りなどの対象になり得ます。「狙われるほど有名ではない」ことを前提にせず、自動化された攻撃や設定ミスに備えておきましょう。

このページは初心者向けの基本確認です。個別システムの脆弱性診断、事故調査、法的判断の代わりにはなりません。決済、医療情報、会員情報などを扱う場合は、業種・サービスに適用される基準を確認し、専門家を含む体制を整えます。

公開前の重要項目

  • ホームページにセキュリティ対策が必要な理由
  • SSL・TLSとHTTPSの意味、確認方法
  • 更新、認証、権限、不要機能削除の基本
  • バックアップと復元で決める項目
  • フォーム・個人情報を扱う場合の注意点

ホームページにセキュリティ対策が必要な理由

攻撃や設定ミスが起きると、サイト表示だけでなく、事業と利用者へ影響します。

事象 主な影響
不正ログイン 内容変更、アカウント追加、データ取得
改ざん 偽情報、詐欺ページ、外部サイトへの転送
マルウェア 閲覧者への被害、検索・ブラウザーの警告
情報流出 利用者対応、信用低下、報告・調査の負担
大量送信 ドメイン・メールの評価低下、送信停止
サーバー停止 問い合わせ、予約、販売、案内の停止
ドメイン失効・乗っ取り Webとメールの停止、第三者による悪用

原因は、古いCMS・プラグイン、弱い・使い回したパスワード、退職者アカウント、過大な権限、公開したバックアップ、外部スクリプト、設定ミスなど、複数あります。

安全性は「一度設定して終わり」ではありません。サイトの重要度、保存データ、機能、更新頻度に応じて、予防、検知、復旧の三つを用意します。

SSL(HTTPS)とは

Webサイトで一般にSSLと呼ばれるものは、現在は主にTLSという仕組みを使い、ブラウザーとサーバー間の通信を暗号化・認証します。URLはhttp://ではなくhttps://で始まります。

HTTPSによって、通信途中で内容を盗み見られたり改変されたりする危険を減らせます。サーバー証明書により、接続先ドメインの確認にも使われます。

ただし、HTTPSは次を保証しません。

  • 掲載内容や運営者が信頼できる
  • Webアプリに脆弱性がない
  • 管理者アカウントが乗っ取られない
  • 保存された個人情報が暗号化されている
  • 外部スクリプトやリンク先が安全

詐欺サイトでもHTTPSを使えます。鍵マークだけで安全と判断しないようにしましょう。

HTTPSで確認すること

  • 全ページがhttps://で表示される
  • http://から対応するhttps://へ転送される
  • 画像、CSS、JavaScriptもHTTPSで読み込む
  • 証明書の対象ドメインと有効期限が正しい
  • www有無・サブドメインを必要範囲で含む
  • 自動更新が有効で、失敗時に通知される
  • canonical、サイトマップ、内部リンクもHTTPSに統一する

Let’s Encryptなどの認証局は無料のドメイン認証証明書を提供しています。無料・有料の違いだけで安全性を判断せず、認証方式、保証、サポート、更新、用途を確認します。

常時SSL化(HTTPS化)の基本手順

新規サイトでは、最初からHTTPSを前提に作成します。既存のHTTPサイトをHTTPSへ変更する場合は、証明書を有効にするだけでなく、URLと外部設定を一貫して切り替えます。

  1. 対象URLを確認する:独自ドメイン、wwwの有無、必要なサブドメインを整理します。
  2. バックアップを取る:サイトファイル、データベース、現在のDNS・サーバー設定を保存します。
  3. 証明書を発行・設定する:サーバーまたは作成サービスの手順で、対象ドメインの証明書を有効にします。
  4. サイト内URLをHTTPSへ統一する:内部リンク、画像、CSS、JavaScript、フォーム送信先、canonicalを確認します。
  5. HTTPからHTTPSへ転送する:旧URLから対応する新URLへ恒久的にリダイレクトし、二つのURLを並存させません。
  6. 検索・外部サービスを更新する:XMLサイトマップ、Search Console、アクセス解析、広告、外部連携の登録URLを確認します。
  7. 公開後にテストする:全ページ、フォーム、ログイン、予約・決済、証明書更新、リダイレクトを確認します。

よくある不具合は、HTTP画像が残る混在コンテンツ、転送の繰り返し、www有無の不一致、canonical・サイトマップに残った旧URLです。ページを数件見るだけでなく、主要URLを一覧で検査し、証明書の自動更新に失敗した場合の通知先も設定しておきましょう。

サイト運営者が行う基本対策

ソフトウェアを更新する

WordPressなどのCMS本体、テーマ、プラグイン、PHP、サーバーOS、作成・連携サービスを現在サポートされる状態に保ちます。脆弱性修正を含む更新を放置しないようにします。

更新前後の基本手順は次のとおりです。

  1. 更新内容、互換性、既知の問題を確認する
  2. ファイルとデータベースをバックアップする
  3. 重要サイトはテスト環境で確認する
  4. 更新する
  5. 表示、管理画面、フォーム、予約、決済などを確認する
  6. 問題があれば原因を切り分け、必要に応じて復元する

自動更新を使う場合も、失敗通知と更新後確認が必要です。使っていないテーマ・プラグインは停止するだけでなく、必要性を確認して削除します。

強いパスワードと多要素認証

管理画面、サーバー、ドメイン、メール、解析、バックアップなどで、サービスごとに異なる推測されにくいパスワードを使います。パスワード管理ツールを使い、平文の共有表やメールで配布しないようにします。

利用できる場合は、多要素認証またはパスキーなどを設定します。特に次のアカウントを優先します。

  • ドメイン・DNS
  • サーバー・ホスティング
  • CMSの管理者
  • 管理者メール
  • Google Search Console・GA4
  • EC・予約・決済
  • クラウドストレージ・バックアップ

回復コードと復旧手段も安全に保管します。管理者メールが失われると、他サービスまで復旧できなくなる場合があります。

不要なアカウント・機能を削除する

  • 退職者、外部制作者、テスト利用者のアカウント
  • 初期管理者名、サンプルアカウント
  • 使わないテーマ・プラグイン・連携アプリ
  • 古いAPIキー・FTPアカウント
  • 公開不要なファイル・データベース・テスト環境
  • 不要なコメント、会員登録、ファイルアップロード

外部制作者の作業が終わったら、共通パスワードを変えるだけでなく、付与した個別アカウントとAPI権限を確認します。

権限を最小限にする

日常の文章更新に、サーバーやCMSの最高権限が必要とは限りません。役割に合わせて閲覧、執筆、編集、公開、管理を分けます。

  • 個人ごとにアカウントを作る
  • 日常用と特権管理用を分ける
  • 権限付与の理由・期限・承認者を記録する
  • 共有アカウントを避ける
  • 操作ログを保管する
  • 定期的に権限を棚卸しする

外部へ依頼する場合は、パスワードそのものを渡すより、必要期間だけ個別権限を付与できる方法を優先します。

バックアップと復元確認

バックアップは、改ざん、誤操作、更新失敗、障害、退職・引き継ぎなどから復旧するために用意します。

対象

  • HTML、画像、テーマ、プラグインなどのファイル
  • CMSの本文・設定を含むデータベース
  • フォーム・商品・会員などの必要データ
  • DNS、メール、外部サービスの設定記録
  • 原稿、画像の元データ、ライセンス情報
  • サーバー・ドメイン・契約の管理台帳

運用で決めること

項目 決める内容
頻度 更新頻度と失ってよいデータ量から決める
保存期間 日次・週次・月次などを何世代残すか
保存先 本番環境と同時に失われない場所を含める
暗号化・権限 個人情報・認証情報を保護する
監視 取得失敗、容量不足を通知する
復元 誰が、何を、どの順で戻すか
テスト 実際に読み出し・復元できるか確認する

サーバー会社の自動バックアップだけに依存せず、対象と復元条件を確認します。同じサーバー内に一つだけ保存したコピーは、サーバー障害やアカウント侵害の影響を同時に受ける可能性があります。

問い合わせフォーム・個人情報の保護

フォームを設置すると、氏名、メール、相談内容などを取得する場合があります。必要な情報だけを集め、送信、保存、閲覧、削除の流れを確認します。

  • 取得目的を明示する
  • 必須項目を最小限にする
  • HTTPSで送信する
  • 管理画面・通知メールの閲覧権限を絞る
  • 保存期間と削除方法を決める
  • 自動返信へ入力内容を過剰に載せない
  • ファイル添付の種類・容量・検査を制限する
  • スパム・大量送信・不正入力への対策を行う
  • 外部フォームの保存先・再委託・国外移転などを確認する
  • プライバシーポリシーと実際の運用を一致させる

取得する必要がなければ、フォームを設置しないことも対策です。このガイドサイトのように個人情報を取得しない方針なら、問い合わせフォーム、コメント、会員登録などを追加せず、将来追加するときに方針と対策を見直します。

決済情報は、自前で保存する構成を安易に選ばず、決済サービスの提供機能と適用基準を確認します。

サーバー・作成ツール選びで確認する対策

  • HTTPSと証明書の自動更新
  • 管理者の多要素認証・パスキー
  • 利用者・役割・操作履歴
  • ソフトウェア更新の分担
  • WAF、DDoS対策、アクセス制限
  • マルウェア・改ざん検知
  • バックアップの対象・保存期間・復元
  • 障害情報と連絡手段
  • データの保存場所・出力・削除
  • 脆弱性報告・セキュリティ告知
  • サービス終了・解約時のデータ取得

「セキュリティ対策済み」という一文では、何がサービス側の責任で、何が利用者の設定か分かりません。責任分界と初期設定を確認します。

WordPressのような設置型CMSでは、ホスティング側が基盤を守っても、利用者が追加したテーマ・プラグイン、管理者、本文、フォームは別途管理が必要です。クラウド型作成ツールでも、外部コード、ドメイン、権限、連携アプリは利用者側の確認が残ります。

改ざん・マルウェア・障害を検知する

完全に防ぐだけでなく、早く気づく仕組みを用意します。

  • 主要ページの表示・HTTP状態を外部から監視する
  • ファイル変更・管理者追加・ログインを通知する
  • サーバー、CMS、WAF、メールのログを確認する
  • Search Consoleのセキュリティ通知を確認する
  • ブラウザーや検索結果の警告を確認する
  • 外部リンク、フォーム送信、予約・決済を定期テストする
  • ドメイン・SSL証明書・サーバー容量の期限を監視する
  • 管理者メールと緊急連絡先を最新にする

監視通知が同じメールサーバーだけに届くと、そのサービスが停止したときに受け取れない場合があります。重要な障害通知は別の連絡経路も用意します。

被害が起きたときの初動

異常を見つけたら、慌ててすべて削除する前に、被害拡大防止と記録保全を両立します。

  1. 日時、発見者、URL、画面、症状を記録する
  2. 影響する機能・データ・利用者を切り分ける
  3. 必要に応じて公開停止、フォーム停止、アクセス遮断を行う
  4. 正常な端末から認証情報を変更し、セッションを無効化する
  5. 不審なアカウント、変更、ログ、外部通信を保全する
  6. サーバー・サービス提供会社、保守担当、専門家へ連絡する
  7. 信頼できるバックアップと原因を確認して復旧する
  8. 表示・機能・脆弱性修正を確認して再開する
  9. 必要な報告・通知・利用者対応を判断する
  10. 原因、対応、再発防止を記録する

個人情報や決済情報の漏えいが疑われる場合は、自己判断だけで完結させず、適用法令、監督機関、契約先、専門家の指示を確認します。ログや改ざんファイルを先に消すと、原因調査が難しくなる場合があります。

公開前・定期点検チェックリスト

公開前

  • □ 全ページをHTTPSへ統一した
  • □ 管理者・ドメイン・メールに多要素認証を設定した
  • □ 初期・不要アカウントを削除した
  • □ 権限を必要最小限にした
  • □ CMS・テーマ・プラグインなどを更新した
  • □ バックアップを取得し、復元方法を確認した
  • □ フォームの取得項目・保存・通知・削除を確認した
  • □ テストページ、バックアップ、設定ファイルを公開していない
  • □ 外部スクリプト、APIキー、連携権限を確認した
  • □ 障害・事故時の連絡先を記録した

毎月・定期的

  • □ 更新通知と脆弱性情報を確認した
  • □ バックアップの成功と復元可能性を確認した
  • □ 利用者、権限、外部アプリを棚卸しした
  • □ 表示、フォーム、ログ、警告を確認した
  • □ ドメイン、SSL、サーバー、メールの期限を確認した
  • □ 不要なデータ・アカウント・機能を削除した
  • □ 事故対応手順と連絡先を更新した

点検頻度は一律ではありません。更新頻度、取得データ、サイト停止の影響、利用者数に応じて決めます。ホームページのメンテナンス・更新・保守で運用表の作り方を説明しています。

よくある質問

SSLを設定すればホームページは安全ですか

通信を保護する重要な対策ですが、それだけでは不十分です。更新、認証、権限、バックアップ、フォーム、監視、事故対応も必要です。

無料SSLは危険ですか

無料であることだけで危険とはいえません。Let’s Encryptは無料のドメイン認証証明書を提供しています。証明書の種類、更新、サポート、用途を確認し、HTTPS以外の対策も行います。

小さな会社サイトでも攻撃されますか

規模に関係なく、古いソフトウェアや弱い認証を機械的に探索する攻撃があります。重要度に応じて基本対策を省略しないようにします。

作成ツールならセキュリティ管理は不要ですか

基盤更新をサービス側へ任せられますが、アカウント、権限、ドメイン、掲載内容、フォーム、外部連携、バックアップ・移行条件は利用者が確認します。

次に確認するガイド

ホームページのメンテナンス・更新・保守このガイドを確認する ホームページに問い合わせフォームを作成する方法このガイドを確認する ホームページ用サーバーの役割と選び方このガイドを確認する

参考情報