1. 程式人生 > >selinux核心級加強型防火牆

selinux核心級加強型防火牆

###########selinux核心級加強型火牆##########
selinux基本認識和設定
1.CONTEXT 安全上下文
程式安全上下文和檔案安全上下文匹配時訪問允許
程式安全上下文和檔案安全上下文不匹配時訪問不允許
2.getsebool 功能開關
getsebool -a | grep ftp
對服務 功能開關
對檔案 安全標籤
在這裡插入圖片描述

3.檢視selinux的狀態
執行getenforce
在這裡插入圖片描述
修改狀態編輯vim /etc/sysconfig/selinux
SELINUX=enforcing開啟
reboot重新啟動
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
開機後檢視selinux=enforcing

SELINUX=disabled 關閉狀態
reboot重新啟動 ///開啟和關閉selinux需要重啟
開啟狀態
enforcing
permissive
開啟狀態下切換
setenforce 1 強制
setenforce 0 警告
在這裡插入圖片描述

檔案的安全上下文的臨時設定
臨時設定
cd /mnt
touch westosfile
在這裡插入圖片描述
mv /mnt/westosfile /var/ftp
lftp 172.2.5.254.103
ls 不會顯示 /因為檔案上下文不匹配,所以lftp是是不會顯示此處的westosfile的
在這裡插入圖片描述
當cd /var/ftp
ls 有檔案
ls -Zd /var/ftp
chcon -t public_content_t westosfile 臨時設定上下文對應
ls -Z
在這裡插入圖片描述
再去測試,用另一臺主機lftp 172.25.71.150
ls
在這裡插入圖片描述
剛才的westosfile就會顯示,
########檔案安全上下文的永久設定#######


永久設定
1.編輯檔案vim /etc/vsftpd/vsftpd.conf
anon_root=/ftphome 讓匿名使用者lftp到/ftphome
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
重新啟動服務

2.ls -Zd /ftphome //檢視/ftphome的安全上下文
在這裡插入圖片描述
3.chcon -t public_content_t /ftphome/ -R 改變/ftphome/下所有的安全上下文,改成後/var/ftp/一致的安全上下文
在這裡插入圖片描述
4.ls -Zd /ftphome/
ls -Zd /var/ftp/ 檢視兩個目錄的上下文是否一致
在這裡插入圖片描述 5.在另外一臺主機lftp就可以看到ftphome底下的東西了
在這裡插入圖片描述
6.semanage fcontext -l | grep /ftp /檢視/var/ftp的安全文型別
在這裡插入圖片描述


在這裡插入圖片描述
7.semanage fcontext -a -t public_content_t ‘/ftphome(/.*)?’ //改變/ftphome目錄下的安全上下文
restorecon -RvvF /ftphome/ 遞迴設定
在這裡插入圖片描述
reboot 重新啟動
8.重啟之後檢視/ftphome下檔案的安全上下文
在這裡插入圖片描述
8.用另外一臺主機lftp 172.25.71.150
ls 可以看到/ftphome/下的內容
在這裡插入圖片描述
###########匿名使用者的上傳#############
1.當selinux=permissive 警告模式下的匿名使用者上傳
在這裡插入圖片描述
2.檢視ftp各項功能的狀態
在這裡插入圖片描述
3.開啟第一個 ftp_home_dir 建立目錄功能,再檢視是否開啟
在這裡插入圖片描述4.再修改配置檔案 vim /etc/vsftpd/vsftpd.conf
把匿名使用者上傳開啟
在這裡插入圖片描述
然後重新啟動vsftpd服務,讓其生效

5.chgrp ftp /var/ftp/pub/匿名使用者預設身份ftp 更改組
chmod 775 /var/ftp/pub/更改許可權
在這裡插入圖片描述
6.測試,用另一個主機lftp 172.25.71.150 上傳檔案 發現可以將/etc/passwd上傳
在這裡插入圖片描述
7…當selinux=enforcing 強制模式下的匿名使用者上傳
在這裡插入圖片描述
按照剛才的實驗lftp發現是上傳不了檔案的
在這裡插入圖片描述
8.開啟匿名使用者寫許可權
在這裡插入圖片描述
9.用ls -Z /var/ftp/pub 的許可權和程式以及上下文 ,發現許可權不夠
在這裡插入圖片描述
加入讀寫許可權並檢視
在這裡插入圖片描述
10.測試,用另一臺主機lftp 172.25.71.150 並上傳/etc/group
在這裡插入圖片描述
在這裡插入圖片描述
selinux的配置檔案以及問題解決方法的配置檔案
1.selinux的日誌檔案
selinux日誌檔案儲存在 /var/log/audit/audit.log
在這裡插入圖片描述
在這裡插入圖片描述
2.selinux的問題解決方案 /var/log/messages
在這裡插入圖片描述
在這裡插入圖片描述
3.setroubleshoot-server.x86_64 軟體將selinux的問題解決方案採集到/var/log/messages
當系統有setroubleshoot-server.x86_64 軟體就會採集selinux問題解決方案到/var/log/messages裡
在這裡插入圖片描述
4.當系統沒有setroubleshoot-server.x86_64 軟體就不會採集selinux問題解決方案到/var/log/messages裡
在這裡插入圖片描述
在這裡插入圖片描述