selinux
1.selinux的功能
selinux:內核加強型火牆
selinux的功能:當selinux開啓時會給系統的每個文件及每個程序加載安全上下文,特定安全上下文的程序只能訪問特定上下文的文件
當selinux開啓會對服務本身相對不安全的功能加載開關sebool並且設定開關爲關閉狀態以保證服務安全性,當需要此功能時需要超級用手動調節
在/mnt 下建立安全上下文爲空文件file移動到ftp默認發佈目錄中可以被訪問,ftp安全上下文爲空,用戶可以上傳文件
當selinux功能沒有開啓時
當selinux功能開啓時
# getsebool -a | grep ftp
selinux的狀態
狀態類型:
disabled 關閉
enforcing 開啓
permissive 警告
setenforce 0 警告模式
setenforce 1 強制模式
getenforce 查看selinux 的狀態
vim /etc/sysconfig/selinux 編輯文件改變selinux的狀態 (修改文件後必須reboot才能改變狀態)
setenforce 0 改變selinux的狀態爲警告模式
查看linux時的警告信息
安全上下文
1.臨時更改安全上下文
ls -Z /var/ftp 查看ftp默認路徑下文件的安全上下文
在selinux開啓時file文件可以訪問 linux文件不可以訪問
修改linux文件的安全上下文後linux文件可以訪問
2.永久更改安全上下文
1> 在selinux開啓狀態下建立一個目錄,在目錄中建立文件
2> 設定westos用戶登錄時候的家目錄爲 /ftpuserdir
# vim /etc/vsftpd/vsftpd.conf 編輯文件
# systemctl restart vsftpd 重啓服務
測試:
當用westos用戶登錄ftp服務時無法訪問家目錄中的文件,因爲selinux安全上下文不匹配
查看內核安全上下文列表中的信息
# semanage fcontext -l | grep /ftpuserdir 查看安全上下文列表中的信息
# semanage fcontext -a -t public_content_t /ftpuserdir'(/.*)?' 添加列表信息(當前不生效)
# restorecon -RvvF /ftpuserdir 刷新安全上下文
再次查看
用戶westos登錄ftp訪問
4. sebool
SEBOOL
selinux 對服務功能的開關
1.在selinux功能爲Enforcing時開啓匿名用戶傳輸文件的功能,發現其不能傳輸文件.
# vim /etc/vsftpd/vsftpd.conf 編輯文件
# systemctl restart vsftpd 重啓服務
2.修改/var/ftp/pub 文件內的安全上下文爲r w,發現匿名用戶還是不能傳輸文件
# semanage fcontext -a -t public_content_rw_t /var/ftp/pub'(/.*)?' 將安全上下文列表中的信息改爲可讀可寫
# restorecon -RvvF /var/ftp/pub/ 刷新安全上下文列表
3.開啓selinux對匿名用戶寫的功能,發現匿名用戶可以正常上傳文件
# getsebool -a | grep ftp 查看ftp服務功能開關
# setsebool -P ftpd_-anon_write=1 開啓功能 (-P爲永久,否則爲臨時)
5.setrouble
selinux功能爲開啓狀態
安裝 setroubleshoot-server.x86_64
# /sbin/restorecon -v /var/ftp/linux5 分析日誌並提供解決辦法
# /sbin/restorecon -v /var/ftp/linux5