wordpressで誰にも見せられない最重要ファイル「wp-config.php」のセキュリティ対策
wordpressの自分ブログはプログラムで運用されています。
私たちが知らないところで、多数のプログラムが実行されて、wordpress管理画面のログインや記事の作成、記事の表示などいろいろな処理を行っています。
この多数のプログラムの中には、wordpressの動作にかかわる情報が格納されている「最重要」なファイルがあります。
それが
「wp-config.php」です。
このファイルはwordpressをインストールする上で最も重要なファイルになります。
よって「外部からアクセスできないようにする」対策を施す必要があります。
「wp-config.php」の内容をブラックハットハッカーに見られてしまうととても危険なのです。
そのため取り扱いには十分注意しなければなりません。
wordpressのインストールは、自分で行ったり、レンタルサーバーの機能で行ったりされていると思います。
インストールは基本的には自動で行われるため、自分で何か設定することがないので意識はないですね。
そこがwordpressの「良いところ」でもあり「危険なところ」でもあるのです。
wordpressの対応策として「wp-config.php」のパーミッションを「600」にすることです。
「パーミッションって何?」
「600って何?」
と言う方もおられると思いますのでこれから説明致しますね
wp-config.phpがなぜ大切なのか
wordpressのインストール時に必要なファイルなのですが、当然運用中にも必要なファイルになります。
wp-config.phpに設定されている情報が超大切なのです。
- データベース名
wordpressが使用するデータベース名
- データベースユーザー名
データベースへのアクセスに使用するユーザー名
- データベースパスワード
データベースへのアクセスに使用するパスワード
- データベースホスト
データベースサーバのホスト名
データベースの情報が格納されているのです。
データベースにはwordprssの設定情報や記事の内容などが格納されている「wordpressの脳」なのです。
これを他人に「かき回される」とひどいことになります。
wp-config.phpのセキュリティ対策
冒頭で「wp-config.php」のパーミッションを「600」にすることです。と書きました。
※パーミッションを理解されている方は「600」を推奨いたします。
wordpressのセキュリティとしてログインするために「ユーザーID」「パスワード」など「アクセスの権限」を設定することによりセキュリティを向上することができます。
ファイル(wp-config.phpなど)にも「アクセスの権限」がセキュリティのために設定できるのです。
これをパーミッションといいます。
簡単に言うと「このファイルは私以外は使えません」にしたいのです。
逆にいえば「このファイルはブラックハットハッカーは使えません」と言うことなのです。
パーミッションの設定方法
パーミッションはファイルやフォルダー(ディレクトリー)に設定する権限です。
権限とは「誰が」「何ができる」です。
たとえば「キャッシュカード」の権限は(私はキャッシュカードのパスワードを知っているので)
「このキャッシュカードで、私はお金をおろすことができる。」
「このキャッシュカードで、他人はお金をおろすことができない」
のようなイメージになります。
「誰が」の権限
ファイルやフォルダー(ディレクトリー)に対して、「自分(オーナー)」「仲間」「他人」の3つに分けられます。
- 自分(オーナー)は、ファイル/フォルダー(ディレクトリー)の所有者でログインしているユーザ
- 仲間は、サイトの共同運営者など
- 他人が、WEBサイトの訪問者など
「何ができる」の権限
ファイルやフォルダー(ディレクトリー)に対して、「読み取り」「書き込み」「実行」の3つに分けられます。
- 読み取りは、ファイルやフォルダー(ディレクトリー)の内容を読み取り(参照)できます。
- 書き込みは、ファイルやフォルダー(ディレクトリー)の内容を書き込み(更新)できます。
- 実行は、ファイルを実行できます。(プログラムなど)
パーミッションは「誰が」「何ができるか」の組み合わせ
ちょっと難しいのですが、パーミッションは「誰が」「何ができるか」の組み合わせを「二進数」で表します。
しかし、初めての方にとっては難しい設定だと思います。
そこで、パーミッションを設定する機能があるのでその機能を説明します。
※エックスサーバーの場合です。その他にも「FTP」ソフト(FileZillaなど)でもパーミッションを変更する機能があります。
上図のようにチェックをいれるだけでパーミッションの値を変更することができます。
オーナー(自分)だけが「wp-config.php」ファイルの「読取り」と「書込み」の権限を与えています。
このときパーミッションは「600」と表示されています。
エックスサーバーの「ファイル管理」でパーミッションを変更する。
1.エックスサーバーにログインします。
2.エックスサーバーのレンタルサーバー画面で「ファイル管理」ボタンを押下します。
3.ファイルマネージャー画面が表示されます。貴方のドメインをクリックします。
※私のドメインを例に操作します。
4.「public_html」をクリックします。
5.画面をスクロールすると「wp-config.php」が見つかります。
※「wp-config.php」をクリックして「パーミッション変更」ボタンを押下してください。
6.パーミッション変更画面が表示されます。
このとき
・自分(オーナー)は「読取可能」「書込可能」
・グルーブは「読取可能」
・その他は「読取可能」
パーミッション「644」になっています。
このパーミッション「644」の状態だとwp-config.phpの内容は誰でも見られることになります。(ハッカーにも)
※注意 エックスサーバーではwordpressの「セキュリティを向上」している様子で、wp-config.phpが参照できないようになっています。
7.セキュリティ強化のため、パーミッションを「600」に変更します。
グループとその他の「読み取り」のチェックを外します。
8.変更後は「変更」ボタンを押下して設定完了です。
9.確認です。ブラウザのアドレス欄に「貴方のドメイン」+「/wp-config.php」を入力してください。
wp-config.phpの内容が表示されていないことを確認してください。
wp-config.phpファイルのセキュリティ対策のまとめ
今回はパーミッションについて簡単に説明いたしました。
今回は「wp-config.php」のパーミッションを「600」
自分(オーナー)だけ「読取可能」「書込可能」にしていましたが
厳密には
自分(オーナー)だけ「読取可能」のパーミッションを「400」の方が良いとも言われています。
しかし、パーミッションを「400」にするとwp-config.phpを変更する場合やファイル転送する場合に、いちいちパーミッションに「書込可」を追加しないといけないため今回は見合わせました。
wordpressは簡単に構築できるのですが、セキュリティ上細かな設定は必要になります。
もし、wordpressのセキュリティ対策で悩まれている方はこちらの一覧をご覧ください。
https://whitemarkn.com/wp-security/
https://whitemarkn.com/wp-security/