[うらうつ。総本部へ] [インデックスへ]

Wordpressのセキュリティ強化方法についてのメモ


■要約

当サイトで運用していたWordpressが不正アクセスによってマルウェアに感染し、「404 Error」になって、安全のため当該ページ(300記事くらい)をすべて削除したというの続きです。
再発防止のための、WPのセキュリティ強化について記載しています(さくらインターネットの場合)。


■対策方法

1.サーバーそのもののセキュリティ強化
まずはサーバーにアップロードする環境やファイルそのもののセキュリティを堅牢にする。

*サーバーパスワードの変更

*SSL(セキュア)化

*SFTP化

*WAF(Webアプリケーションファイアーウォール)の設定

*海外IPの制限

*直下フォルダのパーミッション設定を厳格にする

2.サーバーに設置しているmovabletypeの脆弱性を塞ぐ
movabletypeを置いている環境だと、MTの脆弱性からWPを狙う、という事例もある。まずはMTの脆弱性を潰しておく。

*MTのXMLRPC機能を無効化する

*トラックバックとコメント機能を無効化する

*MTインストールフォルダ内のパーミッション設定を厳格化する

3.Wordpressにセキュリティプラグインを導入する
様々なプラグインがあるが、日本語化されていて使用しやすいもの2つを例示する。

*All In One WP Security(以下、「A」とする)

*SiteGuard WP Plugin(以下、「B」とする)

4.Wordpressの堅牢化
ここからいよいよ、WP本体の堅牢化に着手していく。

(1)ユーザー名を隠す、パスワードは堅牢にする
WPは、「ユーザー名」と「パスワード」で基本的にログインできてしまうため、ユーザー名は秘匿することが望ましい。

*ユーザー名は、adminにしない

*ニックネーム(投稿者名)は、ユーザー名やハンドルネームと別のものに変更する

*投稿者名でのアーカイブは無効にする

*ユーザー名の漏洩防止策を講じる

*パスワードを堅牢なものに変更する

(2)XMLRPC機能を無効化する
外部からWPにアクセスできてしまう便利さゆえに、脆弱性との戦いでもあるXMLRPC機能。使用しない場合は絶対に無効化したい。

*XMLRPC機能の無効化

(3)WPを使用していることを隠す
WPを使用していることを可能な限り検知できないサイトの構成が望ましい。

*WPを設置するフォルダ名を工夫する

*WPが生成するメタタグや、バージョン情報をサイトのページに表示されないようにする

*データベースの堅牢化

(4)大切なファイルに部外者が容易にアクセスできなくする
WPの使用が検知され、攻撃を受けたとしても、部外者のアクセスが難しい構成を心がける。

*ファイルのパーミッション設定を変更する

設定するファイル 説明 パーミッション
root directory WPインストールフォルダ 755
wp-includes/ WPインストールフォルダ直下 755
wp-content/ WPインストールフォルダ直下 755
wp-config.php 設定ファイル 600
.htaccess WPインストールフォルダ直下 644
wp-admin/ WPインストールフォルダ直下 755
wp-admin/index.php 管理画面 644
wp-admin/js/ JSファイル 755
wp-content/themes/ テーマ 755
wp-content/plugins/ プラグイン 755

*WPにおいて共通に配布されているファイルへのアクセスを禁止する

*不正アクセスを試みているIPアドレスをブラックリストに入れ、アクセスをブロック

*ファイヤウォールを設定する

*新規ユーザー登録画面の堅牢化

*ダッシュボードからのPHPファイル編集を無効化する

*コメント・トラックバック機能の抑制

(5)管理画面への不正アクセスを防ぐ
サイト管理の本家本丸、ログインページから管理画面への不正アクセスを未然に防ぐ。

*ログインページの名称を変更する

*ログインフォームへのCAPTCHAの設定

*ログインフォームの2段階認証設定

*ログイン画面へのハニーポットの設定

*ログインロックダウン設定を行う

*管理ページへのアクセスを制限する

*指定NGワードによる管理ページへのログイン試行を検知し、以降のアクセスを拒否する

*ログインエラーメッセージの統一化

(6)日常的なメンテナンスを怠らない
日常的なメンテナンスを常に心がけ、サイトのファイル構成を常に最新の状態に保っておく。

*WP本体、プラグイン、テーマは常に最新版にしておく

*使用していないプラグインやテーマは削除する

*使用していないユーザーIDは削除する

5.不正検知の仕組みを持っておく
日ごろから、アクセスの動向に関心を持って、不正検知が素早くできるように心がけたい。

*アクセスレポートを確認する

*アクセスエラーログを確認する

WAFの検知ログを確認する

*Google Search Consoleに登録する

上記の対策で、ぜひ「健康的」なサイト運営を!

結論として言えることは、「絶対に、デフォルト設定でWPを運営してはいけない」ということ。

そして、「永続的に管理できない場合は、WPでサイト構築をしないこと」。これに尽きる。


[うらうつ。総本部へ] [インデックスへ]