Open System Interconnection

 

 

 

https://zh.wikipedia.org/wiki/Secure_Shellphp

Secure Shell(縮寫爲SSH),由IETF的網絡工做小組(Network Working Group)所制定;SSH爲一項建立在應用層傳輸層基礎上的安全協議,爲計算機上的Shell(殼層)提供安全的傳輸和使用環境。算法

傳統的網絡服務程序,如rshFTPPOPTelnet其本質上都是不安全的;由於它們在網絡上用明文傳送數據、用戶賬號和用戶口令,很容易受到中間人(man-in-the-middle)攻擊方式的攻擊。就是存在另外一我的或者一臺機器冒充真正的服務器接收用戶傳給服務器的數據,而後再冒充用戶把數據傳給真正的服務器。shell

而SSH是目前較可靠,專爲遠程登陸會話和其餘網絡服務提供安全性的協議。利用SSH協議能夠有效防止遠程管理過程當中的信息泄露問題。經過SSH能夠對全部傳輸的數據進行加密,也可以防止DNS欺騙和IP欺騙。promise

SSH之另外一項優勢爲其傳輸的數據能夠是通過壓縮的,因此能夠加快傳輸的速度。SSH有不少功能,它既能夠代替Telnet,又能夠爲FTP、POP、甚至爲PPP提供一個安全的「通道」。安全

 

基本架構

SSH協議框架中最主要的部分是三個協議:服務器

  1. 傳輸層協議(The Transport Layer Protocol):傳輸層協議提供服務器認證,數據機密性,信息完整性等的支持。
  2. 用戶認證協議(The User Authentication Protocol):用戶認證協議爲服務器提供客戶端的身份鑑別。
  3. 鏈接協議(The Connection Protocol):鏈接協議將加密的信息隧道複用成若干個邏輯通道,提供給更高層的應用協議使用。

同時還有爲許多高層的網絡安全應用協議提供擴展的支持。網絡

各類高層應用協議能夠相對地獨立於SSH基本體系以外,並依靠這個基本框架,經過鏈接協議使用SSH的安全機制。session

SSH的安全驗證

在客戶端來看,SSH提供兩種級別的安全驗證。架構

  • 第一種級別(基於密碼的安全驗證),知道賬號和密碼,就能夠登陸到遠程主機,而且全部傳輸的數據都會被加密。可是,可能會有別的服務器在冒充真正的服務器,沒法避免被「中間人」攻擊。
  • 第二種級別(基於密鑰的安全驗證),須要依靠密鑰,也就是你必須爲本身建立一對密鑰,並把公有密鑰放在須要訪問的服務器上。客戶端軟件會向服務器發出請求,請求用你的密鑰進行安全驗證。服務器收到請求以後,先在你在該服務器的用戶根目錄下尋找你的公有密鑰,而後把它和你發送過來的公有密鑰進行比較。若是兩個密鑰一致,服務器就用公有密鑰加密「質詢」(challenge)並把它發送給客戶端軟件。從而避免被「中間人」攻擊。

在服務器端,SSH也提供安全驗證。 在第一種方案中,主機將本身的公用密鑰分發給相關的客戶端,客戶端在訪問主機時則使用該主機的公開密鑰來加密數據,主機則使用本身的私有密鑰來解密數據,從而實現主機密鑰認證,確保數據的保密性。 在第二種方案中,存在一個密鑰認證中心,全部提供服務的主機都將本身的公開密鑰提交給認證中心,而任何做爲客戶端的主機則只要保存一份認證中心的公開密鑰就能夠了。在這種模式下,客戶端必須訪問認證中心而後才能訪問服務器主機。app

SSH協議的可擴展能力

SSH協議框架中設計了大量可擴展的冗餘能力,好比用戶自定義算法、客戶自定義密鑰規則、高層擴展功能性應用協議。這些擴展大多遵循IANA的有關規定,特別是在重要的部分,像命名規則和消息編碼方面。

 

 

w

https://zh.wikipedia.org/wiki/TCP/IP協議族

 Craig Hunt著《TCP/IP網絡管理》第一章〈TCP/IP概論〉:「TCP/IP這名稱表明一整套數據通訊協議的組合,這套組合得名於其中兩項最重要的協議:傳輸控制協議(TCP)與網際協議(IP)。之因此強調這一點,是爲了強調TCP/IP其實還包含TCP和IP以外的其餘成員,只不過這兩項是其中最具表明性的協議。所以,TCP/IP協議組也被稱爲互聯網協議族(IPS),這兩個名稱是同義的。

 

 

7 應用層
application layer
例如HTTPSMTPSNMPFTPTelnetSIPSSHNFSRTSPXMPPWhoisENRP
6 表示層
presentation layer
例如XDRASN.1SMBAFPNCP
5 會話層
session layer
例如ASAPSSH、ISO 8327 / CCITT X.22五、RPCNetBIOSASPIGMPWinsockBSD sockets
4 傳輸層
transport layer
例如TCPUDPTLSRTPSCTPSPXATPIL
3 網絡層
network layer
例如IPICMPIPXBGPOSPFRIPIGRPEIGRPARPRARPX.25
2 數據鏈路層
data link layer
例如以太網令牌環HDLC幀中繼ISDNATMIEEE 802.11FDDIPPP
1 物理層
physical layer
例如線路無線電光纖

一般人們認爲OSI模型的最上面三層(應用層、表示層和會話層)在TCP/IP組中是一個應用層。因爲TCP/IP有一個相對較弱的會話層,由TCP和RTP下的打開和關閉鏈接組成,而且在TCP和UDP下的各類應用提供不一樣的端口號,這些功能可以被單個的應用程序(或者那些應用程序所使用的庫)增長。與此類似的是,IP是按照將它下面的網絡看成一個黑盒子的思想設計的,這樣在討論TCP/IP的時候就能夠把它看成一個獨立的層。

4 應用層
application layer
例如HTTPFTPDNS
(如BGPRIP這樣的路由協議,儘管因爲各類各樣的緣由它們分別運行在TCP和UDP上,仍然能夠將它們看做網絡層的一部分)
3 傳輸層
transport layer
例如TCPUDPRTPSCTP
(如OSPF這樣的路由協議,儘管運行在IP上也能夠看做是網絡層的一部分)
2 網絡互連層
internet layer
對於TCP/IP來講這是因特網協議(IP)
(如ICMPIGMP這樣的必須協議儘管運行在IP上,也仍然能夠看做是網絡互連層的一部分;ARP不運行在IP上)
1 網絡接口層
link layer
例如以太網Wi-FiMPLS等。

應用層[編輯]

該層包括全部和應用程序協同工做,利用基礎網絡交換應用程序專用的數據的協議。 應用層是大多數普通與網絡相關的程序爲了經過網絡與其餘程序通訊所使用的層。這個層的處理過程是應用特有的;數據從網絡相關的程序以這種應用內部使用的格式進行傳送,而後被編碼成標準協議的格式。

一些特定的程序被認爲運行在這個層上。它們提供服務直接支持用戶應用。這些程序和它們對應的協議包括HTTP(萬維網服務)、FTP(文件傳輸)、SMTP(電子郵件)、SSH(安全遠程登錄)、DNS(名稱<-> IP地址尋找)以及許多其餘協議。 一旦從應用程序來的數據被編碼成一個標準的應用層協議,它將被傳送到IP棧的下一層。

在傳輸層,應用程序最經常使用的是TCP或者UDP,而且服務器應用程序常常與一個公開的端口號相聯繫。服務器應用程序的端口由互聯網號碼分配局(IANA)正式地分配,可是現今一些新協議的開發者常常選擇它們本身的端口號。因爲在同一個系統上不多超過少數幾個的服務器應用,端口衝突引發的問題不多。應用軟件一般也容許用戶強制性地指定端口號做爲運行參數

連結外部的客戶端程序一般使用系統分配的一個隨機端口號。監聽一個端口而且經過服務器將那個端口發送到應用的另一個副本以建立對等連結(如IRC上的dcc文件傳輸)的應用也可使用一個隨機端口,可是應用程序一般容許定義一個特定的端口範圍的規範以容許端口可以經過實現網絡地址轉換(NAT)的路由器映射到內部。

每個應用層(TCP/IP參考模型的最高層)協議通常都會使用到兩個傳輸層協議之一: 面向鏈接的TCP傳輸控制協議和無鏈接的包傳輸的UDP用戶數據報文協議。 經常使用的應用層協議有:

運行在 TCP協議上的協議:
  • HTTP(Hypertext Transfer Protocol,超文本傳輸協議),主要用於普通瀏覽。
  • HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本傳輸協議),HTTP協議的安全版本。
  • FTP(File Transfer Protocol,文件傳輸協議),由名知義,用於文件傳輸。
  • POP3(Post Office Protocol, version 3,郵局協議),收郵件用。
  • SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議),用來發送電子郵件。
  • TELNET(Teletype over the Network,網絡電傳),經過一個終端(terminal)登錄到網絡。
  • SSH(Secure Shell,用於替代安全性差的TELNET),用於加密安全登錄用。
運行在 UDP協議上的協議:
  • BOOTP(Boot Protocol,啓動協議),應用於無盤設備。
  • NTP(Network Time Protocol,網絡時間協議),用於網絡同步。
  • DHCP(Dynamic Host Configuration Protocol,動態主機配置協議),動態配置IP地址。
其餘:
  • DNS(Domain Name Service,域名服務),用於完成地址查找,郵件轉發等工做(運行在TCPUDP協議上)。
  • ECHO(Echo Protocol,迴繞協議),用於查錯及測量應答時間(運行在TCPUDP協議上)。
  • SNMP(Simple Network Management Protocol,簡單網絡管理協議),用於網絡信息的收集和網絡管理。
  • ARP(Address Resolution Protocol,地址解析協議),用於動態解析以太網硬件的地址。

 

https://en.wikipedia.org/wiki/Secure_Shell

【創建在應用層和安全層上的安全協議】

Secure Shell (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network.[1] The best known example application is for remote login to computer systems by users.

SSH provides a secure channel over an unsecured network in a client-server architecture, connecting an SSH client application with an SSH server.[2] Common applications include remote command-line login and remote command execution, but any network service can be secured with SSH. The protocol specification distinguishes between two major versions, referred to as SSH-1 and SSH-2.

The most visible application of the protocol is for access to shell accounts on Unix-like operating systems, but it sees some limited use on Windowsas well. In 2015, Microsoft announced that they would include native support for SSH in a future release.[3]

SSH was designed as a replacement for Telnet and for unsecured remote shell protocols such as the Berkeley rloginrsh, and rexec protocols. Those protocols send information, notably passwords, in plaintext, rendering them susceptible to interception and disclosure using packet analysis.[4] The encryption used by SSH is intended to provide confidentiality and integrity of data over an unsecured network, such as the Internet, although files leaked by Edward Snowden indicate that the National Security Agency can sometimes decrypt SSH, allowing them to read the contents of SSH sessions.[5]

 

【2017-07-06  攔截ssh鏈接】

 

On 6 July 2017 the government transparency organization WikiLeaks confirmed that the US Central Intelligence Agency had developed tools that can be installed on computers running Microsoft Windows or GNU/Linux operating systems to intercept SSH connections started by SSH clients on the compromised systems.[6]

相關文章
相關標籤/搜索