ワードプレスセキュリティガイド by Sucuri Security

2020年3月13日

sucurisecurity

WordPressセキュリティプラグインとして、また発信する情報の早さと正確性に於いて、信頼しているSucuri SecurityとWordfence
今回はSucuri Securityが提唱するWordPressセキュリティガイドを解説していきます。

原文は下記URLから(英語)

Sucuri Securityが提唱するワードプレス・セキュリティガイダンスより引用

  • ワードプレス、テーマ、プラグインを最新の状態に保つ
  • ワードプレス、テーマ、プラグインを定期的に確認する
  • 使用していないテーマやプラグインは削除する

初心者でも手掛けられる対策は重複する点が多いので、WordPressのセキュリティ対策(初心者向け)を参照してください。

サイトへのアクセスを制限する

ログインページへの2段階認証または多要素認証を有効にし、ユーザーセッションを制限することにより、WordPress Webサイトのセキュリティを強化し、悪意のあるアクセスによるWebサイト侵害のリスクを低減できます。

ログイン試行回数の制限

Wordfenceセキュリテプラグインにはユーザー名およびパスワードのログイン試行回数制限機能が備わっています。

ログインCAPTCHAを使用する。自動化されたボットがWordPressダッシュボードにアクセスするのを防ぎ、フォームから不要なスパムを送信するのに役立ちます。

管理画面⇒プラグイン⇒新規追加⇒ login CAPTCHA で検索

CAPTCHAプラグインにはログイン用とコメント用があるのでご注意して選択してください。

WordPressログインページへのアクセスを許可されたIPアドレスのみに制限する。
但し外出先からWiFi経由やスマートフォンで記事を書く場合には、この設定には注意が必要です。自分がログイン出来なくなってしまいます。

To appreciate this ideology, you have to subscribe to a very simple principle: There is no 100% complete solution capable of protecting any environment.

https://sucuri.net/guides/wordpress-security/

このイデオロギー(セキュリティ)を理解するには、非常に単純な原則を理解する必要があります。環境を保護できる100%完全なソリューションはありません。

凄く意味深で重要な事を言っています。セキュリティに限らず当てはまる概念です。

.htaccessに記述してセキュリティを強化する方法

セキュリティプラグインを導入していれば、重複する機能があるかもしれません。しかしセキュリティプラグインやWAFを補う重要な対策が可能になります。

# BEGIN WordPress
# Rewrite rule
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

書き換えルールの基本

サーバーへの書き込みアクセス権がある場合、特にパーマリンクの問題を修正するためにWordPressによって生成されます。

ファイルの先頭にない場合は、.htaccessファイルの先頭に配置します。 他のルールは、#BEGIN WordPressおよび#END WordPressステートメントの後に配置する必要があります。

# Protect wp-config Apache 2.2
<files wp-config.php>
order allow,deny
deny from all
</files>
#Protect wp-config Apache 2.4
<Files "wp-config.php">
Require all denied
Require ip 1.1.1.1

wp-config.phpを保護する

訪問者がwp-config.phpファイルにアクセスすることを制限します。wp-config.phpファイルには、名前、ホスト、ユーザー名、パスワードなど、データベースに関する機密情報が含まれています。 このファイルは、詳細設定、セキュリティキー、開発者オプションの定義にも使用されます。

# Prevent directory browsing
Options All -Indexes

ディレクトリの参照を禁止する

攻撃者がWebサイトのフォルダーコンテンツを表示することを防ぎ、Webサイトを悪用するために必要な情報の閲覧制限をします。

# Prevent image hotlinking
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} \
!^http://(www\.)example.com/.*$ [NC]
RewriteRule \.(gif|jpg|jpeg|bmp|png)$ – [NC,F,L]

画像のホットリンク(直リンク)を防ぐ

他のWEBサイトが自サイトでホストされている画像を使用できないようにします。ホットリンクによってサイトがハッキングされることはありませんが、サーバーリソースの悪用につながる可能性があります。example.comを自サイトURLに変更します。

# Protect htaccess Apache 2.2
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow, deny
deny from all
satisfy all
</files>
# Protect htaccess Apache 2.4
<FilesMatch "^.*\.([Hh][Tt][Aa])">
Require all denied
</FilesMatch>

.htaccessを保護する

攻撃者が「hta」で始まるファイルにアクセスできないようにします。
サーバーのすべてのディレクトリで.htaccessファイルが保護されます。

# Protect wp-config Apache 2.2
<files wp-config.php>
order allow,deny
deny from all
</files>
#Protect wp-config Apache 2.4
<Files "wp-config.php">
Require all denied
Require ip 1.1.1.1
</Files>

PHPバックドアを防ぐ

このルールは、ハッカーが悪意のあるファイルのアップロードによく使用される/ wp-includes /および/wp-content / uploads /フォルダーにPHPバックドアを配置されてしまうことを防ぎます。

# Block Includes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ – [F,L]
RewriteRule !^wp-includes/ – [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ – [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php \
– [F,L]
RewriteRule ^wp-includes/theme-compat/ – [F,L]
</IfModule>

ブロックインクルード

ハッカーがインクルードに使用される4つのプライマリフォルダーのいずれかに悪意のあるファイルを挿入することをブロックします。

  • / wp-admin / includes /
  • / wp-includes
  • / wp-includes / js / tinymce / langs /
  • / wp-includes / theme-compat /

WordPressのマルチサイトを実行すると、これらのディレクティブが問題を引き起こす可能性があります。要確認、注意してください。

インクルードとは、あるファイルの中に別のファイルに記述された内容を追加する機能のこと。外部から別のプログラムやデータなどを取り込んで一つにまとめること。
リモートファイルインクルード攻撃と呼ばれる不正アクセスの被害に遇うと実行されてしまいます。

無料で利用できる Sucuri WEBサイト・セキュリティチェック&マルウェアスキャン

Sucuri Twitter

英語ですがSucuriからの最新情報はTwitterから

WordPressブログのセキュリテプラグイン、個人ユーザーが無料で利用するなら・・・という前提条件で選択するならWordfenceを薦めます。
Sucuriセキュリテプラグインは有料版なら優秀なので、個人的には企業ユーザー向けの認識です。

Sucuri vs Wordfence: WordPress セキュリテプラグイン対決

英語ですがWEBサイトがマルウェアに感染してしまうと、Googleの評価が下がりSEOの観点からも大幅にマイナスになることも書かれています。翻訳してでも是非一読をお勧めします。