selinux入门知识

  • DAC:权限访问模型,称为Discretionary Access Control表示的是自主访问控制模型,一个进程的权限总是超过它应该具有的权限;普通用户不具有修改文件的属主和属组的权限,但是可以修改属主和属主为自己的文件的权限;
  • MAC:表示强制访问控制,Mandatory Access Control,用于确保进程运行在自己运行所需要的最小资源环境中;
  • Selinux:表示security Enhanced Linux出现在1990年代,用于实现让进程运行在资源所需要的最小资源环境中;安全级别为C1-->C2-->B1-->B2-->B3-->A1,LinuxWindows都是在C2级别,为了实现上述目的,由于Linux是开源的,所以Selinux逐渐变为Linux内核的一部分;
  • 通过判断进程执行的操作,例如rm -f /tmp/test,那么就让进程运行在一个沙箱中,去执行上面的操作,进程可以访问的文件取决于沙箱在创建时,包含的文件;
  • selinux的组成包括三个部分:
    • domain:动作的发起者,通常是进程;
    • action:对于type执行的操作;
    • type:domain中包含什么样的文件取决于文件自身的上下文,这个上下文是在原来的属主和属组之上附加的额外的属性;
    • 通过命令ls -Z可以查看
      这里写图片描述
      这里写图片描述
  • root:表示的是用户标识,这个用户表示的不是系统用户,但是和提供用户存在一定的关联性,对于subject来说,主要是使得selinux user能够工作在某个进程之下;对于object而言用于标志object的属主;
  • Role:类似于系统上面的组;
  • type:表示文件类别,用于说明在domain何种进程访问何种type的资源;
    • 对于进程的查看,其中_t表示的就是域,或者称为沙箱;
      这里写图片描述
  • 其中admin_user_home_t:表示的就是type类型,这个是需要selinux管理员自己进行规划;selinux的安全是交给selinux policy,也就是安全策略;这个规则的指定需要处理系统上大量的任务,十分繁重;
  • selinux的类型:
    • strict mode:严格类型,就是为所有的进程运行都制定运行机制,保证在沙箱中运行;
    • targeted mode:目标模型,这种模型仅仅是用于控制有限的一部分进程,包括httpd nfs bind;
  • 配置文件在/etc/sysconfig/selinux
    这里写图片描述
  • 策略在/etc/selinux/targeted/policy/目录里面,里面文件的类型比较特殊
    这里写图片描述
  • 这个规则库为了实现高效的检索,所以是二进制的格式存放的;
  • 对于subject来说只能够是进程;
  • 对于Objects:目录,文件描述符[文件的元数据];文件,文件系统,链接文件,进程;各种类型的特殊文件,例如block device character device socket,FIFO and so on;
  • selinux的设定对于管理员也是生效的;
  • 对于Actions包括:
    • Append:表示在文件的最后追加新的内容;
    • Create:表示创建新的文件;
    • Exxcute:表示执行新的文件;
    • Get attribute:表示用于获取属性;
    • I/O cotrol:表示IO控制;
    • Link:表示链接文件;
    • Lock:表示创建锁文件;
    • read:表示读操作;
    • Rename:表示重命名;
    • Unlink:表示撤销链接文件;
    • Write:表示写操作;
  • selinux的管理
  • 获取Selinux的运行状态
    这里写图片描述
  • 设置selinux的状态
    这里写图片描述
  • 任何违反了selinux的日志信息都记录在/var/log/audit/里面
    这里写图片描述
  • Enforcing仅仅对于违反策略的行为进行记录,并且拒绝违反策略的行为,对于permissive来说,对于违反了策略的行为,进行记录单是不会被拒绝;
  • 如果如要关闭,只能够在通过配置文件/etc/selinux/config来实现更改,如果禁用了selinux是查看不到标签等信息的,更改配置文件,需要通过重启生效;这个/selinux/enforce是一个伪文件系统,是内核中selinux的一个接口,可以通过直接更改这个文件来修改selinux的工作状态;
    这里写图片描述
  • 对于文件进行重新标记:
  • 通过命令chon来实现修改文件的标记
    • -t:用于修嘎一个文件的标签的类型;
    • --reference=:参考某个文件进行修改;
      这里写图片描述
    • -u:用于修改标签的用户属性
    • -t:用于修改类型是什么;
    • -R:用于递归进行修改;
  • 对于不同目录里面创建的文件的默认标签类型是不一样的,这些标签取决于内置的selinux策略,根据策略在不同的路径底下创建的文件自动打上不同的标签;
  • 对于targeted模型下的selinux为了能够改变某个subject本身的工作属性,但是又不能够改变策略,并且进行重新的编译,这就需要selinux的运行时配置, 进程的booleans不同的服务的bool值,是不一样的;
  • 通过命令getsebool'来查看:
    这里写图片描述
  • 这些都是系统内置的策略,通过查看httpd服务的相关属性
    这里写图片描述
  • 通过更改这些属性,可以更改服务的运行方式,更改的方式是setsebool
    这里写图片描述
  • 安装vsftpd来测试
yum install vsftpd -y
  • 查找关于vsftpdselinux的相关选项
    这里写图片描述
  • 通过更改上面参数,可以修改ftp的工作属性
  • 如果需要恢复文件的标签为默认的类型,需要使用命令restorecon,用于恢复文件模型的上下文的,-R表示递归修改;
  • semange:是selinux的策略管理工具,用于修改策略属性;
  • 这里显示的是selinux对于某个目录的默认策略;
    这里写图片描述
  • 查看用户映射关系
    这里写图片描述
  • 端口的信息查看
    这里写图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值