首页 > 代码库 > 运维学习之selinux初级管理

运维学习之selinux初级管理

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不允许的操作,然后查看系统日志,可以获得解决问题的办法,再按提示执行,可更改错误

技术分享

技术分享

技术分享


运维学习之selinux初级管理