CMSを使用しているサイトの約25%がWordPressで作られています。
これだけシェア率が高いと、やはり悪いことを考える人(できちゃう人)もいるので、セキュリティ対策はしっかりとしておきたい!
WordPressプラグインを使うことで様々な設定ができます。
ログインに必要な入力欄を増やしたり、施行回数を制限してブルートフォースアタックの対策をしたり。
ただ、セキュリティ用プラグインは設定項目が多かったり、実際に使う機能はほんの一握りだったり。
だったらプラグインを使わずにセキュリティ対策をできないか?
今回はあえてプラグインに頼らずできないか?を考えてみました。
プラグインを使わずにセキュリティ対策
1. ログイン、パスワードを難解にする
wordpressの初期ログインユーザーのadmin。
これはブルートフォースアタックの餌食になります。
ユーザ名とパスワードはできるだけ、難解なものにしてできれば数ヶ月にパスワードを変更すると良いです。
WordPressのログイン情報もですが、できればFTPのパスワード変更もすると尚良いですね。
2. ディレクトリ名を変更する
wordpressを作成する際にディレクトリ名を「wp」とする人が多いです。
あとあと、ファイル管理をする際にWordPressが入っているんだな…と分かりやすいのはいいのですが
もう少しひねった名前にしましょう。
test-siteというサイトであれば、「tswp」や「wtsstp」などwpという文字を含めて少しでも想定されにくい名前をつけましょう。
3. wp-adminを入力してもログイン画面にいかないようにする
wordpressの管理画面にログインする為にhttp://domain.com/wp-adminと入力すると思います。
これってドメインとwp-adminの間にディレクトリを挟んでいても勝手にログイン画面に遷移するんですよね…
(いろんなサイトで試しにwp-adminを付けてみるとWordpressで作られているサイトかどうかわかったり…)
wpというディレクトリに入れていたとしてもhttp://domain.com/wp-adminでアクセスしたら勝手に
http://domain.com/wp/wp-adminと認識されてしまいます。
ここではfunctions.phpに記述を追加します。
remove_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 );
functions.phpに上記のコードを記述すると、http://domain.com/wp-adminと入力すると、404エラーになります。
http://domain.com/wp/wp-adminとしっかりとURLを入力しないとログインできなくなります。
一つ前で紹介した「ディレクトリ名を変更する」と組み合わせてセキュリティ強化を図りましょう!
4. htaccessを使う
htaccessを使ってできるセキュリティ強化に使えそうな機能は「ベーシック認証」と「アクセス制限」
管理画面に侵入されて内容をメチャクチャにされる前に、悪いことをしそうなヤツはシャットダウンしてしまいましょう!
htaccessは入れる階層によって反映する範囲が変わってきます。
今回は、管理画面以下に反映していきたいので、wp-adminの直下にhtaccessを作成して記述をします。
記述する内容はベーシック認証と、IPによるアクセス制限のどちらか、はたまた両方を設定します。
ベーシック認証をかければ、『二重ログイン』に、IPによるアクセス制限をかければ、限られた場所以外からのアクセスが不可能になります。
htaccessに記述する内容は、使用しているサーバによって異なりますので、各サーバの仕様に乗っ取った記述をしましょう。
まとめ
PHPやjavascriptを使って似たようなことも出来ると思うので、様々な独自のセキュリティ対策を考えてみてはいかがでしょうか?
今回はあえて「プラグインを使わない」といったことを考えてみました。
ただ、プラグインを使った方が高機能で、複数の対策ができるものもありますので臨機応変に構築できるように
「wordpress プラグイン セキュリティ」で検索して一通りの知識はあった方が良いかと思います!