拒絕由代理建立的 ssh 連接
我看到這個問題涉及阻止對不屬於特定區域的使用者的訪問。我確信阻止是可能的,但我看到有一個解決方法。
有沒有辦法拒絕這種被規避的嘗試
iptables
?我認為這是一個非常危險的安全問題。
這個問題看起來很困惑,但我認為困惑是問題的一部分,所以我會盡量提供足夠的背景來澄清事情。
HTTP和SSH是不同的協議。HTTP 由 HTTP 客戶端(稱為 Web 瀏覽器)和 HTTP 伺服器(稱為 Web 伺服器)使用。SSH 客戶端和 SSH 伺服器使用 SSH。HTTP 協議有一個代理的概念,其中網路節點接收來自客戶端的 HTTP 請求並將其轉發給伺服器,並將響應從伺服器轉發回客戶端。SSH 在技術上沒有代理;但是,一台允許不實際使用它的人在其上使用 SSH 客戶端的機器在該術語的一般英語意義上充當代理。
http://www.freeproxy.ca/列出了 HTTP 代理。它們對建立 SSH 連接沒有用處。
http://www.serfish.com/console/是一台執行 SSH 客戶端的機器,該客戶端由可公開訪問的 Web 界面驅動。如果您使用網路瀏覽器連接到 serfish,並在那裡執行 SSH 客戶端,那麼就 SSH 伺服器而言,您的連接來自 serfish,句點。SSH 伺服器無法知道 SSH 客戶端是由實際不在託管 serfish 的數據中心的人驅動的。請注意,無論您是直接通過 HTTP 還是通過 HTTP 代理訪問 serfish,都沒有關係。SSH 伺服器對此一無所知。
一般來說,伺服器只能知道用於連接它的最後一跳。這是一個安全問題嗎?是的,但幾乎不是危險的。按地理來源過濾連接不能可靠地完成;任何中等能力的系統管理員都知道這一點。地理起源可以提供有關連接是否可疑的線索,但它不是唯一的因素。世界各地都有被惡意軟體感染並用作中繼的機器。
SSH 的安全性不依賴於連接的地理來源。按地理來源進行過濾僅出於兩個目的:
- 對於內容分發,限制 95% 的非技術觀眾可以做的事情(設置代理需要比大多數人願意做的更深入)並使事情對 5% 的技術人員更不方便(代理需要被支付或搜尋,並降低性能)。
- 暗示與帳戶的連接來自不尋常的位置——但這通常比國家/地區更細粒度,因為國家/地區過於寬泛,無法提供非常有用的提示。一些系統使用它來決定是否需要第二個身份驗證因素。
無法跟踪 SSH(或任何)連接的最終來源的另一面是可能存在一定程度的隱私。