<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    【永恒的瞬間】
    ?Give me hapy ?
    OpenSSH:讓遠(yuǎn)程管理更安全
    2007-04-10 13:50

      安全和穩(wěn)定是Linux操作系統(tǒng)的兩大特點(diǎn)。由于Linux采取了許多安全技術(shù)措施,包括讀/寫權(quán)限控制、帶保護(hù)的子系統(tǒng)、審計(jì)跟蹤、核心授權(quán)等,為網(wǎng)絡(luò)多用戶環(huán)境中的用戶提供了必要的安全保障,因此越來(lái)越多的用戶開(kāi)始學(xué)習(xí)和使用Linux。但是Linux的安全要建立在有效的防范基礎(chǔ)上,如果是一個(gè)不加任何防范和限制的Linux系統(tǒng),同樣也有較多漏洞。以傳統(tǒng)的網(wǎng)絡(luò)服務(wù)程序?yàn)槔現(xiàn)TP、R Shell和Telnet等服務(wù)在本質(zhì)上都存在不安全因素,因?yàn)樗鼈冊(cè)诰W(wǎng)絡(luò)上用“明文”傳送口令和數(shù)據(jù),使別有用心的人很容易截獲這些口令和數(shù)據(jù)。同時(shí)這些服務(wù)程序的安全驗(yàn)證方式也有弱點(diǎn),很容易受到“中間人”(man-in-the-middle)的攻擊。所謂“中間人”的攻擊方式,即“中間人”冒充真正的服務(wù)器接收用戶傳給服務(wù)器的數(shù)據(jù),然后再冒充該用戶把數(shù)據(jù)傳給真正的服務(wù)器。服務(wù)器和用戶之間的數(shù)據(jù)傳送被“中間人”做了手腳之后,會(huì)出現(xiàn)很嚴(yán)重的問(wèn)題。所以,盡可能地使用安全的工具來(lái)管理系統(tǒng)顯得愈發(fā)重要。

      傳統(tǒng)遠(yuǎn)程管理工具的特點(diǎn)

      遠(yuǎn)程登錄的作用就是讓用戶以模擬終端的方式,登錄到Internet的某臺(tái)主機(jī)上。一旦連接成功,這些個(gè)人計(jì)算機(jī)就像遠(yuǎn)程計(jì)算機(jī)的一個(gè)終端,可以像使用終端計(jì)算機(jī)一樣輸入命令,并運(yùn)行遠(yuǎn)程計(jì)算機(jī)中的程序。

      在企業(yè)通常的使用環(huán)境中,服務(wù)器放在ISP托管中心或其服務(wù)器機(jī)房?jī)?nèi),只有少數(shù)人才能進(jìn)入并接觸到主機(jī)。因此管理員通常會(huì)在服務(wù)器上開(kāi)啟Telnet服務(wù)守護(hù)進(jìn)程,以便能夠隨時(shí)觀察服務(wù)器上的變化,并登錄到服務(wù)器上進(jìn)行維護(hù);如果管理員需要在服務(wù)器調(diào)試程序,還會(huì)開(kāi)啟FTP服務(wù)進(jìn)程,從本地機(jī)上傳程序到服務(wù)器進(jìn)行調(diào)試(如圖1所示)。可見(jiàn)這種終端的服務(wù)對(duì)網(wǎng)絡(luò)管理員來(lái)說(shuō)非常重要。

      圖1 管理員利用終端服務(wù)對(duì)ISP進(jìn)行操控

      一般在遠(yuǎn)程管理中經(jīng)常使用遠(yuǎn)程管理Telnet的工具有CRT、NetTerm、ShellNet,以及Rlogin、Rcp、Rexec、Rsh(所有以“R”開(kāi)頭的服務(wù)都建立在不與外界進(jìn)行任何聯(lián)系的基礎(chǔ)上。出于安全方面的考慮,必須禁止這些進(jìn)程的啟動(dòng))。這些工具的優(yōu)點(diǎn)是使用方便、配置簡(jiǎn)單;缺點(diǎn)是不夠安全。以Telnet為例,因?yàn)槠湟?#8220;明碼”傳輸,所以不能稱為一個(gè)很好的聯(lián)機(jī)方式。什么是“明碼”?簡(jiǎn)單地說(shuō),使用Telnet時(shí),系統(tǒng)會(huì)出現(xiàn)一個(gè)主機(jī)界面,如果沒(méi)有設(shè)置系統(tǒng)的issue.net文件為空,系統(tǒng)默認(rèn)出現(xiàn)的界面就會(huì)泄露一些對(duì)用戶不利的信息給別人,如圖2所示。

      圖2 Telnet登錄主機(jī)界面

      用戶需要輸入賬號(hào)與密碼,當(dāng)主機(jī)接受資料后才能進(jìn)行確認(rèn)。此時(shí),用戶資料就會(huì)經(jīng)過(guò)Telnet協(xié)議傳輸?shù)街鳈C(jī)上。如果有人正在某個(gè)router節(jié)點(diǎn)監(jiān)聽(tīng)封包,就可以輕而易舉地截獲資料封包,并可以通過(guò)解讀竊取賬號(hào)和密碼。建議非必要時(shí)不要激活Telnet;如果一定要激活,必須確定限制的聯(lián)機(jī)范圍,并使用iptables設(shè)定聯(lián)機(jī)的限制區(qū)域。此外,還要隨時(shí)注意登錄檔案里關(guān)于登錄的事項(xiàng),不要讓root用戶以Telnet方式登入Linux主機(jī)。

      SSH及OpenSSH簡(jiǎn)介

      SSH(Secure Shell)是以遠(yuǎn)程聯(lián)機(jī)服務(wù)方式操作服務(wù)器時(shí)的較為安全的解決方案。它最初由芬蘭的一家公司開(kāi)發(fā),但由于受版權(quán)和加密算法的限制,很多人轉(zhuǎn)而使用免費(fèi)的替代軟件OpenSSH。

      用戶通過(guò)SSH可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,使“中間人”的攻擊方式不可能實(shí)現(xiàn),而且也能夠防止DNS和IP欺騙。它還有一個(gè)額外的好處是傳輸?shù)臄?shù)據(jù)是經(jīng)過(guò)壓縮的,可以加快傳輸?shù)乃俣取SH作用廣泛,既可以代替Telnet,又可以為FTP、POP,甚至為PPP提供一個(gè)安全的“通道”。SSH協(xié)議在預(yù)設(shè)的狀態(tài)中,提供兩個(gè)服務(wù)器功能:一個(gè)是類似Telnet的遠(yuǎn)程聯(lián)機(jī)使用Shell服務(wù)器,即俗稱SSH功能;另一個(gè)是類似FTP服務(wù)的SFTP-Server功能,可提供更安全的FTP服務(wù)。

      SSH的安全驗(yàn)證如何工作呢?主要依靠聯(lián)機(jī)加密技術(shù)。從客戶端來(lái)看,有以下兩種安全驗(yàn)證級(jí)別:

      1.基于口令的安全驗(yàn)證(ssh1) 只要知道自己的賬號(hào)和口令,就可以登錄到遠(yuǎn)程主機(jī)。所有傳輸?shù)臄?shù)據(jù)都將被加密,但是不能保證正在連接的服務(wù)器就是想要連接的服務(wù)器。可能受到“中間人”的攻擊。

      2.基于密匙的安全驗(yàn)證(ssh2) 需要依靠密匙,即用戶必須為自己創(chuàng)建一對(duì)密匙,并把公用密匙放在需要訪問(wèn)的服務(wù)器上。如果要連接到SSH服務(wù)器上,客戶端軟件就會(huì)向服務(wù)器發(fā)出請(qǐng)求,請(qǐng)求用密匙進(jìn)行安全驗(yàn)證。服務(wù)器收到請(qǐng)求之后,先在該服務(wù)器的home目錄下尋找公用密匙,然后把它和發(fā)送過(guò)來(lái)的公用密匙進(jìn)行比較。如果兩個(gè)密匙一致,服務(wù)器就用公用密匙加密“質(zhì)詢”(challenge),并把它發(fā)送給客戶端軟件。客戶端軟件收到“質(zhì)詢”后,就可以用私人密匙解密再把它發(fā)送給服務(wù)器。使用這種方式,用戶必須知道自己密匙的口令。與第一種級(jí)別相比,這種級(jí)別不需要在網(wǎng)絡(luò)上傳送口令,不僅加密所有傳送的數(shù)據(jù),而且阻止了“中間人”攻擊方式。整個(gè)登錄的過(guò)程一般需要10秒。

      OpenSSH的安裝和啟動(dòng)

      OpenSSH的安裝非常簡(jiǎn)便,操作如下。

      1.下載軟件包。到http://www.openssh.com下載最新軟件包OpenSSH 3.6.1(最好下載源程序軟件包后自行編譯)。本文以openssh-3.5p1.tar.gz為例進(jìn)行介紹,安裝環(huán)境為Red Hat 7.1/kernel 2.4.8/gcc-2.96-98。

      2. 解壓及安裝,代碼如下:

    # tar zxvf openssh-3.5p1.tar.gz
                            # cd openssh-3.5p1
                            # ./configure --prefix=/opt --sysconfdir=/etc/openssh
                            # make
                            # make install
                            # cd /etc/rc.d/init.d/
                            # vi sshd  
                            //加入/opt/sbin/sshd啟動(dòng)進(jìn)程
                            # cd /etc/rc.d/rc3.d/
                            # ln -s ../init.d/sshd S59sshd

      重啟計(jì)算機(jī)以后,用下列命令進(jìn)行測(cè)試:

    # ssh -l  geminis  www.test.com
                            The authenticity of host   'www.test.com   (*.*.*.*)' can't be established.
                            RSA key fingerprint is a7:35:3c:bd:47:b0:5d:30:68:f1:15:77:1a:b1:67:dd.
                            Are you sure you want to continue connecting (yes/no)?

      因?yàn)槭堑谝淮蔚卿浿鳈C(jī),OpenSSH將顯示不能識(shí)別該主機(jī)。鍵入“yes”,把主機(jī)的“識(shí)別標(biāo)記”加到“~/.ssh/know_hosts”文件中。第二次訪問(wèn)這臺(tái)主機(jī)的時(shí)候就不會(huì)再顯示這條提示信息。然后,OpenSSH提示輸入遠(yuǎn)程主機(jī)上的賬號(hào)及口令。輸入完后就建立了SSH連接,可以像使用Telnet一樣使用OpenSSH。

      配置基于密鑰認(rèn)證的OpenSSH

      缺省情況下,SSH將默認(rèn)使用口令驗(yàn)證方式。不需要對(duì)系統(tǒng)進(jìn)行任何配置就可以使用賬號(hào)和口令登錄到遠(yuǎn)程主機(jī)。下面介紹如何配置并使用基于密匙認(rèn)證的OpenSSH(假設(shè)用戶名為geminis,主機(jī)IP為192.168.0.1)。

      首先創(chuàng)建一對(duì)密匙(包括公匙和密匙,并且用公匙加密的數(shù)據(jù)只能用密匙解密),把公匙放到需要遠(yuǎn)程服務(wù)器上。當(dāng)?shù)卿涍h(yuǎn)程服務(wù)器時(shí),客戶端軟件會(huì)向服務(wù)器發(fā)出請(qǐng)求,請(qǐng)求用密匙進(jìn)行認(rèn)證,代碼如下:

    # ssh-keygen -d
                            // 加上參數(shù)d是創(chuàng)建一個(gè)一基于ssh2的密匙對(duì) 
                            #Generating public/private DSA key pair. 
                            // 生成DSA加密模式的密匙對(duì)
                            # Enter file in which to save the key (/home/geminis/.ssh/id_dsa): 
                            //存放密匙文件的路徑,直接回車為默認(rèn)目錄
                            # Enter passphrase (empty for no passphrase):     
                            //必須輸入一個(gè)>4個(gè)字符的標(biāo)識(shí)符
                            # Enter same passphrase again:              
                            //重新確認(rèn)一次

      如果創(chuàng)建成功,系統(tǒng)將返回以下信息:

    Your identification has been saved in /home/geminis/.ssh/id_dsa.
                            Your public key has been saved in /home/geminis/.ssh/id_dsa.pub.
                            The key fingerprint is:
                            29:1b:46:00:08:38:d5:87:da:96:e7:c4:a3:6b:b1:3f geminis@www.test.com

      接下來(lái),把id_dsa.pub發(fā)布到服務(wù)器上。通過(guò)FTP將公匙文件“/home/admin/.ssh/id_dsa.pub”,復(fù)制到遠(yuǎn)程服務(wù)器的“/home/admin/.ssh”目錄。如果.ssh目錄不存在,可以用mkdir命令先建立。然后,將“id_dsa.pub”重命名為“authorized_keys2”,代碼如下:

    # mv id_dsa.pub authorized_keys2
                            # chmod 644 authorized_keys2

      注意,如果authorized_keys2文件的權(quán)限不正確,會(huì)導(dǎo)致SSH連接失敗。

      服務(wù)器收到請(qǐng)求之后,在該服務(wù)器的宿主目錄下尋找公匙,然后檢查該公匙是否合法。如果合法就用公匙加密一隨機(jī)數(shù)(即所謂的challenge)并發(fā)送給客戶端軟件。客戶端軟件收到后就用私匙解密再把它發(fā)送給服務(wù)器。因?yàn)橛霉准用艿臄?shù)據(jù)只能用密匙解密,服務(wù)器經(jīng)過(guò)比較就可以知道該客戶連接的合法性。連接代碼如下:

    # ssl -l geminis www.test.com

      系統(tǒng)返回以下信息:

    # Enter passphrase for key '/home/geminis/.ssh/id_dsa':    ******
                            Last login: Wed Apr 16 12:31:49 2003 from www.geminis.com

      OpenSSH客戶端使用方法

      1. Windows平臺(tái)

      客戶端通常使用Windows平臺(tái),操作較為直觀。下面對(duì)幾種客戶端工具進(jìn)行介紹。

      ◆ PuTTY

      在客戶端使用SSH較好的工具是PuTTY,這是一個(gè)開(kāi)源軟件。用戶可以根據(jù)自己的配置情況對(duì)該軟件進(jìn)行修改,如圖3所示。

      圖3 PuTTY配置界面

      如果是第一次使用該軟件,系統(tǒng)會(huì)提示下載有關(guān)主機(jī)的“識(shí)別標(biāo)記”,選擇“yes”,下次登錄就不會(huì)出現(xiàn)提示框。

      ◆ Filezilla

      Filezilla是客戶端使用SFTP的一款不錯(cuò)的開(kāi)源軟件,對(duì)中文支持很好,配置界面如圖4所示。

      圖4 Filezilla配置界面

      2. Linux終端

      在Linux終端下使用SSH,優(yōu)點(diǎn)是操作更方便,無(wú)須其它軟件;缺點(diǎn)是不太直觀。使用方法及命令介紹如下:

      ◆ SSH的使用

    # ssh -l geminis www.test.com
                            Enter passphrase for key '/home/geminis/.ssh/id_dsa': 
                            //輸入以前設(shè)置的標(biāo)識(shí)符

      ◆ SFTP的使用

      # sftp   www.test.com

      SFTP相關(guān)命令的使用方法如表1所示。

      3.進(jìn)階提高要點(diǎn)

      配置SSH客戶端文件“/etc/ssh/ssh_config”,如圖5所示。

      圖5 配置“/etc/ssh/ssh_config”文件

      表1 SFTP相關(guān)命令的使用方法

      選項(xiàng)設(shè)置說(shuō)明如表2所示。

      表2 SSH配置選項(xiàng)說(shuō)明

      配置SSH服務(wù)器端文件“/etc/ssh/sshd_config”,取消口令驗(yàn)證。把“PasswordAuthentication Yes”改為“no”,可以禁止使用第一種口令驗(yàn)證。

      配置“/etc/ssh/sshd_config”文件,編輯“sshd_config”文件,加入或改變下面的參數(shù):

    # This is ssh server systemwide configuration file. 
                            Port 22 
                            ListenAddress 192.168.1.1 
                            HostKey /etc/ssh/ssh_host_key 
                            ServerKeyBits 1024 
                            LoginGraceTime 600 
                            KeyRegenerationInterval 3600 
                            PermitRootLogin no 
                            IgnoreRhosts yes 
                            IgnoreUserKnownHosts yes 
                            StrictModes yes 
                            X11Forwarding no 
                            PrintMotd yes 
                            SyslogFacility AUTH 
                            LogLevel INFO 
                            RhostsAuthentication no 
                            RhostsRSAAuthentication no 
                            RSAAuthentication yes 
                            PasswordAuthentication yes 
                            PermitEmptyPasswords no 
                            AllowUsers admin


    posted on 2007-04-13 08:26 ???MengChuChen 閱讀(258) 評(píng)論(0)  編輯  收藏 所屬分類: Sun_Solaris
    主站蜘蛛池模板: 亚洲国产成人久久综合一| 日本亚洲免费无线码| 国产高清免费在线| 亚洲色少妇熟女11p| 在线免费视频一区二区| 亚洲精品无码高潮喷水A片软| 国产一精品一aⅴ一免费| h片在线观看免费| 久久久久久久尹人综合网亚洲| 亚洲免费视频在线观看| 亚洲黄色在线视频| 性xxxx视频播放免费| 中文字幕免费观看| 精品亚洲视频在线| 中文字幕亚洲专区| 日韩插啊免费视频在线观看 | 深夜a级毛片免费无码| 久久夜色精品国产亚洲av | 亚洲精品无码久久久久久久 | 亚洲AV中文无码乱人伦在线视色 | 亚洲精品高清一二区久久| 大地资源中文在线观看免费版| 亚洲黑人嫩小videos| 亚洲成A人片在线观看WWW| 国产日产亚洲系列| 丁香花免费完整高清观看| 在线播放国产不卡免费视频| 亚洲第一精品电影网| 精品亚洲麻豆1区2区3区| 又粗又硬免费毛片| 免费黄网站在线看| 无码天堂va亚洲va在线va| 亚洲一区二区三区成人网站| 亚洲AV无码国产精品色| 中文字幕人成人乱码亚洲电影| 亚洲精品国产成人影院| 亚洲最大激情中文字幕| 国产亚洲综合色就色| 亚洲成a人片在线观看久| 亚洲 另类 无码 在线| 国产精彩免费视频|