WordPressでサイト運営しているけど、セキュリティ対策が心配・・・。大事なサイトだからハッキングとかされないように守りたい!
このような方向けの記事になります。
WordPressはオープンソースで世界でのシェアもトップなので、狙われやすいというデメリットがあります。なので、セキュリティ対策ができていないサイトは狙われやすいのでしっかりと対策しておきましょう。
セキュリティ対策の前提条件
- 常時SSL化がしてある
- WordPressは最新バージョン
- PHPは最新バージョン
- プラグインも最新バージョン
- パスワードの強度を高める
上記の事項は必須になります。
サイトのSSL化はGoogleも推奨している必須のセキュリティ対策になりますので、必ず行っておきましょう。
本記事で紹介する対策方法
- 対策①:WordPressの管理画面にBASIC認証をかける
- 対策②:WordPressファイルのパーミッションを変更する
当ブログでも実際に行っていて、今日まで安全にサイト運営できています。
初心者の方向けに画像を使い解説していきますので参考にどうぞ。
対策①:WordPressの管理画面にBASIC認証をかける
デフォルトだと「ドメイン名/wp-admin」で誰でも管理画面のログイン画面を表示できてしまう状態なので、こちらの画面にさらにBASIC認証というロックをかけていきます。
手順は下記です。
- 手順①:「.htaccess」「.htpasswd」を作成する
- 手順②:作成したファイルをアップロードする
- 手順③:BASIC認証が動くか確認する
2重のロックになりますので、スパム攻撃から守る事ができます。
WordPressのサイト以外でもBASIC認証は使えますので、サイト運営をしていく上で役立つ思います。
手順①:「.htaccess」「.htpasswd」を作成する
まずはBASIC認証に必要な下記の2つのファイルを作成します。
- .htaccess
- .htpasswd
今回は「wp-login.php」というファイルに鍵をつけるので「.htaccess」には下記のように記述します。
.htaccess<Files wp-login.php> AuthUserFile ここに「.htpasswd」までのフルパスを記入する AuthName "ID and password" AuthType Basic require valid-user </Files>
上記を「.htaccess」に記述します。
BASIC認証の詳しい設定方法は別記事で解説しておりますので、BASIC認証を使った事がない方は下記の記事を読みながら設定していきましょう。
手順②:作成したファイルをアップロードする【注意点あり】
それでは作成した「.htaccess」「.htpasswd」を「wp-login.php」のあるディレクトリにFTPを使用してアップロードしていきます。
上の画像は「FileZilla」というFTPツールを使用しています。他のFTPツールを使用している方はそちらで大丈夫です。
FTPツールを使った事がないという方は「「FileZilla」とは?使い方を解説【インストール方法・使い方・おすすめの設定を解説】」で使い方などを解説しているので参考にどうぞ。サイト運営をしていく上で必須のツールです。
注意:既に「.htaccess」がある場合は上書きしないように
サーバー側「.htaccess」を必ずバックアップを取り、そちらのファイルの一番下にコードを追加しましょう。
サーバー側に既に「.htaccess」が作成してある事が多いですので、既にある方はそちらのファイルの一番下に下記のコードを追加しましょう。
.htaccess<Files wp-login.php> AuthUserFile ここに「.htpasswd」までのフルパスを記入する AuthName "ID and password" AuthType Basic require valid-user </Files>
アップロードができましたら、確認作業していきます。
サイトにエラーが出た場合はバックアップしてある「.htaccess」に戻しましょう。記述に誤りがあると思いますので確認しましょう。
※全角スペースなどがあるとエラーになります。
手順③:BASIC認証が動くか確認する
管理画面にログイン済みの方は上の画像を参考に一旦ログアウトしましょう。
その後に管理画面を開こうとします下の画像ように管理画面とは別のログイン画面が表示されるかと思います。
こちらの画面で設定したパスワードでログインできましたら、BASIC認証の設定は完了となります。上手くいかない方は記述を見直して再度設定してみましょう!
対策②:WordPressファイルのパーミッションを変更する
サイトがハッキングされてファイルを書き換えられるという事が、多発しているのでこちらの対策をしていきます。よくある他の悪質なページにリダイレクトされるというサイトはハッキングされています。
ファイル編集の権限を変更して、自分だけが編集できるようにWordPressファイルのパーミッションを変更していきます。
変更点の早見表
- ファイル:604
→「wp-configは600or400」「.htaccessは606」 - フォルダ:705
→「themesとuploadsは707」
パーミッションは推奨されている数値があり、上記が推奨されている設定になります。
パーミッションはFTPツールを使って簡単に変更する事ができます。
※FileZillaを使用して解説していきます。
「ファイル」のパーミッションを変更する
上の画像のようにファイルを右クリックすると【パーミッションの変更】という項目がありますのでこちらクリックします。すると下の画像のようになると思います。
ここでパーミッションの数値を変更します。
- wp-config.php:600か400
- .htaccess:606
- その他のファイル:604
上記を参考に変更していきます。
「wp-config.php」は使用しているサーバーによって400だと設定できない場合がありますので、どちらかの数値で設定しましょう。
最後に【OK】をクリックすれば変更できます。
一括で変更できる
ルート直下のファイルは一括では変更はできませんが、フォルダの中のファイルは一括で変更する事ができます。WordPressはファイルが多いのでこの方法で変更するのが早いです。
一番親元のフォルダで先ほどと同じように【パーミッションの変更】を開きます。
上の画像のようになりましたら【サブディレクトリも再帰的に処理する】にチェックし【ファイルのみ】にチェックします。このようにして数値を「604」にして完了しますと、フォルダの中の全てのファイルのパーミッションを「604 」に変更する事ができます。
これで全てファイルを変更しましたら、ファイル側は完了になります。
「フォルダ」のパーミッションを変更する
先ほどの「ファイル」と操作は同じになります。
数値だけ下記になりますので、そこだけ注意です。
- themesとuploads:707
- その他のフォルダは:705
wp-content内の「theme」と「uploads」のみ707にして、それ以外は705にしましょう。
こちらも一括で変更できて先ほどの【ファイルにのみ適用】を【ディレクトリにのみ適用】に変更すればフォルダのみの数値を変える事ができます。
以上でパーミッションの変更は以上となります。
動作に不具合が出たら、その都度修正しましょう。
変更ミスで下記などに不具合がでる場合があります。
- ログイン画面
- メディアアップロード時
- 記事の投稿時
- プラグインの追加や削除時
- テーマの変更時
上記の事項でエラーが出る場合はパーミッションを再度確認しましょう。
アクセス面に影響は出ないと思いますので、サイトにアクセスできていればとりあえずはOKです。
ここまでできましたら、セキュリティ対策は十分かと思います。
後は日頃からWordPressのバージョンなどが古くなりすぎないように、定期的にアッグレードしていきましょう。
当記事で紹介した方法以外にも有効なセキュリティ対策がありましたら、追加で解説していこうと思います。