<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 保障Linux的臨時文件安全

          保障Linux的臨時文件安全

          作者: 時間:2009-08-10 來源:網(wǎng)絡(luò) 收藏
          在一個典型的系統(tǒng)中,至少有兩個目錄或分區(qū)保持著臨時文件。其中之一是/tmp目錄,再者是/var/tmp。在更新的內(nèi)核的系統(tǒng)中,還可能有/dev/shm,它是用文件系統(tǒng)裝載的。

          存儲臨時文件的目錄存在著一個問題,即這些目錄可以成為損害系統(tǒng)安全的僵尸和rootkit的溫床。這是因為在多數(shù)情況下,任何人(或任何過程)都可以向這些目錄寫入東西,還有不安全的許可問題。我們知道都sticky bit,該位可以理解為防刪除位。如果希望用戶能夠添加文件但同時不能刪除文件, 則可以對文件使用sticky bit位。設(shè)置該位后,就算用戶對目錄具有寫權(quán)限,也不能刪除該文件。多數(shù)發(fā)行版本在臨時目錄上設(shè)置sticky位,這意味著用戶A不能清除屬于用戶B的一個文件,反之亦然。但是,根據(jù)文件自身的許可,用戶A有可能查看并修改那個文件的內(nèi)容。

          一個典型的Linux安裝將/tmp設(shè)置為mode 1777,這意味著它設(shè)置了sticky位,并且可被所有的用戶讀取、寫入、執(zhí)行。多數(shù)情況下,這如同其設(shè)置的安全一樣,主要是因為/tmp目錄僅僅是一個目錄,而不是一個自己的文件系統(tǒng)。/tmp目錄依賴于/分區(qū),這樣一來它也就必須遵循其裝載選項。

          一個更加安全的解決方案可能是將/tmp設(shè)置在其自己的分區(qū)上,這樣一來它就可以獨立于/分區(qū)裝載,并且可以擁有更多的限制選項。/tmp分區(qū)的/etc/fstab項目的一個例子看起來是這樣的:

          /dev/sda7 /tmp ext3 nosuid,noexec,nodev,rw 0 0

          這就設(shè)置了nosuid、noexec、nodev選項,意味著不允許任何suid程序,從這個分區(qū)不能執(zhí)行任何內(nèi)容,并且不存在設(shè)備文件。

          你可以清除/var/tmp目錄,并創(chuàng)建一個symlink指向/tmp目錄,如此一來,/var/tmp中的臨時文件就可以利用這些限制性的裝載選項。

          /dev/shm虛擬文件系統(tǒng)也需要保障其安全,這可以通過改變/etc/fstab而實現(xiàn)。典型情況下,/dev/shm通過defaults選項加載,對保證其安全性是很不夠的。就像/tmp的fstab一樣,它應(yīng)當具備限制性更強的加載選項:

          none /dev/shm defaults,nosuid,noexec,rw 0 0

          最后,如果你沒有能力在現(xiàn)有的驅(qū)動器上創(chuàng)建一個最新的/tmp分區(qū),你可以通過創(chuàng)建一個loopback文件系統(tǒng)來利用Linux內(nèi)核的 loopback特性,這個文件系統(tǒng)可被裝載為/tmp,并可以使用相同的限制加載選項。要創(chuàng)建一個1GB的loopback文件系統(tǒng),需要執(zhí)行:

            # dd if=/dev/zero of=/. bs=1024 count=1000000

            # mke2fs -j /.tmpfs

            # cp -av /tmp /tmp.old

            # mount -o loop,noexec,nosuid,rw /.tmpfs /tmp

            # chmod 1777 /tmp

            # mv -f /tmp.old/* /tmp/

            # rmdir /tmp.old

          一旦完成,需要編輯/etc/fstab,以便于在啟動時自動加載loopback文件系統(tǒng):

            /.tmpfs /tmp ext3 loop,nosuid,noexec,rw 0 0

          保障恰當?shù)脑S可和使用限制性加裁選項等方法能夠防止對系統(tǒng)的許多損害。如果一個僵尸在一個不能執(zhí)行的文件系統(tǒng)上安了家,那么它從本質(zhì)上講也是不值得擔(dān)心的。
          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          關(guān)鍵詞: 臨時文件安全 Linux tmpfs

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();