您好,登錄后才能下訂單哦!
1.什么時Selinux
Selinux,內核級加強型防火墻
SElinux是強制訪問控制(MAC)安全系統,是linux歷史上最杰出的新安全系統。對于linux安全模塊來說,SElinux的功能是最全面的,測試也是最充分的,這是一種基于內核的安全系統。
Selinux三個模式
Enforcing 強制(強制模式)— SELinux 策略強制執行,基于 SELinux 策略規則授予或拒絕主體對目標的訪問
Permissive 寬容(警告模式)— SELinux 策略不強制執行,不實際拒絕訪問,但會有拒絕信息寫入日志
Disabled 禁用(關閉模式)— 完全禁用SELinux
2.如何管理selinux級別
selinux開啟或者關閉
在配置文件"/etc/sysconfig/selinux"下將"SELINUX=enforcing"改為"SELINUX=disabled",因為SElinux是基于內核的安全系統,所以在設置完成之后需要重啟內核,即需要重啟電腦才可以生效。
vim /etc/sysconfig/selinux
selinux=disabled ##關閉狀態
selinux=Enforcing ##強制狀態
selinux=Permissive ##警告狀態
selinux開啟或者關閉
getenforce ##查看狀態
當selinux開啟時, "setenforce"可以設置SElinux的狀態,但是只能設置0和1兩種,即警告模式或者強制模式。
setenforce 0|1 ##更改selinux運行級別,
3.如何更改文件安全上下文
查看安全上下文): SElinux會在目錄和文件上留下上下文標識
ls -Z
臨時更改)
chcon -t 安全上下文 文件
chcon -t public_content_t /publicftp -R
永久更改)
semanage fcontext -l ##列出內核安全上下文列表內容
semanage fcontext -a -t public_content_t '/publicftp(/.*)?'
restorecon -FvvR /publicftp/
4.如何控制selinux對服務功能的開關
getsebool -a | grep 服務名稱
getsebool -a | grep ftp
setsebool -P 功能bool值 on|off
setsebool -P ftpd_anon_write on
SElinux對服務的影響
SElinux是最全面的安全系統,所以會對文件和服務有一定的限制,以下服務以ftp為例。
SElinux會在文件上做出上下文標識,例如下圖所示,在"/mnt"和"/var/ftp/pub"下分別建立文件"file",輸入"ls -Z"可以查看文件標識。可以看出,"/mnt/file"為"mnt_t",而"/var/ftp/pub/file"標識為"public_content_t",這樣會導致將"/mnt/file"移入"/var/ftp/pub"目錄下,連接lftp無法看到這個文件。
SElinux為了系統的安全,會禁止服務一些危險功能的使用,可以輸入"getsebool -a | grep ftp"來查看禁止了ftp服務的哪些功能,如下圖所示,輸入"setsebool -P 功能 on|off"可以控制這些功能的開關。
5.監控selinux的錯誤信息
setroubleshoot-server
項目案例一: httpd服務共享文件安全上下文的管理
** selinux開啟的情況下做實驗
yum install httpd -y
systemctl start httpd
systemctl enable httpd
systemctl stop firewalld
systemctl disable firewalld
hostname > /var/www/html/hello.html
date +%F > /mnt/westos.html
mv /mnt/westos.html /var/www/html/
現象一: 用戶通過瀏覽器可以訪問hello.html文件, 但不能訪問westos.html文件。如何解決呢?因為文件的安全上下文不同導致的.
ls -Z /var/www/html/
chcon -t httpd_sys_content_t /var/www/html/westos.html # 臨時修改安全上下文, 重啟后失效
semanage fcontext -l # 查看系統默認的安全上下文信息
semanage fcontext -a -t httpd_sys_content_t /var/www/html/westos.html # 永久修改文件的安全上下文到系統中
restorecon -FvvR /var/www/html/ # 刷新目錄, 重新讀取安全上下文
項目案例二: vsftpd服務共享文件安全上下文的管理
項目案例三: vsftpd服務上傳文件的管理(selinux開啟的情況)
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
開啟selinux對服務功能的開關
setsebool -P ftpd_anon_write on
setsebool -P ftpd_full_access on
項目案例四: Selinux如何管理/錯誤信息處理
1). Selinux的警告日志信息文件: /var/log/audit/audit.log
Selinux的警告日志信分析之后給出的解決方案存儲的位置: /var/log/messages
2). 實現selinux警告分析并給出解決方案的軟件名: rpm -qa | grep setroubleshoot-server
3). 測試步驟
1 > /var/log/messages
2 > /var/log/audit/audit.log
3 ifconfig | less
4 setsebool -a | grep ftp
5 getsebool -a | grep ftp
6 less /var/log/audit/audit.log 查看日志文件
7 rpm -qa | grep setroubleshoot-server
8 less /var/log/messages
9 yum install httpd -y
10 systemctl start httpd
11 systemctl enable httpd
12 rpm -qc httpd
13 vim /etc/httpd/conf/httpd.conf@@
br/>@@
@@
14 systemctl restart httpd
15 less /var/log/messages
16 semanage port -a -t http_port_t -p tcp 6666
17 semanage port -l | grep http
18 systemctl restart httpd
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。