Apache-2.2

從我的外部 IP 地址到我的網路伺服器的大量連接

  • March 7, 2015

我最近在一台執行 Apache Web 伺服器的 Debian 機器上安裝了 Nagios。

問題是最近,Nagios 告訴我 HTTP 服務間歇性地失敗,而且似乎在隨機的時刻,伺服器從其外部地址獲得了大量的連接,並且大量的 apache2 程序開始從字面上分叉我的電腦屁股。

為了解釋這一點,假設我的公共 IP 地址是 1.2.3.4,並且我有一個網路伺服器在 192.168.0.10 的 LAN 中執行,而 192.168.0.1 是一個路由器,NAT 的 http 流量進出。

每當事件發生時,我(通過 netstat)看到很多 tcp 連接處於 ESTABLISHED 狀態,從 192.168.0.10:randomport 到 1.2.3.4:80(傳出連接?),另外大量 tcp6 連接也從 1.2.3.4 處於 ESTABLISHED 狀態:隨機埠到 192.168.0.10:80。

我真的不知道發生了什麼,對於正常的 DDoS,我希望有多個外國地址,但不是我自己的公共 IP 地址。

問題是我不知道是 Nagios 本身導致了這種情況,還是以前發生過,我不知道。

有人對可能發生的事情有任何想法嗎?

非常感謝

PD:ATM 我放了一個 iptables 規則,它似乎可以在不影響服務的情況下修復它,但我想知道這背後的原因,所以我刪除了該規則以進行進一步測試。

PD2:對 netstat 輸出的進一步分析表明,IP 之間的隨機埠匹配,所以我的機器似乎是出於痛苦而 DoSing 本身?當機器不忙時執行 check_http nagios 外掛可以正常工作並且不會導致事件,所以必須有別的東西在做,關於如何縮小它的任何想法?

編輯: ss 透露,發起連接的是 apache2 程序,所以基本上 apache2 只是與自身建立連接?

好的,我設法通過使用 localhost 瀏覽網路伺服器來重現該問題,並觸發了該事件。我有一些讀取 %{HTTP_HOST} 變數的 RewriteCond 規則,當該主機不是 ServerName 或 ServerAlias 之一時,它會以某種方式造成嚴重破壞。

我在 /etc/hosts 上有一個條目,將 nagios 的 check_http 外掛使用的主機名作為主機地址連結到 127.0.1.1,這引起了整個騷動。

現在它沒有發生,幸運的是事件應該停止發生。

我希望它可以幫助某人。

引用自:https://serverfault.com/questions/673602