- 2026.05.01
- 保守・セキュリティ
- GIVデザインチーム
GIVが基本的に実施するWordPress案件のセキュリティ対策
WordPressは世界で最も使われているCMSです。その分、脆弱性を狙った攻撃やスキャンを日常的に受けているのも事実。大手サイトに限った話ではなく、小さなコーポレートサイトでも同じです。botは「どこが大手か」なんて見ていません。公開されているサイトを片っ端から無差別に調べていきます。
今回は、GIVがWordPress案件の制作・保守で基本的に実施しているセキュリティ対策について、ご紹介しようと思います。(要件によって内容は変わりますが、、)
1.REST API からユーザー名を漏らさない
WordPressには「REST API」という仕組みがあり、外部のプログラムからサイトの情報を取得できるようになっています。便利な機能なのですが、初期設定のままだと、サイトに登録されているユーザー名の一覧が誰でも取得できてしまいます。
具体的には、以下のようなURLにアクセスすると、JSON形式でユーザー情報が返ってくるケースがあります。
https://example.com/wp-json/wp/v2/users
ユーザー名が漏れると何が問題かというと、ログインに必要な情報の半分(ユーザーID)が既に相手に渡っている状態になります。あとはパスワードを総当たりで試せばいい、ということ。
REST APIのユーザー関連エンドポイントを外部から見えないようにする、という対策を基本的に入れています。
2.WordPressやプラグインのバージョン情報を見せない
HTMLソースを見ると、<meta name="generator" content="WordPress 6.x.x"> のような記述が埋め込まれていることがあります。これがWordPressのバージョン情報の露出です。SEOプラグインや解析ツールなど、他のプラグインも同じように自分のバージョンを書き込むことがあります。
何が問題かというと、「このバージョンには、この脆弱性がある」という情報は公開されているので、バージョンが見えている=攻撃者に「このサイトはこの穴が使えるかもしれない」と教えているのと同じ、ということです。
もちろんバージョンを常に最新に保つのが大前提ですが、それでも「どのバージョンで動いているか」を外に見せる必要はありません。家の鍵を開けたままにしないのと同じで、余計な情報は出さないのが基本です。
3.セキュリティヘッダーを設定する
ここはちょっと専門的な話になります。
Webサイトがブラウザに応答を返すとき、一緒に**「ブラウザ側で守ってほしいルール」**も送れる仕組みがあります。これを「セキュリティヘッダー」と呼びます。
例えば、
- サイトが他のページに勝手に埋め込まれるのを防ぐ(クリックジャッキング対策)
- ファイルの種類を勝手に解釈させない(誤判定による攻撃を防ぐ)
- カメラやマイクなどの権限を無闇に使わせない
こういった指示をブラウザに伝えるのがセキュリティヘッダーです。
設定されていないと、外部のセキュリティ診断ツールで必ず指摘されます。「ちゃんと見ている制作会社かどうか」の踏み絵みたいなもので、逆に言えば、設定されていないと「この会社、基本的なことを見ていないな」と判断されかねません。
4.バージョン情報が書かれたファイルを公開しない
WordPressには、初期状態で readme.html や license.txt というファイルが同梱されています。この中にもWordPressのバージョン情報が書かれていることがあります。
普段サイトを使う分には誰もアクセスしないファイルですが、スキャナーは見に行きます。ここもブロックしておくのが基本です。
5.ログイン画面とxmlrpc.phpの保護
WordPressのログイン画面(wp-login.php)と、昔からある外部連携用のファイル(xmlrpc.php)は、botによるブルートフォース攻撃(総当たり)の定番ターゲットです。
GIVでは、セキュリティプラグインを使って以下の対策を入れています。
- ログイン試行回数の制限
- ログインURLへの画像認証追加
- xmlrpc.phpへの外部アクセス制限
- 管理者のユーザー名が外から判別できないようにする対策
「ログインURLを隠す」「パスワードを強くする」は基本ですが、それに加えて**“そもそも攻撃リクエストを受け付けない”状態**にしておくのが、運用負荷を下げるコツです。
その他、案件ごとに追加する対策
上記は「要件に関係なく、どのWordPress案件でも基本的に確認している」項目です。案件の性質やリスクに応じて、さらに以下のような対策を追加することがあります。
- 管理画面のログインURLの変更
- 2要素認証の導入
- WAF(Web Application Firewall)の導入
- バックアップの外部保管
- 改ざん検知ツールの導入
- GOOSEC(GIVが開発しているWordPress脆弱性スキャンツール)による定期診断
どこまでやるかは、サイトの規模・重要度・予算とのバランスで決めています。「全部やれば安全」ではありますが、重要なのはそのサイトにとって必要なラインを見極めることです。
コラム:なぜ「基本」にこだわるのか
今回ご紹介したものは、どれも派手な対策ではありません。やって当たり前、やっていないと恥ずかしいという類のものです。
ただ、この「やって当たり前」ができていないサイトは、実は少なくありません。制作会社が納品して終わり、保守契約もなく、数年そのままというケースは地方では特によく見かけます。
日々の小さな積み重ね。GIVが大切にしている考え方ですが、セキュリティ対策こそ、まさにこの積み重ねの世界です。ひとつひとつは地味でも、やっていないと外から見たときに「この会社、大丈夫か?」と思われてしまう。
逆に言えば、基本を押さえているだけで、多くの無差別攻撃は素通りしていきます。全てを防ぐことはできませんが、少なくとも「狙いやすいサイト」の候補からは外れる。これだけでも、日々のリスクはかなり変わります。
まとめ
GIVでは、WordPress案件において以下を基本ラインとして対応しています。
- REST APIからユーザー情報を漏らさない
- バージョン情報を見せない
- セキュリティヘッダーを設定する
- 不要なファイルを公開しない
- ログイン画面とxmlrpc.phpを保護する
どれも特別なことではありません。ただ、特別ではないからこそ、ちゃんとやっている会社とそうでない会社の差が出る。そういう領域です。
「今のサイト、こういう基本ができているか分からない」「保守を他社に任せていて、中身を見たことがない」という方は、一度ご相談ください。既存サイトの診断・保守切り替えも対応しています。
Web・AI・セキュリティのお悩みは
GIV株式会社へご相談ください
「サイトをリニューアルしたい」「業務を自動化したい」
そんな課題を、技術とデザインの力で解決します。
まずはお気軽にお問い合わせください。