Nginx

此伺服器日誌是否意味著我的伺服器被用作代理?

  • November 25, 2012

我在 access.log 中發現了以下條目:

58.218.199.147 - - [05/Jun/2012:12:56:04 +1000] "GET http://proxyproxys.com/ HTTP/1.1" 200 183 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

通常,當我在我的 access.log 中看到完整的 URL 條目時,我認為它是日誌垃圾郵件,人們試圖讓我訪問他們的網站。這些條目後通常帶有 404 響應。

上面的條目後面跟著一個 200 ‘success’ 響應!做一些搜尋,當有人試圖將您的伺服器用作代理時,似乎會發生這種情況。這讓我更加不安——尤其是因為有問題的 URL 中包含“代理”一詞。

訪問站點“proxyproxys.com”(使用 hidemyass.com 來保護我自己的身份),該站點返回的內容似乎是某種“代理法官”

----------------------------------------
HTTP_ACCEPT=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE=en-US,en;q=0.8
HTTP_USER_AGENT=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.53 Safari/536.5
HTTP_CONNECTION=close
REMOTE_PORT=56355

REMOTE_HOST=74.63.112.142
REMOTE_ADDR=74.63.112.142
----------------------------------------
CS_ProxyJudge Result=HIGH_ANONYMITY
----------------------------------------

問題:1)200成功是否意味著有人已經能夠成功使用我的伺服器作為代理?2) 是否有其他方法可以確認我的伺服器是否被用作代理 3) 如果有的話,您能否向我介紹文件以幫助“關閉”我的安全漏洞。

謝謝。

一個簡單的測試方法是將您的瀏覽器設置為使用您的網路伺服器作為其代理。指向那裡的任何域或原始 IP 地址都可以。如果它要求一個埠,請選擇埠 80。

如果您仍然可以瀏覽網路並且您看到您的瀏覽出現在您的訪問日誌中,那麼是的,您正在執行一個開放代理。

這也發生在我身上,在apache 的文件中發現了一些有趣的東西

我的伺服器已正確配置為不代理,那麼為什麼 Apache 返回 200(成功)狀態程式碼?

該狀態碼表明 Apache 成功地向客戶端發送了響應,但不一定表示該響應是從外部網站檢索到的。

RFC2616 第 5.1.2 節要求 Apache 必須接受在請求 URI 中具有絕對 URL 的請求,即使對於非代理請求也是如此。這意味著即使關閉了代理,Apache 也會接受看起來像代理請求的請求。但是,Apache 不會從外部站點檢索內容,而是會在您網站的相應位置提供內容。由於主機名可能與您網站的名稱不匹配,Apache 將在您的預設主機上查找內容。

在上面的範例中,由於 www.yahoo.com 顯然不是您系統上的有效虛擬主機,Apache 將從您的預設(虛擬)主機提供首頁內容。可以將響應的大小(上例中的 1456)與預設站點上相應頁面的大小進行比較,以確認響應是在本地提供的並且不涉及代理。

由於這似乎是標準要求的行為,我假設 nginx 正在做類似的事情。就我而言,因為它正在返回我的首頁,所以我認為它“成功失敗”,因此是 200 程式碼。

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