一.SELinux

1.SELinux(Secure Enhanced Linux)

  安全增强Linux是由NSA针对计算机基础结构安全开发的一个全新的Linux安全策略机制。SELinux允许管理员更加灵活的定义安全策略。

2.SELinux是一个内核级得安全机制,从2.6内核之后集成在内核当中。

3.主流的Linux发行版本都会集成SELinux机制,CentOS/RHEL默认会开启SELinux

4.因为SELinux是内核级机制,所以对SELinux的修改一般需要重新启动

二.SELinux基本概念

1.所有的安全机制都是对两样东西做出限制:进程和系统资源(文件、网络套接字、系统调用等)。

2.SELinux针对这两种类型定义了两个基本概念:域(domain)和上下文(context).

  -域用来对进程进行限制

  -上下文用来对系统资源进行限制

3.命令ps -Z可查看进程的域

4.命令ls -Z可查看文件的上下文。

三.策略

1.SELinux通过定义策略来控制哪些域可以访问哪些上下文

2.SELinux有很多预置策略,我们通常不需要自定义策略(除非我们需要对自定义服务、程序进行保护)

3.CentOS/RHEL使用预置的目标(target)策略。

4.目标(Target)策略定义只有目标进程受到SELinux限制,其他进程运行在非限制模式下。目标策略只影响网络应用程序。

5.CentOS/RHEL中,受限制的网络服务程序在200左右,常见的有:

    -dhcpd    -ntpd

    -httpd    -rpcbind

    -mysqld   -squid

    -named   -syslogd

四.SELinux模式

1.SELinux有三种工作模式:

  -强制(enforcing)

  违反策略的行动都要被禁止,并作为内核信息记录

  -允许(permissive)

  违反策略的行动都不被禁止,但是会产生警告信息

  -禁用(disabled)

  禁用SELinux,与不带SELinux功能的系统一样

2.SELinux模式的配置文件为/etc/sysconfig/selinux:

  SELINUX=permissive

3.命令getenforce可以查看当前SELinux工作状态:

  getenforce

4.命令setenforce可以设置当前SELinux工作状态:

  setenforce[0|1]

五.策略、域、上下文

1.命令ps、ls加入-Z参数就可以显示对应的SELinux信息,显示的信息类似:

  system_u:   object_r:   httpd_exec-t:   s0

  用户(User)   角色(role)   类型(type)     MLS、MCS

2.SELinux策略规定哪些域(进程)可以访问哪些上下文(文件)

3.在对系统进行管理时,对文件的操作有时会改变文件的上下文,导致一些进程无法访问某些文件,所以我们一般需要检查、修改文件的上下文

4.命令restorecon可以用以恢复文件默认的上下文:

  restorecon -R -v /var/www

5.命令chcon可以用以改变文件的上下文:

  chcon --reference=/etc/named.conf.orig   /etc/named.conf

posted on 2016-12-05 10:39  加油AlwaysWin  阅读(1525)  评论(0)    收藏  举报