SEブログ

【WordPress】バージョン情報を削除する

こんにちは!SE ブログの相馬です。

 

 

今回は WordPress のセキュリティについて書いてみました。

 

 

 

WordPress のセキュリティーについて

 

 

このブログは WordPress で作っています。WordPress って脆弱性が頻繁にあるようで、よくアップデートしていますよね。

 

 

インターネットに公開しているだけでも攻撃の対象になる訳ですが、WordPress は世界中で抜きんでて 1 番人気がある CMS です。

 

 

面白い Web サイトがあるので共有します。WordPress がどのくらいダウンロードされているのかリアルタイムで確認する事ができます。これを見れば WordPress がどれだけ世界中で使われているのかがお分かりいただけると思います。

 

 

WordPress Download Counter

 

 

 

ですから、多くの人が使用しているので攻撃の対象になってしまう理由になります。Microsoft の Windows もその理由になるかと思います。

 

 

 

WordPress のバージョンをアップデートしなければならない理由

 

 

まず、WordPress や WordPress プラグインのバージョンが古いとハッキングされやすくなります。

 

 

プログラミング言語のマンツーマンのレッスンで有名な CodeCamp のブログで説明されていますが、ハッキングされる動画が掲載されております。

 

 

Kali Linux のように、簡単にツールを使えば、簡単に WordPress の管理者ユーザーとパスワードを探し出す事ができてしまいます。

 

 

一旦ユーザー名を分かってしまうと、あとはブルートフォース攻撃でかたっぱしから辞書で使ってパスワードを探し出します。管理者のパスワードが分かってしまったら、後は何でもできてしまいますね。。。WordPress は既に乗っ取られたしまった事になります。

 

 

WordPressの脆弱性対策として必ず知っておくべき10のこと | CodeCamp

 

 

 

 

WordPress とプラグインのバージョンの削除

 

 

そこで、私も WordPress を使っていますので、自分ができる事は自分で脆弱性の対策などをする事にしております。

 

 

という事で、WordPress のバージョンの削除をやってみました。また、WordPress で動作しているスクリプトのバージョンも一緒に削除しました。

 

 

こういったバージョンを隠さないと、上に書いたように悪意あるユーザーが WordPress や スクリプトのバージョンを確認して、そのバージョンの脆弱性を調べて、攻撃の対象にされる可能性があります。

 

 

WordPress のバージョンは head 要素に記載されております。以下のような感じです。

 

<meta name="generator" content=”WordPress 4.x.x">

 

 

 

また、footer にもバージョンが記載されております。スクリプトなどは、<script> タグの後ろのほうに記載があります。このような情報は不要ですので、削除しまいましょう。

 

 

では早速、削除する方法です。下記のサイトを参考にさせていただきました。

 

 

 

How to remove WordPress version parameter from JS and CSS files

 

 

 

head 内の WordPress バージョン情報を消す

 

 

function.php に下記のコードを書きます。

 

 
remove_action ('wp_head', 'wp_generator'); 

 

 

 

あるいは、function.php に以下を書きます。これで WordPress のバージョンが削除される事は確認できました。

 

function vc_remove_wp_ver_css_js( $src ) {
if ( strpos( $src, 'ver=' . get_bloginfo( 'version' ) ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'vc_remove_wp_ver_css_js', 9999 );
add_filter( 'script_loader_src', 'vc_remove_wp_ver_css_js', 9999 );

 

 

 

今度は、WordPress だけではなく、script などのバージョンも全て削除するようにしてみます。

 

 

function.php に下記のコードを書きます。(上のWordPress のバージョンを既に書いてたら差し換ええます。)全てのバージョン情報(?ver=)が削除される事を確認しました。

 

<span class="pun">function vc_remove_wp_ver_css_js( $src ) {
if ( strpos( $src, 'ver=' . get_bloginfo( 'version' ) ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'vc_remove_wp_ver_css_js', 9999 );
add_filter( 'script_loader_src', 'vc_remove_wp_ver_css_js', 9999 );

 

 

 

ヘッダー情報のみになりますが、ソースを見る方法以外にも確認方法はあります。

以下のサイトから、ヘッダー情報が確認できますので、削除されているか確認されると良いでしょう。

 

 

HTTPレスポンスヘッダ情報解析ツール
https://www.searchengineoptimization.jp/http-header-analyzer

 

 

 

まとめ

 

 

いかがでしょうか。少なくとも、WordPress のバージョンくらいは削除しておいたほうが良いと思います。

 

 

ところで全然話は変わりますが、ブログのタイトルについて、問題って英単語で delete と remove と2つあると思うんですけど、こういう時ってどちらを使うんだっけ?と考えてみました。

 

 

調べてみましたところ、以下のサイトにわかりやすい説明がありましたので、共有しますね。

 

 

SDNA ローカライズチームブログ | Sony

http://www.sonydna.com/sdna/solution/pr_loc/blog/20160511.html

 

 

  • delete: ファイルなど、実体そのものが削除されるような場合
  • remove: ファイルなどの実体ではなく、一覧からの項目が削除されるような場合

 

 

私のブログでいうと、この記事自体を削除する場合は delete で、記事のタイトルを削除する場合は remove という事でしょう。

 

 

ちなみに delete という単語は、デジタル固有の世界で使いますよね?例えば、棚から本を取り除くというのは remove books from the ledge. で、delete とは使わないです。

 

 

では最後までお読みいただきありがとうございました!