本文へスキップ
TYP create

XserverでできるWordPressのセキュリティ設定|WAF・常時SSL・HSTSの手順

WordPress
XserverでできるWordPressのセキュリティ設定のアイキャッチ(南京錠と鍵)

WordPressのセキュリティ対策というと、プラグインを思い浮かべる方が多いかもしれません。ですが、エックスサーバー(Xserver)を使っているなら、サーバーパネルの設定だけで強化できる守りがいくつもあります。

この記事では、エックスサーバーで設定できる「WAF」「常時SSL化」「HSTS」「WordPressセキュリティ設定」の4つについて、何を守るものなのか、どこで設定するのかを順番に紹介します。このサイトでも、実際にこの手順で設定を見直しました。

WordPressのセキュリティ全体の考え方は、WordPressのセキュリティ対策 最初に見直す基本と優先順位でまとめています。

※2026年11月時点の情報です。画面の名前はエックスサーバーの新しいサーバーパネルとマニュアルの表記に合わせています。


先にポイント

POINT 1
まずはHTTPSにそろえる
SSLを入れただけでは、http://のURLはhttps://へ自動で転送されません。転送の設定までしておきましょう。
POINT 2
WAFは段階的にオン
WAFは攻撃に似たアクセスを止める機能です。誤検知に備えて、項目を分けてオンにし、そのたびに記事の保存を試します。
POINT 3
変更前に控えを取る
.htaccessを書き換える前に、元の内容をコピーして控えておけば、表示がおかしくなってもすぐ戻せます。

エックスサーバーで設定できる4つの守り

それぞれの役割と、設定する場所をまとめました。

設定何を守るか設定する場所
常時SSL化http://のアクセスをhttps://へ転送し、暗号化された通信にそろえるドメイン設定、または.htaccess編集
HSTS一度https://で訪れたブラウザに、次からhttps://だけで接続させる.htaccess編集
WAFWebアプリケーションの弱点を狙った攻撃のアクセスを止めるWAF設定
WordPressセキュリティ設定管理画面への海外からのアクセスや、ログインの総当たりを防ぐWordPressセキュリティ設定

どれもサーバーパネルから設定でき、プラグインを追加する必要はありません。

はじめる前に:バックアップと控えを取る

設定の中には、サイトの表示に影響するものもあります。作業の前に、次の2つを用意しておきましょう。

  • サイト全体のバックアップ:プラグインなどで、変更前の状態を保存しておきます。手順はWordPressの変更前に必ず取りたいバックアップで紹介しています。
  • .htaccessの控え:.htaccess編集の画面で、今の内容をすべてコピーし、メモ帳などに貼り付けて保存しておきます。

エックスサーバーのマニュアルでも、.htaccessにはサーバーパネルの機能やWordPressが自動で書き込んだ記述があるため、分からない記述は消さないこと、編集後はサイトが正常に表示されるか必ず確認することが案内されています。

1. 常時SSL化:http://をhttps://へ転送する

無料独自SSLを設定していても、エックスサーバーではhttp://のURLが自動でhttps://へ転送されるわけではありません。転送の設定は、次のどちらかで行います。

方法A:ドメイン設定で「HTTPSに転送する」をオンにする

  1. サーバーパネルの「ドメイン設定」を開きます。
  2. 対象のドメインの詳細を開き、「HTTPS転送設定」の「HTTPSに転送する」にチェックを入れます。
  3. 「設定する」を押します。

コードを書かずに設定できるので、こちらがいちばん手軽です。対象のドメインに、SSL証明書が設定されている必要があります。

方法B:.htaccessに転送のコードを書く

  1. サーバーパネルの「.htaccess編集」を開きます。
  2. 対象のドメインの行の右にある、ペンのアイコン(編集)を押します。
  3. 今の記述は消さずに、先頭に次のコードを追加して、「設定する」を押します。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

マニュアルでは、設定が反映されない場合があるため、先頭への追記がすすめられています。設定したら、http://から始まるURLにアクセスして、https://へ切り替わるかを確認しましょう。

WordPressのアドレスもhttps://にする

WordPressの管理画面の「設定」→「一般」で、「WordPress アドレス (URL)」と「サイトアドレス (URL)」がhttps://になっているかも確認します。記事の中の画像がhttp://のままだと「保護されていない通信」と表示されることがあり、CSSやJavaScriptがhttp://のままだと読み込まれずに表示が崩れることがあります。あわせて見直しておきましょう。

2. HSTS:次回からhttps://だけで接続させる

HSTS(HTTP Strict Transport Security)は、サイトから「このサイトにはhttps://だけで接続してください」とブラウザに伝える仕組みです。一度受け取ったブラウザは、決められた期間、http://で開こうとしても自動でhttps://に切り替えて接続します。

常時SSL化の転送は、http://で届いたアクセスをサーバー側でhttps://へ送り直すものです。HSTSは、その最初のhttp://のアクセス自体をブラウザの側で起こさないようにする、もう一段の守りです。

設定のしかた

「.htaccess編集」で、先頭に次の4行を追加して保存します。

# HSTS
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000"
</IfModule>

max-ageは、ブラウザがhttps://だけで接続することを覚えておく期間で、秒で指定します。31536000秒は1年です。

追記する場所に注意
# BEGIN WordPressから# END WordPressまでの間は、WordPressが自動で書き換えるため、ここに書いた内容は消えてしまうことがあります。HSTSのコードは、この範囲の外(先頭)に書きましょう。

includeSubDomainsとpreloadは慎重に

HSTSには、サブドメインにも同じ規則を当てるincludeSubDomainsや、ブラウザに最初から組み込んでもらうためのpreloadという指定もあります(preloadは、別途登録の申請が必要で、登録後は外すのにも時間がかかります)。ただし、サブドメインでhttps://に対応していないサイトがあると、そのサイトに接続できなくなります。サブドメインを使っていない個人ブログなら、まずはmax-ageだけで十分です。

なお、ブラウザはhttp://で受け取ったHSTSの指示を無視します。HSTSが効くのは、一度https://で訪れたあとからです。常時SSL化の転送とHSTSは、セットで設定しておきましょう。

また、HSTSが有効な間は、SSL証明書の期限切れなどでエラーが出たときに、ブラウザの警告を無視して開くことができません。SSL証明書が自動で更新されていることを確認してから設定しましょう。不安な場合は、最初はmax-age=300(5分)などの短い値で試し、問題がなければ1年に延ばす方法もあります。

設定できたか確認する

Chromeでサイトを開き、デベロッパーツール(Windowsは「F12」、Macは「command + option + I」)の「ネットワーク」タブを開いてから、ページを再読み込みします。一番上に表示されるページの行を選び、「ヘッダー」の「レスポンス ヘッダー」にstrict-transport-security: max-age=31536000が表示されていれば、設定できています。

3. WAF:攻撃に似たアクセスを止める

WAF(Webアプリケーションファイアウォール)は、Webアプリケーションの弱点を狙った攻撃からサイトを守る機能です。エックスサーバーでは、次の6つの項目を、ドメインごとにオン・オフできます。

項目検知するもの
XSS対策javascriptなど、スクリプトのタグを含むアクセス
SQL対策SQLの構文に当てはまる文字列を含むアクセス
ファイル対策.htaccessや.htpasswdなど、サーバーの設定ファイルへのアクセス
メール対策to、cc、bccなど、メールのヘッダーに関する文字列
コマンド対策kill、ping、lsなど、コマンドの文字列
PHP対策脆弱性の原因になりやすい、PHPの関数を含むアクセス

検知されたアクセスは拒否され、エラーページが表示されます。

設定のしかた

  1. サーバーパネルの「セキュリティ」から「WAF設定」を開きます。
  2. 対象のドメインの欄で、オンにしたい項目のスイッチを「ON」にします。
  3. 画面では、項目の横に「反映待ち」と表示されました。反映されると、この表示が消えます。

マニュアルでは、反映まで最大30分程度かかる場合があるとされています。このサイトで設定したときは、それより長くかかったので、表示が消えるまで気長に待ちましょう。

誤検知に備えて、2回に分けてオンにする

WAFは、攻撃に「似た」アクセスも止めます。そのため、記事の本文にHTMLのタグなどを含めて保存したときなどに、普通の操作が止められてしまう可能性があります(誤検知)。とくにXSS対策は、スクリプトのタグに反応するので注意が必要です。

このサイトでは、次の順番でオンにしました。

STEP 1
XSS以外の5項目をオン
SQL、ファイル、メール、コマンド、PHPの対策をオンにして、反映を待ちます。
CHECK
いつもの操作を試す
公開ページの表示、管理画面で記事を開いて「更新」、サイト内検索などを試します。
STEP 2
最後にXSS対策をオン
問題がなければXSS対策もオンにして、もう一度同じ操作を試します。

オンにしたあとで、記事の保存や管理画面の操作で急に「403」やアクセス拒否のエラーが出るようになったら、誤検知の可能性があります。最後にオンにした項目からオフに戻して、どの項目が原因かを確かめましょう。

鎖と南京錠でロックされたキーボード

4. WordPressセキュリティ設定:管理画面とログインを守る

サーバーパネルの「WordPressセキュリティ設定」では、WordPressの管理画面やログインに関する制限を、ドメインごとに設定できます。マニュアルに書かれている初期の状態は、次のとおりです。

設定内容初期状態
国外アクセス制限管理画面(ダッシュボード)、XML-RPC API、REST API、wlwmanifest.xmlへの、海外のIPアドレスなどからのアクセスを制限ON
ログイン試行回数制限ログインに何度も失敗したアクセスを制限(24時間で解除)ON
大量コメント・トラックバック制限短時間の大量のコメントなどを制限(6時間で解除)ON
国外からのコメント・トラックバック制限海外からのコメントなどを制限OFF
IPアドレス制限管理画面とログイン画面に、指定したIPアドレスからだけ入れるようにするOFF

初期状態のままでも、ある程度の守りは入っています。まずはオフになっている項目を確認し、自分の使い方に合わせて調整しましょう。コメント欄を海外向けに使っていないなら、「国外からのコメント・トラックバック制限」はオンにしておくと安心です。

海外から編集するときは注意

国外アクセス制限がオンのままだと、海外旅行中などに、管理画面に入れなかったり、記事の編集や保存ができなかったりすることがあります。マニュアルでは、海外からWordPressを使う場合は、ダッシュボードとREST APIの制限をオフにするよう案内されています。ふだんはオンのまま使い、海外から編集する間だけオフにするのが安心です。CloudflareなどのCDNや、海外のクラウドサービスを経由する場合も、制限にかかることがあります。

設定後のチェックリスト

設定をひとつ変えるたびに、次の項目を試しておくと、問題に早く気づけます。

  • トップページと記事ページが、いつもどおり表示される
  • http://から始まるURLが、https://に切り替わる
  • 管理画面にログインできる
  • 記事を開いて「更新」を押すと、「投稿を更新しました」と表示される
  • サイト内検索やお問い合わせフォームが使える

どこかで表示が崩れたり、エラーが出たりしたら、最後に変えた設定を元に戻します。.htaccessの場合は、控えておいた内容に貼り直せば元どおりになります。

よくある質問

どの順番で設定すればいいですか?

バックアップと.htaccessの控えを取ったら、常時SSL化、HSTS、WordPressセキュリティ設定の確認、WAFの順番がおすすめです。表示に関わる設定を先に済ませ、誤検知が出やすいWAFは最後に、項目を分けてオンにします。

セキュリティ系のプラグインは不要になりますか?

不要にはなりません。エックスサーバーのマニュアルでも、WAFは不正アクセスを100%防ぐことを保証するものではなく、プログラムを最新の状態に保つことが大切だと案内されています。WordPress本体やプラグインの更新、ログインの2段階認証などと組み合わせて使いましょう。

HSTSを設定したあとで、やめることはできますか?

.htaccessのHSTSの行をmax-age=0に変えると、次にhttps://で訪れたブラウザからHSTSが解除されます。HSTSの行を消しただけでは、ブラウザに残った設定はmax-ageの期間が終わるまで続きます。ただし、変更後にサイトを訪れていないブラウザには前の設定が残るため、すべてのブラウザですぐに解除されるわけではありません。

まとめ

エックスサーバーなら、常時SSL化、HSTS、WAF、WordPressセキュリティ設定の4つを、サーバーパネルから設定できます。まずはhttps://への転送とHSTSでHTTPSにそろえ、WAFは誤検知に備えて段階的にオンにするのがおすすめです。

サーバーの設定とあわせて、WordPress側の守りも見直しておきましょう。

※出典:エックスサーバー マニュアル「WAF設定」「Webサイトの常時SSL化」「.htaccess編集」「WordPressセキュリティ設定」、MDN Web Docs「Strict-Transport-Security」。内容は変更される場合があります。

PHOTO CREDITPixabay