![]() |
| 新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(73):認証與加密 |
![]() |
第8章 系統與網絡安全當將計算機連接到Internet上的時候,那么計算機就對整個網絡開放連接許可。這在通過網絡為用戶提供網 絡服務的同時,也帶來了計算機系統會遭受非法使用或破壞的危險。然而既然要對外提供服務,就只能通過維護和管理來增加 安全性,而不能因為害怕風險就不提供網絡服務。因此安全問題是連接到Internet的網絡系統需要特別注意的問題之 一。 毫無疑問,FreeBSD是一種具備相當高的安全性的操作系統,提供了各種不同的訪問控制、加密和認証等安全 特性。然而,出于使用方便的考慮,FreeBSD并沒有將安全問題看作唯一的需求,有些傳統Unix提供的服務,雖然 會帶來一定的安全問題,但也不能簡單的屏蔽。假如需要,可以根據具體情況堵上這些具備輕微危險的漏洞,進一步增強安全 性。 FreeBSD不但能對自己系統提供安全保障,也能用作提供網絡安全的工具。它的網絡能力非常強大,能用于設 置功能全面的防火牆系統,保障網絡內其他計算機系統的安全性。
網絡安全的問題隨著Internet的發展,也越來越受到人們的關注。這主要原因是由于Internet和Unix 是一個開放的系統,所有的使用者都能對系統進行研究并提出問題,這樣就針對安全性提出了很多問題。在Internet 上也發生過相當多的安全問題,使得安全問題進一步為大家所關注。如果基于此就對Internet缺乏信心,也是 不必要的,Internet雖然不是一個安全性很高的網絡系統,然而也不是象想象的那樣不可信賴的,主要是因為Internet 的開放性,使得很多安裝問題比較公開。而只要正確使用它,同樣也能保証安全性。 對待安全問題有兩種不同的態度,一種為封閉的態度,認為將問題隱藏起來是最好的解決安全問題的辦法。隱藏起來 不被發現當然就避免了安全問題,然而人們也沒有辦法去証明不會有人發現這個問題,或者說保証掌握安全漏洞的人不會出于 各種考慮而利用這個安全問題。很多商業軟件都采用這種態度,事實上很多軟件本身安全性很低,到了安全專家和攻擊者那里 ,其漏洞就很容易被發現。另一種更為積極的態度,認為安全問題不應該隱藏起來,只有通過從不了解到了解并解決安全問題 的不斷的、動態過程,才能真正保証系統的安全性。由于這種態度,一方面系統的使用者至少可以了解哪些是安全的,哪些存 在問題,從而避開問題而不必擔心被欺騙,同樣采用這種方法開發的軟件,其安全漏洞能被很快發行并被糾正,如果一個軟件 經過了眾多Internet使用者的考驗,其中不乏專家,使用者就不必擔心其中還有十分嚴重的安全漏洞了。 Unix用戶大部分都是持后一種態度的Internet使用者,不斷學習是網絡安全的一個獨立的、而又非常重 要的方面。盡管網絡上的攻擊者能夠從Internet上獲得關于網絡安全漏洞的技朮方法,同樣管理員也能獲得這些技朮 ,并能及時彌補漏洞。事實上很多導致系統漏洞的問題其實是Internet上早以解決的問題,通過參加相關的安全組織 或通過網絡定期查閱其報告,就能不受這些系統安全漏洞的影響。 Internet上最著名的一個安全組織是CERT,它提供安全方面的建議,并通過Internet發布報告 ,這些報告內容包括各種操作系統的問題和漏洞,以及相應的解決辦法。其主頁為http://www.cert.org ,建議所有關心網絡安全的使用者都經常查閱他們提供的資源,從中選擇與自己使用的系統相關的內容。 很多網絡安全問題發生的原因不在于入侵者攻擊手段的高明,而是由于系統管理員的不稱職造成的,而合格的系統管 理員能跟蹤自己操作系統暴露出來的問題,并根據Internet上的建議堵上這些漏洞,國外的很多公司還聘用專業的網 絡安全顧問,這些顧問的任務之一就是及時發現系統問題,提示管理員進行系統修正。
為了區分合法用戶和非法使用者,就需要對用戶進行認証。標准的Unix認証用戶的過程是,用戶輸入口令,口令 傳輸到系統程序中,由系統程序對口令進行加密,并與系統中的口令密文進行比較來判斷口令是否正確。在這種方法中,如果 要通過網絡認証,就要將口令以明文形式在網絡中傳輸,因此就存在被竊聽的危險。 此外,流行的認証方式還有S/key,Kerberos,Radius等方式,其中S/key是使用一次性的 口令,這樣即使口令被竊聽也無關緊要,其然而使用起來卻比較煩瑣,使用S/key的用戶可能需要打印出長長的口令來幫 助輸入正確的口令。Kerberos和Radius認証方式能保証口令不被竊聽,但他們是在服務器和客戶機都支持相應 的認証方式的條件下才能使用,因而需要更復雜的設置。 當前Kerberos V認証方式比較流行,Windows 2000中也將采用這種認証方式。但在FreeBSD 中提供的是Kerberos IV認証方式。需要注意的是,Kerberos V和Kerberos IV差異 較大,是兩個互不兼容的獨立版本。 通常使用的加密算法為DES算法,經實踐証明它是一種很有效加密算法,雖然Unix上使用的密鑰長度為56位 ,還不足夠安全。因為在Internet上,已經有人通過多台計算機合作計算,通過几個月時間破解了使用它加密的內容 。但對于一般的安全性,加上選擇得當的口令,56位的DES算法也足夠用了。如果要提供更高的安全性,可以使用更長的 密鑰,或者使用另外的算法,如IDEA算法、三重DES算法等。 與安全有關的算法還包括一類單向散列算法,如MD2、MD4、MD5等,這些算法的目的是用于從已有數據中生 成與其他數據不同的少量標識數據,從而區分不同的數據,這樣就能通過這些標識數據分辨不同數據。由于不同的數據使用上 面的算法生成的標識數據只有極少的可能相同,這些算法一般被用于數字簽名,用于保証網絡中的文件傳輸沒有發生錯誤。這 些算法也能用于口令認証,其中MD4用于認証時存在安全性不高的問題,因而用于認証時一般使用MD5算法。 FreeBSD缺省使用MD5算法用作口令認証,這并不影響系統的正常執行。 對于DES等算法來講,加密和解密是使用同一個密鑰,這個密鑰必須秘密保存,一旦泄露就不能保証數據的安全, 但要讓其他使用者獲得加密的信息,就必須告訴他這個密鑰,這樣就很容易泄露密鑰。因此在加密傳輸中,密鑰的傳輸是一個 與數據安全非常相關的問題。另一種不同的思路是使用多個密鑰,例如兩個密鑰,一個加密過的數據只能由另一個來解密,其 中一個密鑰由用戶保存,為私有密鑰,另一個向所有要進行加密傳輸信息的使用者公開,稱為公開密鑰。當他們要向這個用戶 發送信息時,能使用該用戶的公開密鑰加密信息,那么只有這個用戶能使用自己的私有密鑰能解開信息。同樣這個用戶用自己 的私有密鑰加密信息,那么其他用戶只能使用他的公開密鑰才能解開,這樣就保証了信息是由這個用戶發出的,而不是其他人 的偽造信息。最著名的公開密鑰加密算法為RSA算法。 使用公開密鑰算法進行傳輸,就能避免數據被竊聽的問題,常用的使用公開密鑰算法的軟件有ssh,pgp,以及 其他使用SSL的應用程序。 加密算法的選擇是一個非常關鍵的問題,由于加密算法涉及非常高深的數學問題,因此不是任何人都能發明一個加密 算法。有的人以為使用一個不公開算法本身的專有加密算法會增加安全性,其實不然,未經驗証的加密算法很可能存在漏洞, 在專業密碼學家那里有很多種方法可以進行破解,在密碼學領域內有很多失敗的例子,即使是非常專業的密碼學專家,發明一 種加密方法也不是一個簡單的事情,未經驗証的算法在其他專業密碼學家的破解下,很容易面臨失敗的危險。因此,應該盡量 選擇已被証明是成熟的加密方法。 未完,待續。。。 |
|||
| 新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(73):認証與加密 | ||||
Copyright(C) 1999 SINA.com, Stone Rich Sight. All Rights Reserved
版權所有 四通利方 新浪網