Linux学习日记之seLinux的简单管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习日记之seLinux的简单管理相关的知识,希望对你有一定的参考价值。
1.seLinux
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统。对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的。
2.selinux的三种状态及查看这三种状态的命令
selinux的三种状态
1)disable 关闭状态
2)enforcing 强制状态,如果违反安全策略,则无法执行,此时会有警告,警告信息的查看:cat /var/log/audit/audit.log
3)permissive 警告状态,selinux仍然有效,即使违反策略,依然可以执行,此时会有警告,警告信息的查看:cat /var/log/audit/audit.log
3.selinux状态的查看
getenforce
3.selinux三种状态的切换
关闭状态和其他两种状态之间的切换,必须重启系统(reboot),才能生效
警告状态和强制状态之间的切换(临时设定),不需要重启系统(reboot),立即生效
但是,警告状态和强制状态之间的切换(永久设定),需要重启系统(reboot),才能生效
1.临时设定(只限于强制状态和警告状态的切换)
系统重启之后,又会恢复为原来的selinux状态
set enforce 0 将selinux设置为警告状态
set enforce 1 将selinux设置为强制状态
2.永久设定
编辑配置文件/etc/sysconfig/selinux
vim /etc/sysconfig/selinux
如果临时设定和永久设定的selinux状态不同的时候,如果没有重启电脑,因为临时设定是立即生效,而永久设定需要重启系统之后才能生效,所以,此时,临时设定的优先级要高一些
三种状态下,警告状态与强制状态会有警告日志,关闭状态没有警告日志
4.三种状态产生的效果及警告日志的查看
(1)警告状态(会有警告日志)
与关闭状态的效果相同,只是警告状态有警告日志;而关闭状态不会由警告日志
所有的文件都可以看到
服务端
1)查看selinux状态为警告状态
2)清空日志,(将空导入)
3)剪切文件到/var/ftp(vsftpd服务的默认发布目录)
4)用客户端用lftp命令连接服务端,因为selinux为警告状态,所以会连接成功,能够看到file文件,并有警告日志产生
5)在服务端查看是否有警告日志产生
有警告日志产生
(2)强制状态(会有警告日志)
1)在服务端查看selinux是否为强制状态
2)剪切文件到/var/ftp(vsftpd服务的默认发布目录
3)用客户端连接,连接成功,因为selinux为强制状态,所以不能看到file与efile文件,并产生警告日志
4)查看警告日志
(3)关闭状态(无警告日志)
1)在服务端查看selinux状态,为关闭状态
2)清空警告日志,将空导入
3)剪切文件到/var/ftp(vsftpd服务的默认发布目录)
4)用客户端连接,因为selinux为关闭状态,所以连接成功并能够看到所有文件及目录,并不会产生警告日志
5)在服务端查看,并无警告日志产生
5.selinux的安全上下文的查看与修改
强制状态(enforcing)
当文件的安全上下文与ftp的默认安全上下文(publiccontentt)一致时,才可以查看剪切过来的文件
安全上下文查看
(1)临时修改安全上下文
1)对文件来说:chcon -t publiccontentt /var/ftp/efile
服务端
客户端
但是如果目录的上下文与ftp的默认上下文(publiccontentt)不一致时,虽然可以看到该目录,但是目录中的文件的上下文不是publiccontentt,也看不到文件
2)对目录来说:chcon -t publiccontentt var/ftp/edir -R
在服务端:
修改安全上下文
在客户端
(2)永久修改安全上下文
服务端
semanage fcontext -a -t publiccontentt ‘/var/ftp/edir(/.)?‘ 修改/var/ftp/edir的目录本身及目录中的所有内容的安全上下文为publiccontentt
修改后,需要刷新才能生效
restorecon -RvvF /var/ftp/edir
在客户端测试
能看到所有文件与目录,修改成功
5.sebool值
selinux布尔值是更改selinux的开关;有时候,selinux的访问权限可选可通过selinux布尔值触发,可以提高系统安全性。
1)getsebool -a | grep ftp 显示布尔值,查看功能的开启或关闭状态
可以看到vsftpd服务的某些功能是默认关闭的
ftphomedir-------> off 表示本地用户上传文件的功能没有开启
本地用户上传不允许
测试:
上传失败
2.setsebool -P ftphomedir on 开启本地用户的上传功能
再次查看是否修改成功
修改成功
在客户端测试:
上传成功
提供日志的插件:setroubleshoot-server.x8664*
以上是关于Linux学习日记之seLinux的简单管理的主要内容,如果未能解决你的问题,请参考以下文章