是什麼讓Telnet容易受到攻擊?


如果您需要透過命令列連線到遠端機器,您可能會傾向於使用Telnet,這是網際網路上仍在使用的最古老的協議之一。但是,最好不要這樣做,因為它會危及您的數字隱私。

我們將介紹為什麼您不應該使用Telnet遠端連線到伺服器,以及您可以使用哪些其他安全協議。

什麼是Telnet?

Telnet (TN) 是一種網路協議和軟體包,允許您透過 TCP/IP 網路或網際網路連線到遠端計算機和終端。Telnet 創建於 1969 年,並由網際網路工程任務組作為最初的網際網路協議之一進行了標準化 (IETF)。

Telnet 是一款專用的程式,用於將遠端計算機/伺服器連線到主機計算機。它旨在用於遠端伺服器訪問、管理和客戶端/伺服器架構。使用者可以透過提供正確的登入和登入憑據來訪問遠端系統上的特權功能。Telnet 命令可以在支援 Telnet 的任何客戶端或伺服器裝置上執行。

Telnet 沒有任何安全功能,並且會以明文形式傳送所有訊息。因此,在許多應用程式和服務中,Secure Shell 已在很大程度上取代了 Telnet (SSH)。

Telnet 的工作原理

Telnet 是一種客戶端-伺服器協議,可以連線到遠端計算機(通常是伺服器)並開啟命令列。此實用程式可用於 ping 埠並確定它是否已開啟。Telnet 使用虛擬終端連線模擬器,這是一種計算機連線的抽象例項,透過使用標準協議模擬連線到系統的物理終端。對於需要通訊資料檔案的使用者,可以將 FTP 和 Telnet 結合使用。

Telnet 允許使用者遠端連線到一臺機器,通常稱為 Telnetting 到系統。他們必須提供其登入名和密碼組合才能訪問遠端計算機,這允許他們執行命令列,就像他們在計算機前一樣。無論使用者的物理位置如何,使用者的 IP 地址都將與他們登入的計算機匹配,而不是他們用來登入的計算機。

Telnet 的安全問題

客戶端和伺服器之間的 Telnet 會話在沒有解決方法的情況下不會被加密。那些可以訪問主機之間 TCP/IP 資料包流的人可以監控所有流量、竊聽並記錄潛在的敏感資訊,例如 Telnet 伺服器使用者的登入名和密碼。使用 Telnet,在計算機之間傳輸的所有內容都以明文形式存在。這也適用於使用者名稱和密碼。如果您使用的是 Telnet,“中間人”攻擊可以輕鬆攔截連線並洩露您傳送的任何憑據。

這說明了建立 Arpanet(演變成網際網路的第一個網路)的幾種文化。Arpanet 是 20 世紀 60 年代末和 70 年代初的一個實驗性的美國政府研究專案,當時並沒有計劃成為當今龐大的全球網路——網際網路。

建立者是希望連線該國領先的研究型大學的學者,他們彼此信任。沒有人會試圖入侵計算機。

一些路由器製造商繼續使用 Telnet 並將其保持為可訪問狀態,並犯下其他安全錯誤,例如硬編碼憑據。這種情況已經發展到攻擊策略變得過於可預測的地步:感染一臺裝置,然後在同一網路上尋找其他具有 Telnet 協議埠開啟的裝置。

在極少數情況下,惡意軟體會嘗試一些常用的或預設的密碼,並查詢其他開放的埠。如果硬體沒有得到充分的保護並且仍然有一個過於開放的埠,那麼接管它就很容易了。除非另行配置,否則 Telnet 在路由器上使用埠 23。但是,它並不是唯一使用此埠的協議。許多其他物聯網裝置使用 Telnet,這很危險,因為通訊未加密並且以明文形式進行。Telnet 被認為是一種過時的技術。

Telnet 的應用

Telnet 可用於在伺服器上執行一系列任務,包括檔案編輯、程式執行和電子郵件檢查。

一些伺服器允許透過 Telnet 遠端訪問公共資料,允許使用者玩簡單的遊戲或查詢天氣預報。許多此類功能之所以存在,是因為它們懷舊或與需要特定資料的早期系統相容。

Telnet 還允許使用者連線到任何使用基於文字的未加密協議的軟體,例如 Web 伺服器和埠。使用者可以在遠端系統的命令提示符中鍵入 Telnet,後跟遠端裝置的名稱或 IP 地址,Telnet 連線將 ping 該埠以檢視它是否已開啟。空白螢幕表示埠已開啟,但出現錯誤訊息。

Telnet 的替代方案:SSH 和 Mosh

芬蘭赫爾辛基理工大學的學生塔圖·伊洛寧受到一次竊取密碼的攻擊的啟發,建立了 Secure Shell 或 SSH。OpenSSH 是一個 OpenBSD 專案,是當前 Unix 和 Linux 系統上使用最廣泛的安全協議之一。即使是 Windows 10 也內建了 OpenSSH 版本。

鑑於 SSH 消除了導致 Telnet 如此危險的問題,這並不意外。SSH 是一種加密兩個或多個機器之間連線的協議,因此即使攻擊者設法侵入它,他們也無法解密正在發生的事情。

SSH 與 Telnet 一樣非常有用,但它構建的基礎主要技術假設意味著進一步的網路部署暴露了它的缺陷。SSH 假設使用有線、始終線上的連線。看看如果您在連線時關閉筆記型電腦蓋子會發生什麼。您的 SSH 連線將變得無響應。

SSH 是一種加密協議和用於執行網路服務、shell 服務以及與遠端計算機進行安全網路通訊的介面。在不安全的網路之上,Secure Shell 允許兩個遠端連線的使用者執行網路通訊和其他服務。它最初是一個 Unix 命令,但 Windows 計算機也支援它。SSH 的建立是為了允許使用者安全地登入到遠端計算機並執行 shell 和網路功能。例如,網路管理員可以使用它登入到遠端 Web 伺服器。它也是 Telnet、RSH 和 rexec 協議的安全替代方案。基於 SSH 的通訊/程序通常使用客戶端/伺服器設計,既有客戶端也有伺服器 SSH。

客戶端經過身份驗證並安全連線,它將加密的命令傳送到伺服器以執行。基於 RSA 公鑰加密的數字證書對客戶端和伺服器進行身份驗證。SSH 使用的加密技術是 AES、IDEA 和 Blowfish。

Mosh 的建立是為了解決在筆記型電腦、移動裝置和無線連線上使用 SSH 的問題。即使您的 Wi-Fi 網路斷開連線,Mosh 也允許您保持連線,並且可以有效地在多個網路之間漫遊。

狀態同步協議是 Mosh 使用的一種新協議 (SSP)。使用傳統的遠端連線技術,如 Telnet 和 SSH。在 SSH 下,伺服器向客戶端傳送一些下游位元組。

SSP 為組合添加了一層新的內容。伺服器和客戶端都使用序列號來跟蹤傳輸。當伺服器接收到與上一個序列號不同的序列號時,它會識別出客戶端已切換連線。這意味著在不同的 Wi-Fi 網路之間移動、在 Wi-Fi 網路和行動網路之間移動或在 Wi-Fi 網路和有線連線之間移動等操作非常簡單。

即時字元回顯是 Mosh 提供的另一個有用的功能。使用 SSH 時,您可能會注意到在鍵入和看到文字出現在螢幕上之間存在延遲,因為伺服器會將您鍵入的內容回顯給您。

SSH 與 Telnet:有什麼區別?

  • 與Telnet相比,SSH更安全。

  • Telnet以明文傳送資料,而SSH則對其進行加密。

  • Telnet不使用任何身份驗證,但SSH使用公鑰進行身份驗證。

  • 與Telnet相比,SSH會稍微增加頻寬負擔。

  • SSH幾乎完全取代了實際所有應用中的Telnet。

  • SSH和Telnet都用於相同目的。

  • 最後,SSH客戶端(允許您連線到SSH伺服器的軟體)適用於所有主要的運營系統和平板電腦作業系統。

更新於: 2022年3月15日

2K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.