直し方ガイド
診断で見つかった問題の直し方ガイド
診断レポートで見つかった問題を、どこで・どう直すかをまとめました。サーバー会社別の手順と、WordPress の手順への入口です。
・約8分で読めます
診断レポートの「対処」に書かれている内容を、実際の操作に落とし込むためのガイドです。お使いのサーバー会社が下にある場合は、その会社の管理画面に合わせた手順をご覧ください。
| お使いの環境 | ガイド |
|---|---|
| エックスサーバー | エックスサーバーでの直し方 |
| さくらのレンタルサーバ | さくらのレンタルサーバでの直し方 |
| ロリポップ!レンタルサーバー | ロリポップ!での直し方 |
| ConoHa WING | ConoHa WING での直し方 |
| WordPress(サーバー会社を問わず) | WordPress の直し方 |
それ以外のサーバーをお使いの場合は、このページの手順を制作会社やサーバー会社にそのまま渡して、対応を依頼できます。依頼の進め方は「制作会社に修正を依頼するときのチェックリスト」にまとめています。
作業の前に: 設定ファイル(.htaccess)を書き換える前に、必ず元の内容を控えてください。書き間違えるとサイト全体が表示されなくなることがあり、元に戻せば復旧します。
通信の暗号化(HTTPS・証明書・HSTS)
対象になる検出事項:証明書の期限切れ・期限間近、http のまま表示される、HSTS がない、古い暗号方式が使える、など。
- 証明書を有効にする。 ほとんどのレンタルサーバーには無料の証明書(Let's Encrypt)があり、管理画面から有効にできます。自動更新になっているかも確認してください。
- http を https に転送する。 管理画面に「HTTPS に転送する」といった設定があればそれを使います。なければ、公開フォルダの
.htaccessの先頭に次を追加します(Apache の場合)。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
- HSTS を設定する。 すべてのページが https で問題なく表示されることを確かめてから、次の1行を
.htaccessに追加します。最初は短い期間(300 秒)で試し、問題がなければ1年(31536000 秒)に延ばします。
Header always set Strict-Transport-Security "max-age=31536000"
- 古い暗号方式(TLS 1.0 / 1.1) は、共用のレンタルサーバーでは利用者側で止められません。サーバー会社のサポートに、無効にできるか、新しいサーバーへ移れるかを問い合わせてください。
セキュリティヘッダー
対象になる検出事項:nosniff がない、他サイトの枠内に表示できる、リファラーの指定がない、Permissions-Policy がない、CSP がない、バージョンが見えている、など。
Apache のサーバーでは、公開フォルダの .htaccess に次を追加します。
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
</IfModule>
- CSP(読み込み元の制限) は、サイトが使っている外部サービス(アクセス解析、地図、動画、フォントなど)をすべて許可する必要があり、書き方を誤ると表示が崩れます。制作会社に依頼し、まず
Content-Security-Policy-Report-Onlyで影響を確かめてから有効にするのが安全です。 - サイトの中で地図や予約フォームなど、自社の別ページを枠内に表示している場合は
SAMEORIGINのままで動きます。他社のサイトに自社ページを埋め込ませている場合は、制作会社に相談してください。 - バージョンの表示(
X-Powered-By: PHP/8.xなど)は、PHP の設定でexpose_php = Offにすると消えます。管理画面に「php.ini 設定」があれば、そこで変更できます。Web サーバー自体のバージョン表示は、共用サーバーでは変更できないことがあります。 - Cookie の Secure / HttpOnly は、サイトのプログラム側の設定です。WordPress は https で運用していれば自動で付きます。独自のプログラムの場合は制作会社に依頼してください。
PHP の更新
対象になる検出事項:PHP のサポートが終了している、最新版ではない、既知の脆弱性がある。
- 管理画面の「PHP のバージョン設定」で、サポート中の版(サーバー会社が「推奨」としている版)に切り替えます。
- 切り替えたら、サイトの表示、問い合わせフォーム、管理画面へのログインを確認します。
- 表示が崩れたりエラーが出たりしたら、元の版に戻して、制作会社に対応を依頼します。古いテーマやプラグイン、古いプログラムが原因のことがほとんどです。
WordPress をお使いの場合は、先に WordPress 本体・テーマ・プラグインを更新してから PHP を切り替えると、問題が起きにくくなります。
公開されてはいけないファイル
対象になる検出事項:.env・.git・バックアップ・データベースの書き出し・phpinfo.php などが外から見える、フォルダの中身が一覧で見える、など。
- まず削除する。 レポートの「根拠」にある場所のファイルを、ファイルマネージャーや FTP で公開フォルダから削除します。必要なファイルなら、公開フォルダの外に移します。
- 漏れた可能性のある情報を変更する。
.envやwp-config.phpのバックアップ、データベースの書き出しが見えていた場合は、そこに書かれていたパスワードや API キーを変更してください。削除しただけでは、すでに見られた分は取り消せません。 - 再発を防ぐ。
.htaccessに次を追加すると、「.」で始まるファイルと.gitなどのフォルダへのアクセスを拒否し、フォルダの一覧表示を止められます。
<FilesMatch "^\.">
Require all denied
</FilesMatch>
RedirectMatch 404 /\.(git|svn)(/|$)
Options -Indexes
Options の行は、サーバー会社によっては使えず、追加するとエラーになることがあります。その場合はその行だけ外し、一覧が見えているフォルダに空の index.html を置いてください。
なりすましメール対策(SPF・DKIM・DMARC)
対象になる検出事項:SPF がない・弱い、DKIM が見つからない、DMARC がない・「何もしない」のまま、など。
設定する場所は、ドメインの DNS を管理している会社(サーバー会社、またはドメインを取得した会社)の管理画面です。
- SPF: メールを送るサービスをすべて含めた TXT レコードを1つだけ登録します。2つ登録すると無効になります。例:
v=spf1 include:_spf.google.com ~all(Google Workspace の場合) - DKIM: メールサービスの管理画面で DKIM を有効にし、表示されたレコードを DNS に登録します。
- DMARC:
_dmarcという名前の TXT レコードを登録します。最初は様子を見る設定から始めます。
v=DMARC1; p=none; rua=mailto:[email protected]
届いたレポートで、自社の正しいメールが SPF か DKIM に合格していることを確かめてから、p=quarantine(迷惑メールに入れる)、p=reject(受け取らせない)へと段階的に強めます。仕組みの説明は「メールのなりすまし対策」をご覧ください。
メールを送らないドメインには、v=spf1 -all と v=DMARC1; p=reject を登録しておくと、なりすましに使われにくくなります。
DNS の設定(CAA・DNSSEC)
対象になる検出事項:証明書を発行できる会社が制限されていない(CAA 未設定)、DNSSEC が有効になっていない。
- CAA: 証明書の発行を許可する会社を DNS に登録します。無料の証明書(Let's Encrypt)だけを使っている場合は、次の CAA レコードを追加します。別の会社の証明書も使っている場合は、その会社も追加しないと更新に失敗するので、先にサーバー会社に確認してください。
0 issue "letsencrypt.org"
- DNSSEC: ドメインを取得した会社(レジストラ)と、DNS を管理している会社の両方が対応している必要があります。対応状況と手順を、ドメインの管理会社に問い合わせてください。どちらも優先度は低めです。ほかの問題を先に直してかまいません。
直したあとに
設定を変えたら、もう一度診断して、問題が消えたことを確かめてください。ご不明な点や、自社での対応が難しい場合は、お問い合わせからご相談ください。