WordPress[.htaccess] 管理画面へのアクセスを日本国内限定にする

WordPress[.htaccess] 管理画面へのアクセスを日本国内限定にする

wordpress-htaccess-wp-admin

昨日投稿させて頂いたこちらの記事、WordPress[Acunetix WP Security] 基本的なセキュリティー対策と脆弱性対策ではWordPressのプラグインである「Acunetix WP Security」を導入してWordPressへ基本的なセキュリティー対策と脆弱性対策を行う方法を紹介させて頂きました。導入直後の何も対策が行われていない状況ではこのように、

WordPress[Acunetix WP Security] 基本的なセキュリティー対策と脆弱性対策

なっていましたが、初期設定を行い最終的にここまで対策が行えました。

WordPress[Acunetix WP Security] 基本的なセキュリティー対策と脆弱性対策

殆どの問題を「Acunetix WP Security」が自動で解決してくれましたが、いくつか手動での対策が必要な物が残りました。今回は一番上の項目である、

「”.htaccess”ファイルは”wp-admin”ディレクトリー内には見つかりません。」

「the “.htaccess” file was not found in the “wp-admin”directory」

を対策するための備忘録を残したいと思います。

.htaccess(ドットエイチティーアクセス)って何?

ApacheなどのWebサーバで使用できる、Webサーバの動作をディレクトリ単位で制御するためのファイル。

具体的には、CGIやSSIなどを実行するための宣言(命令)や、拡張子ごとにファイルタイプを指定するMIMEタイプの設定、ユーザ認証、IPアドレスやドメイン単位でのアクセス制限などを書き込むことができる。

.htaccessファイルで設定した内容は、.htaccessファイルがあるディレクトリとそのサブディレクトリに効果があり、効果があるディレクトリに入っているファイルすべてに影響をおよぼす。

また、サブディレクトリにも.htaccessファイルを別に置くこともでき、この場合は両方のファイルの効果が発生する(矛盾するときはサブディレクトリの設定を優先)。

Screenshot of e-words.jp

.htaccessとは – 意味/解説/説明/定義 : IT用語辞典

E-Wordsさんから引用させて頂きました。簡単に説明すると検索ロボットに対してアクセス制限したり、荒らしや不正アクセスを防ぐ為にIPを制限したりブラウザの使用言語によってアクセスを制限したりなどなどアクセス制限だけではないですが、他にも色々出来るみたいです。(自分も勉強中です)先程の「”.htaccess”ファイルは”wp-admin”ディレクトリー内には見つかりません。」の意味的には「管理人しかアクセスしないwp-adminのディレクトリ内に.htaccessを設置してアクセス制限しないと危険ですよ!」っと教えてくれている感じです。早速IP制限を行う為に.htaccessを作成して設定しちゃいましょう。

.htaccessを使ってIPアドレスを制限する

ブログを更新する時はいつも自宅の方など、特定の固定IPアドレスをもっている方はその自分のIPアドレス以外のアクセスを.htaceessで除外してしまえばいいのですが、自分は自宅や会社、又はカフェなどでテザリングを使ったネット利用もしているのでIPアドレスが結構変わってしまいます。なので使っているIPアドレス以外を制限するのは難しいので、日本国内からのアクセス限定で設定しています。不正アクセスのほとんどが海外からのアクセスなのでとても有効的な方法だと思います。

ちなみにエックスサーバーでは海外からのアクセス制限を行っています

自分も使っているエックスサーバーでは最近特に増えてきた「管理ツールに対するブルートフォースアタック」
(ID/パスワードを手当たり次第試してログインを試みる方法)による攻撃事例が多く報告されるようになったため、去年の4月から海外からのアクセスを制限しています。

昨日も紹介させて頂きましたが、web論さんのこちらの記事に書かれているように、エックスサーバーでこの海外からのアクセス制限を行っているとCloudFlareが使えなくなるらしいので、利用には注意が必要です。

wp-adminに設置する.htaccessを作成

wp-adminに設置するための「.htaccess」を作成します。日本に割り当てられているIPアドレスをAPNICより取得して、日本国外(海外/外国)からのアクセスを制限する「.htaccess」ファイルを作ります。下記のリンクからページへ飛びます。

ページしたの「IPアドレス表示」をクリックすると日本に割り当てられているIPアドレスの一覧が確認出来ます。

wordpress-htaccess-wp-admin

右の「.htaccessダウンロード」からファイルをダウンロードします。

.htaceessは不可視ファイル

MACのOSXなどでは、頭に「.」(ドット)が付くファイルやフォルダは通常の設定だと読む事が出来ない設定になっていて表示されません。なので先程ダウンロードしたファイルには頭にドットが入っていません現状「htaccess」となっているはずです。不可視ファイルを表示する設定を行っていない方は「htaccess」のままサーバーにアップロードしてアップロード後に頭に「.」(ドット)を追加して「.htaccess」のように変更を加えてください。

アップロードにはtransmitや

Transmit
カテゴリ: ユーティリティ
現在の価格: ¥3,400

同じく有名なCyberduckのようなFTPクライアント

Cyberduck
カテゴリ: 仕事効率化
現在の価格: ¥2,400

を使用して行ってください。

WordPressのディレクトリ内から「wp-admin」に移動して、

WordPress[.htaccess] 管理画面へのアクセスを日本国内限定にする

その中に先程ダウンロードした「htaccess」ファイルをアップロードします。アップロード後頭に「.」を付けて最終的に「.htaccess」となるように設定してください。

WordPress[.htaccess] 管理画面へのアクセスを日本国内限定にする

この様に「wp-admin」内に「.htaccess」を設置する事が出来ました。

WordPressの管理画面に戻って確認しましょう

WordPressの管理画面に戻って「Acunetix WP Security」内で.htaccessが正しく認識されたか確認しましょう。管理画面の左側のサイドバー下部にアイコンマークが入った「WP Security」と云う項目があるのでクリックします。

WordPress[.htaccess] 管理画面へのアクセスを日本国内限定にする

すると自動的に現在の状況を再読み込みしてくれるので確認が出来ます。一番上の「”.htaccess”ファイルは”wp-admin”ディレクトリー内で見つかりました。」の項目が「緑色」に変わってきちんと認識されているようです。これで、ログイン画面には海外からアクセス出来ないように設定出来ました。もし海外に行って管理画面にログインするような事があるようでしたらその時.htaccessを外すなど読めない設定に変更する必要があるので注意してください。

次回も残っているセキュリティー項目に対して対策を行って行きたいと思います。読んで頂いてありがとうございました。