日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

76 FreeBSD連載:設(shè)置基本系統(tǒng)( 十 )


內(nèi)核安全級別
FreeBSD內(nèi)核有一個(gè)安全級別(securelevel)的概念,這是指系統(tǒng)內(nèi)核運(yùn)行使用的安全等級,不同的等級具備不同的保護(hù)和檢查機(jī)制 。因?yàn)檫@是內(nèi)核的檢查機(jī)制,因此相當(dāng)嚴(yán)格,沒有辦法能繞過這個(gè)機(jī)制提供的保護(hù),因此就對保護(hù)FreeBSD的安全性十分有用 。
內(nèi)核的安全級別按照提供安全保護(hù)的程度分為-1、0、1、2共分為四個(gè)級別,安全級別能提供的保護(hù)有:
系統(tǒng)文件:系統(tǒng)文件可以設(shè)置保護(hù)標(biāo)志 “ 不可更改 “ 和 “ 只能附加 “,具有這些保護(hù)標(biāo)志的文件在系統(tǒng)的文件屬性之外,還受這些保護(hù)標(biāo)志的保護(hù) 。安全級別可以規(guī)定這些標(biāo)志能否取消 。
磁盤設(shè)備文件:磁盤設(shè)備文件具備兩種訪問方式,隨機(jī)訪問的方式對應(yīng)的塊設(shè)備文件和順序訪問方式對應(yīng)的字符設(shè)備文件,其中字符設(shè)備文件可以直接讀取硬件設(shè)備,因此對于安全至關(guān)重要 。內(nèi)核安全級別可以決定是否允許以直接讀取硬件的方式操作硬盤設(shè)備文件 。
直接內(nèi)存訪問:/dev/mem和/dev/kmem是系統(tǒng)內(nèi)存的映射文件,訪問它們就能直接訪問系統(tǒng)內(nèi)存,一些需要獲取系統(tǒng)信息和需要進(jìn)程間共享內(nèi)存機(jī)制的程序需要訪問這兩個(gè)設(shè)備文件以直接訪問內(nèi)存,然而訪問內(nèi)存空間顯然也影響系統(tǒng)的安全運(yùn)行 。內(nèi)核安全級別可以決定是否允許訪問系統(tǒng)內(nèi)存 。
安全級別-1為一種永久性的不安全級別,系統(tǒng)內(nèi)核不提供任何額外的保護(hù) 。系統(tǒng)缺省就處于這個(gè)級別,此時(shí)系統(tǒng)文件的保護(hù)標(biāo)志能被root用戶取消,所有的設(shè)備,包括磁盤設(shè)備和內(nèi)存映射設(shè)備,均能按照其屬性來訪問 。
安全級別0為不安全的級別,它和等級-1一樣沒有對系統(tǒng)提供額外的安全保護(hù),但它影響到內(nèi)核進(jìn)程init的行為 。當(dāng)內(nèi)核處于級別-1時(shí),內(nèi)核init程序不會自動更改運(yùn)行級別,因此一直到進(jìn)入能夠登錄的狀態(tài),系統(tǒng)安全級別仍然為-1 。這是系統(tǒng)的缺省行為,沒有打開安全級別保護(hù)機(jī)制 。但如果安全級別不為-1,init在進(jìn)入單用戶狀態(tài)時(shí)將改變?yōu)?級別,在進(jìn)入多用戶模式時(shí)改變?yōu)榘踩墑e1 。因此安全級別0為設(shè)置了安全級別保護(hù)之后,單用戶狀態(tài)下的安全級別 。
安全級別1為安全的級別,提供了對系統(tǒng)的保護(hù)能力 。此時(shí)系統(tǒng)文件的那兩個(gè)保護(hù)標(biāo)志不能被取消,已安裝文件系統(tǒng)對應(yīng)的磁盤設(shè)備,以及/dev/mem,/dev/kmem不可以用寫入模式打開 。
安全級別2與級別1類似,只是進(jìn)一步增加了對磁盤設(shè)備低級操作的限制,不管該磁盤設(shè)備是否安裝,都不允許直接以寫入方式訪問,這樣就無法進(jìn)行fdisk、disklabel以及newfs等操作 。
可以使用sysctl來查看當(dāng)前系統(tǒng)的安全級別,但如果沒有經(jīng)過特別設(shè)置,F(xiàn)reeBSD的缺省安全級別應(yīng)該為-1:
# sysctl kern.securelevelkern.securelevel: -1安全級別中最重要的一點(diǎn)是,除了內(nèi)核的init進(jìn)程之外,即使是root用戶,也只能不斷提高安全級別,沒有辦法將安全級別降低 。這樣就基本上保證遠(yuǎn)程入侵者在沒有重新啟動計(jì)算機(jī)的情況下,無法降低系統(tǒng)運(yùn)行級別 。如果root想提高系統(tǒng)運(yùn)行的安全級別,也需要使用sysctl命令 。
# sysctl -w kern.securelevel=0kern.securelevel: -1 -> 0安全級別的意義就在于對文件和設(shè)備的保護(hù),如果要對文件提供保護(hù),就需要對文件設(shè)置保護(hù)標(biāo)志schg 。設(shè)置這個(gè)標(biāo)志需要使用chflags命令,系統(tǒng)文件如/kernel,系統(tǒng)安全的時(shí)候就具備這個(gè)保護(hù)標(biāo)志 。即使在非安全級別下要更改這些文件的時(shí)候,也要首先取消保護(hù)標(biāo)志才能進(jìn)行正常操作 。
# mv /kernel /kernel.bakmv: rename /kernel to /kernel.bak: Operation not permitted # chflags noschg /kernel# mv /kernel /kernel.bak# mv /kernel.bak /kernel# chflags schg /kernel上面操作先取消了kernel文件的不可更改標(biāo)志schg,顯然這是在非安全級別下的操作 。當(dāng)安全級別處于1或2時(shí),就不能使用chflags改變文件的保護(hù)標(biāo)志了 。

推薦閱讀