linux之selinux安全子系统
- 什么是selinux
SELinux(Security-Enhanced Linux)是美国国家安全局在Linux开源社区的帮助下开发的一个强制访问控制(MAC,Mandatory Access Control)的安全子系统。使用SELinux技术的目的是为了让各个服务进程都受到约束,使其仅获取到本应获取的资源。
SELinux安全子系统能够从多方面监控违法行为,比如对服务程序的功能进行限制;或对文件资源的访问限制(SELinux安全上下文确保文件资源只能被其所属的服务程序进行访问)。
- 设定方式
配置文件设定:(永久设定)
vim /etc/sysconfig/selinux
SELINUX=enforcing
getenforce ##查看
开关设定(临时设定):
getsebool -a | grep ftp ##显示ftp相关开关
setsebool -P ftp_home_dir on ##开启(0是关闭,1是开启)
- 恢复文件和目录安全上下文
文件永久恢复:
touch /mnt/file1 ##在mnt下创建一个实验用文件file1
mv /mnt/file1 /var/ftp ##移动文件到ftp下
ls -Z /var/ftp ##查看文件上下文属性
chcon -t public_content_t /var/ftp/westos1 ##文件永久恢复安全上下文
目录临时恢复:
mkdir -p /var/ftpdir ##创建实验用ftpdir 目录
touch /var/ftpdir/file{1..3} ##在该目录下创建3个file文件
vim /etc/vsftpd/vsftpd.conf ##编写配置文件
anon_root=/var/ftpdir ##指定ftp共享目录
systemctl restart vsftpd ##重启服务
lftp 172.25.254.43##连接ftp并查看
ls -Zd /var/ftpdir ##查看目录上下文属性
chcon -t public_content_t /var/ftpdir -R ##临时递归恢复目录安全上下文
目录永久恢复:
semanage fcontext -a -t public_content_t "/var/ftpdir(/.*)?" ##永久恢复目录的安全上下文
restorecon -R /var/ftpdir ##递归更新
semanage fcontext -l | grep ftpdir ##查看效果
ls -Z /var/ftpuser ##查看目录以及下属文件上下文属性
- selinux日志及插件
yum search selinux ##查找selinux相关插件
cat var/log/messages ##可查看日志及解决方案
cat var/log/audit/audit.log ##查看selinux日志(无解决方案)
END