11.9 selinux-linux的内核安全

1.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 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念。 [1] 

大部分使用 SELinux 的人使用的都是 SELinux 就绪的发行版,例如 Fedora、Red Hat Enterprise Linux (RHEL)、DebianCentos。它们都是在内核中启用 SELinux 的,并且提供一个可定制的安全策略,还提供很多用户层的库和工具,它们都可以使用 SELinux 的功能。

SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统, 它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享 有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX 权限更好的访问控制

2.selinux的状态说明

selinux有三个状态:enforcing,disabled和permissive

我们用过ftp来引入selinux的使用。

首先,我们在服务器端安装vsftpd服务,客户端安装lftp。

在selinux打开,关闭和警告状态下。通过客户端的lftp连接服务器显示,目录的安全内容

步骤一:selinux关闭

方法一:

编辑selinux的配置文件:vim /etc/selinux/config

修改SELINUX=disabled

修改完后重启。

方法二:临时设定使用命令setenforce <1|0>   ##0为警告,1为强制,且不能在关闭状态下设定,重启完后,不保存

只能打开不能关闭。

步骤二:实验并查看结果

在selinux的状态为disable下:

1.在服务端,新建一个文件,发送到 /var/ftp

2.在客户端,lftp连接服务端,显示带有安全内容的目录

ls -Z

3.在服务端,查看/var/ftp的安全内容目录

存在问号

步骤三:开启服务器端的selinux

编辑selinux的配置文件:vim /etc/selinux/config

修改SELINUX=enforcing

reboot

 

步骤四:实验并查看结果

在selinux的状态为enforcing下:

1.在服务端,新建一个文件,发送到 /var/ftp

2.在客户端,lftp连接服务端,显示带有安全内容的目录

3.在服务端,查看/var/ftp的安全内容目录

实验结果表明,在关闭selinux下,无法查看安全内容,安全内容为?号。在客户端,可以看见任何内容。在开启selinux下,只有安全内容为public_content的文件可以看到。

步骤五:将selinux的状态改为peimissive

步骤六:实验并产看结果

在selinux的状态为permissive下:

1.在服务端,新建一个文件,发送到 /var/ftp

2.在客户端,lftp连接服务端,显示带有安全内容的目录

3.在服务端,查看/var/ftp的安全内容目录

实验结果:虽然,安全内容不是public_content,但是还是能在ftp内显示,只是警告,警告的内容可以在日志查看。

查看警告的日志:cat /var/log/audit/audit.log

3.修改安全上下文

1)修改文件的安全上下文

chcon -t public_centent_t /var/ftp/file3

2)修改目录的安全上下文

chcon -t mnt_t /var/ftp/pub/ -R

3)永久修改安全上下文

chcon命令修改的安全上下文为临时安全上下文,重启以后会还原.

永久修改安全上下文的命令

semanage fcontext -a -t public_content_t '/westos(/.*)?'    ##修改安全上下文及目录中文件的安全上下文

restorecon -RvvF /westos/                          ##修改安全上下文,还可以查看以前的安全上下文

步骤一:建立目录和文件查看安全上下文

步骤二:修改安全上下文

4.seboll值

sebool,selinux对权限的布尔值,显示那些功能打开,那些功能不打开

1)查看ftp的sebool值

getsebllo -a |grep ftp

2)修改ftp的布尔值

步骤一:selinux关闭状态下,可以上传

步骤二:selinux开启状态下,不可以上传

步骤三:修改权限:setsebool -P ftp_home_dir  on

5.selinux的排错

提供日志的插件

setroubleshoot-server.x86_64

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值