Linux學習日記之seLinux的簡單管理

1.seLinux
SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對於強制訪問控制的實現,是 Linux歷史上最傑出的新安全子系統。NSA是在Linux社區的幫助下開發了一種訪問控制體系,在這種訪問控制體系的限制下,進程只能訪問那些在他的任務中所需要文件。SELinux 是 2.6 版本的 Linux 內核中提供的強制訪問控制(MAC)系統。對於目前可用的 Linux安全模塊來說,SELinux 是功能最全面,而且測試最充分的。
2.selinux的三種狀態及查看這三種狀態的命令
selinux的三種狀態
1)disable 關閉狀態
2)enforcing 強制狀態,如果違反安全策略,則無法執行,此時會有警告,警告信息的查看:cat /var/log/audit/audit.log
3)permissive 警告狀態,selinux仍然有效,即使違反策略,依然可以執行,此時會有警告,警告信息的查看:cat /var/log/audit/audit.log
3.selinux狀態的查看
getenforce
3.selinux三種狀態的切換
關閉狀態和其他兩種狀態之間的切換,必須重啓系統(reboot),才能生效
警告狀態和強制狀態之間的切換(臨時設定),不需要重啓系統(reboot),立即生效
但是,警告狀態和強制狀態之間的切換(永久設定),需要重啓系統(reboot),才能生效
1.臨時設定(只限於強制狀態和警告狀態的切換)
系統重啓之後,又會恢復爲原來的selinux狀態
set enforce 0 將selinux設置爲警告狀態
Linux學習日記之seLinux的簡單管理
set enforce 1 將selinux設置爲強制狀態
Linux學習日記之seLinux的簡單管理
2.永久設定
編輯配置文件/etc/sysconfig/selinux
vim /etc/sysconfig/selinux
Linux學習日記之seLinux的簡單管理
如果臨時設定和永久設定的selinux狀態不同的時候,如果沒有重啓電腦,因爲臨時設定是立即生效,而永久設定需要重啓系統之後才能生效,所以,此時,臨時設定的優先級要高一些
三種狀態下,警告狀態與強制狀態會有警告日誌,關閉狀態沒有警告日誌
4.三種狀態產生的效果及警告日誌的查看
(1)警告狀態(會有警告日誌)
與關閉狀態的效果相同,只是警告狀態有警告日誌;而關閉狀態不會由警告日誌
所有的文件都可以看到
服務端
1)查看selinux狀態爲警告狀態
Linux學習日記之seLinux的簡單管理
2)清空日誌,(將空導入)
Linux學習日記之seLinux的簡單管理
3)剪切文件到/var/ftp(vsftpd服務的默認發佈目錄)
Linux學習日記之seLinux的簡單管理
Linux學習日記之seLinux的簡單管理
4)用客戶端用lftp命令連接服務端,因爲selinux爲警告狀態,所以會連接成功,能夠看到file文件,並有警告日誌產生
Linux學習日記之seLinux的簡單管理
5)在服務端查看是否有警告日誌產生
Linux學習日記之seLinux的簡單管理
有警告日誌產生
(2)強制狀態(會有警告日誌)
1)在服務端查看selinux是否爲強制狀態
Linux學習日記之seLinux的簡單管理
2)剪切文件到/var/ftp(vsftpd服務的默認發佈目錄
Linux學習日記之seLinux的簡單管理
3)用客戶端連接,連接成功,因爲selinux爲強制狀態,所以不能看到file與efile文件,併產生警告日誌
Linux學習日記之seLinux的簡單管理
4)查看警告日誌
Linux學習日記之seLinux的簡單管理
(3)關閉狀態(無警告日誌)
1)在服務端查看selinux狀態,爲關閉狀態
Linux學習日記之seLinux的簡單管理
2)清空警告日誌,將空導入
Linux學習日記之seLinux的簡單管理
3)剪切文件到/var/ftp(vsftpd服務的默認發佈目錄)
Linux學習日記之seLinux的簡單管理
4)用客戶端連接,因爲selinux爲關閉狀態,所以連接成功並能夠看到所有文件及目錄,並不會產生警告日誌
Linux學習日記之seLinux的簡單管理
5)在服務端查看,並無警告日誌產生
Linux學習日記之seLinux的簡單管理
5.selinux的安全上下文的查看與修改
強制狀態(enforcing)
當文件的安全上下文與ftp的默認安全上下文(publiccontentt)一致時,纔可以查看剪切過來的文件
安全上下文查看
Linux學習日記之seLinux的簡單管理
(1)臨時修改安全上下文
1)對文件來說:chcon -t publiccontentt /var/ftp/efile
服務端
Linux學習日記之seLinux的簡單管理
Linux學習日記之seLinux的簡單管理
客戶端
Linux學習日記之seLinux的簡單管理
但是如果目錄的上下文與ftp的默認上下文(publiccontentt)不一致時,雖然可以看到該目錄,但是目錄中的文件的上下文不是publiccontentt,也看不到文件
Linux學習日記之seLinux的簡單管理
Linux學習日記之seLinux的簡單管理
2)對目錄來說:chcon -t publiccontentt var/ftp/edir -R
在服務端:
修改安全上下文
Linux學習日記之seLinux的簡單管理
Linux學習日記之seLinux的簡單管理
在客戶端
Linux學習日記之seLinux的簡單管理
(2)永久修改安全上下文
服務端
semanage fcontext -a -t publiccontentt '/var/ftp/edir(/.)?' 修改/var/ftp/edir的目錄本身及目錄中的所有內容的安全上下文爲publiccontentt
Linux學習日記之seLinux的簡單管理
Linux學習日記之seLinux的簡單管理
修改後,需要刷新才能生效
restorecon -RvvF /var/ftp/edir
Linux學習日記之seLinux的簡單管理
Linux學習日記之seLinux的簡單管理
在客戶端測試
Linux學習日記之seLinux的簡單管理
能看到所有文件與目錄,修改成功
5.sebool值
selinux布爾值是更改selinux的開關;有時候,selinux的訪問權限可選可通過selinux布爾值觸發,可以提高系統安全性。
1)getsebool -a | grep ftp 顯示布爾值,查看功能的開啓或關閉狀態
Linux學習日記之seLinux的簡單管理
可以看到vsftpd服務的某些功能是默認關閉的
ftphomedir-------> off 表示本地用戶上傳文件的功能沒有開啓
本地用戶上傳不允許
測試:
Linux學習日記之seLinux的簡單管理
上傳失敗
2.setsebool -P ftphomedir on 開啓本地用戶的上傳功能
Linux學習日記之seLinux的簡單管理
再次查看是否修改成功
Linux學習日記之seLinux的簡單管理
修改成功
在客戶端測試:
Linux學習日記之seLinux的簡單管理
上傳成功
提供日誌的插件:setroubleshoot-server.x8664*
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章