Apache-2.2

如何將 apache 配置為遠端瀏覽器?

  • July 2, 2013

對於我的 IT 安全課程暑期項目,我們必須採用不同的方法來規避學校/公司網路上的安全措施設置,並解釋如何檢測和避免這些黑客攻擊。

其中一個主題是(請原諒我翻譯不佳):

Albert 用他的筆記型電腦連接到學校網路。他只能通過學校過濾代理訪問全球資訊網。此代理配置為僅允許 HTTP (TCP 80) 和 HTTPS (443) 請求,並且某些網站(例如 www.forbidden-forum.com)被過濾掉。允許 ICMP 回應要求/回复。

Albert 可以使用哪些技巧從學校網路訪問 www.forbidden-forum.com?作為網路和系統管理員,您將如何檢測/防止這些技巧?

現在我不會在這裡要求該練習的答案(這會破壞我加入這門課程的全部意義並且不會教給我任何東西)。

到目前為止,我想到了以下技巧:

  • 使用 ICMP 隧道。通過監控異常大量的 ICMP 幀可以很容易地檢測到。
  • 從手機共享網際網路連接。很難檢測到,特別是如果管理員對學生電腦沒有管理權限。
  • 通過 443 TCP 埠使用 VPN。可以通過監視到特定主機(VPN 伺服器)的異常大量的 443 流量來檢測,但由於它可能是合法流量而很難檢測到。管理員可以嘗試使用 Web 瀏覽器連接到同一主機,但可能會檢測到它不是正確的 Web 伺服器。
  • 擁有一個充當遠端瀏覽器的外部 Web 伺服器,將所有內容重定向到 www.forbidden-forum.com

我的問題實際上是關於最後一點。我認為有可能有一個軟體可以做到這一點,但它必須:

  • 按需連接到 www.forbidden-forum.com
  • 替換響應文件/javascript 程式碼中的所有 URL 以重新映射到自身,這樣 Albert 的電腦就不會真正嘗試直接訪問 www.forbidden-forum.com
  • 能夠將替換的 URL 翻譯成它們的原始對應物。

實際上,我希望能夠在學校訪客網路上的項目展示中展示這個 PoC(它有類似的限制),但我真的很想避免不得不自己“開發”一些東西。

我的開發人員技能實際上並沒有那麼好,我想知道:是否有軟體可以做這樣的事情?也許是 apache 模組或配置?

它被稱為反向代理,需要mod_proxy載入。

配置指令是:

ProxyPass /localpath http://remote-site.example.com:8080/remotepath
ProxyPassReverse /localpath http://remotesite.example.com:8080/remotepath
ProxyPassReverseCookieDomain remote-site.example.com proxy.fully.qualified.domain.com
ProxyPassReverseCookiePath /remotepath /localpath

所以對於你的例子(加上一點額外的):

ProxyPass /ff http://www.forbidden-forum.com/
ProxyPassReverse /ff http://www.forbidden-forum.com/
ProxyPassReverseCookieDomain www.forbidden-forum.com benign.proxy.com
ProxyPassReverseCookiePath / /ff
ProxyPass /wl http://wikileaks.org/
ProxyPassReverse /wl http://wikileaks.org/
ProxyPassReverseCookieDomain wikileaks.org benign.proxy.com
ProxyPassReverseCookiePath / /wl

打開http://benign.proxy.com/ff將顯示來自的內容http://www.forbidden-forum.com/並將http://benign.proxy.com/wl打開http://wikileaks.org/

在 .上提供一些完全無害(且可信)的東西http://benign.proxy.com/。如果有人試圖“檢查有效性”,他們會看到一些值得信賴的頁面。

更好的是,通過 HTTPS 為代理提供服務以隱藏轉發的 URL(我將留給您作為練習)。

這種方法可以通過所謂的“線路碰撞”——一個完全受信任的中間人透明代理——來規避。

如果使用者無法完全控制客戶端主機,他們將很容易受到線路碰撞的影響,但可以手動驗證密鑰指紋以確保隱私,並在密鑰未驗證時避免建立連接。

使用者還需要注意其他 SSL 問題(例如,無效證書、sslstrip 等)。

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