内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Chroot機(jī)制使服務(wù)器技術(shù)更安全

我們現(xiàn)在追求的是一個(gè)安全的社會不僅是是在我們的生活當(dāng)中,在我們的網(wǎng)絡(luò)世界也應(yīng)該處處多有人去維護(hù)和保護(hù)他們的存在。我們需要一個(gè)有隱私的世界,我們需要一個(gè)自己空間的網(wǎng)絡(luò),我們需要一個(gè)可以自己發(fā)泄的場所,這就是網(wǎng)絡(luò)安全的重要性。

創(chuàng)建chroot“監(jiān)牢”
以前,Unix/Linux上的daemon都是以root權(quán)限啟動的。當(dāng)時(shí),這似乎是一件理所當(dāng)然的事情,因?yàn)橄馎pache這樣的服務(wù)器軟件需要綁定到“眾所周知”的端口上(小于1024)來監(jiān)聽HTTP請求,而root是惟一有這種權(quán)限的用戶。

但是,隨著攻擊者活動的日益頻繁,尤其是緩沖區(qū)溢出漏洞數(shù)量的激增,使服務(wù)器安全受到了更大的威脅。一旦某個(gè)網(wǎng)絡(luò)服務(wù)存在漏洞,攻擊者就能夠訪問并控制整個(gè)系統(tǒng)。因此,為了減緩這種攻擊所帶來的負(fù)面影響,現(xiàn)在服務(wù)器軟件通常設(shè)計(jì)為以root權(quán)限啟動,然后服務(wù)器進(jìn)程自行放棄root,再以某個(gè)低權(quán)限的系統(tǒng)賬號來運(yùn)行進(jìn)程。這種方式的好處在于一旦該服務(wù)被攻擊者利用漏洞入侵,由于進(jìn)程權(quán)限很低,攻擊者得到的訪問權(quán)限又是基于這個(gè)較低權(quán)限的,對系統(tǒng)造成的危害比以前減輕了許多。

有些攻擊者會試圖找到系統(tǒng)其它的漏洞來提升權(quán)限,直至達(dá)到root。由于本地安全性遠(yuǎn)低于遠(yuǎn)程安全保護(hù),因此攻擊者很有可能在系統(tǒng)中找到可以提升權(quán)限的東西。即使沒有找到本地漏洞,攻擊者也可能會造成其它損害,如刪除文件、涂改主頁等。

為了進(jìn)一步提高系統(tǒng)安全性,Linux內(nèi)核引入了chroot機(jī)制。chroot是內(nèi)核中的一個(gè)系統(tǒng)調(diào)用,軟件可以通過調(diào)用庫函數(shù)chroot,來更改某個(gè)進(jìn)程所能見到的根目錄。比如,Apache軟件安裝在/usr/local/httpd/目錄下,以root用戶(或具有相同權(quán)限的其它賬號)啟動Apache,這個(gè)root權(quán)限的父進(jìn)程會派生數(shù)個(gè)以nobody權(quán)限運(yùn)行的子進(jìn)程,具體情況取決于個(gè)人設(shè)置。父進(jìn)程監(jiān)聽請求自80端口的tcp數(shù)據(jù)流,然后根據(jù)內(nèi)部算法將這個(gè)請求分配給某個(gè)子進(jìn)程來處理。這時(shí)Apache子進(jìn)程所處的目錄繼承自父進(jìn)程,即/usr/local/httpd/。

但是,一旦目錄權(quán)限設(shè)定失誤,被攻擊的Apache子進(jìn)程可以訪問/usr/local、/usr、/tmp,甚至整個(gè)文件系統(tǒng),因?yàn)锳pache進(jìn)程所處的根目錄仍是整個(gè)文件系統(tǒng)的根。如果能夠利用chroot將Apache限制在/usr/local/httpd/,那么,Apache所能存取的文件都是/usr/local/httpd/下的文件或其子目錄下的文件。創(chuàng)建chroot“監(jiān)牢”的作用就是將進(jìn)程權(quán)限限制在文件系統(tǒng)目錄樹中的某一子樹中。

為什么需要jail

將軟件chroot化的一個(gè)問題是該軟件運(yùn)行時(shí)需要的所有程序、配置文件和庫文件都必須事先安裝到chroot目錄中,通常稱這個(gè)目錄為chroot jail(chroot“監(jiān)牢”)。如果要在“監(jiān)牢”中運(yùn)行/sbin/httpd,而事實(shí)上根本看不到文件系統(tǒng)中那個(gè)真正的/sbin目錄。因此需要事先創(chuàng)建/sbin目錄,并將httpd復(fù)制到其中。同時(shí)httpd需要幾個(gè)庫文件,執(zhí)行如下命令可以看到這些庫文件(在真實(shí)的文件系統(tǒng)下運(yùn)行)。

_CODE>#ldd /sbin/httpd

libaprutil-0.so.0 => /usr/local/httpd/lib/libaprutil-0.so.0 (0x40017000)

libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x4003c000)

libdb-4.0.so => /lib/libdb-4.0.so (0x40043000)

libpthread.so.0 => /lib/tls/libpthread.so.0 (0x400eb000)

libexpat.so.0 => /usr/lib/libexpat.so.0 (0x400f8000)

libapr-0.so.0 => /usr/local/httpd/lib/libapr-0.so.0 (0x40118000)

librt.so.1 => /lib/librt.so.1 (0x40139000)

lIBM.so.6 => /lib/tls/lIBM.so.6 (0x4014b000)

libcrypt.so.1 => /lib/libcrypt.so.1 (0x4016d000)

libnsl.so.1 => /lib/libnsl.so.1 (0x4019a000)

libdl.so.2 => /lib/libdl.so.2 (0x401af000)

libc.so.6 => /lib/tls/libc.so.6 (0x42000000)

/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)_CODE>

這意味著還需要在“監(jiān)牢”中創(chuàng)建lib目錄,并將庫文件復(fù)制到其中。這一工作可以交由計(jì)算機(jī)完成,用jail等軟件包來幫助簡化chroot“監(jiān)牢”建立的過程。

編譯和安裝jail

從http://www.jmcresearch.com/static/dwn/projects/jail/jail.tar.gz可以下載到j(luò)ail的最新版本,它是由位于http://www.jmcresearch.com/projects/jail/的jail chroot項(xiàng)目小組開發(fā)的。該軟件包包含了幫助自動創(chuàng)建chroot“監(jiān)牢”的C程序、Perl程序和Bash腳本。
首先將jail.tar.gz置于任意目錄,然后執(zhí)行命令:

#tar xzvf jail.tar.gz && cd jail/src

按照個(gè)人實(shí)際情況修改makefile文件,尤其是安裝路徑(默認(rèn)安裝路徑是/usr/local)、體系結(jié)構(gòu)(jail支持Linux、FreeBSD、IRIX和Solaris),以及編譯選項(xiàng)等。最后執(zhí)行命令:

#make && make install

為jail創(chuàng)建chroot“監(jiān)牢”

現(xiàn)在創(chuàng)建一個(gè)目錄作為chroot“監(jiān)牢”,以/var/chroot/為例。執(zhí)行下面的命令為chroot“監(jiān)牢”創(chuàng)建環(huán)境:

#/usr/local/bin/mkjailenv /var/chroot

這樣“監(jiān)牢”就建好了。jail軟件包提供了幾個(gè)Perl腳本作為其核心命令,包括mkjailenv、addjailuser和addjailsw。如addjailsw會從真實(shí)文件系統(tǒng)中拷貝二進(jìn)制可執(zhí)行文件及其相關(guān)的其它文件(包括庫文件、輔助性文件和設(shè)備文件)到該“監(jiān)牢”中。

為jail“監(jiān)牢”添加軟件

接下來需要為這個(gè)“監(jiān)牢”增加一些軟件,以便讓它運(yùn)行起來。執(zhí)行以下命令安裝一些基本的軟件,包括ls、cat、cp等程序和ld-linux.so.2等庫文件。

#/usr/local/bin/addjailsw /var/chroot

事實(shí)上僅有這些基本軟件是不夠的,還需要把一些真正有用的東西限制起來。下面的例子展示了為“監(jiān)牢”添加arp程序的過程:

_CODE>#/usr/local/bin/addjailsw /var/chroot -P arp

addjailsw

A component of Jail (version 1.9 for linux)

http://www.jmcresearch.com/projects/jail/

Juan M. Casillas

Guessing arp args(0)

Warning: file .//lib/tls/libc.so.6 exists. Overwritting it

Warning: file .//lib/ld-linux.so.2 exists. Overwritting it

Warning: file .//etc/ld.so.cache exists. Overwritting it

Warning: file .//usr/lib/locale/locale-archive exists. Overwritting it

Warning: file .//usr/share/locale/locale.alias exists. Overwritting it

Warning: cant create /proc/net/arp from the /proc filesystem

Done._CODE>

再以Apache服務(wù)器軟件為例:

_CODE>#addjailsw /var/chroot/ -P /usr/local/httpd/bin/httpd

addjailsw

A component of Jail (version 1.9 for linux)

http://www.jmcresearch.com/projects/jail/

Juan M. Casillas

Guessing /usr/local/httpd/bin/httpd args(0)

Warning: file /var/chroot//lib/libssl.so.4 exists. Overwritting it

Warning: file /var/chroot//lib/libcrypto.so.4 exists. Overwritting it

Warning: file /var/chroot//lib/libresolv.so.2 exists. Overwritting it

……

Done._CODE>

不用在意那些警告信息,因?yàn)閖ail會調(diào)用ldd檢查httpd用到的庫文件。而幾乎所有基于共享庫的二進(jìn)制可執(zhí)行文件都需要上述的幾個(gè)庫文件。

接下來將Apache的相關(guān)文件拷貝到“監(jiān)牢”中:

#cp -a /usr/local/httpd/ /var/chroot/usr/local/

可根據(jù)個(gè)人情況依次將Apache需要的文件復(fù)制到“監(jiān)牢”中。

“監(jiān)禁”囚犯

有時(shí)候需要為chroot“監(jiān)牢”創(chuàng)建新的用戶,比如Apache要求創(chuàng)建nobody用戶作為子進(jìn)程用戶。鑒于可能有其它進(jìn)程使用nobody,還可以使用另一用戶——httpd。首先需要在真實(shí)系統(tǒng)中創(chuàng)建httpd用戶:

#useradd -d /var/chroot -s /usr/local/bin/jail httpd

然后執(zhí)行以下命令在chroot“監(jiān)牢”中創(chuàng)建httpd用戶:

#/usr/local/bin/addjailuser /var/chroot /usr/local/httpd /usr/sbin/httpd httpd

接下來修改/var/chroot/usr/local/httpd/conf/httpd.conf,將User nobody替換為User httpd。由于chroot后Apache將以httpd身份啟動進(jìn)程,只有root有權(quán)將Apache綁定在低端口上(通常為80),因此還需要修改端口值,該值必須大于1024(假設(shè)為8080)。這個(gè)修改要應(yīng)用到Apache的所有配置文件中,包括虛擬主機(jī)的配置。至于Apache的其它設(shè)置,與在真實(shí)文件系統(tǒng)時(shí)一樣配置即可。

大家看完這篇文章以后是不是覺得這個(gè)機(jī)制使得服務(wù)器變得更加安全了也有應(yīng)該有的保障了,是一件非常重要的事情,我也是這樣覺得的,所以當(dāng)我們有什么好的軟件或者什么好的服務(wù)器呢請你及時(shí)推薦。

亳州網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),亳州網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為亳州成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的亳州做網(wǎng)站的公司定做!

新聞標(biāo)題:Chroot機(jī)制使服務(wù)器技術(shù)更安全
文章URL:http://www.rwnh.cn/article16/cpshdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、虛擬主機(jī)、微信公眾號、網(wǎng)站維護(hù)、網(wǎng)站收錄、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
洪雅县| 柘城县| 萍乡市| 隆化县| 高安市| 城步| 沾益县| 苏尼特右旗| 且末县| 元江| 克什克腾旗| 昭苏县| 尼木县| 贞丰县| 沾化县| 铜梁县| 喜德县| 卓尼县| 文昌市| 凯里市| 莱西市| 石阡县| 阳朔县| 修文县| 望城县| 青铜峡市| 响水县| 尼玛县| 盐边县| 卢龙县| 稻城县| 盐亭县| 德惠市| 甘孜| 荆门市| 丹江口市| 界首市| 张家港市| 汶川县| 鄂托克前旗| 陇川县|