こんにちは、ハジメです!
今回は第4回として、前回導入が完了したAWS上のKUSANAGI for WordPressの設定を一部変更し、セキュリティを改善させます。初期設定のままですと一部脆弱性が残っているためです。
前回の「簡単!AWS – KUSANAGI for WordPressの初期設定」について確認されたい方はこちらからどうぞ。
では早速WordPressのセキュリティ強化設定を行っていきたいと思います。
WordPressのセキュリティーを強固にする。
前回の初期設定状態のままでは、若干セキュリティー的に脆弱なので、さらに強固にしていきます。
ご自身のWordPressの管理画面にログインし、ダッシュボード(初期表示のところ)を見ると、下記のような画面が表示されていると思います。
まずはこの一覧のうち、赤い部分をすべて緑に変更することが目的となります。対象となるのは、
- 公開ディレクトリにwp-config.phpが存在しています。wp-config.phpをDocumentRootディレクトリの上に移動させて安全性を向上させてください。
- wp-config.php ファイルの権限は 666 です、推奨ファイル権限は 440 です。
- wp-config.php ファイルのオーナーは httpd.www です、推奨ファイルオーナーは kusanagi.www です。
- wp-content/ フォルダの権限は 777 です、推奨フォルダ権限は 755 です。
では早速一つ一つやっていきましょう。
wp-config.phpをDocumentRootディレクトリの上に移動させる
前回と同様にTeraTermを立ち上げてください。自分の環境にログインします。
Last login: Sat Feb 15 21:02:37 2020 from --------------------------------
Version 8.4.5-3, Powered by Prime Strategy.
[centos@kusanagi80 ~]$
まず、ユーザをスーパーユーザ(最高権限ユーザ)に変更します。
sudo su -
[centos@kusanagi80 kusanagi]$ sudo su - 最終ログイン: 2020/02/17 (月) 21:32:25 JST日時 pts/1 [root@kusanagi80 ~]#
ここからの作業は慎重に行ってください。最高権限ユーザですので、なんでもできてしまいます。ファイルを全部消したりもできるので、慎重に。
「su」というコマンドは、ユーザをスイッチさせるというものです。Widonwsでいうところのログインユーザーの切り替え、という感じです。
次に、作業をするディレクトリ(フォルダ)に移動します。
cd /home/kusanagi/wp-sample-blog/DocumentRoot/
wp-sample-blogの部分は、自分で設定したサイト名を入れてください。不明な場合は、
ls /home/kusanagi
と打っていただくと、下記のように表示された名前が該当のサイト名です。
[root@kusanagi80 DocumentRoot]# ls /home/kusanagi wp-sample-blog
DocumentRootに移動しましたら、次のコマンドを入れます。
mv wp-config.php ..
特に何も表示されず、次の行に移動したと思います。実際にはwp-config.phpが必要な場所(セキュリティが強固な上位ディレクトリ)に移動されています。
では、WordPressの管理画面に戻って、ダッシュボードのページをリロードしてみましょう。
はい、「wp-config.php ファイルの位置は適正です。」の表示に変わりましたね。これでwp-config.phpの移動は完了です。
wp-config.php ファイルの権限を440にする。
「wp-config.php ファイルの権限は 666 です、推奨ファイル権限は 440」とは意味が分かりにくいかもしれませんが、パーミッションを与える対象は、「所有者」「所有グループ」「それ以外(他人)」の3つに分かれています。それが左から一桁づつの数字に表れているのです。
では、6とか4とか、何だろう?って話ですが、対応表はこうなります。
パーミッション | 数値 | 読みこみ | 書き込み | 実行 |
rwx | 7 | 〇 | 〇 | 〇 |
rw- | 6 | 〇 | 〇 | × |
r-x | 5 | 〇 | × | 〇 |
r– | 4 | 〇 | × | × |
— | 0 | × | × | × |
つまり、初期設定”666”では、「すべてのユーザーが読み書き可能」という意味であり、推奨設定”440”は、「所有者と所有者と同じグループに属する人だけ読み込み可能、他の人はすべてNG」という意味です。
まずは現状の設定の確認です。
ll /home/kusanagi/wp-sample-blog/wp-config.php
[root@kusanagi80 DocumentRoot]# ll /home/kusanagi/wp-sample-blog/wp-config.php -rw-rw-rw- 1 kusanagi www 4202 2月 15 21:52 /home/kusanagi/wp-sample-blog/wp-config.php
「-rw-rw-rw-」になってます。つまり666ってことです。
では早速設定をしましょう。
chmod 440 /home/kusanagi/wp-sample-blog/wp-config.php
これも特に何も表示されずに行が切り替わったと思います。
では、表示確認です。
[root@kusanagi80 DocumentRoot]# ll /home/kusanagi/wp-sample-blog/wp-config.php -r--r----- 1 kusanagi www 4202 2月 15 21:52 /home/kusanagi/wp-sample-blog/wp-config.php
「-r–r—–」になりました。440に変更されていますね。では画面でも確認します。
はい、「wp-config.php ファイルの権限は 440 です。」に変わりましたね。簡単にこれも終わってしまいました。どんどん行きます。
wp-config.php ファイルのオーナーを kusanagi.www にする。
次は、同じくwp-config.phpのファイルのオーナーをhttpd.www から kusanagi.www にします。
aaaa.bbbbのaaaaの部分が所有者(ファイルオーナー)、bbbbの部分が所有グループです。
早速変更しましょう。
chown kusanagi.www /home/kusanagi/wp-sample-blog/wp-config.php
これも何も表示されずに次の行に移ります。また表示確認です。
コマンドでの確認については上記の通りなので割愛します。
はい、簡単に緑になりましたね。「wp-config.php ファイルのオーナーは kusanagi.www です。」になっていればOKです。
では、最後の設定です。
wp-content/ フォルダの権限を755にする。
「wp-content/ フォルダの権限は 777 です、推奨フォルダ権限は 755 です。」の部分の設定を行います。
今回は、ファイルではなくディレクトリ(フォルダ)の権限設定です。
最初に現在の状態を確認してみます。
ll -d /home/kusanagi/wp-sample-blog/DocumentRoot/wp-content/
[root@kusanagi80 DocumentRoot]# ll -d /home/kusanagi/wp-sample-blog/DocumentRoot/wp-content/ drwxrwxrwx 8 kusanagi kusanagi 182 2月 15 21:55 /home/kusanagi/wp-sample-blog/DocumentRoot/wp-content/
「drwxrwxrwx」になっていますね。
「d」はディレクトリの意味で、rwxに関しては上記までと同様です。
ではこちらも早速設定変更です。
chmod 755 /home/kusanagi/wp-sample-blog/DocumentRoot/wp-content/
特に何も表示されずに行が切り替わります。
では表示確認です。
[root@kusanagi80 DocumentRoot]# ll -d /home/kusanagi/wp-sample-blog/DocumentRoot/wp-content/ drwxr-xr-x 8 kusanagi kusanagi 182 2月 15 21:55 /home/kusanagi/wp-sample-blog/DocumentRoot/wp-content/
はい、ちゃんと「drwxr-xr-x」になってますね。OKです。
最後に画面確認です。
はい!これで全て緑になり、セキュリティー的に合格点となりました!(ぱちぱち!)
これで少なくとも簡単にセキュリティを突破されるようなことはなくなりました。
このほかにもやっておいた方がいいセキュリティ項目はありますが、やりすぎると運用が大変になるだけですので、今後は中小規模のウェブサイトやブログを運営するにおいて必要十分のセキュリティ対策だけご紹介していきます!
現状ではこれだけ実施してあれば問題ありません。
第4回はKUSANAGIを導入した場合のセキュリティー強化の方法についてご紹介しました。
次回は、そろそろ皆さんもサービス名やドメイン名も心に決まってきたころだと思いますので、ドメイン名の取得に移りたいと思います。
ではまた次回お会いしましょう~。
全カテゴリで人気コンテンツ TOP5!