私は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
なぜあなたはそれらすべてを保護したいのですか?私の控え目な意見では、それらすべてが保護する必要があるわけではありません。
いずれにしても、これらはあなたの.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>