wordpressセキュリティ対策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は簡単に構築できるのですが、セキュリティ上細かな設定は必要になります。