題:
主動過濾SSH時有哪些替代方法?
Moein7tl
2012-01-03 03:18:18 UTC
view on stackexchange narkive permalink

不幸的是,我們的政府對SSH協議進行了過濾,因此現在我們無法連接到Linux服務器。

他們通過檢查網絡層中每個數據包的標頭(而不是僅關閉)來進行過濾港口)。他們還取消了VPN協議。

是否有其他方法可以安全地連接到Linux服務器?

這很可能是Hackerspace全球網格的第一個用例...
如果您考慮以“本地化程度過高”為理由來結束這一問題,請考慮“很多”公司還在外圍限制ssh,因此答案比那些擁有ssh的人更多。跨越這個邊界交流。據我所知,關於顛覆本地防火牆設置的問題可能被認為是不明智的,僅出於該原因它們是無法關閉的。
我認為我們想避開政治,但確實需要討論技術問題,即使我們認識到它們可能被用來違反某人的政策。關鍵是技術上有效的安全策略可能會發生衝突。參見http://meta.security.stackexchange.com/questions/664/conflicting-policies-and-discussing-technical-issues-involving-privacy-vs-contr
http://mosh.mit.edu/也可能值得一試
我的學校阻止了SSH,但我轉而使用端口53或類似端口。
十一 答案:
petrus
2012-01-03 03:38:01 UTC
view on stackexchange narkive permalink

我今天早些時候聽說的中,https / ssl可以正確地通過您的邊界。

因此,您應該查看開瓶器

類似於 netcat ,它用於將ssh封裝在https中,以允許使用https代理。

另一種解決方案是使用 LSH a Siavash在他的信息中指出了它,它的簽名不同於ssh,因此在伊朗工作。

實際上,您應該能夠將ssh端口更改為443,然後通過它進行連接。除非他們進行中間人攻擊,否則他們將無法分辨ssh和https之間的區別。這適用於我嘗試過的所有防火牆。我為此添加了一個答案,如果有效,請告訴我。
-1
解釋如何僅使用DPI而不進行任何干預即可做到這一點?還是我應該提出一個問題?作為參考,“中間人攻擊”是指特定的內容。 http://en.wikipedia.org/wiki/Man-in-the-middle_attack
也許ssl和ssh之間的握手有所不同?
@user606723: ssh是一個協議。 ssl是一種加密機制,例如與FTP和http一起使用。這沒有什麼共同點。
我想你是對的。為了記錄,ssl也是一個協議。
SSL / TLS握手未加密。您可以輕鬆地查看協議版本,受支持的密碼套件(來自客戶端),選擇的密碼,虛擬主機(假設使用了擴展名,並且大多數瀏覽器都具有)以及所提供的證書。您可以使用此信息來嘗試對服務器/客戶端軟件進行指紋識別。簡而言之,TLS不會嘗試隱藏自身,它只會在握手完成後嘗試保護應用程序數據。我對SSH加密層了解不多,但是它的握手肯定看起來與TLS不同。您不需要主動的MitM,被動地查看數據包就足夠了
SSH連接始於服務器以明文形式發送“ SSH”,因此發現任何觀看連接的人都很容易。開瓶器實際上是掩蓋了這一點,還是只是通過代理建立了連接並使“ SSH”可見?
-1
nealmcb
2012-01-04 00:57:07 UTC
view on stackexchange narkive permalink

基於CCC會議上的講話- 28C3:政府如何試圖阻止Tor- Tor項目在這個充滿活力和挑戰性的領域中擁有最好的記錄,並且可以用於SSH。 Tor橋的創新用法是最新的發展之一。 28C3 Tor演講也在YouTube上,幻燈片位於 https://svn.torproject.org/svn/projects/presentations/slides-28c3.pdf

請注意,使用過於容易識別的逃避方法會使用戶面臨更多侵犯其人權和人身安全的行為。小心。

更新《世界人權宣言》的第19條與此處相關:

  • 第十九條:人人有權享有見解和言論自由;這項權利包括享有不受干擾地持有意見的自由,以及通過任何媒體和不分國界尋求,接受和傳播信息和思想的自由。
““請注意,使用過於容易識別的逃避方法可能會使用戶面臨更多侵犯其人權的行為”。-不是我同意伊朗和其他國家所採用的過濾類型,但我幾乎不認為這種使用SSH應該被視為一項人權。
@MDMarra我不相信Neal試圖說SSH本身是一項人權。這就是SSH隧道為此類受限制國家/地區的人啟用*(言論自由和信息訪問)的功能。
我認為這裡的問題是,即使從限制性政府的角度來看,OP也想做完全無害的事情,但是安全地做到這一點的方法是非法的或“可疑的”,因此使用它們可能會導致各種問題。當局。
@MDMarra-在一個網絡訪問變得越來越重要的世界中,[Internet訪問權](http://en.wikipedia.org/wiki/Human_rights#Information_and_communication_technologies)受到越來越多的爭論。
互聯網之父Vint Cerf和Matrix Architect相似[似乎不同意](http://news.dice.com/2012/01/05/cerf-internet-access)
@MDMarra感謝您的鏈接。我認為Cerf是對的。對於這種情況,我會注意到《世界人權宣言》(http://un.org/en/documents/udhr)的第19條,這是我試圖了解的更多內容,我希望瑟夫會同意:“人人有權享有見解和言論自由;這項權利包括在不干涉的情況下持有見解,以及通過任何媒介和不受國界尋求,接受和傳播信息和思想的自由。”
@nealmcb相當公平,我的更大觀點(實際上太大了,無法發表評論)是,我認為應該由我們來決定外國主權國家在自己的國家/地區內進行警戒是不正確的。邊界。儘管我強烈不同意伊朗和其他類似被壓制國家的過濾,但我認為這不是為政府政策提供解決方案的地方。當然,對於這個特定問題,大多數情況下可能都是黑白的,但是這是一個濕滑的斜坡。如果您打開一輪政府顛覆的大門,在其他情況下會在哪裡劃界線
@MDMarra確實-這並不容易。由於各種合理的目標和政策存在衝突,因此許多問題受到了過度約束。有關更多討論,請參見http://meta.security.stackexchange.com/q/664/453
pfo
2012-01-03 05:01:51 UTC
view on stackexchange narkive permalink

如果您未過濾https,則可以執行 AjaxTerm 之類的操作,或者在網絡服務器上受保護站點上運行的任何其他基於AJAX或HTML5的終端仿真器,可以連接到本地ssh守護程序或在某些情況下

如果將ICMP帶到您的機器上,另一個選擇(有點晦澀)是在ICMP之上運行TCP / IP(如果已打開)。請參見此處

我猜AjaxTerm沒有隧道嗎?
strtok
2012-01-07 04:28:43 UTC
view on stackexchange narkive permalink

嘗試通過1個以上的數據包發送SSH握手。許多數據包過濾技術在數據包級別上運行,並且不會為檢查緩衝。

如果這不起作用,請嘗試執行此操作,但將兩個或多個握手部分按順序發送。僅當DPI盒重新組裝時,它才能抓住握手。

在實踐中我該如何做?降低MTU?
@JanusTroelsen:修改您的ssh客戶端和服務器以在單獨的寫調用中發送S,S,H,並在它們之間使用sleep 1。
ashwoods
2012-01-03 09:24:49 UTC
view on stackexchange narkive permalink

您可以通過多種方式在其他協議上建立IP隧道。除了使用開瓶器之類的東西之外,您還可以嘗試實施IP / DNS(即使用)或 IP / ICMP

在其他情況下,您也可以使用類似 http://www.serfish.com/console/

Juicy Scripter
2012-01-03 17:07:44 UTC
view on stackexchange narkive permalink

您還可以考慮使用 OzymanDNS

之類的工具通過DNS隧道傳輸SSH通信。
MDMarra
2012-01-03 03:21:08 UTC
view on stackexchange narkive permalink

您可以使用VNC之類的東西,但沒有VPN或SSH之類的安全隧道,它並不是很安全。如果他們也對此進行過濾,那麼您將很難。

我也對其進行了測試,也對其進行了過濾:|享受您的自由芒,因為您不是出生在地獄:|
TimB
2012-01-03 09:47:07 UTC
view on stackexchange narkive permalink

另一種選擇是telnet-ssl / telnetd-ssl,但這是要求您首先以其他方式訪問服務器以便安裝守護程序的一種選擇。

與其他一些選擇不同建議的選項,這將不需要很多網絡開銷,並且使用非常簡單(一旦守護程序運行)。

如果端口22關閉,則端口992不可能完全打開。
但443可能已打開。而且我很確定不可能分辨出https和telnet-ssl之間的區別。
原則上,應該無法識別在SSL / TLS之上運行的是哪種類型的應用程序。但是握手提供了很多指紋識別的可能性。因此,除非特別注意,否則通常可能至少可以知道使用哪個客戶端SSL庫。當試圖區分https和telnet-ssl時,我將首先考慮虛擬主機名擴展的存在和受支持的密碼套件的列表。像中國一樣,積極探測是另一種可能性,而且相對難以防範。
ttt
2012-01-03 19:49:37 UTC
view on stackexchange narkive permalink

如果您知道當前的互聯網連接已被過濾,請使用其他互聯網連接方法,例如衛星互聯網服務提供商。有許多不同的衛星互聯網服務提供商: list1 list2。連接形式。)

聽起來像是被“西方間諜”拘留的好東西。
user606723
2012-01-04 23:02:37 UTC
view on stackexchange narkive permalink

您應該能夠將ssh端口更改為443,然後通過它進行連接。除非他們進行中間人攻擊,否則他們將無法分辨ssh和https之間的區別。

這已在我嘗試過的所有防火牆上起作用。 (當然不是很多)

我想听聽是否可行。謝謝。

在大多數防火牆上,都可以將端口443用於SSH。為此+1。但是,它需要用於SSH connect命令的其他工具。有關詳細信息,請參見此處:http://daniel.haxx.se/docs/sshproxy.html
-1
被動DPI可能足以檢測SSL和SSH之間的差異。 SSL / TLS的握手很容易看到。
@CodeInChaos:也許可見,但沒人看。
OP表示,它不只是基於端口進行過濾。而且肯定有一些國家試圖基於DPI篩選TOR,因此伊朗並非沒有可能使用DPI篩選SSH。
Ali
2015-04-05 16:55:26 UTC
view on stackexchange narkive permalink

我有同樣的問題。如今,最初的SSH連接已建立,但在某些數據包傳輸後,它已被丟棄。我相信在達到限制後,他們已經開始丟棄SSH數據包。我已切換到MOSH https://mosh.mit.edu/。它使用SSH進行身份驗證,然後切換到UDP。它比SSH更快,並且易於安裝和使用。

要使用它,只需將其安裝在服務器上,在防火牆中打開udp端口60000:61000,然後使用mosh客戶端連接服務器即可。 ssh客戶端(無需啟動任何程序)。

  sudo yum install moshsudo iptables -I INPUT 1 -p udp --dport 60000:61000 -j ACCEPT  

一個好的Windows客戶端是Mo​​baXTerm http://mobaxterm.mobatek.net/download-home-edition.html



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...