こんにちは。
WordPress専門制作を行っているテダスクのSeitoです。
今回はWordPressを運営する上では必須のセキュリティ対策について、私自身も利用しているプラグインのインストールから設定まで解説したいと思います。
ハッキングされてからでは遅い!WordPressのセキュリティ対策は必須
WordPressを運営していて自分自身、もしくは周りの方でハッキングされたという方はいませんか?
WordPressは世界でもっとも利用されているCMSです。
そのため、当然世界中で攻撃の対象となっています。
ハッキングされたらどうなるかというと、バックドアという以後簡単にハッカーがサイトに侵入できる仕組みを組み込んでしまい、気付いた頃にはデータが盗まれ、さらにそのサイトが他のサイトの攻撃の土台になってしまうことがあります。
こうなってしまってからでは、はっきり言って元の状態に戻すのは難しいです。
最悪そのサイトを閉じるということも普通にあります。(セキュリティマネージメント会社に依頼して対策は可能ですが高額な費用になると思います。)
そうなってからでは本当に遅いんです。
その為にも、しっかりセキュリティ対策は行いましょう。
All In One WP Security & Firewallのインストール
インストールが終わったら、「有効化」のボタンに変わりますので、有効化まで行って下さい。
この画面が表示されたら、インストールは完了です。
「Setting」をクリックして設定に進みましょう。
All In One WP Security & Firewallのおすすめ設定
ここからAll in one WP Security & Firewallの設定をしていきますが、設定の一部はプラグインの機能や表示に影響を及ぼす可能性があるため、設定の前には必ずUpdraftPlusなどのバックアッププラグインでバックアップを取った上で作業を始めてください。
UpdraftPlusのインストールから使い方まではこちらにまとめています。
ここからの設定では、難しい解説は一旦省いて設定だけを進めていきます。
ダッシュボードの確認
それでは設定を始めて行きますが、左メニュー「WP Security」をクリックするとWP Securityのダッシュボードが表示されます。
まだ何も設定していない状態なので、インジケーターが黄色の警告の状態なのが分かります。
Settingでの設定内容
左メニューの「WP Security」→「Settings」をクリックします。
画像のような画面になりましたが、Settingsで設定する項目は「WP Version Info」のタブのみです。
WP Version Infoでは「Remove WP Generator Meta Info:」にチェックを入れて、「Save Settings」をクリックし保存をします。
この項目は、利用しているWordPress本体のバージョンやそれに基づいて生成されるバージョンの隠す設定です。
WordPressのバージョンが知られてしまうと、そのバージョンですでに知られている脆弱性を狙って攻撃される可能性が出てきます。
こういったバージョンを隠すというセキュリティ対策はWordPressに限らず、WEBサーバなどWEB全般で行っている一般的な対策です。
必ず設定しましょう。
User Accountsでの設定内容
User Accountsで登録されているユーザーに関してセキュリティ対策を行います。
User Accountsでは
- WP Username
- Display Name
の2つの項目を設定します。
【1】WP Username
画面を見るとadminが赤くなっているのが分かります。
もしWordPressのユーザーにadminというユーザーがいた場合は、この画面ですぐに変更してください。
adminというのは、管理者ユーザーの代表と言われるくらい良く使われるユーザー名です。
そのために、ログイン画面で、adminというユーザー名を使って片っ端からパスワードを試し不正アクセスを行うということが当たり前のように起きています。(総当たり攻撃や辞書攻撃といいます)
これはわざとadminというユーザーを作った例ですが、絶対にadminという名前でWordPressユーザーを作らないようにして下さい。
名前を変更してこうなればOKです。
【2】Display Name
ここでは、ログインユーザーの名前と投稿者の名前が同じだよ、と警告しています。
どういう事かというと、ブログ等の記事を投稿するとテーマによって記事の中に、ログインで使われるユーザー名が表示される場合があります。
つまりログインユーザー名がバレてしまうので、adminユーザー同様にブログのユーザー名を使って辞書攻撃をされてしまう可能性があるということです。
ですので、画像の赤枠のユーザー名をクリックして、ログインユーザー名とブログの表示名を一致させないように変更しましょう。
ブログの表示名はニックネームで設定します。
名前を設定したら一度「更新」をクリックします。
更新後にブログ上の表示名がに今追加したニックネームが選択出来るようになるので、ニックネームに設定した名前を選択しましょう。
Display Nameに戻ってみると、緑色に変わっているのが分かります。
User Login
User LoginではLogin Lockdownタブのみ設定します。
Login Lockdown
Login Lockdownでは、ログイン失敗を繰り返したユーザーを一定時間ログイン不可に設定する項目です。
Enable Login Lockdown Featureにチェックを入れます。
その他はそのままの設定で問題ないので、「Save Settings」をクリックして保存します。
User Registration
User Registrationではユーザー新規追加に関するセキュリティ対策を行います。
この項目は、会員制サイトなど自由にユーザーを作れるようにしているサイトで無ければ基本的には設定は不要です。
もし今後そういった機能を実装する予定がある人は、下手に設定しない方が良いかもしません。
設定方法としては、「Enable manual approval of new registrations」にチェックを入れます。
そして、「Save Settings」をクリックして完了します。
因みに、運営しているWordPressに自由に登録出来るようにするには「設定」→「一般」のページに進みます。
赤枠で囲んでいる「だれでもユーザー登録ができるようにする」にチェックを入れて更新すると、登録画面のURLを知っていれば誰でも登録出来るようになります。
そして登録画面のURLというのはログインURLと同じ様に決まっていて
http://サイトURL/wp-login.php?action=register
にアクセスすれば登録画面が出てきます。
なので、会員制サイト以外は絶対に「だれでもユーザー登録ができるようにする」にチェックを入れないで下さい。
Database Securityの設定内容
Database SecurityではWordPressで利用しているデータベースに対して対策を行います。
画面では、wp_が使われていて、他のにした方が良いですよ!と警告が出ています。
これはWordPressのデータベースデフォルトのテーブルの名前がwp_から始まるように設定されているためにこういった警告がでています。
ユーザー情報が入っているテーブルはwp_users、WordPress全体の設定が入っているテーブルはwp_optionsと言った具合です。
つまりWordPressを知っている人であれば、テーブル名を指定して個人情報等のデータを取ろうと試みるわけですね。
そういったことから、標準のテーブル名から変更してセキュリティ対策を行います。
画像ではランダムで作った名前にしていますが、意味の無い名前(半角英数字)がおすすめです。
因みに、テーブル名の上のチェックボックスは、自動でランダムな6桁の名前を付けてくれる設定です。
Filesystem Securityの設定内容
Filesystem Securityでは、管理画面からアクセス出来るファイルや、サーバー上でアクセス出来てしまうファイルのセキュリティ設定を行います。
ここでは
- File System Security
- PHP File Editing
- WP Files Editing
の設定を行います。
【1】File System Security
この画面では、赤くなっているところが無ければ基本的には何もしなくて大丈夫です。
ここも直接ファイルの権限を変更する作業になるので、作業に慣れていないかたは「Set Recommended Permissions」はクリックしないで下さい。
【2】PHP File Editing
この設定は、「外観」→「テーマエディタ」からのテーマの編集機能を出来なくする設定です。
もし、テーマエディタ機能を使う予定がある方は、OFFのままにして下さい。
「Disable Ability To Edit PHP Files」にチェックを入れて「Save Settings」をクリックして保存します。
【3】WP Files Editing
「Prevent Access to WP Default Install Files」にチェックを入れて「Save Settings」をクリックして保存します。
Firewallの設定内容
Firewallでは万が一攻撃を受けたときのために、対処するためのセキュリティ設定です。
画面のように
「Enable Basic Firewall Protection」
「Completely Block Access To XMLRPC」
「Disable Pingback Functionality From XMLRPC」
の3つをチェックを入れて保存します。
ただし画像にも書いたとおり、Jet Packというプラグインを利用していたり、iPhoneアプリなどを経由してWordPressにアクセスして投稿を行っている場合は、「Completely Block Access To XMLRPC」のチェックは外して下さい。
ただし、XMLRPCというのはアプリなど外部からアクセス出来る仕組みが故に、攻撃の温床になりやすいためセキュリティ的にはXMLRPCの機能は使わない方が良いとされています。
Brute Forceの設定内容
Brute Forceでは総当たり攻撃に備えるための設定を行います。
Miscellaneousの設定内容
Miscellaneousではその他の設定を行います。
【1】Copy Protection
Copy Protectionはコンテンツのコピー防止をするもので、これを有効にするとテキストなどが選択出来なくなります。
正直このコピー防止は自由に決めて下さい。
コピーというのはしようと思えばいくらでも方法があるためこれで完全に防げるわけではありません。
【2】Frames
Framesは、他のサイトにiframeというタグを使って埋め込むのを防止する機能です。
iframeで代表的なのが、YouTubeの共有ですね。
YouTubeを自分のサイトに埋め込んで観られるのは、YouTubeのサイトをiframeという形で埋め込んでいるためです。
それと同じ事を実はWebサイトでもできます。
人によっては自分サイトを共有して貰えて嬉しいと思う人もいるでしょう。
ただ、やり方によってはページのコンテンツをそのまま共有して自分のサイトのコンテンツというような見せ方も出来てしまうので、意図しない共有のされ方を防止するためにこの対策をするという感じになります。
ですので、これも好みで設定して下さい。
これで設定を終わります。
セキュリティ対策は設定だけでは終わりません
今までAll in one Security & Firewallでセキュリティ対策を行ってきましたが、実はまだ残っている対策があります。
それは、GoogleのreCAPTCHAを使って、お問い合わせで使うフォームやログインのフォームを守る方法です。
今まで色々とログインフォームを守る対策をしてきましたが、一番対策として有効なのがGooogle reCAPTCHAです。
このreCAPTCHAの設定についてはこちらのページにまとめていますので、参考に設定して下さい。
そして、もう一つはWordPressとプラグイン、利用しているテーマのアップデートを怠らないということです。
こういった常日頃の運営の管理がサイトを守ることになります。
このAll In One WP Security & Firewallの設定を機に、セキュリティ対策に少しでも意識して貰えるようになったらとても嬉しいです。
テダスクでは、こうしたセキュリティ設定の代行やウェブサイトのセキュリティサポートを行っています。
年間を通したサービスから単発の脆弱性チェックなどの行っていますので、ご自身では設定が難しく感じる場合や管理を任せたいという方や企業様におすすめしています。
セキュリティ対策が不安な方はお気軽にご相談下さい。
以上、【プラグイン】All In One WP Security & Firewallのインストールから設定まで丁寧解説。でした。
WordPressやWEB技術、集客、ChatGPTなど最新技術に関する情報を毎週お届けする
メールマガジンを発行しています。
不定期でWordPressの脆弱性情報も配信していますので、
WEB担当者やWEBを学んでいる方などにオススメの無料メールマガジンです!
コメント