いろはにかおすブログ

All In One WP Security & Firewall(AIOWPS)設定|WordPressセキュリティ強化(初心者向けというか自分用説明)

「All In One WP Security & Firewall (AIOWPS)」
ワードプレスのセキュリティ用プラグインだ。 
さて、設定だ。下記は作業の目次。
WP Version Info WPのバージョン情報を消す
Rename Login Page ログインページのアドレス変更
Cookieベースの総当りログインの防止
Admin User Security Account Login Name ユーザー名変更
Login Captcha ログインキャプチャ
User Login ログインのロックダウン設定
Filesystem Security File Permissions ファイルシステムセキュリティ パーミッション設定 PHPファイル編集 WP File Acces システムログ
データベースのプレフィックス変更
データベースのバックアップ
.htaccess ファイル操作 バックアップ
wp-config.php ファイル操作 バックアップ
AIOWPS の設定をエクスポートまたはインポートする
ユーザー登録 Captcha ハニーポット
ブラックリストマネージャー
ファイアウォール 基本のファイアウォール規制
404検出の設定
直リンク防止
追加ファイアウォール規則
6Gブラックリスト/ファイアウォールルール
オンラインのボット
スパム防止
スキャナー
メンテナンス
その他】 コピープロテクション、 iFrame プロテクション


WordPressのセキュリティ強化用プラグインとして、
うちで使っているレンタルサーバー会社が
推奨していたので導入した。
セキュリティ用プラグインは他にもいろいろある。

All In One WP Security & Firewall
のプラグインをインストールしたら、
「WP セキュリティ」と表示された。

ダッシュボードを見たら、
「セキュリティ強度メーター」が表示されていて、
セキュリティの程度というか
安全レベルが
ひと目で分かるのでいいね。

設定項目はいっぱいあって
心が折れそうだが、
至り尽くせリということで
以下参考程度にどうぞ。


【WP Version Info ワードプレスのバージョン情報削除

WP Version Info
WordPressのバージョン情報を消した。
head内のバージョン情報を非表示にした。

WPsecurity >Settings>WP Version Info>WP Generator Meta Info チェックを入れる >Save Settings

チェックした → Check this if you want to remove the version and meta info produced by WP from all pages バージョンとメタ情報を削除する。

バージョン情報を削除する理由は、
ソースコードのバージョン表示は
セキュリティ面で
不利になるので消すべきだとか。

ワードプレスは初期設定で、
ソースファイルのhead部分に
WPのバージョン情報を
表示するようになっている。
サイト上には表示されないが、
ソースコードに表示される。

古いバージョンの
wordpressは
セキュリティが弱い
と知られてしまうので不利、
ハッカーの不正アクセスの
攻撃対象になりやすいそうだ。

head部分に
ワードプレスのバージョン情報が
記載されていると、
「私は古いバージョンや
脆弱性があるバージョンの
WordPressを使っていますよ」
と宣言しているようなものなので、
とても危険らしい。

WordPressのバージョン情報を消して、
そういうセキュリティの
不安要素を減らすわけだ。

【Rename Login Page ログインページのアドレス変更】

ログイン頁アドレスを変更した。
Brute Force ブルートフォースアタック対策だ。

WPsecurity >総当たり攻撃 Brute Force >Rename Login Page

Enable Rename Login Page Feature:
Check this if you want to enable the rename login page feature ←ログイン頁変更をチェック。
Login Page URL: https://www.da◯✕.com/dln/ココ ←ログイン頁スラッグを入力した。

ログインページアドレスは、
変更しないと/wp-admin/のままなので、
ログイン頁がバレバレで狙われやすい。
そこで、ログインページの
アドレスを変更して
分かりにくくするってことだ。

【Cookieベースの総当りログインの防止】

WPsecurity >総当たり攻撃 > Cookieベースの総当りログインの防止 > 総当たり攻撃防止機能を有効化は未チェック。

【Admin User Security Account Login Name ユーザー名変更】

管理人のログインネームを変更した。
デフォルトの初期設定は
adminだが、
そのままではバレバレで危険だ。
Brute Force ブルートフォースアタック対策だ。
WPsecurity >User Accounts >WPusername>Account Login Name>Edit user

管理者の
ユーザー名(ログインネーム)は、
初期のadminのままでは
ベタすぎて
不正ログインされやすくなるので
変更すべきだとか。

ユーザー名とパスワードは
不正アクセス防止の
重要ポイントの一つなのだ。

WPセキュリティ>ユーザーアカウント>WPユーザー名>ユーザーを編集
ニックネームも変更した。
ブログ上の表示名も変更した。

【Login Captcha】

ログイン頁に
キャプチャを設置した。

キャプチャは、
ログインページで入力する
ログインネーム(ユーザー名)、
パスワードの他に
更に追加の質問だ。
これで不正アクセスに対抗する。
個人的経験ではかなり有効だ。

WPsecurity >Brute Force >Login Captcha >Login form Captcha settings ログインフォームCAPTCYAの設定

Enable Captcha On Login Page:
Check this if you want to insert a captcha form on the login page ←チェックしキャプチャ設置。

パスワード再設定フォームCAPTCYAもチェックした。

他にもキャプチャがいくつかあるが、
それはチェックしなかった。
たぶん今のところは関係ないだろう。


【User Login ログインロックダウン設定】

ログインロック、怪しいログイン禁止設定だ。
不正アクセスが何度かきたら
ロックダウンして締め出す設定だ。

不正アクセスが何回も続くと、
サイトのパフォーマンスにも
悪影響が出るので、
そういう不逞の輩を
門前払いするわけだ。

WPsecurity >User Login > Login Lockdown >
>Enable Login Lockdown Feature: チェックした。設定有効化した。
>Allow Unlock Requests: チェックしない。ロック解除リクエスト受付
>Max Login Attempts: 4にした。
>Login Retry Time Period (min): 5minにした。
>Time Length of Lockout (min): 60minにした。
>Display Generic Error Message: チェックしない。
>Instantly Lockout Invalid Usernames: チェックしない。未登録名は即ロックする機能。
>Instantly Lockout Specific Usernames: 特に思いつかないので無記入。
>Notify By Email: チェックした。 誰かロックされたらメール連絡がくる。

【Filesystem Security File Permissions ファイルシステムセキュリティ パーミッション設定】

WordPressの
ディレクトリとファイルの
パーミッション設定だ。

現在のパーミッションと
推奨パーミッションが表示される。
ボタンをクリックすれば、
推奨パーミッションに設定される。
全て推奨パーミッションに設定した。
手軽でいいね

WPsecurity >Filesystem Security > File Permissions

【PHPファイル編集】

デフォルトでは、
WordPress ダッシュボードで
管理者が
プラグインや
テーマファイルなどの
PHP ファイルを
編集することができるが、
その状態では
不正ログインにより
悪用されることもあるそうで、
ダッシュボードからの
PHPファイル編集を
無効にしたほうが安心だとか。

というわけで、
無効化にチェックした。

WPセキュリティ >ファイルシステムセキュリティ > PHPファイル編集 > PHP ファイル編集機能を無効化をチェックした。

【WP File Access】

WPで
標準インストールされている
readme.html、
license.txt、
wp-config-sample.php などの
使わないファイルへの
アクセスを防ぐことで、
不正アクセス対策する。

WPセキュリティ >ファイルシステムセキュリティ >  WP File Access > WP デフォルトのインストールファイルへのアクセスを防止をチェックした。

【ホストシステムログ】

このシステムログを見ると、
システムの問題を
確認できるそうだ。

WPセキュリティ >ファイルシステムセキュリティ >  ホストシステムログ

【DB Prefix Database Security】 

Change Database Prefix 
プレフィックスを変更した。

WPsecurity >Database Security>DB Prefix

プレフィックス(接頭辞)は
wordpressインストール時に
既に変更したので確認しただけだ。

プレフィックス変更は
ハッカーに対する
データベース防衛の
唯一と言ってもいい策だとか。

プレフィックスとは、
WordPressの
記事等のデータは
サーバーのデータベースに
保存されるが、
そのデータには初期設定では
「wp_◯◯」という名前がつくが、
そのwp_がプレフィックスだ。
そのままだとハッキングされたときに
バレバレなので、
変えたほうがいいよってことらしい。

【データベースのバックアップ】

記事等が保存される
データベースを
バックアップしておくことは、
最悪の状況を考えると重要なので、
自動スケジュールをセットして、
自動的に
バックアップするようにした。

WPセキュリティ >データベースセキュリティ>データベースのバックアップ >自動スケジュールバックアップ

【.htaccess ファイル操作】

「.htaccess」 をバックアップしておく。

WPセキュリティ > 設定 >.htaccess ファイル>.htaccess ファイル操作

WordPressの
セキュリティで
重要なファイルの一つが
「.htaccess」だから、
現状の.htaccessを
バックアップしておくと、
いざという時に
復元できるので
迷わずバックアップした。
が、どこに保存されたんだ? えっ? 
あ、表示があった 
これだ→「.htaccess ファイルのバックアップに成功しました。
FTP プログラムを使用して
“/wp-content/aiowps_backups” ディレクトリに移動し、
ファイルのコピーを
コンピューターに保存してください」
ということだ。

【wp-config.php ファイル操作】

「 wp-config.php 」 をバックアップした。
”wp-config.php”は
重要ファイルの一つで、
将来的に復元して再利用できるので
バックアップしておく。

WPセキュリティ > 設定  >wp-config.php ファイル >wp-config.php ファイル操作 >ファイルを保存する >ダウンロードされたのでPCに保存した。

【AIOWPS の設定をエクスポートまたはインポートする】

まだ設定作業の途中だが、
やることが多くてウンザリだね。
別サイトを立ち上げるときも、
またこの作業をやるのかと思うと気が遠くなる。

そこで使えるのがこの機能だとか。
目的は、
将来的に別サイトで
“All In One WP Security & Firewall (AIOWPS)”を
設定することになったとき、
その手間を省くことなので
設定をエクスポートした。

注意:
ドメインURLに依存した設定値は、
別ドメインURLでは
正常に機能しない場合もあるので注意だ。

別サイトを立ち上げる時、
設定値をインポートすれば
設定作業が省けて楽になりそうだ。

WPセキュリティ > 設定  > インポート/エクスポート > AIOWPS設定のエクスポート > エクスポートした設定データを保管しておけばいい
設定値をインポートするときは  > AIOWPS設定のインポート

【ユーザー登録】

新規登録アカウントは
管理者が承認するまで
保留するようにした。
これで、
不正アカウントを
門前払いにするわけだ。
自動承認せず、
管理者がいちいちチェックしてから
承認するようにした。 
目的は、不正登録の防止だ。
WPセキュリティ > ユーザー登録  > 「新規登録の手動承認を有効にする」をチェックした。

【Captcha登録】

ユーザー登録を受付ける際の
スパム防止、不正登録防止として、
キャプチャ、つまりあのクイズや質問を表示する設定だ。
個人的には、Captchaは有効だと思うよ。

WPセキュリティ > ユーザー登録  > 「登録ページの Captcha を有効化」をチェックした。

【ユーザー登録ハニーポット】

ハニーポット?はて?何コレ? 
ハニーポットは
罠とか落とし穴の意味らしい。
つまり、
不正アクセスしてくるロボットを
誘い込んで捕まえる罠という意味で、
ロボットの不正アクセスを防ぐ策だ。
仕組みは、
ロボットしか見えないフィールドを
仕込んでおき不正を暴くらしい。

WPセキュリティ > ユーザー登録  > 「ユーザー登録ハニーポット」でハニーポット機能を有効化した。

【ブラックリストマネージャー】

不正アクセスの
アカウント禁止にするリストで、
IPアドレスやプロバイダ、
ネットワークを
狙い撃ちでアクセス拒否する機能だが、
間違えて設定すると大変な事になるので
注意が必要だとか。
IPアドレスは
変わることもあるなど
アレコレ複雑で、
設定の際には慎重にということで、
とりあえず設定はしない。

WPセキュリティ > ブラックリストマネージャー

【ファイアウォール 基本のファイアウォール規制】

【基本的なファイアウォール設定】
WPセキュリティ > ファイアウォール > 基本のファイアウォール規制 > 基本的なファイアウォール設定 > 基本的なファイアウォール保護を有効化をチェックした。

この設定により、
サイトに次の基本的な
ファイアウォールが設定されるようだ。

.htaceessファイルへのアクセスを拒否する。
サーバーの署名を無効化する。
アップロードサイズを制限する。 (10MB)
wp-config.php ファイルへのアクセスを拒否する。

【XML-RPC へのアクセスを完全にブロック】

WPセキュリティ > ファイアウォール > 基本のファイアウォール規制 > 基本的なファイアウォール設定 >  XML-RPC へのアクセスを完全にブロックはチェックしないことにした。 ブロックしてよいか判断できないからだ。

【XML-RPC のピンバック機能を無効化】

WPセキュリティ > ファイアウォール > 基本のファイアウォール規制 > 基本的なファイアウォール設定 >  XML-RPC のピンバック機能を無効化をチェックした。
ピンバックはセキュリティ的には問題多いようなので。

【debug.log ファイルへのアクセスをブロック】

WPセキュリティ > ファイアウォール > 基本のファイアウォール規制 > 基本的なファイアウォール設定 >  debug.log ファイルへのアクセスをブロックをチェックした。

【404検出の設定】

ページが存在しないときに、
404やNot Foundエラーが表示されるが、
原因はURLを間違えたり
古いリンクだったりする不注意だ。
しかし、
不正アクセスやハッカーが
意図的に何度も、
特定ページを探そうと
探りを入れる場合もあるそうだ。
その場合、404エラーが連発する。

そのような場合に、
怪しいIPアドレスを
ブロックすることができるが、
まず404エラーのIPアドレスを
記録するように設定した。

WPセキュリティ > ファイアウォール >  404検出 > 404検出オプション > 404エラー検出と IP ブロックをチェックした。

【直リンク防止】

画像への直リンクを防ぐ。
他サイトが画像へリンクして
表示する際のリークを防ぐ。

WPセキュリティ > ファイアウォール >  直リンク防止をチェックした。

【カスタムルール】

WPセキュリティ > ファイアウォール >  カスタムルールは設定していない。

【追加ファイアウォール規則】

WPセキュリティ > ファイアウォール > 追加ファイアウォール規則 >

> インデックスビューを無効化をチェックした。

> TRACE と TRACKを無効化をチェックした。
これが有効の場合、
攻撃リスクが高まる可能性があるそうだ。

> プロキシ経由のコメント投稿を禁止をチェックした。
> 不正なクエリー文字列を拒否をチェックした。
> 高度な文字列フィルターをチェックした。

【6Gブラックリスト/ファイアウォールルール】

WPセキュリティ > ファイアウォール >  6G ファイアウォール保護を有効化をチェックした。

【オンラインのボット】

WPセキュリティ > ファイアウォール > 偽の Googlebots をブロックをチェックした。

【スパム防止】

WPセキュリティ > ファイアウォール > スパム防止 > コメントフォームの Captcha を有効化をチェックした。

WPセキュリティ > ファイアウォール > スパム防止 > スパムボットからのコメント投稿をブロックをチェックした。

WPセキュリティ > ファイアウォール > スパム防止 > スパムコメントの IP を自動ブロックをチェックした。 
IP あたりのスパムコメントの最小数を設定した。

【スキャナー】

サイトに脆弱性があると
不正に荒らされやすい。
ハッカーの不正アクセスによる
サイトへの不正行為を検知して
結果を表示するそうだ。
検知結果を見てどう判断するのかが重要だろう。

WPセキュリティ > スキャナー > ファイルの変更検知
> 手動ファイル変更検知スキャン
> 最後にスキャンしてからの変更結果を表示
> ファイル変更検知設定を有効化した。


WPセキュリティ > スキャナー >  マルウェアスキャン
これはマルウェアスキャンサービスの説明だ。

マルウェアスキャンの目的は、
マルウェアを検出して駆除すること。

マルウェアは不正なソフトで、
検索エンジンのボットやスパイダーは
マルウェアを検出できる。
サイトのページをインデックス中に検出するが、
マルウェアが検出されると
ブラックリストに登録されて
検索順位に悪影響が生じるそうだ。

ということで、
マルウェアが潜んでいないか
検査しなくてはいけない。
マルウェアを検査するマルウェアスキャンツールがあり、検索すると情報がある。

【メンテナンス】

サイトを「メンテナンスモード」にする機能だ。

WPセキュリティ > メンテナンス > 訪問者ロックアウト > フロントエンドのロックアウト有効化 

【その他】

WPセキュリティ > その他 > コピープロテクションを有効にするをチェックした。(とりあえずコピー禁止にした)

WPセキュリティ > その他 >  iFrame プロテクションを有効にするをチェックした。他サイトでの転載防止だ。

WPセキュリティ > その他 >  ユーザー番号を無効化をチェックした。ユーザー情報の不正取得を防ぐそうだ。

WPセキュリティ > その他 >  未認証の REST リクエストを禁止はチェックしないことにした。

以上で、設定終了。

ダッシュボードのセキュリティ強度メーター385だ。
515が満点らしいので、385が良いのかどうか分からないが、そこそこ安心レベルのようだ。

お疲れ様でした