GoogleBotからサーバーを停止する/xmlrpc.phpへの多くのPOSTリクエスト?


9

私はいくつかのワードプレスブログをホストしており、それらを訪問しようと試みており、それらは本当に遅いです。サーバーのログを見て、これを見つけました

stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:28 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:29 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:31 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:31 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"
stanfordflipside.com:80 188.138.33.149 - - [17/Aug/2013:17:14:31 -0700] "POST /xmlrpc.php HTTP/1.1" 200 595 "-" "GoogleBot/1.0"

GoogleBotから複数のサイトへの/xmlrpc.phpファイルに毎秒最大10ヒットを取得していますが、これによりサーバーの速度が低下しているようです。私は走っています

tail -f 

ログファイルで、これらのリクエストが継続しているのを見ることができます。なぜこれが起こっているのか、それを止めるために何ができるのか誰か知っていますか?


2
IPとアドレスを調べる必要がありますが、それは実際にはGoogleのクローラーではなく、(ほとんどの場合)なりすましの悪質なボットにすぎません。
s_ha_dum 2013


ええ、それはグーグルボットだとは思いませんでした-私の質問ではそれははっきりしていなかったと思います。とにかく、これについてどうしますか?IPをブロックする必要がありますか?
jkeesh 2013

回答:


7

iptablesそれが私であり、そのようなサーバーレベルのアクセス権がある場合は、IPをブロックします。

xmlrpcを無効にすることもできます。残念ながら、3.5以降、その機能を無効にする管理画面オプションは削除されました。ただし、1行のコードでコードを無効にする必要があります。add_filter( 'xmlrpc_enabled', '__return_false' );これにより、要求からのオーバーヘッドが節約される可能性がありますが、すべてが削除されるわけではありません。


ありがとう。私はそれをiptablesでブロックすることになりました、そしてそれは助けになりました。
jkeesh 2013

5

「Googlebot」はxmlrpc.phpにアクセスする理由がありません。これをxmlrpc.phpの先頭に追加できます。

// Block fake Googlebot
if ( strpos($_SERVER['HTTP_USER_AGENT'], "Googlebot") === true ) { exit(); }

私はそれがコアWordPressファイルだと思います。したがって、これを更新し続けるのは煩わしいかもしれません。AutomatticがAkismetを使用して、あらゆる場所のすべてのWPスクリプトからこれらのIPをブラックリストに登録した場合は、すばらしいでしょう。

更新:chmod 0 xmlrpc.phpDDoSがサーバーに負荷をかけ始めた後、私は(私のコメントを参照)で権限を削除することになりました。つまり、この条件付きPHPコードは、攻撃的な攻撃者がブログを一時的に無効にすることを阻止しない可能性があります。いずれにせよ、彼らは通常かなり速くあきらめます。


また、別のモバイルまたはデスクトップブログクライアントアプリケーションを使用しないブロガーの場合は、xmlrpc.phpは必要なく、安全に削除できます。つまり、ウェブ上のWordPressダッシュボード内でブログ投稿を作成する場合、xmlrpc.phpは必要ありません。最近、xmlrpc.phpは本当にハッカーの攻撃を受けており、個人的にはこのファイルを削除することをお勧めします。
PJ Brunet 2015

上記の私のコメントを修正するには:xmlrpc.phpを削除するのではなく、ファイルを "chmod 0"して、必要に応じて元に戻すことができます。 Jetpackをアクティブにします。
PJ Brunet

先端をありがとう。私exit()たちは常にwp-adminを使用してページを編集しているので、ファイルの先頭にを入れています。これはWordpressの弱点であり、大規模な組織にWPを実装することを心配しています。xmlrpcが無効になっていると、心配する必要はありませんよね?
Mattijs 2016年

1

iptablesでIPをブロックします。

for ip in $(grep xmlrpc /var/log/apache2/access.log | cut -d' ' -f1 | sort | uniq -c | sort -rn | head -n8 | awk '{print $2}'); do \
iptables -A INPUT -s $ip -j DROP; \
done

このシェルコマンドのいくつかの説明を見るとよいでしょう。
David

@Davidそのちょっと豪華で不器用なIMO。基本的にこれが行うことは、access.logファイルをスキャンして、xmlrpc.phpへのリクエストを探します。次に、重複するIPアドレスをカウントし、それらを最高から最低に並べ替え、上位8つのIP(リクエストの重複が最も多いIP)を返します。これらのIPアドレスごとに、ファイアウォールからすべてのトラフィックをドロップするように指示します。私のサーバーでは、これを実行しているIPが8つを超えており、誰が作成しているかを詳しく調べていないため、正当な要求もブロックされる可能性があります。
tdk2fe

0

これが最近発生し、サーバーが強制終了されていたため、fail2banを使用して問題を軽減しています。

この設定をjail.localに追加しました:

[apache-xmlrpc]

enabled = true
port = http,https
filter = xmlrpc
logpath = /var/log/apache2/*access.log
maxretry = 30
findtime = 300
bantime = -1

そしてfilter.d / apache-xmlrpc.confにフィルターを作成します:

[Definition]
failregex = ^<HOST> -.*"(GET|POST) .*xmlrpc.php
ignoreregex =

私の場合、攻撃は常にgooglebotからのものではなかったため、正規表現を少し広くしましたが、私の目的では、IPが5分以内にxmlrpcに30回以上ヒットする正当な理由はほとんどありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.