cgi-bin ディレクトリ内に PHP スクリプトの実行のための php.cgi と php.ini ファイル、そしてアクセス制御のための .htaccess が設置されている場合、パーミッションは以下のようになっています。それを適切な値に変更します。
WordPress を使用していて、プラグインやテーマの追加・変更・削除を繰り返していくうちに、パーミッションの設定を戻し忘れたりすることがあります。 WP Security Scan を利用すると適切なパーミッション設定が楽になります。
デフォルト設定 (umask 022)
- 644 -rw-r–r– /home/user/wp-config.php
- 644 -rw-r–r– /home/user/cgi-bin/.htaccess
- 644 -rw-r–r– /home/user/cgi-bin/php.ini
- 755 -rwxr-xr-x /home/user/cgi-bin/php.cgi
- 755 -rwxr-xr-x /home/user/cgi-bin/php5.cgi
適切な設定
- 600 -rw-r–r– /home/user/wp-config.php
- 604 -rw—-r– /home/user/cgi-bin/.htaccess
- 600 -rw——- /home/user/cgi-bin/php.ini
- 711 -rwx–x–x /home/user/cgi-bin/php.cgi
- 100 —x—— /home/user/cgi-bin/php5.cgi
.htaccess のパーミッション設定
- 644 > 604
グループから .htaccess の読み込み権限を取り除きます。通常は 644 が推奨設定です。
php.ini のパーミッション設定
- 644 > 600
パーミッション 644 では、すべてのグループとユーザに php.ini に対する読み込み権限が与えられおり、Web サイトから容易にアクセスされる可能性があります。設定変更に際して留意する点は、php.ini にアクセスするファイルは php.cgi のみであるため、最低限 php.cgi のプロセスに権限が与えられていれば動作に問題はないということです。パーミッション 600 では、php.cgi がファイル所有者の権限で動作しながら、グループや他のユーザからのアクセスを制限することができます。
php.cgi のパーミッション設定
- 755 > 711
ここでは、プロバイダから標準で提供される vanilla PHP や mod_php の代わりに、カスタムコンパイルされた php.cgi バイナリを使用しています。通常は 755 が設定されています。
php5.cgi のパーミッション設定
- 755 > 100
php5.cgi を実行するプロセスはファイル所有者の権限で動作するため、グループや他のユーザに対してアクセス権限を与える必要はなく、ファイル所有者の実行権限を残してすべて削除しても問題ありません。ファイル所有者からも、ファイルの読み込み、書き込み権限が取り除かれますが、PHP スクリプトを実行するための権限は維持されます。また、パーミッション設定を元に戻すことも、ファイル所有者の権限でいつでも可能です。
via: ファイルパーミッションの変更 – WordPress Codex 日本語版
wp-config のパーミッション設定
- 「444」もしくは「404」
