如何將 apache 配置為遠端瀏覽器?
對於我的 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 等)。