selinux的初级管理
1.什么是selinux
selinux,内核级加强型防火墙(内核上的一个插件)
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。
SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统。对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。
大部分使用 SELinux 的人使用的都是 SELinux 就绪的发行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、Debian或 Centos。它们都是在内核中启用 SELinux 的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用 SELinux 的功能。
SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。
2.如何管理selinux级别
selinux开启或者关闭)
vim /etc/sysconfig/selinux
selinux=disabled ##关闭状态
selinux=Enforcing ##强制状态
selinux=Permissive ##警告状态
getenforce ##查看selinux当前状态
当selinux开启时
setenforce 0|1 ##更改selinux运行级别
3.如何更改文件安全上下文
(临时更改)
chcon -t 安全上下文 文件
chcon -t public_content_t /publicftp -R
更改匿名用户家目录,新建的westos目录下的3个文件的上下文为default,在selinux开启的情况下,匿名登陆没法看见文件,当更改为public_content_t时,登陆可以看见文件
永久更改)
semanage fcontext -l ##列出内核安全上下文列表内容
semanage fcontext -a -t public_content_t ‘/publicftp(/.*)?‘#更改安全上下文
restorecon -FvvR /publicftp/ #刷新安全上下文即时生效
更改成功
4.如何控制selinux对服务功能的开关
getsebool -a | grep 服务名称
getsebool -a | grep ftp
setsebool -P 功能bool值 on|off
setsebool -P ftpd_anon_write on
因为开启了selinux服务,所以用户不能上传文件,开启家目录可执行动作的选项,就可以上传文件!
匿名用户上传文件(需开启高权限)
5.监控selinux的错误信息
setroubleshoot-server
执行一个selinux不允许的操作,然后查看系统日志,可以获得解决问题的办法,再按提示执行,可更改错误