web-dev-qa-db-ja.com

Joomlaのセキュリティ-htaccessによるフィンガープリント攻撃

Joomlaのセキュリティを強化するためにhtaccessファイルで遊んでいますが、この例( 参照 )で行き詰まっています。

## Referrer filtering for common media files. Replace with your own domain name.
## This blocks most common fingerprinting attacks ;)
## Note: Change www\.example\.com with your own domain name, substituting the
## dots with \.  i.e. use www\.example\.com for www.example.com
RewriteRule ^images/stories/([^/]+/)*([^/.]+\.)+(jp(e?g|2)?|png|gif|bmp|css|js|swf|ico)$ - [L]
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com [NC]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(jp(e?g|2)?|png|gif|bmp|css|js|swf|ico)$ - [F]

私はこの例をテストとして追加しましたが、私のサイトをめちゃくちゃにしています(明らかにexample.comを私のサイトに変更しています)。これが実際に何をしているのか本当によくわかりません。 images/stories/は私のサーバーに存在しないので、これは何をしようとしているのですか?

Joomla 2.5を使用しています

1
Tom

まず第一に、私は決して_.htaccess_の使用法の専門家ではありません。

あなたが投稿したコードは誰もがあなたのコンテンツをホットリンクすることを許可しません、唯一の例外は次の行で定義されています:

_RewriteRule ^images/stories/([^/]+/)*([^/.]+\.)+(jp(e?g|2)?|png|gif|bmp|css|js|swf|ico)$ - [L]
_

RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com [NC]は、コンテンツへのアクセスを許可するドメインを定義しているため、小さなエラーが発生すると、JoomlaがCSS、JS、画像などを他のディレクトリからロードできなくなります。これを再確認してください。

5行目を次のように置き換えることもできます。

_RewriteRule ^((components|modules|templates|images|plugins|media)/.*\.(jpe|jpg|jpeg|jp2|jpe2|png|gif|bmp|css|js|swf|html|mpg|mp3|mpeg|mp4|avi|wav|ogg|ogv|xls|xlsx|doc|docx|ppt|pptx|Zip|rar|pdf|xps|txt|7z|svg|odt|ods|odp|flv|mov|ico|htm))$ $1 [L]
_

私はいくつかの追加情報を見つけました ここ

HTTPリファラーの検証を無効にする場合は、一貫性を保ち、サイト全体で一貫性を保ち、追跡が困難な問題を回避するという考え方です。さらに、この機能は、フィンガープリント攻撃(つまり、使用しているJoomla!リリースを特定するためにハッカーがレーダーの下を飛ぶ試み)に対する限定的な保護しか提供しません。

基本的に、使用しているコードスニペットは、それよりも多くの問題を引き起こす可能性があります。

4
johanpw