web-dev-qa-db-ja.com

セキュリティと.htaccess

1か月ほど前、趣味に関連するホスティングサーバーでWordPressブログを始めました。だから、私は現在これに慣れていません。

私はセキュリティを心配しているので、私がしたことの一つはプラグインWP Security Scanをインストールすることでした。プラグインの結果によると、私のサイトはチェックアウトして、結果に赤いフラグが付けられていることを除いて:

ファイル.htaccessはwp-admin /には存在しません(私はそこにsshしました、そしてそれは存在しません)

わかりました、それで私は問題についてかなりの調査をしました、そして.htaccessであまりにも多くの情報を見つけます。私はWordPress.orgサイトなどでWordPressを強化してきました。そしてまたこの記事に遭遇しました: http://digwp.com/2010/07/wordpress-security-lockdown/

とにかく、私は基本的に利用可能な大量の情報と混乱しています。

wp-adminの.htaccessファイルには何が含まれているべきですか?この.htaccessファイルはwp-adminディレクトリをパスワードで保護する必要があることを読みました。 。

これを手伝っていただければ幸いです。

ありがとう。 -wdypdx22

Updateわかりました。だから私は私のブログにログインしていて、いつもと違うコンピュータを使っていません。私はURL www.mysite.com/wordpress/wp-admin/を入力して、ログインへのリダイレクトがあります。もしそれが起こったら、それではwp-adminディレクトリにhtaccessファイルが必要なのでしょうか。

8
wdypdx22

UPDATE:最初に答えを投稿したとき、質問の核心を見逃しました。私の答えは.htaccessセキュリティ全般に関するもので、現在は二重線の下にリストされています(興味がある場合は見下ろしてください。)残念ながら、/wp-admin/を使用して.htaccessそのため、必要なときに必要に応じて追求する2つのリソースを単純にリストします。

最初のものは、以下を推奨します(そして、これは それについての議論 です。)

<Files ~ "\.(php)$">
AuthUserFile /etc/httpd/htpasswd
AuthType Basic
AuthName "restricted"
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any
</Files>

後者には、特にコメントに多くの情報がありますが、読むべきリストを提供することは明らかにあなたが探していた答えではありません。

申し訳ありませんが、私はこれに関してこれ以上役立つことができませんでした。

=======================================

通常、WordPressにはパーマリンク処理を処理する次のもののみがあり、セキュリティとは関係ありません。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

最近、多くの.htaccessを管理する WP htacess Control プラグインを見つけました。私はかなり気に入っています。設定を調整した後、次のオプションを追加しました。

# WPhtC: Disable ServerSignature on generated error pages
ServerSignature Off

# WPhtC: Disable directory browsing
Options All -Indexes

# WPhtC: Protect WP-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>

# WPhtC: Protect .htaccess file
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
</files>

また、セキュリティではなくパフォーマンスに関するこれらのオプションを追加しました。

# WPhtC: Setting mod_gzip
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

# WPhtC: Setting mod_deflate
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
</IfModule>

これを超えて、私が試したことのないいくつかのプラグインがありますが、それらはセキュリティに焦点を合わせており、.htaccessとやり取りします-.htaccessファイルに対する動作を確認するためにそれぞれ試してみることができます。

それ以外に、 WordPressに関連するApacheセキュリティ の(IMO)#1エキスパートリソースを知りたい場合は、 AskApache.com で見つけることができます。男はハードコアです!彼のブログはあなたの「too many information」問題を解決しませんが、少なくともあなたは権威あるリソースとしてそれを見ることができます!

次に例を示します(すべてが直接WordPress関連しているわけではありませんが、すべてが適用可能です)。

とにかく、これが役立つことを願っています。

8
MikeSchinkel

その背後にある考え方は、過去のアップグレードやゼロデイ攻撃のためにファイルがぶら下がっている場合、システムがハッキングされる可能性があります。また、別の方法でwp-adminを保護することはブルートフォース攻撃を防ぐのに役立ちます。

一つのアイデア)それがあなたがサイトを編集しているだけであるならば、あなたはipによってフォルダへのアクセスを制限することができます。

<Files *>
Order deny,allow
Deny from All
Allow from 1.2.3.4
</Files>

それを動的IPシステムに対してもう少し許容できるものにする。サブブロックから許可することができるはずです、従ってIPプールが常に1.2.3.128から1.2.3.255までであれば、1.2.3.128/25のようなことをすることができます

別のアイデア)は、HTTPSを必要とし、彼らはHTTP経由でそれを試した場合は許可を拒否を与えます。しかし、それらをhttpsにリダイレクトしないでください。購入せずに取得するには、自己署名証明書またはCA Certの証明書を使用できます。

4
Ryan Gibbons

何も置いていなくても、wp-adminには常に.htaccessファイルを含めます。ルートディレクトリのファイルが無効になるためです。 wp-admin .htaccessファイルを使用してディレクトリ全体を1つのIPアドレス以外のすべてから隠す人もいれば、ディレクトリをパスワードで保護するために使用する人もいます。

ただし、adminセクションを.htaccessでパスワード保護すると、wp-admin/admin-ajax.phpと対話するため、ajax通信が無効になります。

一般的に、非常に妄想的でない限り、admin .htaccessファイルに何かを追加する理由はあまりありません。とにかく攻撃は通常wp-contentを標的にします。

0
John P Bloch