LINUX ACL訪問控制列表,SELINUX安全性基本總結

十、訪問控制列表(ACLhtml

標準的linux文件權限能夠知足絕大多數狀況的要求,但它也有侷限。限制訪問文件的權限僅限授予文件的全部者,單組成員或其餘任何人,進程可能不適合成爲文件所屬組成員,授予全部人權限是不現實的作法。linux

ACL容許向文件分配細化權限,除標準文件全部者組全部者和其餘文件權限外,還能夠向指定用戶或指定組,以及UIDGUID肯定的用戶和組授予權限,這些權限均應用相同的權限標誌r讀取w寫入x執行。web

文件全部者能夠在單個文件或目錄上使用ACL,新文件和子目錄能夠從父級默認ACL中繼承ACL權限,與常規文件的訪問規則類似,父目錄訪問結構須要至少設置其餘執行權限,以便啓用制定用戶和指定組的訪問權限。vim

文件系統掛載選項安全

文件系統需掛載以啓用的ACL支持,XFS文件系統內置有ACL支持。服務器

Ls    -l         查看和解釋acl權限ide

若是十個字符組成的權限字符串的末尾是+,即表示文件有相關聯的ACL設置,對於用戶,組和其餘的’rwx‘標誌解釋以下:spa

用戶: 顯示用戶acl設置,與其標準用戶文件設置相同;rwxrest

組:實現當前acl掩碼設置,而不是組全部者設置,rwhtm

其餘:顯示其餘acl設置,其與標準文件設置相同,無訪問權限。

若是使用chmod更改具備acl的文件的組權限,則不會更改組全部者權限,而是更改acl掩碼,若是目的是更改文件組全部者的權限須要使用setfacl  -m  g::perms  file

getfacl                               查看文件acl

Setfacl                               添加,修改或刪除文件和目錄的標準acl

Setfacl  -m   u:user:執行權限   file      修改指定用戶對文件的訪問權限

Setfacl  -m   ggroup:執行權限  file    修改指定組對文件的訪問權限

Setfacl  -m   o::執行權限  file                修改指定其餘對文件的訪問權限

Chmod  g+(-)執行權限  file                              修改maskacl掩碼)值。

Defaultm::執行權限 file                               修改默認掩碼值

Setfacl  -R -m                         使用遞歸的方式將acl應用到目錄結構的文件中

Setfacl   -x                           刪除特定的acl條目

Setfacl   -b                           刪除文件和目錄的全部acl

setfacl  -m  d:u:user:執行權限  file         修改默認的acl權限。

Setfacl  x  d:u:user:執行權限  file          刪除acl默認條目。

三、啓用和監控SELINUX(security enhanced linux)

Selinux 安全的基本概念

Selinux是一個額外的系統安全層,它的主要目的是防止已遭泄露的系統服務訪問用戶數據,大多數linux用戶都熟悉標準的用戶//其餘權限安全模型。這種基於用戶和組的模型成爲自由決定的訪問控制,selinux提供另外一層安全,他基於對象並有更加複雜的規則控制,稱爲強制訪問控制。

要容許遠程web訪問服務器,必須打開防火牆端口,然而惡意人員卻有辦法經過安全漏洞侵入系統,並且若是他們破壞web服務進程,還會取得其權限。

Selinux是肯定哪些進程哪些組能夠訪問哪些文件,目錄,和端口的一組安全規則。每一個進程和端口都具備特別的安全標籤,成爲selinux的上下文。Selinux策略使用它來肯定某個進程可否訪問文件,目錄和端口。除非顯示規則授予訪問權限,不然,在默認狀況下,策略不容許有任何交互,若是沒有容許規則,則不容許訪問。

Selinux有多種上下文:用戶,角色,類型和敏感度。目標策略(linux啓用的默認策略)會根據第三個上下文來指定本身的規則。類型上下文會以_t結尾。Web類型的上下文是httpd_t,一般位於/var/www/html中的文件和目錄類型的上下文是httpd_sys_content_t。一般位於/tmp/var/tmp中的文件類型上下文是tmp_t,web服務器端口的文件類型上下文是http_port_t

許多處理文件的命令有一個用於顯示或者設置selinux上下文的選項,一般是-Z,例如pslscp,和mkdir

Selinux模式;

強制模式:selinux主動拒絕訪問嘗試讀取類型上下文爲tmp_t的文件的web服務器。在強制模式中,selinux不只記錄並且提供保護。

許可模式:一般用於對問題進行故障排錯,在此模式中既沒有顯示規則,selinux也會容許全部交互,並且會記錄她在強制模式中拒絕的那些交互,可以使用此模式來暫時容許訪問selinux的限制內容,無需從新啓動便可在強制模式和容許模式之間轉換。

禁用模式,會徹底禁用selinux,須要完全禁用selinux,或是從禁用模式轉換爲強制模式,或許可模式。

最好使用許可模式,而不是完全關閉selinux,緣由之一在於即便在許可模式中,內核也將根據須要自動維護selinux文件系統標籤,從而避免爲了啓動selinux而重啓系統時,從新標記系統所帶來的昂貴費用。

Getenforce              顯示當前使用有效的selinux模式。

Selinux 布爾值:是更改selinux策略的開關。Selinux布爾值是能夠啓動或禁用的規則。安全管理員是可使用selinux布爾值來有選擇地調整策略。

更改selinux的模式:

若處於故障排錯目的,可以使用selinux模式暫時禁用selinux保護。

Setenforce  o           暫時修改成permissive許可模式

Setenforce  1           暫時修改成enforcing強制模式

設置默認的selinux模式:

Vim  /etc/selinux/config

SELINUX=permissive  修改成SELINUX=enforcing

wq

Systemctl   reboot

更改selinux上下文

Ls     -Zd       查看查看當前目錄的selinux上下文

一般文件父目錄的上下文決定該文件初始的selinux上下文。父目錄的上下文會分配給新建文件,適用於vimcptouch等文件,若是文件是在其餘位置建立並權限得以保留如mvcp  -a 等,那麼原始selinux上下文不會發生更改。

chconrestorecon,能夠更改原始selinux上下文。Chcon將文件的上下文更改爲已指定參數的上下文,chcon   -t    只用於指定上下文類型。

Restorecon  -v 是更改文件和目錄的首選方法,不一樣於chcon,它不會明確指定上下文,它使用selinux策略來肯定應該是那種文件的上下文。

更改selinux布爾值

Selinux布爾值是更改selinux策略行爲的開關,selinux布爾值是能夠禁用或啓用的規則。安全管理員可使用selinux布爾值來有選擇的調整策略。

Getsebool   -a                         顯示selinux布爾值

Setsebool    上下文   on/off                          修改selinux布爾值

Setsebool    -P   上下文    on/off             修改selinuxcelue,並永久保存

Semanage    boolean   -l               將會顯示布爾值是否爲永久值,並提供簡短描述。

Semanage    boolean   -l   -C          僅列出本地修改的selinux布爾值狀態。

相關文章
相關標籤/搜索