Firewall

IP 地址在 Google App Engine 防火牆規則中被阻止,但仍在日誌中看到

  • June 19, 2020

我執行一個具有honeypot管理頁面的 Google App Engine 應用程序,以分散真正的管理員登錄頁面的注意力。不久前,我開始收到重複的電子郵件,說有人試圖登錄honeypot頁面。我阻止了有問題的 IP,但後來我開始看到它的新 IP。

從那以後,我也在 Google App Engine 的防火牆規則部分阻止了那個:

防火牆規則

我已經在防火牆規則中測試了 IP,但它們被拒絕了。但是我仍然收到電子郵件說這個 IP 正在嘗試登錄到honeypot管理員。為此,他們必須首先能夠訪問該頁面,然後送出表單,這是他們不應該做的。

我還能看什麼並做些什麼來解決這個問題?

更新:

我剛剛通過嘗試自己登錄到虛假頁面進行了一些進一步的測試,似乎所有登錄嘗試都是通過 172.17.0.6 進行的,因此它必須是與基礎設施相關的 IP。

我假設這就是 IP 未被防火牆阻止的原因。我已經深入研究了honeypot站點的程式碼(我不是該站點的作者),並且似乎 IP 地址是由ip_address=self.request.META.get('REMOTE_ADDR').

如何糾正這種情況?

您需要使用HTTP_X_FORWARDED_FOR獲取 IP,如此所述。這是因為請求被轉發到 App Engine 實例。我真的認為您正在拉取 App Engine 負載平衡器 IP 或另一個內部 IP(出於安全目的,某些標頭在到達應用程序之前由中間代理進行清理或修改),因此您不能阻止這個(客戶端IP -> Firewall rule -> IP sanitized(即您要阻止的 IP)-> Instance),因為您在該方法中獲得的 IP 不是呼叫您的應用程序的真實 IP。

驗證 IP 的另一種方法是在 Stackdriver Logging 中。搜尋請求,IP 在 IP 欄位中 :) 我真的希望這些資訊對您有所幫助。

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