
昔運用していたWordPressブログで、今思い返すとセキュリティ的に危ないことを普通にやっていました…。
よくない例としてご紹介するので、もし当てはまっていた方は対策方法も載せているのでチェックしてみてください~
画像のExif情報を消していない
写真をアップロードするとき、Exif(エグジフ)情報をそのままにしていました。
Exif情報とは、デジタル写真や画像データに自動的に付け加えられる「写真に関するメモ」のようなもので、写真を撮った場所や時間、カメラの設定などが含まれています。
そのため、これを消さないと、見知らぬ人に自分の情報が伝わってしまう危険があるんです…
実際、昔のブログにアップロードしていた画像のExif情報を確認したところ、当時住んでいた場所の位置情報ががっつり含まれていて震えました…!
Exif情報を消してから写真をアップするようにしましょう✊
私は撮影に使用しているスマホの位置情報を常にオフにしているので、位置情報は含まれないですが、
そうではない方は写真をアップする前に、Exif情報を消すアプリやツールを使う・スマホやカメラの設定で、位置情報を記録しないようにする。などの対応がおすすめです!
投稿者名の設定がデフォルトのまま
WordPressの初期状態では、投稿ページや記事一覧に表示される「投稿者名」が、自分のWordPressの管理画面への「ログインユーザー名」になっているため、ログイン名が公開されている状態になっています。
(後述するログイン画面問題(3. ログイン画面がそのまま)についても対応していない状態と併せると、乗っ取り被害に合う危険性が高くなってしまいます)
二通りの方法があります。
①投稿者名を非表示にする
②「ニックネーム」を設定して「ブログ上の表示名」(投稿者名)を「ユーザー名」→「ニックネーム」に変える
①の対応のみを行っても、方法によってはソース上に残ってしまう場合(⇨画面側のソースは誰でも閲覧可能なのでログイン名がばれてしまう)もあるので、いずれにしてもまずは②の対応をおすすめします!
▶②の対応方法
- 管理画面のユーザー>プロフィールにアクセス
- 「ニックネーム (必須)」に任意の名前を設定して保存(「プロフィールを更新」ボタンを押下)
- 「ブログ上の表示名」で先ほど設定したニックネームを選択して保存(「プロフィールを更新」ボタンを押下)
上記を行ってから、見た目的に投稿者の表示が不要だと感じたら①の対応を行うのがいいと思います。
(私はニックネームを設定した上で、テーマ(cocoon)の機能で非表示にしました!)
ログイン画面がデフォルトのまま
WordPress管理へのログイン画面のリンクはデフォルトでは簡単に推測できるようになっているため、誰でもアクセスできてしまいます。
そのため、ログインユーザー名がばれてしまう問題(「2. 投稿者名の設定がデフォルトのまま」)と併せて対応できていないと、攻撃者はパスワードの特定のみに集中できてしまい、不正ログインの可能性が高くなってしまいます。
(私は両方とも対策していなかったのでかなり危険な状態でした。)
ログイン画面のURLを変更する対応が必要です。
私はいろいろ調べて「SiteGuard WP Plugin」のプラグインを使うことにしました。
こちらはログイン画面のURLを変更する以外にも、ログイン試行回数の制限や二段階認証、他にも豊富な機能があって不正アクセスの防止ができるようになっています!
実は「2. 投稿者名の設定がデフォルトのまま」で説明した以外にも、ログインユーザー名がばれてしまう危険性(「API機能」や「”?author=数字”へのアクセス」など)があるのですが、このプラグインの「ユーザー名漏えい防御」機能でそれを防ぐこともできます。
同じように不正アクセス防止のためのプラグインは色々あるので好みや使う内容で検討してみてください。
パーマネントリンクが日本語
URLに日本語を含むことについて、SEO的にも技術的にも基本的に問題はないとされています。
ですが、例えば共有するときにURLがエンコードされてしまい、長くなるし視覚的にも分かりづらくなってしまいます。
例: https://example.com/記事タイトル → https://example.com/%E8%A8%98%E4%BA%8B%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB
また、意図しない動きをする可能性も否定できないため個人的にはおすすめできません。
私が以前ブログをしていた時は、パーマリンクが日本語だったのはもちろん、時々ローマ字にしていたり、ルールを決めていなくてぐちゃぐちゃの状態でした…(しかも別にそれを気にしていなかったw)
パーマリンクは後から変えようと思うと管理が面倒だし、SEO的にも悪影響なので最初に運用方針を決めてしまいましょう。
設定>パーマリンク設定で「投稿名」にしておいて、投稿する時にローマ字に変更するのがおすすめです。
プラグイン入れまくり
ブログにこんな機能があったらいいなーと思って調べると、便利なプラグインがたくさん出てきますよね!
私もネットでおすすめしているプラグインをよく調べずにインストールしまくっていました。
インストールするだけで簡単に利用できるプラグインはとても便利でありがたい存在です。
しかしその反面、何も考えずに入れていくと以下のようなデメリットがあるので注意が必要です。
サイトの速度低下
プラグインは追加のCSS、JavaScript、データベースクエリを必要とすることが多く、これがサイトの読み込み速度を遅くするみたいです。
セキュリティリスクの増大
脆弱性が発見されたプラグインをそのままにしておくと(アップデート)、サイバー攻撃の入り口になることがあります。
プラグイン間の競合
異なるプラグインが同じ機能を提供している場合や、コードが互いに干渉する場合、サイトのエラーやレイアウト崩れが発生することがあります。特にサイトが頻繁にクラッシュする場合、問題の原因を特定するのが難しくなります。
管理の手間が増える
多くのプラグインを導入すると、アップデートや設定変更の頻度が増えます。これにより、本来のサイト運営の時間が削られてしまいます。
上記のようなデメリットを避けるために、自分が実現したいことについて、どんな手段があるのかよく調べて(場合によってはテーマの機能で出来ることもあるので)検討することをおすすめします。
そして入れる際には本当に必要なプラグインだけに絞り込んで、評価をよくみて更新が頻繁に行われているものを選ぶようにしましょう✊
エンジニアになった現在は「プラグインを入れるって普通に機能追加だなぁ。入れるなら影響調査とテストしないと…」と慎重になって、まずはテーマで出来ないか、自分でシンプルなコードで対応できないか考えるようになりました。
WordPress初期設定はとっても大事
今は「wordpress 初期設定」(←テーマ名も追加するとなおよし)で検索すればよさげな記事がたくさん出てくるので、基本的にはそこに従って設定していけばアンチパターンを防げると思います。
ただ、そんな中でも、5.のようにむやみにたくさんのプラグインを入れるのは危険なので、よく検討してみてくださいね。

WordPressは簡単に運用できる反面、世界で最も多く使われているCMSなだけあってサイバー攻撃のターゲットにされやすいようです…。
自分もまだまだ完ぺきな運用とは程遠いので、知識のアップデートに努めたいと思います!
コメント