0

私たちは突然、DDOS攻撃であると言われている犠牲者になりました。いくつかの.htaccessルールを使用して、以下を使用して、付随するパラメーターをブロックし、ホームページで行われた投稿リクエストとクエリ文字列の先頭に特定のフィールドがあるリクエストに403禁止ページを表示しようとしています。

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(ptrxcz|xclzve).* [NC]

RewriteRule ^(.*)$ http://%{REMOTE_ADDR} [F,L]

RewriteEngine On

RewriteCond %{REQUEST_METHOD} POST

RewriteCond %{REQUEST_URI} /

RewriteRule ^(.*)$ http://%{REMOTE_ADDR} [F,L]

基本的に、これは、wgetを使用してSSHで問題のあるクエリ文字列を含むファイルにアクセスするが、ブラウザウィンドウではアクセスできない場合は常に正常に機能します。

さらに、Postmaster Google Chromeアドオンはホームページへの投稿リクエストをブロックしますが、curl -dリクエストはブロックされないため、さまざまな結果をもたらすツール(ブラウザー、SSH、ポストマスター)。

私もパーマリンクでWordpressを使用していますが、これらは.htaccessファイル内の他の唯一のものであるため、何らかの形でこれに影響を与えるのではないかと思います。これらを.htaccessファイルから削除すると、すべてが期待どおりに機能します。これは私の現在のルールの後に来るWordpressの.htaccessです。

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

さらに、Wordpress以前のルールを変更して[F]とREMOTE_ADDRの部分を削除し、次のように置き換えて、存在しないURLにリダイレクトすると、正しくリダイレ​​クトされます。つまり、[ F]およびREMOTE_ADDRセクション。

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(ptrxcz|xclzve).* [NC]

RewriteRule ^(.*)$ http://www.pleasegoawayandnevercomebackagain.com [R=301,L]

RewriteEngine On

RewriteCond %{REQUEST_METHOD} POST

RewriteCond %{REQUEST_URI} ^/$

RewriteRule ^(.*)$ http://www.pleasegoawayandnevercomebackagain.com [R=301,L]

上記に加えて、さらなる調査について。次のルールは機能します。

RewriteEngine On

RewriteCond %{QUERY_STRING} !.*test.* [NC]

RewriteRule ^(.*)$ http://%{REMOTE_ADDR} [F]

ここでの違いは、クエリ文字列値の負の一致をチェックしていることです。これは、クエリ文字列にテストが含まれているページを除いて、すべてのページが禁止されていることを意味します。ネガティブマッチが機能するのにポジティブ検索が機能しない理由を知っていますか?それは構文の問題ですか、それともhtaccess書き換え条件で正の値を検索することと関係がありますか?

4

2 に答える 2

0

あなたを助けるかもしれないいくつかのアイデア:

  1. .htaccess ファイルで # BEGIN WordPress と # END WordPress を維持していることを確認してください。ルールの上に残りを置きます

  2. プラグインをインストールしてみてください: Better WP Security: http://wordpress.org/extend/plugins/better-wp-security/ - それは命の恩人です :)

于 2013-02-20T13:27:02.610 に答える
0

QUERY_STRING上記のコードを に置き換えるとTHE_REQUEST、これは正常に機能し、WordPress 内で必要とされるとおりに動作します。

于 2013-02-21T09:06:56.527 に答える