Linux_selinux

1.Selinux基础知识

       selinux(Security  Enhanced Linux)。一目了然,安全强化的linux。其实Selinux就是为了安全而设计了很多标签,一些和安全相关的进程如httpd,vsftpd等程序就被限制,如果某个文件贴上了相应的标签,和httpd,vsftpd等对应的标签一样,这些进程才会被允许访问。
   SElinux是通过MAC的方式来控管进程,他控制的进程,他控制的主体是进程。而目标是该进程是否可以读取“文件资源”。先来说明一下相关性
   1.主体(Subject)
就是管理的进程
   2.目标(Object)
就是文件系统啦
   3.策略(Policy)
targeted:针对关于网络服务限制较多,针对本机限制较少,是默认的策略
strict:完整的Selinux。很严格的限制
   4.安全上下文(Security context)
主体与目标的安全上下文必须一样才能允许被访问
 

2.查看SELinux的状态

先看看Selinux开没开

上图可以看到selinux状态为Disabled就是关闭状态
vim /etc/sysconfig/selinux     修改SELINUX=enforcing  
修改完后reboot  (这种方式为永久性的系统在启动时会读取配置文件从而设置selinux状态)


这样我们就打开了selinux     用getenforce  命令可以看到此时selinux为enforcing(强制模式)

3.selinux对进程影响(这里用lftp服务举例)

文件的安全上下文(文件的安全标签或者文件的selinux信息):输入命令 ll -Z 即可

两个root后面就是安全上下文了
Identfy : role : type
身份识别 : 角色 :类型


身份识别:相当于账号方面的身份识别
      root:表示root的账号身份。
      system_u:表示系统程序方面的进程。就是进程啦
      user_u:代表一般用户账号相关的身份


角色:说明这个数据是属于程,文件资源还是用户。
      object_r:代表这是普通文件或者是目录
      system_r:代表的是进程
类型:最重要的一个!!!!!就是标签了
      type:在文件资源上称为Type
      domain:在主体程序上称为domain

一个陈序在读取文件时只能读取带有特定标签的文件
我们首先在/mnt下建立文件westos然后mv到/var/ftp/pub下然后在/var/ftp/pub下再建立一个文件zxc
用ll -Z查看,可以发现两个文件安全上下文不同

下面我们登陆lftp服务在pub目录下用ls命令查看文件发现我们只能看到zxc一个文件
由此可以假想ftp服务只能访问 安全上下文为public_content_t的文件

这里我们也可以看到selinux的警告

下面我们用chcon命令改变westos安全上下文为public_content_t

再次登录ftp查看  发现可以看到了由此可见我们的假想正确


上面方法只是临时改变了文件安全上下文,当开启Selinux后Disable再开启就会将以前设置的Selinux改变其实系统有张表。每次再开启Selinux时。系统会重读这张表对目录或者文件设置Selinux的类型。系统不认识的就设成默认了。
  先看看那张表
[root@localhost]#semanage fcontext -l |grep '\bftp\b'  
/srv/([^/]*/)?ftp(/.*)? all files system_u:object_r:public_content_t:s0 /var/ftp(/.*)? all files system_u:object_r:public_content_t:s0 /var/ftp/bin(/.*)? all files system_u:object_r:bin_t:s0 /var/ftp/etc(/.*)? all files system_u:object_r:etc_t:s0 /var/ftp/lib(/.*)? all files system_u:object_r:lib_t:s0 /var/ftp/lib/ld[^/]*\.so(\.[^/]*)* regular file system_u:object_r:ld_so_t:s0

再表中添加一项,给/dir一个public_content_t的类型

[root@localhost]# semanage fcontext -a -t public_content_t '/dir(/.*)?'  

[root@localhost]# semanage fcontext -l |grep '\bdir\b' /usr/share/texlive/texmf/web2c/mktex(dir|nam|upd) all files system_u:object_r:bin_t:s0 /var/run/runlevel\.dir all files system_u:object_r:initrc_var_run_t:s0 /dir(/.*)? all files system_u:object_r:public_content_t:s0

/usr/share/texlive/texmf/web2c/mktex(dir|nam|upd) all files system_u:object_r:bin_t:s0 /var/run/runlevel\.dir all files system_u:object_r:initrc_var_run_t:s0 /dir(/.*)? all files system_u:object_r:public_content_t:s0
-d是删除
[root@localhost]# semanage fcontext -d '/dir(/.*)?'  
[root@localhost]# semanage fcontext -l |grep '\bdir\b'  
/usr/share/texlive/texmf/web2c/mktex(dir|nam|upd)  all files          system_u:object_r:bin_t:s0   
/var/run/runlevel\.dir                             all files          system_u:object_r:initrc_var_run_t:s0   






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值