
会員登録なしで守る、実戦的セキュリティ運用
WordPressサイトを運営していると、避けて通れないのが「セキュリティ対策」です。しかし、いざ外部の診断ツールを使おうとすると、アカウント登録やAPIキーの発行を求められ、手間で後回しにしてしまうケースが少なくありません。
本稿では、特別な会員登録を一切行わずに実施できるセキュリティ診断の手法と、サーバーに残る「アクセスログ」から攻撃の予兆を読み解く具体的なステップを解説します。
1. 登録不要で実施する外部セキュリティ診断
まずは、サイトに潜む脆弱性や設定の不備を外部から確認します。ログインや登録が不要なツールを活用することで、今すぐに診断を開始できます。
① Sucuri SiteCheck によるクイック診断
最も手軽で強力な外部スキャンサービスです。サイトのURLを入力して「Scan Website」をクリックするだけで、以下の要素を即時に判定します。
- マルウェア感染・ブラックリストの確認: 検索エンジンやセキュリティ機関によるブラックリスト登録がないか。
- 主要コンポーネントのバージョン確認: WordPress本体や公開されているプラグイン・テーマの更新状況。
- セキュリティヘッダーの未設定検出: HTTP応答ヘッダーにおける安全保護設定の不備。
② OSSツール「Nuclei」を活用した高度な脆弱性スキャン
コマンドライン環境がある場合は、WPScanの代替としてオープンソースの Nuclei が極めて有効です。無料かつ登録不要で、最新のCVE(共通脆弱性識別子)情報に基づいたスキャンを実行できます。
スキャンを実行する際は、ターミナルで以下のコマンドを使用します。
Bash
# WordPress関連の脆弱性テンプレートを指定してスキャンを実行nuclei -u https://example.com/wp/ -t http/vulnerabilities/wordpress/実行後、画面上に[CRITICAL]や[HIGH]の警告が出力されないか確認します。検出された項目があれば、該当するプラグインのアップデートまたは停止を行います。
2. サーバーのアクセスログ(rawログ)解析手順
外部スキャンだけでは見抜けない「ログイン画面への攻撃」や「不正なファイルの実行」は、サーバー上のアクセスログ(access_log)を解析することで特定します。
ログ確認時の確認ポイント
アクセスログを確認する際は、リクエストの「URL」だけでなく、応答結果である「HTTPステータスコード(200 OK、401 Unauthorized、403 Forbidden等)」の組み合わせを必ず確認してください。
ログ解析の標準手順
1.ログファイルの取得:サーバー管理画面またはFTP。
レンタルサーバーのコントロールパネル(XServer、ConoHa、ロリポップなど)から「生ログダウンロード」を行うか、FTP/SSH経由で /logs/ ディレクトリ配下にある最新の access_log を取得します。
Verification: ダウンロードしたテキストファイルが開けること、および各行にIPアドレスや日時、リクエストURLが記録されていることを確認します。
2.攻撃パターンの抽出:テキスト検索またはCLIコマンド。
取得したログファイルに対して、以下の主要な攻撃シグネチャを検索します。
- ブルートフォース攻撃(パスワード総当たり):
POST /wp-login.phpの連続試行 - XML-RPC悪用攻撃:
POST /xmlrpc.phpの多発 - 不正ファイルの直接実行:
/wp-content/uploads/*.phpへのアクセスVerification: 該当するリクエストの発生頻度と、ステータスコード200(成功)が返っているログの有無を確認します。
3.不正IPアドレスの特定と遮断:アクセス制限の実施。
不審な大量リクエストを行っている同一IPアドレスをログから特定し、サーバー設定でアクセスを拒否します。
Verification: 遮断設定後、該当IPからのアクセスに対してステータスコード 403(Forbidden)が返されているか確認します。
SSH環境で役立つログ集計コマンド
Linuxサーバー環境であれば、以下のコマンドを実行することで、攻撃元IPアドレスを即座に集計できます。
Bash
# wp-login.php へ攻撃を仕掛けているIPアドレスの上位10件を集計grep "wp-login.php" access_log | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 103. 自動監視プラグインの最小構成
ログ解析の手間を減らすため、WordPress内部で怪しい挙動を検知するプラグインを導入します。外部連携のアカウント作成が不要な構成として、以下の2つを組み合わせて運用するのが最適です。
- WP Activity Log: ユーザーのログイン、設定変更、ファイル更新など、管理画面内のすべての操作をタイムラインで記録。
- Wordfence Security: (アカウント登録はスキップ可能)ブルートフォース攻撃を自動検知し、指定回数以上ログインに失敗したIPを自動で一定時間ブロック。
定期的な外部スキャンとアクセスログの監視を組み合わせることで、アカウント登録の手間をかけずにサイトの安全性を強固に保つことが可能です。
Wordpress サイト構築・管理 プラグインとテーマの試行錯誤
