【コピペOK】WordPressのセキュリティ対策【バージョン情報を隠す】

【コピペOK】WordPressのセキュリティ対策【バージョン情報を隠す】 WordPress

こんにちは、mickです。

WordPressのバージョンを隠したい
WordPressのセキュリティレベルを上げたい

こんな方向けの記事です。

WordPressのバージョンを隠す4つの方法

WordPressで作ったWebサイトのソースコードをみてみると、WordPressのバージョンがわかることがあります。

<meta name="generator" content="WordPress 5.5.3" />

これをセキュリティ対策として隠します。
WordPressのバージョンを隠す方法は4つ。

  1. セキュリティ対策したテーマを使う
  2. functions.phpを編集する
  3. プラグイン Acunetix WP Security を使う
  4. wp-includes/default-filters.php

私がオススメする順番に紹介していきます。

セキュリティ対策したテーマを使う

WordPress無料テーマのCocoon
WordPress無料テーマのCocoon

セキュリティ対策をしているテーマを使えば面倒な操作は一切不要。

例えば、WordPress無料テーマの代名詞ともいえる Cocoon を使えばOK。
Cocoon はWordPressのバージョンのバージョンを出力しないようになってました。

⇒ Cocoon | WordPress無料テーマ

functions.phpを編集する

functions.phpを編集する方法もあります。
いま使っているWordPressのテーマがWordPressのバージョンを出力するなら有効な手段。

次の1行をfunctions.phpに追記するだけ。

remove_action('wp_head','wp_generator');

このとき、プラグイン Code Snippets を使っていればば完璧。

プログラミングに不安な人も安全にfunctions.phpを操作できます。

プラグイン Acunetix WP Security を使う

Acunetix WP Security
Scans your WordPress installation for security vulnerabilities.

セキュリティ対策のプラグイン Acunetix WP Security を使う方法もあります。
推奨しない方法です。執筆時点でプラグインは6年前からバージョンアップしてません。)

プラグインをインストール・有効化。

「Acunetix WP Security」>「Settings」

ここにある設定項目にチェックをいれて保存すればOK。簡単。

「Hide WordPress version for all users but administrators」

wp-includes/default-filters.phpを編集する

手段としてある、ということで紹介。

wp-includesフォルダの下にあるdefault-filters.phpの次の1行をコメントアウトするか、削除するだけ。

add_action('wp_head', 'wp_generator');

通常、wp-includes/の下は触らないのでまずdefault-filters.phpを編集することはないです。

⇒ 参考:「WordPressのバージョンを消す」

そもそも対策が必要か→やらないよりはマシ

Webサイトの情報を隠すことは大切です。
理由は、Webサイトの攻撃者が事前に行う情報収集の妨げをできるから。

それに、もし自分がWebサイトの攻撃者なら、WordPressのバージョンは知りたいです。
WordPressのバージョンによって、セキュリティ対策に穴があるケースが多いから。

それでも、どこまで有効かという検証は難しいのでこうしてます。

やらないよりはマシ

CSSやJSに記載されるWPバージョンを隠す

実はWordPressの情報はmeta要素以外にも書かれてます。

<link rel='stylesheet'  href='http://Webサイト名/wp-content/themes/テーマ名/style.css?ver=5.5.3' media='all' />

これを消すにはfunctions.phpに次のコードを追加すればOK。

function remove_src_wp_ver( $dep ) { 
	$dep->default_version = '';
}
add_action( 'wp_default_scripts', 'remove_src_wp_ver' );
add_action( 'wp_default_styles', 'remove_src_wp_ver' );


⇒ 参考:「【コピペでOK】WordPressのバージョンを隠す方法 」

WordPress以外のバージョンに関する情報を消す方法

WordPress以外のJavaScriptなどバージョンに関する情報も消しておくとより完璧。
そのためには、次のコードをfunctions.phpに追加すればOK。

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


⇒ 参考:「WordPressのバージョン情報を消す方法(セキュリティ対策)」

まとめ。

WordPressのセキュリティ対策のひとつとして、WordPressのバージョン情報を隠す方法を紹介しました。

やらないよりはいいので、対策がまだの方はぜひ。

記事を読んでくれて嬉しいです。
今日もありがとうございました。

初稿 2021/01/02