4.WordPress最後のセキュリティ設定

WordPressをWebでインストールした後、不都合にアクセスして欲しくないファイルを.htaccessで制限をかけます。

WEBの公開
  • サーバ名:www.momobro.com
  • サーバ固定IPアドレス:192.168.100.100
  • URL:http://www.momobro.com/test/
  • WordPressの配置先:/var/www/html/test

WordPress配置先の設定

WordPressのインストールが終わると、.htaccessが出力されます。

インストールも終わったので、外部からアクセスされたくないファイルを設定しておきましょう。

$ sudo vi /var/www/html/test/.htaccess

インストール直後は、下記の内容となっています。赤字部分の追記をしておきましょう。

但し、FileMatchで指定したPHPのファイルは、機能が使用できなくなるので必要な方は外してください。

# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /test/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /test/index.php [L]
</IfModule>

# END WordPress
<FilesMatch "^(wp-config\.php|wp-mail\.php|xmlrpc\.php|wp-comments-post\.php)">
     Require all denied
</FilesMatch>

wp-comments-post\.phpを使用禁止にする時は、WordPressの設定=>ディスカッションで、コメントの許可を外しましょう。

install.phpのアクセス禁止

WordPressのインストールを再実行されても「インストール済み」の画面が出るので問題ないのですが、アクセスの制限を入れておきます。

$ sudo vi /var/www/html/test/wp-admin/.htaccess

下記内容を入力して保存しておきましょう。

<Files "install.php">
     Require all denied
</Files>

アップロードコンテンツの実行阻止

phpのファイルをアップロードして、URLを指定して実行される事を阻止するために入れておきます。自分だけがブログに記事を登録するのであれば特に不要です。

$ sudo vi /var/www/html/test/wp-content/uploads/.htaccess

下記内容を入力して保存しておきましょう。

<Files *.php>
        Require all denied
</Files>

Apache2が動作するユーザにオーナーを変更

最後にファイルのオーナーを再度設定しなおします。

$ sudo chown -R www-data:www-data /var/www/html/test

これぐらいのガードを入れておけば、そんなに問題は出ないと思います。

タイトルとURLをコピーしました