openbsd_仔细看一下OpenBSD
當安全性至為重要時,順理成章地使用與當今安全遠程訪問標準OpenSSH(Open Secure Shell)產生相同的操作系統。 OpenSSH只是OpenBSD的一部分,OpenBSD是一個從頭開始關注安全性的發行版,它的目標是創建一個默認情況下安全的,類似于UNIX?的操作系統。 這種立場與當今的大多數操作系統形成鮮明對比,后者需要大量時間和精力才能使環境更堅固,然后才能上線。 實際上,OpenBSD是如此的安全,以至于曾經被禁止在DEF CON競賽中使用,在該競賽中, 黑客相互追逐對方的系統。
BSD概述
伯克利軟件發行版(BSD)是UNIX最古老和最常見的版本之一。 如今,它已被分成多個版本,三個常見的開源發行版引領了這一潮流:
- FreeBSD
- OpenBSD的
- NetBSD
雖然FreeBSD在這三個發行版中使用最廣泛,但是每個版本都有很大的優勢,這使得選擇正確的解決方案成為重要的決定。 FreeBSD是這三者中最普遍的,并且在i386環境中非常流行。 當安全性是您優先列表中的最高項目時,OpenBSD是正確的發行版本。 NetBSD提供了一個小型且非常便攜的替代方案,可在多種體系結構上運行。
OpenBSD審核流程
OpenBSD審核過程可能是此發行版中一致的安全性的最大因素。 一個由經驗豐富的開發人員組成的團隊致力于審核輸入到源代碼樹中的每段代碼。 分析代碼中的安全漏洞和一般錯誤-這些漏洞可能不會影響一般功能,但可能會被廣泛用作安全漏洞。 每個錯誤都將被認真對待并立即解決。 這種主動的方法使OpenBSD不受未知漏洞的影響,其他發行版必須在發現這些漏洞時進行爭奪。
OpenBSD:何時何地
任何對安全性很重要的環境都可能導致潛在的OpenBSD安裝。 在當今更加注重安全性的世界(一個計算機24x7全天候連接到互聯網的世界)中,很難找到不重視安全性的用戶,無論是在家庭,政府還是公司環境中。 眾所周知,金融巨頭依靠OpenBSD來保護公司網絡和客戶記錄。 與其他類似UNIX的操作系統相比,OpenBSD可能沒有龐大的用戶群,但它已安裝在許多網絡中最關鍵的位置。
作為NetBSD的近親,OpenBSD也可以在多種硬件上運行。 看一看:
- Alpha:基于數字Alpha的系統
- amd64:基于AMD64的系統
- 目錄: StrongARM 110評估板
- hp300:惠普HP 9000系列300和400工作站
- HP / PA:惠普精密架構(PA-RISC)系統
- i386:基于Intel?i386架構和兼容處理器的標準計算機
- luna88k: Omron LUNA-88K和LUNA-88K2工作站
- mac68k:具有MMU的基于Motorola 680x0的Apple Macintosh
- macppc:基于Apple PowerPC的計算機,來自iMac
- mvme68k:基于Motorola 680x0的VME系統
- mvme88k:基于Motorola 881x0的VME系統
- SGI:基于SGI MIPS的工作站
- SPARC: Sun sun4-,sun4c-和sun4m級的SPARC系統
- SPARC64: Sun UltraSPARC系統
- VAX:基于數字VAX的系統
- Zaurus: Sharp Zaurus C3x00 PDA
OpenBSD核心軟件包和功能
現在您已經確定了OpenBSD是否是您的硬件平臺的一個選項,讓我們仔細看一下OpenBSD的一些亮點。
OpenSSH的
第一個注釋包是OpenSSH,每個UNIX和Linux?用戶都熟悉它。 但是,許多人可能不知道它來自OpenBSD開發人員。 OpenSSH最初是為OpenBSD開發的,此后成為標準的Secure Shell(SSH)軟件包,幾乎可以移植到UNIX,Linux和Microsoft?Windows?操作系統的每個版本。 OpenSSH包括用于安全登錄的ssh ,用于安全副本的scp和用于ftp的安全替代品sftp 。 所有源代碼都屬于OpenBSD開源許可證,這遵循OpenBSD的指示,即不得將所有專有代碼和限制性許可方案排除在發行版之外(這是創建新版本SSH的最初動力)。 OpenBSD中包含的每個軟件都是完全免費的,沒有使用限制。
密碼學
因為OpenBSD項目位于加拿大,所以沒有美國對密碼術的出口限制,這使得發行版可以充分利用現代加密算法。 從文件傳輸到文件系統再到網絡,幾乎可以在操作系統的任何地方找到加密。 偽隨機數生成器還包含在OpenBSD中,可確保無法根據系統狀態預測隨機數。 其他功能包括加密哈希函數,加密轉換庫和加密硬件支持。
OpenBSD的另一項大量導出的內容是IP安全協議(IPSec),操作系統使用它而不是依賴于本質上不安全的TCP / IP版本4(IPV4)。 (IPV4選擇信任幾乎所有人和所有事物。)IPSec加密并驗證數據包以保護數據的私密性,并確保在傳遞過程中不對數據包進行任何更改。 IPSec通過引入TCP / IP版本6(IPV6)成為標準Internet協議的組成部分, 默認情況下使Internet的未來更加安全。
OpenBSD作為防火墻
因為OpenBSD既薄又安全,所以最常見的OpenBSD實現目的之一就是作為防火墻。 防火墻在大多數安全位置的底層運行,并且OpenBSD的數據包過濾實現是一流的。 數據包過濾器(PF)是由OpenBSD開發社區設計的開源解決方案,是OpenBSD的選擇方法。 像許多其他OpenBSD軟件一樣,它的成功促使其他BSD變體將其移植到自己的發行版中。
默認情況下 ,OpenBSD設置為安全的 ,因此您無需關閉太多服務即可設置堅如磐石的防火墻。 您將必須啟用第二個以太網接口,并根據需要配置PF。 請參閱相關信息的鏈接,文章就如何建立一個OpenBSD的服務器作為防火墻。
加密和隨機數
大多數操作系統在關鍵元素中幾乎沒有加密,甚至沒有加密,這造成了固有的安全性不足。 造成此缺陷的一個重要原因是,大多數操作系統都是從美國發貨的,這是一個簡單的事實,在美國,開發人員不允許導出功能強大的加密軟件。 OpenBSD中的加密哈希庫包括MD5,SHA1和RIPEMD160。 OpenBSD中的密碼轉換庫包括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安裝過程感到恐懼,因為BSD安裝過程非常困難。 雖然安裝可能不是大多數用戶所習慣的,但本文提供了該過程的快速概述,以演示如何輕松進行安裝。 花一些時間來了解OpenBSD的安裝過程,以節省鎖定默認情況下不安全的Linux發行版的時間,這通常是務實的決定。
有幾種安裝方法,步驟因平臺而異。 我通過創建自己的CD集來重點介紹在i386服務器(例如,運行IBM服務器的計算機)上的基本CD-ROM安裝。 官方常見問題解答中未記錄此過程。
步驟1.獲取發行版
首先,訪問OpenBSD.org下載頁面(請參閱相關信息 ),選擇列表中的任何一面鏡子,然后去/3.9/i386/ 。 如果您習慣于安裝Linux發行版,那么這是第一個您會發現與眾不同的地方。 唯一的.iso文件是一個名為cd39.iso的5MB文件。 這樣可以嗎 不用擔心:安裝OpenBSD時,啟動CD是一個準系統內核。 其余的則從文件中提取,您可以將其下載并刻錄到其他CD(或從OpenBSD.org購買CD集來幫助支持該項目)。 確保下載cd39.iso,所有.tgz文件,bsd,bsd.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.將以下文件放在磁盤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 xserv39.tgz 10-Mar-2006 12:04 19.0M xshare39.tgz 10-Mar-2006 12:04 2.0M步驟3.開始安裝
創建安裝CD后,從磁盤1引導新服務器。命令提示符將指導您完成安裝過程。 您可以在OpenBSD FAQ的第4節中找到詳細說明(請參閱參考資料 )。
最復雜的部分是“ 設置磁盤”部分,但是您可以通過選擇將所有磁盤用于OpenBSD來跳過很多此類信息(如果您沒有要保留的其他任何分區)。 無論您做出何種分區決定,請務必按照“ 創建磁盤標簽”一節的步驟進行操作,唯一的偏差是可以根據需要創建更大的/ usr和/ home分區。 請注意OpenBSD中的兩層分區系統。 第一步設置傳統的fdisk可查看分區,而第二disklabel步驟設置OpenBSD子分區。
除此之外,唯一的調整(要使用兩張CD的安裝套件)是在這一步交換CD:
Let's install the sets! Location of sets? (cd disk ftp http or 'done') [cd]從磁盤1切換到磁盤2(包含/3.9/i386/中所有文件的CD)。
步驟4.開始計算!
完成所有設置后,您就可以開始計算了。
聽起來不錯,現在該如何使用?
與學習如何保護系統(已經具有合理的默認設置)的安全性相反,在開始以新的OpenBSD用戶身份管理系統之前,可能需要了解一些步驟。
首先,默認情況下,wheel組中沒有用戶,這意味著使用su命令的嘗試將失敗。 使用adduser命令從命令行創建新用戶,該命令將引導您完成一個簡單的問答會話,以設置默認值(一次性過程)并創建您的第一個用戶。
舉例來說,假設您創建了一個名為bsdadmin的用戶。 如果bsdadmin將成為您的主要管理帳戶,則希望能夠使用su命令快速訪問根帳戶。 為此,請以root帳戶登錄,然后編輯/ etc / group文件以將bsdadmin包括在wheel組中。 只需將bsdadmin附加到第一行(表示wheel:*:0:root )。
其次,檢查/ etc /目錄中的系統默認設置。 由于大多數服務默認是由于某種原因而關閉的,因此請在此處謹慎行事。 OpenBSD使用rc.conf啟動大多數啟動守護程序。 您會看到默認情況下關閉了服務(例如httpd和nfs)-即使PF也已關閉。 例如,您可以通過在/etc/rc.conf中添加行httpd=YES來打開Apache(httpd)。
盡管OpenBSD可能沒有基于圖形的工具來幫助系統管理,但OpenBSD開發人員已經特別注意為操作系統的每個組件提供廣泛,準確的手冊頁。 我建議您在感到困惑或只是想了解新工具時,自由使用嚴格的man命令。
我還能做什么?
OpenBSD預包裝了少量的第三方組件,它們再次關注安全性和穩定性,而不是嘗試為每個人做所有事情。 以下是OpenBSD版本3.9中包含的軟件包的默認列表:
- OpenSSH版本4.3
- X.org版本6.9.0(具有i386發行版中包含的V3.3 XFree86服務器)
- GCC 2.95.3和3.3.5版(默認情況下啟用了Propolice堆棧保護技術)
- Perl 5.8.6版(帶有OpenBSD團隊的補丁和改進)
- Apache版本1.3.29 Web服務器(包括mod_ssl版本2.8.16和動態共享對象(DSO)支持)
- OpenSSL版本0.9.7g(帶有OpenBSD團隊的補丁和改進)
- Groff版本1.15
- Sendmail版本8.13.4(帶有libmilter)
- BIND版本9.3.1(改進了chroot操作和其他與安全相關的問題)
- Lynx版本2.8.5rel.4(添加了基于安全套接字層(HTTPS)的HTTP支持以及來自OpenBSD團隊的補丁)
- Sudo版本1.6.8p9
- Ncurses 5.2版
- KAME IPv6
- Heimdal版本0.7(帶有補丁)
- Arla版本0.35.7
- gdb 6.3版
還可以使用其他第三方軟件包,您可以使用OpenBSD的pkg_add應用程序輕松安裝它們。 您可以在OpenBSD鏡像的/3.9/packages/i386/目錄中找到完整列表。 pkg_add應用程序將軟件包名稱作為輸入,自動確定依賴關系,并安裝所有必需的軟件包。
盡管上面列出的軟件包是專門為OpenBSD移植的,但該平臺的另一個宗旨是二進制兼容性。 OpenBSD支持為Linux,Solaris,HP-UX和其他形式的BSD編譯的大多數軟件的二進制仿真。 默認情況下,此功能是關閉的。 要打開它,只需在以下行從/etc/sysctl.conf中刪除開頭的注釋( # )字符,然后重新啟動系統:
#kern.emul.linux=1 # enable running Linux binaries這樣,您可以運行簡單的靜態鏈接的Linux應用程序。 要運行各種各樣的軟件,還需要使用pkg_add安裝Redhat / base軟件包,如上所述。
Wrapping up
OpenBSD致力于成為地球上最安全的UNIX派生產品,并且沒有太多希望。 設計原則(例如代碼審核,廣泛使用加密以及謹慎的配置選擇)相結合,以確保默認情況下 OpenBSD的安全原理正確。 雖然在安全的服務器和防火墻中找到OpenBSD安裝是最常見的,但OpenBSD廣泛的硬件和軟件支持使該操作系統適用于多種用途。 UNIX和Linux專家都對OpenBSD的許多部分都很熟悉,他們可能會喜歡有意將其從軟件包中剔除的領域。
翻譯自: https://www.ibm.com/developerworks/aix/library/au-openbsd.html
總結
以上是生活随笔為你收集整理的openbsd_仔细看一下OpenBSD的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git 远程仓库和本地仓库建立连接
- 下一篇: 【吐血整理】数据库的安全性