3

今日、私のサーバーで非常に奇妙なアクティビティが発生しています。Max Apache接続に達していますが、それを引き起こしている可能性のあるものは何も見つかりません(DOS攻撃などを受けているとは思いません)。

Apache ログを確認したところ、奇妙なことがわかりました。

初め:

[Tue Aug 13 09:41:13 2013] [error] [client 85.76.3.157] --2013-08-13 09:41:13--  http://heatinasnap.net/gs.txt, referer: http://example.net/forum/index.php
[Tue Aug 13 09:41:13 2013] [error] [client 85.76.3.157] Resolving heatinasnap.net... 173.254.28.65, referer: http://example.net/forum/index.php
[Tue Aug 13 09:41:13 2013] [error] [client 85.76.3.157] Connecting to heatinasnap.net|173.254.28.65|:80... connected., referer: http://example.net/forum/index.php
[Tue Aug 13 09:41:13 2013] [error] [client 85.76.3.157] HTTP request sent, awaiting response... 404 Not Found, referer: http://example.net/forum/index.php
[Tue Aug 13 09:41:13 2013] [error] [client 85.76.3.157] 2013-08-13 09:41:13 ERROR 404: Not Found., referer: http://example.net/forum/index.php
[Tue Aug 13 09:41:13 2013] [error] [client 85.76.3.157] , referer: http://example.net/forum/index.php

[Tue Aug 13 09:41:31 2013] [error] [client 112.198.64.88] --2013-08-13 09:41:31--  http://heatinasnap.net/gs.txt, referer: http://example.net/members
[Tue Aug 13 09:41:31 2013] [error] [client 112.198.64.88] Resolving heatinasnap.net... 173.254.28.65, referer: http://example.net/members
[Tue Aug 13 09:41:31 2013] [error] [client 112.198.64.88] Connecting to heatinasnap.net|173.254.28.65|:80... connected., referer: http://example.net/members
[Tue Aug 13 09:41:31 2013] [error] [client 112.198.64.88] HTTP request sent, awaiting response... 404 Not Found, referer: http://example.net/members
[Tue Aug 13 09:41:31 2013] [error] [client 112.198.64.88] 2013-08-13 09:41:31 ERROR 404: Not Found., referer: http://example.net/members
[Tue Aug 13 09:41:31 2013] [error] [client 112.198.64.88] , referer: http://example.net/members

[Tue Aug 13 09:41:33 2013] [error] [client 141.138.54.172] --2013-08-13 09:41:33--  http://heatinasnap.net/gs.txt, referer: http://example.net/forum/viewtopic.php?f=9&t=6747
[Tue Aug 13 09:41:33 2013] [error] [client 141.138.54.172] Resolving heatinasnap.net... 173.254.28.65, referer: http://example.net/forum/viewtopic.php?f=9&t=6747
[Tue Aug 13 09:41:33 2013] [error] [client 141.138.54.172] Connecting to heatinasnap.net|173.254.28.65|:80... connected., referer: http://example.net/forum/viewtopic.php?f=9&t=6747
[Tue Aug 13 09:41:33 2013] [error] [client 141.138.54.172] HTTP request sent, awaiting response... 404 Not Found, referer: http://example.net/forum/viewtopic.php?f=9&t=6747
[Tue Aug 13 09:41:33 2013] [error] [client 141.138.54.172] 2013-08-13 09:41:33 ERROR 404: Not Found., referer: http://example.net/forum/viewtopic.php?f=9&t=6747
[Tue Aug 13 09:41:33 2013] [error] [client 141.138.54.172] , referer: http://example.net/forum/viewtopic.php?f=9&t=674

heatinasnap.net が何であるかはわかりません (聞いたことがない)。

次に、ある種の脆弱性スキャナー:

[Tue Aug 13 09:41:40 2013] [error] [client 220.248.145.30] ModSecurity: Access denied with code 406 (phase 2). Match of "rx ^apache.*perl" against "REQUEST_HEADERS:User-Agent" required. [file "/usr/local/apache/conf/modsec2.user.conf"] [line "55"] [id "990011"] [msg "Request Indicates an automated program explored the site"] [severity "NOTICE"] [hostname "www.mysite.net"] [uri "/"] [unique_id "UgpFpK339QIAAFT1Y2MAAAAC"]
[Tue Aug 13 09:41:41 2013] [error] [client 220.248.145.30] ModSecurity: Access denied with code 406 (phase 2). Match of "rx ^apache.*perl" against "REQUEST_HEADERS:User-Agent" required. [file "/usr/local/apache/conf/modsec2.user.conf"] [line "55"] [id "990011"] [msg "Request Indicates an automated program explored the site"] [severity "NOTICE"] [hostname "mysite.net"] [uri "/406.shtml"] [unique_id "UgpFpa339QIAAGfpU5MAAAUD"]
[Tue Aug 13 09:41:41 2013] [error] [client 220.248.145.30] File does not exist: /home/hellohel/public_html/406.shtm

これが私の現在のApacheステータスです:

CPU Usage: u147.51 s128.44 cu2247.28 cs0 - 146% CPU load
147 requests/sec - 2.3 MB/second - 16.4 kB/request
512 requests currently being processed, 0 idle workers

ただし、Apache で MaxClient エラーは発生しませんでした。間違いなく何か奇妙なことが起こっています...誰か洞察を提供できますか?

アップデート:

apache が max-clients にヒットした原因は、slowloris DOS 攻撃であることが判明しましたが、これは apache で修正されましたMod_Antiloris。インストール手順はこちら:

http://www.hostingdiscussion.com/hardware-server-configuration/27399-installing-mod_antiloris-mitigate-slowloris-dos-attack.html

アップデート2:

I am not sure if it was luck or not, but the slowloris thing just solved it for a few minutes. It went back to 512 (max) connections shortly after. I am seeing some very high CPU load on simple scripts so I am wondering if it has something to do with handling large log files. One is just a css file taking up `24.66 CPU`. Check out just a few processes:

Srv PID Acc M   CPU SS  Req Conn    Child   Slot    Client  VHost   Request
0-0 31154   0/45/45 R   23.85   3   1   0.0 0.47    0.47    ?   ?   ..reading..
0-0 31154   0/36/36 _   24.66   0   1   0.0 0.43    0.43    81.152.251.175  mysite.net  GET /css/dwn.css HTTP/1.1
0-0 31154   0/33/33 R   23.92   2   179 0.0 0.69    0.69    ?   ?   ..reading..
0-0 31154   0/1/1   W   0.07    119 0   0.0 0.00    0.00    117.102.163.190 mysite.net  POST /includes/offers/ajax.php HTTP/1.1
0-0 31154   1/64/64 C   24.74   0   1   26.8    1.85    1.85    24.127.122.188  mysite.net  GET /images/soc.png HTTP/1.1
0-0 31154   0/51/51 _   24.87   0   899 0.0 0.78    0.78    86.111.144.194  mysite.net  GET /includes/offers/window.php?file=57860&tooltip=true HTTP/1.
0-0 31154   0/18/18 R   11.00   77  1   0.0 0.27    0.27    ?   ?   ..reading..
4

1 に答える 1

0

これらのメッセージは、Apache サーバーが DNS を介してルックアップを実行していることを示しているため、サイトがリモート ファイルを開いているように見えます。

悪いコードを探すには

ボックスにアクセスするためにどのような方法を使用しているかを把握する必要があります。次に、そのコードを調べて、通常とは異なるものを見つけようとします。彼らは通常、exec()とのようなものを使用base64_decode()してコードを隠しますgrepgrepfopen()fread()、さらにfile_get_contents()curl_init(). 予期しない場所でこれらのスクリプトのいずれかを見つけた場合、それは悪用になります。

conntrackd、、、、、などを使用してntop、ボックスのアウトバウンド トラフィックを探すことができるはずです。argusbro-idssancp

迅速な修正を試みる

php.iniファイルに移動し、およびのシステム構成設定を確認allow_url_fopenしますallow_url_include。誰かが自分のサイト (ペイロードが存在する場所) から txt ファイルを開こうとしているようです。

これらの設定でリモートで開くことが許可されている場合、それがこの動作の原因です。誰かが自分のサーバーからあなたのサーバー上のファイルを開いて、エクスプロイトを引き起こした可能性があります。

php.iniボックスにコードが含まれている場合は、ボックスの内容を消去し、ファイルが修正されたら、バックアップの 1 つからコードを更新する必要があります。そうしないと、ini_set.

コードや設定を変更せず、バックアップから復元しても、動作は妨げられません。さらに、すべての送信リクエストとその解決済み IP [173.254.28.65]IPtablesをブロックするようなものを使用できます。heatinasnap.net

このようなものを使用している場合はfile_get_contents、この変更を行うことで無効になります。一方、cURL は独自のライブラリを使用しており、変更の影響を受けません。ただし、サーバー上のコードは引き続き cURL を使用できます (それがあなたのものでなくても)。

DOS 攻撃の更新

これは代わりに DOS だと思うので、mod_reqtimeoutを使用してみてください。適切な設定は次のとおりです。

RequestReadTimeout header=10 body=30 
于 2013-08-13T18:17:55.267 に答える