- 論壇徽章:
- 0
|
在FreeBSD中, 有一個(gè)類似于chroot的東西, 叫做jail, 它能不僅能把一個(gè)進(jìn)程限制在一個(gè)文件夾下面, 而且還可以進(jìn)一步限制該進(jìn)程可以使用的資源, 以及對(duì)網(wǎng)絡(luò)連接的隔離.
chroot: 改變進(jìn)程的根目錄為制定目錄. 在chroot之后沒有可能再切換回原來(lái)的根目錄. 通過chroot可以稍微提高系統(tǒng)的安全性, 但不是最終的解決方案.
chroot的缺點(diǎn)在于:
1. chroot可以通過加載內(nèi)核模塊的方式進(jìn)行破解.
2. chroot之后的進(jìn)程依然可以connect到正常進(jìn)程listen的端口.
FreeBSD的jail對(duì)chroot的改進(jìn)在于:
1. jail之后的進(jìn)程默認(rèn)是不能加載內(nèi)核模塊或者是創(chuàng)建socket的.
2. 每個(gè)jail擁有不同的jid, 不同的jail很容易區(qū)分, 比方說(shuō)可以pkill -j jid -KILL來(lái)結(jié)束指定jail的所有子進(jìn)程. jid已經(jīng)設(shè)計(jì)在進(jìn)程結(jié)構(gòu)之中.
應(yīng)用舉例:
1. 通過Jail來(lái)構(gòu)造一個(gè)安全穩(wěn)定的apache服務(wù)器:
讓httpd以www用戶身份執(zhí)行, 并且限制只能訪問/var/jail/apache文件夾下面的文件. 這里可以給這個(gè)jail的網(wǎng)絡(luò)連接設(shè)置一個(gè)獨(dú)立的IP, 這樣就如同運(yùn)行了一個(gè)虛擬機(jī)一般. 這里事實(shí)上我們只是運(yùn)行了一個(gè)程序而已, 因此jail技術(shù)的性能是非常之高的, 一臺(tái)機(jī)器能同時(shí)跑多少個(gè)apache進(jìn)程, 就能開多少個(gè)虛擬機(jī).
http://blog.epptime.com/?p=12 |
|