WordPressのセキュリティを強化について
WordPressのセキュリティ強化について、代表的な対策を何点か記載させていただきます。
当社では、WordPressの専門的なセキュリティ対策において信頼できるパートナーと連携しています。
詳細は当社営業にお問い合わせください。
安易なユーザー名やパスワードを利用しない
WordPressに限らず、容易に推測されるユーザー名やパスワードを使用せず、パスワードは英数字記号などを組み合わせたもので設定ください。過去にサポートセンターよりメルマガで配信した記事にもパスワードについて記載しております。
安全なパスワードの条件としては以下の内容が推奨されております。
- 12文字以上で設定する。
- 大小英字、数字、記号を組み合わせて設定する
- 推測されやすい単語、生年月日、キーボードの配列順など単純なものを避ける。
- 他サービスで利用しているパスワードを使用しない。
参考サイト
【JPCERT】STOP! パスワード使い回し!
WordPressの管理画面にBASIC認証を設置する
WordPress管理画面に直接アクセスできてしまう場合、すべてのパスワードパターンを試す「総当たり攻撃」などのパスワードクラックを受けて、ホームページを不正に改ざんされる事例や不正アクセスよる負荷によってアクセスしづらい状況になる事例があります。
管理画面にBASIC認証を設置することを推奨しております。
常にWoredpssの本体、テーマ、プラグインを最新のバージョンを使用する
WordPressは脆弱性や不具合の修正、機能追加のため、頻繁にアップデートが行われております。
攻撃者はWordPressの修正されていない脆弱性や不具合を狙って攻撃し、改ざん等の悪事を働きます。
そのため、最新のバージョンを保つことで、脆弱性や不具合の対策をすることで
攻撃の侵入経路を塞ぐことができます。
また、WordPressの本体だけではなく、テーマやプラグインも脆弱性や不具合を狙う攻撃もありますので合わせてアップデートすることでより守りを強くすることができます。
初期設定ファイルやアップデートファイル、不要なファイルをそのままにしない
使用していないWordPress初期設定ファイルやアップデートファイルがある場合、攻撃者がそれらを用いてホームページを勝手に作成(改ざん)する事例ががあります。
そのため、不要なファイルはFTPソフト等でホームページ上からアクセスできないように権限を落とすかファイル自体を削除する、もしくは.htaccess等でアクセス制限をかけるようお願いいたします。
xmlrpc.phpを無効にする
xmlrpc.phpはWordpressを外部システムから操作するために必要な遠隔操作用となります。
xmlrpc.phpは以前まで、Wordpressシステムを他のアプリケーションから利用する際のプログラムとなっておりましたが、「Wordpress REST API」が利用されております。
xmlrpc.phpが有効のままになっていると、Wordpressサイトがこのxmlrpc.phpを介して以下のような、攻撃を受ける事があります。
- 大量のピンバックの送信攻撃 (DDoS攻撃)
※ピンバックとは簡単に相互リンクすることができるWordPressの独自機能 - 管理画面への不正ログインをするための総当たり攻撃 (ブルートフォースアタック)
上記の攻撃によってサーバーの負荷となったり、サイト自体が改ざんされる可能性が有ります。
xmlrpc.phpを無効にする方法として
- プラグイン「Disable XML-RPC」や「SiteGuard WP Plugin」の導入
- .htaccessに以下を追記し、xmlrpc.phpへのアクセス拒否を追記する
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
WordPress REST APIの制限をする
WordPress REST APIとは、WP-CLIやURLベースでWordPress外部からウェブサイトのデータを取得できる仕組みのことです。
WordPress管理画面を通さずにWordPressの投稿や編集、更新、削除が可能となる機能です。
上記のことから攻撃にも利用されるものとなり利用しないのであれば無効化や制限をすることをお勧めします。
WordPress REST APIを無効化や制限する方法として
- functions.phpに以下のコードを記述追記する
function disable_rest_api() {
return new WP_Error( 'disabled', __( 'REST API is disabled.' ), array( 'status' => rest_authorization_required_code() ) );
}
add_filter( 'rest_authentication_errors', 'disable_rest_api' );
- プラグイン「WP Cerber Security」を導入する。
REST APIを無効化すると一部プラグインの利用ができなくなったり等があるため「WP Cerber Security」を利用して制限をかけることをおすすめします。
ただしこちらのプラグインは日本語には対応していないため、翻訳サイト等などを利用して設定されることをおすすめします。
WordPress ログインユーザー名を隠す
セキュリティ上方法については記載いたしませんが、とある方法を利用することにより、WordPressへの管理画面のログインのユーザーIDを第三者が知ることが可能です。
ユーザーIDが分かってしまえば、パスワードのみのひたすら総当たり攻撃すれば管理画面へログインが可能となってしまいます。
ユーザー名漏洩防止の対策として、プラグイン「SiteGuard WP Plugin」の導入をお勧めします。
「SiteGuard WP Plugin」はユーザー名漏洩防止だけではなく以下のセキュリティ対策にも利用可能です
※一部の紹介です。
- ログインロック
※ ログイン失敗を繰り返す接続元を一定期間ロック - ログインアラート
※ ログインするたびにメール通知機能
- XMLRPC防御
など
メールフォームにスパム対策を行う
WordPressに設置されたメールフォームを使って大量にスパムメール(迷惑メール)を送信する攻撃が多発しております。
攻撃者は機械的にメールフォームに情報を渡して大量のスパムメールを送信する方法を用いるため、
送信者が人間であることを示す認証(Google reCAPTACHAなど)を入れることで対策が可能です。
また、メールフォームに必須項目や入力値の確認画面を設けたり、日本国外からのアクセスを
制限したりすることもスパムメールの対策となります。
その他の対策
その他、WordPressのセキュリティ対策も様々ございますのでインターネット検索等で「WordPress セキュリティ対策」等をご検索ください。
また、不正アクセスや改ざんの行われた際に備えて、ホームページデータ、並びにデータベースのバックアップを定期的に取得いただけますようお願いいたします。