鎖定關鍵文件,加強Linux安全性

原文發表於《網絡安全和信息化》2017年第2期,從新修訂以後轉發到博客。安全

文件的擴展屬性與文件的權限是兩個徹底獨立的概念,可是經過設置擴展屬性,能夠限制用戶的權限。
爲了便於理解,這裏以Windows系統爲例進行說明。在Windows系統中,選中某個文件以後,右鍵單擊選擇「屬性」,在「常規」設置中能夠選擇爲文件設置「只讀」屬性,如圖所示。當設置了只讀屬性以後,任何用戶不管他對該文件是否具備寫入權限,都沒法更改該文件的內容。於是,擴展屬性能夠被看做是一種優先級比系統權限更高的保護措施。
鎖定關鍵文件,加強Linux安全性服務器

Linux系統的擴展屬性,原理與Windows系統基本相同,並且Linux中能夠設置的擴展屬性遠比Windows系統要更爲豐富,不過最經常使用的只有只讀屬性(用i表示)和追加屬性(用a表示),若是一個文件被設置了追加屬性,那麼就只能向文件中增長新的數據,而沒法刪除原有的數據。追加屬性一般用於保護日誌文件的安全。
root用戶在Linux系統中的權限不受任何制約,但屬性設置不一樣於權限設置,即便root用戶也沒法突破擴展屬性的限制。固然root用戶能夠設置或取消文件的擴展屬性,但不管怎樣,擴展屬性都在系統權限以外,又爲咱們提供了一種安全保護措施。
在Linux系統中設置擴展屬性須要經過chattr命令,命令格式:
chattr [-R] +/- i/a 文件
 -R:遞歸修改全部的文件及子目錄,這是一個可選項。
 +:增長擴展屬性;
 -:減小擴展屬性;
 i:只讀屬性,增長該屬性以後,任何人包括root用戶也無權寫入更改;
 a:追加屬性,增長該屬性以後,只能向文件中添加數據,而不能刪除原有數據。
經過chattr命令能夠鎖定系統中一些重要的文件或目錄。例如,爲/etc/passwd和/etc/shadow文件增長只讀屬性,這樣任何人都沒法在系統中添加新的用戶,也沒法刪除系統中原有的用戶。
[root@localhost ~]# chattr +i /etc/passwdd /etc/shadow
此時再建立用戶就會出現錯誤提示。網絡

[root@localhost ~]# useradd test
useradd:沒法打開密碼文件

lsattr命令可用於顯示文件的擴展屬性。ide

[root@localhost ~]# lsattr /etc/passwd /etc/shadow
----i-------- /etc/passwd
----i-------- /etc/shadow

若是管理員須要對系統中的用戶進行操做,則能夠去掉/etc/passwd和/etc/shadow文件的只讀屬性。日誌

[root@localhost ~]# chattr -i /etc/passwd /etc/shadow
[root@localhost ~]# lsattr /etc/passwd /etc/shadow
------------- /etc/passwd
------------- /etc/shadow

爲了加強系統安全性,一般能夠爲如下這些目錄和文件增長只讀屬性:code

chattr -R +i /bin /boot /lib /sbin
chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbin
chattr +i /etc/passwd /etc/shadow
chattr +i /etc/hosts /etc/resolv.conf
chattr +i /etc/fstab /etc/sudoers

另外能夠對一些重要的日誌文件設置追加屬性:
chattr +a /var/log/messages /var/log/wtmp
須要注意的是,鎖定系統關鍵文件,雖然可以提升系統安全性,可是也會帶來一些不便。例如,在軟件的安裝、升級時可能就須要先去掉有關目錄和文件的只讀和追加屬性。另外,若是對日誌文件設置了追加屬性,可能會使日誌輪換(logrotate)沒法進行。所以在使用chattr命令前,須要結合服務器的應用環境來權衡是否須要設置只讀和追加屬性。
另外,擴展屬性並不適用於全部的文件或目錄。好比不能經過設置擴展屬性來保護/、/dev、/tmp、/var等目錄。首先根目錄不能設置只讀屬性,若是根目錄具備只讀屬性,那麼系統將沒法工做。/dev目錄在啓動時,syslog須要刪除並從新創建/dev/log套接字設備,若是設置了只讀屬性,那麼就可能會出問題。/tmp目錄會有不少應用程序和系統程序須要在這個目錄下創建臨時文件,於是也不能設置只讀屬性。/var是系統和程序的日誌目錄,若是設置爲只讀屬性,那麼系統寫日誌將沒法進行,因此也不能經過chattr命令保護。視頻

更多內容可參考視頻課程:Linux用戶和權限管理
http://edu.51cto.com/sd/36ff3blog

相關文章
相關標籤/搜索