web-dev-qa-db-ja.com

WordPressのファイルとディレクトリを保護する

私はWordPressを初めて使い、Amazon EC2で安全にホスティングしています。私の質問は、WordPressのファイルとディレクトリを適切に保護する方法を教えてください。

私のファイル許可は644に設定され、私のディレクトリは755に設定されています。

[ec2-user@ip-xx-xxx-xxx-xx my_sub_directory]$ ls -l
total 160
-rw-r--r-- 1 ftpuser 65534   395 Jan  8  2012 index.php
-rw-r--r-- 1 ftpuser 65534 19929 May  6  2012 license.txt
-rw-r--r-- 1 ftpuser 65534  9177 Jun 21 17:26 readme.html
-rw-r--r-- 1 ftpuser 65534  4663 Nov 17  2012 wp-activate.php
drwxr-xr-x 9 ftpuser 65534  4096 Jul 23 23:12 wp-admin
-rw-r--r-- 1 ftpuser 65534   271 Jan  8  2012 wp-blog-header.php
-rw-r--r-- 1 ftpuser 65534  3522 Apr 10  2012 wp-comments-post.php
-rw-r--r-- 1 ftpuser root   3596 Jul 23 20:27 wp-config.php
drwxr-xr-x 5 ftpuser 65534  4096 Jul 23 17:44 wp-content
-rw-r--r-- 1 ftpuser 65534  2718 Sep 23  2012 wp-cron.php
drwxr-xr-x 9 ftpuser 65534  4096 Jun 21 19:39 wp-includes
-rw-r--r-- 1 ftpuser 65534  1997 Oct 23  2010 wp-links-opml.php
-rw-r--r-- 1 ftpuser 65534  2408 Oct 26  2012 wp-load.php
-rw-r--r-- 1 ftpuser 65534 29217 Jun 21 03:02 wp-login.php
-rw-r--r-- 1 ftpuser 65534  7723 Sep 25  2012 wp-mail.php
-rw-r--r-- 1 ftpuser 65534  9899 Nov 22  2012 wp-settings.php
-rw-r--r-- 1 ftpuser 65534 18219 Sep 11  2012 wp-signup.php
-rw-r--r-- 1 ftpuser 65534  3700 Jan  8  2012 wp-trackback.php
-rw-r--r-- 1 ftpuser 65534  2719 Sep 11  2012 xmlrpc.php

そして私の.htaccessファイルはwp-config.phpファイルをさらに保護しようとします

# PROTECT WP-CONFIG
<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>

私はこのようにブラウザから私のwp-config.phpファイルにアクセスしようとすると:

http://ec2-xx-xx-xxx-xx.compute-1.amazonaws.com/my_sub_directory/wp-config.php

私はこのエラーが出ます:

禁じられている

このサーバーの/my_sub_directory/wp-config.phpにアクセスする権限がありません。

しかし、私が自分のディレクトリ内の別のファイルにアクセスすると、たとえば、wp-cron.phpのようになります。

http://ec2-xx-xx-xxx-xx.compute-1.amazonaws.com/my_sub_directory/wp-cron.php

空白の白いページが表示されます。私は考えている、これは安全ではあり得ない。

では、次のファイルを適切に保護するにはどうすればよいですか?

[ec2-user@ip-xx-xxx-xxx-xx my_sub_directory]$ ls -a
.            wp-activate.php       wp-cron.php        wp-settings.php
..           wp-admin              wp-includes        wp-signup.php
.htaccess    wp-blog-header.php    wp-links-opml.php  wp-trackback.php
index.php    wp-comments-post.php  wp-load.php        xmlrpc.php
license.txt  wp-config.php         wp-login.php
readme.html  wp-content            wp-mail.php
2
Anthony

なぜあなたはそれらすべてを保護したいのですか?私の控え目な意見では、それらすべてが保護する必要があるわけではありません。

いずれにしても、これらはあなたの.htaccessファイルに含めるのが良いです:

1:wp-config.phpへのアクセスを制限する

<Files wp-config.php>
    order allow, deny
    deny from all
</Files>

2:.htaccess自体へのアクセスを制限する

<Files .htaccess>
   order allow,deny
   deny from all
</Files>

3:あなたのwp-login.phpにパスワード保護をかける

<FilesMatch "wp-login.php">
    AuthType Basic
    AuthName "Who are you?"
    AuthUserFile "/path/to/passwd"
    require valid-user
</FilesMatch>
2
montrealist