selinux基本概念
SELinux(Security-Enhanced Linux安全增强型 Linux)是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。
SELINUX有「disabled」「permissive」,「enforcing」3种选择。
Disabled即表示关闭。
permissive就是Selinux有效,但是即使你违反了策略的话它让你继续操作,但是把你的违反的内容记录下来。在我们开发策略的时候非常的有用。相当于Debug模式。即警告状态。
Enforcing就是你违反了策略,你就无法继续操作下去,即表示强制。
更改selinux状态
selinux文件 /etc/sysconfig/selinux
vim /etc/sysconfig/selinux
reboot —————————–重启
getenforce————查看selinux状态
setenforce 0|1—————改变selinux状态,0为disabled,1为enforce
当为enforcing时,不能看到mv的文件
当为permissive时,可以看到mv的文件
更改文件的标签(安全上下文)
显示 SELinux 文件上下文
ps auxZ ———显示进程的安全上下文
ls -lZ ————显示文件的安全上下文
chcon临时更改安全上下文
在enforcing状态下则可以更改文件标签来看到mv的文件
chcon -t 文件标签 文件名
永久更改安全上下文
[root@localhost ~]# systemctl status vsftpd ####查看vsftp状态
[root@localhost ~]# firewall-cmd –list-all ####查看火墙名单
[root@localhost ~]# getenforce####查看selinux状态
[root@localhost ~]# mkdir /westos
[root@localhost ~]# touch /westos/file{1..4}
[root@localhost ~]# ls /westos/
file1 file2 file3 file4
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf ####更改匿名用户的家目录为/westos
[root@localhost ~]# systemctl restart vsftpd.service ####重启vsftpd服务
[root@localhost ~]# lftp 172.25.254.160 ####匿名用户访问时看不到/westos下的文件,原因是安全上下文不同
lftp 172.25.254.160:~> ls
lftp 172.25.254.160:/> ls
lftp 172.25.254.160:/> exit
[root@localhost ~]# ps auxZ | grep vsftpd ####显示vsftpd进程的安全上下文
[root@localhost ~]# ls -lZ /var/ftp/ ####查看/var/ftp的安全上下文
[root@localhost ~]# ls -lZ /westos/ ####查看/westos/的安全上下文
semanage 命令
semanage fcontext 可用与显示或修改 restorrecon 用来
设置默认文件上下文的规则
semanage fcontext 使用扩展正则表达式来指定路径和文件名。 fcontext 规则中最常用的扩展正则表达式是
(/.*)?, 表示随意地匹配 / 后跟任何数量的字符
[root@localhost ~]# semanage fcontext -l | grep westos####显示westos默认文件上下文的规则
[root@localhost ~]# semanage fcontext -l | grep /var/ftp/
[root@localhost ~]# semanage fcontext -a -t public_content_t ‘/westos(/.*)?’ ####修改westos的默认文件安全上下文,格式为’/westos(/.*)?’,必须加’ ‘表示符号,-a表示add添加,-t表示typy安全上下文类型
[root@localhost ~]# restorecon -RvvF /westos/ ####刷新配置
验证
管理selinux布尔值
SELinux 布尔值是更改 SELinux 策略行为的开关。
SELinux 布尔值是可以启用或禁用的规则。安全管理员可以使用 SELinux 布尔值来调整策略 , 以有选择地进行调整
getsebool 用于显示布尔值 , setsebool 用于修改布尔值setsebool -P 修改 SELinux 策略 , 以永久保留修改。
semanage boolean -l 将显示布尔值是否永久
[root@localhost ~]# getsebool -a | grep ftp ####用于显示ftp的布尔值
[root@localhost ~]# setsebool -P ftp_home_dir 1 ####修改ftp_home_dir的布尔值,1|on表示开启,0|off表示关闭,-P表示永久修改

本文介绍了SELinux的基本概念,包括其工作模式、如何更改SELinux状态、显示及更改文件的安全上下文等核心内容,并详细讲解了通过semanage命令管理和设置SELinux上下文的方法。

1万+

被折叠的 条评论
为什么被折叠?



