OpenSSH為保障Client(客戶端)與服務(wù)器端(Server)的安全通信提供了一整套的工具,這些工具允許用戶為任何類型的Client與Server的通信創(chuàng)建安全通道,包括檢查/發(fā)送電子郵件或Web瀏覽。
OpenSSH
在通過(guò)Internet登錄到一個(gè)遠(yuǎn)程系統(tǒng)時(shí),總會(huì)存在一種危險(xiǎn),即用戶的口令如果以明文方式傳輸,就可能會(huì)被監(jiān)視字節(jié)流的黑客中間截獲并加以濫用。多數(shù)用戶實(shí)際上都清楚這種風(fēng)險(xiǎn),并通過(guò)使用所謂的“安全外殼”(secure shell)程序來(lái)減輕風(fēng)險(xiǎn),這種“安全外殼”程序的設(shè)計(jì)目的是在用戶通過(guò)互聯(lián)網(wǎng)傳輸數(shù)字證書(shū)之前對(duì)證書(shū)進(jìn)行加密。目前這類程序最流行、最通用的就是OpenSSH,這是一個(gè)OpenBSD的項(xiàng)目。
不過(guò),許多OpenSSH用戶并沒(méi)有認(rèn)識(shí)到,這個(gè)程序不僅允許用戶加密用戶的(遠(yuǎn)程登錄)telnet會(huì)話,它還提供了一整套用以保障客戶端/服務(wù)器通信安全的工具,而且允許用戶為任何類型的C/S通信創(chuàng)建安全“通道”,其中包含檢查/發(fā)送電子郵件或Web瀏覽。使用這些通道可以極大改善系統(tǒng)的安全性,特別是機(jī)密性成為一個(gè)關(guān)鍵要素的時(shí)候。
本文將通過(guò)一個(gè)具體的例子向您展示如何通過(guò)這個(gè)OpenSSH來(lái)創(chuàng)建加密通道,用于檢查一個(gè)POP3郵箱,從而使我們進(jìn)一步理解并掌握OpenSSH的安全通道特性。
第一步:下載并安裝OpenSSH
用戶可從http://www.openssh.com/下載源代碼,用戶從多種平臺(tái)的版本中選擇所需要的版本。其文件已被數(shù)字化簽名,從而可以避免損害用戶的安全。本文例子使用的是OpenSSH 4.3。
一旦用戶下載了程序包,將它解到一個(gè)臨時(shí)目錄并執(zhí)行標(biāo)準(zhǔn)的“配置─生成─安裝”循環(huán):
|
第二步:生成主機(jī)密鑰并啟動(dòng)OpenSSH進(jìn)程
安裝過(guò)程的最后一步就是生成一對(duì)主機(jī)密鑰,即特定系統(tǒng)的唯一標(biāo)識(shí)符。這些密鑰,包含一個(gè)私有密鑰和一個(gè)公有密鑰,分別存儲(chǔ)在諸如 /etc/ssh_host_key and /etc/ssh_host_key.pub,的文件中:
|
一旦密鑰創(chuàng)建完成,通過(guò)執(zhí)行“sshd”啟動(dòng)OpenSSH進(jìn)程:(以超級(jí)用戶身份):
|
通過(guò)打開(kāi)一個(gè)Telnet連接到22號(hào)端口確認(rèn)服務(wù)正在運(yùn)行:
|
第三步:創(chuàng)建一個(gè)到用戶的POP3服務(wù)器的安全通道
現(xiàn)在讓我們假定用戶的本地系統(tǒng)名為localbox,主管用戶的目標(biāo)POP3郵箱的主機(jī)名為remotebox。下一步就是在remotebox主機(jī)上的110端口(POP3連接的標(biāo)準(zhǔn)端口)與localbox計(jì)算機(jī)上的一個(gè)未用的端口之間創(chuàng)建一個(gè)加密的SSH通道。這個(gè)過(guò)程稱為T(mén)CP轉(zhuǎn)發(fā),用OpenSSH完成這個(gè)操作是相當(dāng)簡(jiǎn)單的,只需要運(yùn)行如下的命令:
|
這個(gè)命令意思是說(shuō):將localbox上未用端口2110上的所有連接轉(zhuǎn)發(fā)到remotebox上的POP3端口110上,并在通道上加密。此命令的結(jié)果是:所有到localbox上2110端口的連接企圖都被自動(dòng)加密,并被發(fā)送到remotebox上的110端口上。
現(xiàn)在如果用戶在localbox上打開(kāi)了telnet連接到端口2110,例如:
|
用戶的連接會(huì)被自動(dòng)轉(zhuǎn)發(fā)到remotebox上的110端口─POP3郵件服務(wù),并且加上高質(zhì)量的加密以確保任何人都無(wú)法“竊聽(tīng)”用戶與遠(yuǎn)程服務(wù)器的數(shù)據(jù)通信。
在這里要注意兩個(gè)重要的問(wèn)題:如果你正使用一個(gè)特權(quán)端口,必須要有對(duì)轉(zhuǎn)發(fā)端口的超級(jí)用戶權(quán)限;此外,你不應(yīng)試圖使用已經(jīng)在用的端口號(hào)。
第四步:改變你的POP3客戶端設(shè)置
一旦你的安全通道能夠運(yùn)作,你需要將所做的改變告訴你的郵件客戶端,對(duì)于前向通道,你的郵件客戶端可能直接連接到remotebox以檢索電子郵件-一個(gè)讓用戶的電子郵件口令以一種非加密的格式沿著線路傳輸,需要對(duì)客戶端作類似如下的設(shè)置:
|
對(duì)于后向通道,你的郵件客戶端應(yīng)該被重置,直接連接到本地系統(tǒng)上的2110端口,用OpenSSH實(shí)現(xiàn)將連接轉(zhuǎn)發(fā)到遠(yuǎn)程服務(wù)器并實(shí)現(xiàn)線路加密。新的設(shè)置應(yīng)看起來(lái)是如下的樣子:
|
經(jīng)過(guò)這四步安裝設(shè)置之后,你已經(jīng)擁有了一個(gè)郵件客戶端與郵件服務(wù)器之間的安全通道,你的口令和數(shù)據(jù)對(duì)他人來(lái)說(shuō)將是不可見(jiàn)的。很明顯,這僅僅是一個(gè)例子,可以說(shuō)是僅僅展示了OpenSSH強(qiáng)大功能的冰山之一角。用戶還可以設(shè)置OpenSSH用以加密SMTP、FTP、IRC或者任何類型的客戶端/服務(wù)器的連接,或者創(chuàng)建通過(guò)防火墻的加密通道。為了您的數(shù)據(jù)傳輸?shù)陌踩裕?qǐng)用OpenSSH為您的傳輸保駕護(hù)航!