WordPressのセキュリティ対策を行いたいです。
- 更新日: 2024-08-23 22:45:14 UTC
昨今、WordPressへの不正アクセスによる改ざん被害が多発しております。
改ざんが行われてしまった場合、
- サイトの中身が書き換えられてしまう
- スパムメール送信の踏み台にされてしまう
- 意図していない悪意あるページへの自動遷移を設置されてしまう
- セキュリティソフトが反応し、このサイトは危険というアラートを出されてしまう
といった問題が発生するケースがあります。
当記事では、対策として以下5つの方法をご紹介いたします。
■WordPress管理画面にBasic認証を設定する
■WordPress管理画面にIPアドレス制限をかける
■攻撃されやすいファイルにアクセス制限をかける
■プラグイン・テーマについて
■攻撃されやすいファイルにアクセス制限をかける
■WordPress管理画面にBasic認証を設定する
WordPress管理画面については、「CMSサーバー(VPS)オプション」のご契約時にBasic認証を初期設定しております。
基本的に解除しないことをおすすめしますが、解除されてしまった場合以下の方法で再設定が可能です。
1:.htpasswdファイルを設置する
以下のツール等で出力した内容を、.htpasswdのファイルに貼り付けて保存します。
【.htpasswd生成ツール】http://www.luft.co.jp/cgi/htpasswd.php
保存したら、CMS用FTPサーバーのpublic_htmlフォルダと同じ領域に、.htpasswdを設置します。
2:.htaccessにBasic認証設定を追記する
WordPress設定ファイルが設置されている領域内の「.htaccess」に、以下を追記します。
<Files ~ (wp-login.php|setup-config.php)>
AuthName "Administrator Only"
AuthType Basic
AuthUserFile /home/homepage/.htpasswd
Require valid-user
</Files>
以上で設定完了です。
設定後、WordPress管理画面のログイン時にこのような画面が表示されます、
1:で設定したIDとパスワードを入力ください。
【補足情報】
CMSサーバー内の特定ディレクトリに対して別のBasic認証をかけたい場合は、
Basic認証をかけたいディレクトリ内に.htpasswdと.htaccessを配置し、
.htaccess内のファイルパス記述を「/home/homepage/public_html/任意のディレクトリ名/.htpasswd」のように記述してください。
■WordPress管理画面にIPアドレス制限をかける
IPアドレス制限をかけることで、管理者以外のアクセスを許可しないように設定することが可能です。
CMSサーバー内のWordPressが設置されている領域内の「.htaccess」に、以下を追記します。
<files "wp-login.php">
SetEnvIf X-Forwarded-For "^0.0.0.0" allowip
order deny,allow
deny from all
allow from env=allowip
</files>
※0.0.0.0にはアクセスを許可する管理者様の接続元IPアドレスを入れてください。
■攻撃されやすいファイルにアクセス制限をかける
WordPressへの不正アクセスにあたって、
特に「wp-config.php」「wp-cron.php」「xmlrpc.php」の設定ファイルが攻撃されやすい傾向あります。
ブラウザからのアクセス制限をかけることで攻撃を防ぐことができますので、お試しください。
CMSサーバー内のWordPressが設置されている領域内の「.htaccess」に、以下を追記します。
<FilesMatch "^(wp-config\.php|wp-cron\.php|xmlrpc\.php)">
order deny,allow
deny from all
</FilesMatch>
■プラグイン・テーマについて
WordPressで利用されているテーマやプラグインの脆弱性を突いてサイト改ざんが行われるケースがあります。
ご利用の際は、下記の点にご注意ください。
・WordPress公式のテーマ・プラグインを利用してください。
公式ではないプラグイン・テーマは、
悪質なプログラムを埋め込まれている可能性があり、
気付かないうちに改ざんされる危険性があります。
・利用していないテーマ・プラグインは「削除」してください。
「停止」しているだけでは脆弱性をついた攻撃を受ける可能性があります。
・更新が止まっているプラグインは脆弱性を確認してください。
更新が無い場合、脆弱性をついた攻撃を受けるリスクが高まっている可能性があります。
■パスワードについて
パスワードが推測しやすい文字列であるために攻撃者にパスワードが漏洩し、サイト改ざんが発生するケースがあります。
推測が難しいパスワードにし、定期的な変更を行ってください。
推測されやすいパスワードの条件
・IDとパスワードが同一
・パスワードの文字数が6文字以下など少ない
・推測しやすい辞書にのっている単語
・パスワードが数字または英字のみの場合