深度探索 OpenBSD1

當安全性作為最重要的考慮因素時,有必要研究產生現在安全遠程訪問方面的標準 OpenSSH (Open Secure Shell) 的操作系統。OpenSSH 只是 OpenBSD 中的一部分,而該分發版從底層開始着重強調了安全性,它實現了創建一個缺省安全 的類 UNIX® 操作系統的目標。這種立場與現在大多數的操作系統有所不同,對於這些操作系統,在實際使用之前需要耗費大量的時間和精力對其環境進行加強。事實上,OpenBSD 是如此的安全,以至於在 DEF CON 競賽中曾一度禁止使用它,在這個競賽中,破解高手們 對所有其他的系統進行攻擊。

BSD 概述

Berkeley Software Distribution (BSD) 是歷史最悠久和最流行的 UNIX 版本之一。現在,它被分為許多不同的版本,其中有三種比較常見的開放源代碼分發版:

    FreeBSD

    OpenBSD

    NetBSD

儘管 FreeBSD 在這三種發布版中使用得最廣泛,但每個版本都有其顯著的優勢,這使得選擇正確的解決方案成為一項重要的決策。FreeBSD 是三者中最常見的系統,廣泛應用於 i386 環境。當安全性成為最重要的考慮因素時,OpenBSD 則是合適的分發版。NetBSD 提供了一種小規模的、高度可移植的選擇,它可以運行於各種各樣的體系結構中。

 

OpenBSD 審核處理

OpenBSD 審核處理可能是該分發版中一致安全性的最大因素。一組有經驗的開發人員重點對進入源代碼樹的每段代碼進行了審核。分析代碼中的安全缺陷和一般性錯誤(它們可能並不會影響到整體功能,但可能會作為安全缺陷而被利用)。對每個錯誤進行認真和及時的處理。這種積極主動的處理方法使得 OpenBSD 免受各種未知攻擊的影響,而其他的分發版則在發現攻擊後緊急對系統進行保護。

 

OpenBSD:使用地點與時間

在任何強調安全性的環境中,都可以安裝 OpenBSD。現在,大家的安全意識越來越強,計算機需要全天候連接到 Internet 上,無論是在家庭、政府或企業環境中,很少有人把安全性問題不當回事。金融巨頭依賴 OpenBSD 以確保企業網絡和客戶記錄的安全。與其他的類 UNIX 操作系統相比,OpenBSD 可能並不擁有廣泛的用戶基礎,但是在許多網絡中的最關鍵的地方通常都安裝了該操作系統。

作為 NetBSD 的近親,OpenBSD 也可以運行於各種各樣的硬件之上。下面具體來了解一下:

    Alpha:基於 Digital Alpha 的系統

    amd64:基於 AMD64 的系統

    CatStrongARM 110 評估板 (Evaluation Board)

    hp300Hewlett-Packard HP 9000 系列的 300 400 工作站

    HP/PAHewlett-Packard Precision Architecture (PA-RISC) 系統

    i386:基於 Intel® i386 體系結構和兼容處理器的標準計算機

    luna88kOmron LUNA-88K LUNA-88K2 工作站

    mac68k:基於 Motorola 680×0 的帶 MMU Apple Macintosh

    macppc:從 iMac 開始,基於 Apple PowerPC 的計算機

    mvme68k:基於 Motorola 680×0 VME 系統

    mvme88k:基於 Motorola 881×0 VME 系統

    SGI:基於 SGI MIPS 的工作站

    SPARCSun sun4-sun4c- sun4m 級的 SPARC 系統

    SPARC64Sun UltraSPARC 系統

    VAX:基於 Digital VAX 的系統

    ZaurusSharp Zaurus C3x00 PDA

 

OpenBSD 核心包和特性

既然已經確定了 OpenBSD 是否適合於您的硬件平台,下面讓我們更仔細地了解一下 OpenBSD 中一些重要的部分。

OpenSSH

第一個值得關注的包是 OpenSSH,所有的 UNIX Linux® 用戶對它都很熟悉。然而,許多人可能並不知道它來自於 OpenBSD 開發人員。OpenSSH 最初用於 OpenBSD,後來成為標準的安全 Shell (SSH) 包,並移植到幾乎所有版本的 UNIXLinux Microsoft® Windows® 操作系統。OpenSSH 包括用於安全登錄的 ssh、用於安全複製的 scp  sftp,後者是 ftp 的安全替代方法。所有的源代碼都符合開放源代碼 BSD 許可,必須遵守 OpenBSD 的規程以杜絕在該分發版中出現任何專用代碼和限制性許可計劃(這是創建新版本的 SSH 的原動力)。OpenBSD 中所包含的每個軟件部分都是完全免費的,並且在使用上沒有任何限制。

加密

因為 OpenBSD 項目是在加拿大進行的,所以其中應用的加密技術不受美國的出口限制,這使得該分發版可以充分利用各種現代的加密算法。幾乎可以在該操作系統的任何地方找到加密處理,從文件傳輸到文件系統,乃至網絡。OpenBSD 中還包含偽隨機數生成器,它可以確保無法根據系統狀態預測隨機數。其他的特性還包括加密哈希函數、加密轉換庫和加密硬件支持。

OpenBSD 中另一個主要的部分是 IP 安全協議 (IPSec),該操作系統中沒有依賴先天不安全的 TCP/IP Version 4 (IPV4),而使用了這個協議。(IPV4 選擇信任所有的人和所有的事物。)IPSec 對數據包進行加密和驗證以保護數據的保密性,並確保在傳輸過程中不會對數據包進行任何更改。隨着 TCP/IP Version 6 (IPV6) 的引入,IPSec 成為標準的 Internet 協議中不可或缺的部分,這使得未來的 Internet 在缺省情況下 更加安全。

OpenBSD 可以作為防火牆

因為 OpenBSD 很小並且很安全,所以 OpenBSD 實現的最常見目標之一是用作防火牆。防火牆從底層對大多數安全單元進行操作,並且 OpenBSD 的包過濾實現是非常優秀的。Packet Filter (PF)OpenBSD 開發社區設計的開放源代碼解決方案,它是 OpenBSD 所選擇的方法。與 OpenBSD 軟件的其他許多部分一樣,這種方法非常成功,以至於其他的 BSD 變種紛紛將其移植到自己的分發版中。

OpenBSD 配置為缺省安全,所以在設置堅如磐石的防火牆時,您無需關閉過多的服務。您需要啟用第二個 Ethernet 接口,並根據需要配置 PF。有關介紹如何將 OpenBSD 服務器設置為防火牆的文章鏈接,請參見參考資料部分。

 

加密和隨機數

大多數操作系統很少在其關鍵組成部分中包含加密處理,這使得它們先天就缺乏安全性。導致這種缺陷的一個重要原因是,大多數的操作系統來自美國,不允許開發人員出口健壯的加密軟件。OpenBSD 中的加密哈希庫包括 MD5SHA1 RIPEMD160OpenBSD 中的加密轉換庫包括 Blowfish、數據加密標準 (DES)3DES Cast

大部分加密處理都在底層進行,這樣一來,用戶就不用為了保護系統安全而必須成為加密方面的專家。OpenBSD 開發團隊很清楚,大多數管理員並不是安全方面的專家,並且不應該指望他們煞費周折地加強他們的環境。那些認為 OpenBSD 不是用戶友好的操作系統的人,大部分是受到了誤導。如果大多數管理員願意花時間使用 OpenBSD 的缺省安全措施來替代任何其他的分發版,那麼他們很可能會改變其思維方式。

隨機數是確保安全性的重要組成部分。OpenBSD 內核使用中斷信息創建不斷變化的熵池,它可以為加密函數提供種子數據,並為事務 ID 提供數值。例如,偽隨機數可用於進程 ID 和包 ID,這使得那些想要進行攻擊的人很難進行欺騙。OpenBSD 甚至在 bind(2) 系統調用中使用了隨機端口分配。大多數源於 UNIX 的操作系統要麼創建順序的 ID,要麼使用可預測其結果的簡單算法。

OpenBSD 團隊仍在進一步廣泛地研究文件系統的加密,並且在系統中所有可能的地方都對數據進行了加密。將交換分區分為一些小的區域,每個部分使用單獨的密鑰進行加密,以便確保不會將敏感數據泄漏到系統中不安全的部分,這是傳統的基於 UNIX Linux 的系統中常見的問題。如果希望對用戶數據進行加密,那麼您可以使用 OpenBSD 中的加密文件系統 (CFS)CFS 工作於用戶級,通過網絡文件系統 (NFS) 與內核進行通信。該系統允許用戶透明地訪問經過加密的目錄,所以他們可以選擇要對哪些數據進行加密,而不用受加密/解密過程的困擾。

注意:有關 OpenBSD 中加密方面的更多信息,請參見參考資料部分。

 

安裝 OpenBSD

如果不能全面了解 OpenBSD 的優點,新用戶可能會傾向於使用熟悉的 Linux 分發版,因為他們對 BSD 複雜的安裝過程感到害怕。大多數用戶可能對這個安裝過程並不熟悉,本文將對其進行簡要的概述,以說明這個安裝過程是非常簡單的。花一點時間了解 OpenBSD 的安裝過程可以節省鎖定 Linux 分發版所花費的大量時間,因為 Linux 分發版不是缺省安全的,這樣做通常是很實際的選擇。

有幾種不同的安裝方法,根據平台的不同,其具體步驟也有所區別。我主要介紹通過創建您自己的一套 CD i386 服務器(例如,一台運行 IBM 服務器的計算機)上基於 CD-ROM 進行安裝。在官方的 FAQ 中並沒有介紹這個過程。

1 . 獲得該分發版

首先,請訪問 OpenBSD.org 下載頁面(請參見參考資料部分),選擇列表中的任何鏡像,然後轉到 /3.9/i386/。如果您習慣於安裝 Linux 分發版,那麼從這裡開始您將發現一些不同之處。唯一的 .iso 文件是一個 5MB 的、名為 cd39.iso 的文件。是這個文件嗎?不用擔心:在 OpenBSD 的安裝過程中,這個啟動 CD 只是基本核心,您可以下載相關文件並將其刻錄到附加 CD(或從 OpenBSD.org 購買一套 CD 以幫助支持該項目)中,其餘的內容將從這些文件中提取。請確保您下載了 cd39.iso 以及所有的 .tgz 文件、bsdbsd.rd bsd.mp。(或者,要簡化這個過程,只需下載該目錄中的所有內容。)

2 . 創建安裝媒體

cd39.iso 創建啟動 CD,並將其標註為 Disk 1,如清單 1 所示。使用 /3.9/i386/ 目錄中所有其他的文件創建一張常規的 CD,並將其標註為 Disk 2,如清單 2 所示。其他的可選方法包括購買一套 CD、執行網絡安裝或構建自定義 .iso 文件,但我發現這種兩張 CD 的方法最簡單。

清單 1. 使用 cd39.iso 創建啟動 CD

cd39.iso 02-Mar-2006 03:10 4.6M

清單 2. 將下列文件放入到 Disk 2 上名為 /3.9/i386/ 的目錄中

base39.tgz 02-Mar-2006 03:10 38.6M

bsd 02-Mar-2006 03:10 5.2M

bsd.mp 02-Mar-2006 03:10 5.2M

bsd.rd 02-Mar-2006 03:10 4.5M

comp39.tgz 02-Mar-2006 03:10 71.8M

etc39.tgz 02-Mar-2006 03:10 1.1M

game39.tgz 02-Mar-2006 03:10 2.5M

man39.tgz 02-Mar-2006 03:10 7.1M

misc39.tgz 02-Mar-2006 03:10 2.2M

xbase39.tgz 10-Mar-2006 12:04 10.1M

xetc39.tgz 10-Mar-2006 12:04 88k

xfont39.tgz 10-Mar-2006 12:04 31.7M

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營