<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

保障Linux的臨時(shí)文件安全

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

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

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

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

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

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

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

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

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

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

  # 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,以便于在啟動(dòng)時(shí)自動(dòng)加載loopback文件系統:

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

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


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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>