SELinux概念

安全加强的Linux,早期的Linux系统安全由系统管理员控制.SELinux就是一些安全规则的集合,类似于人类生活中的法律.

DAC:   自由访问控制(以前的linux版本)

DAC环境下的进程是无束缚的

MAC:  强制访问控制(即使是root用户也会受到MAC的控制)

MAC环境下策略的规则决定控制的严格程度

MAC环境下进程可以被限制的

策略用来定义被限制的进程能够使用哪些资源(文件和端口)

默认情况下,没有被明确允许的行为会被拒绝

SELinux工作类型

SELinux有四种工作类型:

strict: centos5,每个进程都受到selinux的控制

targeted: 用来保护常见的网络服务,仅有限进程受到selinux控制,只监控容易 被入侵的进程,centos4只保护13个服务,centos5保护88个服务

minimum:centos7,修改的targeted,只对选择的网络服务

mls:提供MLS(多级安全)机制的安全性

targeted为默认类型,minimum和mls稳定性不足,未加以应用,strict已不再使用

SELinux安全上下文

所有的文件和端口资源和进程都具有安全标签:    安全上下文(security context)

规定每个进程只能访问哪些文件和端口

chcon    -t      var_log_t       /var/log/messages

restorecon   /var/log/messages

semanage  fcontext  -l | grep   /var/log/messages

semanage  fcontext   -a    -t    httpd_sys_content_t      "/data/html(/.*)?"

semanage命令需要安装软件包 policycoreutils-python

启用和禁用SELinux

查看当前系统是否启用了SELinux  查看文件或者进程信息加 -Z 选项,如果LABEL信息不为空则表示已经启动了SELinux,如果为空则表示禁用了SELinux.

 [root@centos7 ~]# ll -Z guess.sh
-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 guess.sh
[root@centos7 ~]# ps auxZ
LABEL USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
system_u:system_r:init_t:s0 root 0.0 0.3 ? Ss : : /usr/lib/systemd/
system_u:system_r:kernel_t:s0 root 0.0 0.0 ? S : : [kthreadd]
system_u:system_r:kernel_t:s0 root 0.0 0.0 ? S : : [ksoftirqd/]
system_u:system_r:kernel_t:s0 root 0.1 0.0 ? S : : [kworker/:]
system_u:system_r:kernel_t:s0 root 0.0 0.0 ? S< : : [kworker/:0H]
system_u:system_r:kernel_t:s0 root 0.0 0.0 ? S : : [migration/]

临时切换成enforcing            setenforce  1         启用所有规则

临时切换成permissive         setenforce  0         提示告警信息,但不会真正阻止程序执行

永久启用(enforcing)或者禁用(disabled)    vim  /etc/selinux/config

SELinux中(enforcing和permissive)两者和disabled无法直接相互切换.如果需要进行切换,必须修改配置文件,重启机器才能生效.

管理端口标签

一个服务不能够随意使用任何一个端口,它的端口使用范围收到SELinux的策略限制.

查看端口标签    semanage port –l

添加端口

semanage port -a -t port_label -p tcp|udp  PORT

semanage port -a -t http_port_t -p tcp 9527 

  删除端口

      semanage port -d -t port_label -p tcp|udp    PORT

      semanage port -d -t http_port_t -p tcp 9527

修改现有端口为新标签

      semanage port -m -t port_label -p tcp|udp   PORT

     semanage port -m -t http_port_t -p tcp 9527

管理SELinux布尔值的开关

布尔型规则:  getsebool  setsebool

查看bool命令:  getsebool [-a] [boolean]  semanage boolean –l  semanage boolean -l –C 查看修改过的布尔值

设置bool值命令:  setsebool [-P] boolean value(on,off)  setsebool [-P] Boolean=value(0,1)

管理日志

SELinux会把日志信息写入到/var/log/messages中,通过查看分析日志来判定某个服务不能正常运行是不是由于SELinux设置的策略不对导致的.

SElinux会把告警信息全部写入日志   grep    setroubleshoot      /var/log/messages

sealert  -l UUID 列出具体的SELinux的详细问题信息包括解决方法

SELinux介绍的更多相关文章

  1. Linux SELinux 介绍详解

    Linux SELinux 介绍详解 SElinux 简介 SElinux (Security Enhanced Linux)是由美国国家安全局(NSA)开发的.它已被植入到了Linux系统的内核当中 ...

  2. selinux介绍/状态查看/开启/关闭

    SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统--百度百科. 基于经验来说SELinux在 ...

  3. selinux介绍及关闭selinux指南

    selinux简介 SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的 实现,是 Linux历史上最杰出的新安全子系统.NSA是在Linux ...

  4. CentOS7的防火墙以及selinux介绍/安装telnet命令/安装netstat与ifconfig命令

    简介:firewall防火墙的使用 防火墙:主要用户信息安全防护,主要有软件防火墙和硬件防火墙.firewalld防火墙是软件防火墙,在centos7 之前默认采用的防火墙是iptables,而在ce ...

  5. zabbix安装,关闭SELinux

    一.缘由 在安装zabbix的时候,按照官网的Zabbix Manual一路跑下来,zabbix的dashboard提示:zabbix server is not running the inform ...

  6. linux的安全--Selinux,tcp_wrappers,iptables使用

    一.linux安全 安全主要是端口与服务的对应配置 1.1 linux安全主要通过下面三个进行加固 Selinux----主要是对内核的访问权限加以控制 tcp_wrappers---一定程度上限制某 ...

  7. docker容器安全

    title: docker容器安全 tags: Docker,容器,安全策略 grammar_cjkRuby: true --- Docker容器的安全性 1.安全策略-Cgroup 1.限制Cpu ...

  8. Centos7 二进制安装 Kubernetes 1.13

    目录 1.目录 1.1.什么是 Kubernetes? 1.2.Kubernetes 有哪些优势? 2.环境准备 2.1.网络配置 2.2.更改 HOSTNAME 2.3.配置ssh免密码登录登录 2 ...

  9. Apache修改了配置文件中的路径后,登录该地址网页出现问题 (其中介绍了selinux的域和安全上下文)

    默认的网站数据存放在: /var/www/html 首页名称: index.html Apache服务程序的主配置文件: /etc/httpd/conf/httpd.conf (若是将  119  行 ...

随机推荐

  1. 10享元模式Flyweight

    一.什么是享元模式 Flyweight模式也叫享元模式,是构造型模式之 一,它通过与其他类似对象共享数据来减小内存 占用. 二.享元模式的结构 三.享元模式的角色和职责 抽象享元角色: 所有具体享元类 ...

  2. 【phpMQTT】phpMQTT详解以及处理使用过程中内存耗死问题

    参考文档: https://www.cloudmqtt.com/docs-php.html github下载 : https://github.com/bluerhinos/phpMQTT Cloud ...

  3. scala 模式匹配详解 3 模式匹配的核心功能是解构

    http://www.artima.com/scalazine/articles/pattern_matching.html这篇文章是odersky谈scala中的模式匹配的一段对话,我做了部分片段翻 ...

  4. 在 Ubuntu 14.04 服务器上部署 Hexo 博客

    版权声明:本文由宋秉金 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/241080001487926962 来源:腾云阁  ...

  5. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二:按键模块① - 消抖

    实验二:按键模块① - 消抖 按键消抖实验可谓是经典中的经典,按键消抖实验虽曾在<建模篇>出现过,而且还惹来一堆麻烦.事实上,笔者这是在刁难各位同学,好让对方的惯性思维短路一下,但是惨遭口 ...

  6. 在最新的Power BI Desktop中使用报表主题功能

    报表主题的工作原理 Power BI Desktop中,增加了万众期待的报表主题色功能(预览),如下图: 要使用这个功能,请先在官网下载并安装最新版的Power BI Desktop.安装成功后在&q ...

  7. python3之文件操作

    一   打开文件   根目录在d盘的文件名为‘学习资料.txt’的文件 a)绝对路径(最开始的,根目录文件)例:    e:\学习资料.txt 相对路径   直接用文件名字 b)操作方式  只读  只 ...

  8. Thinkphp 中的自动验证 上一篇有例子

    说明,只要定义了Model,在任何地方调用,都会进行验证.很方便. 必须是D方法,才会有效.M方法不会触发自动验证. 说明:这里没练习静态自动验证:如果用到静态验证首先自定义一个控制器,再在Model ...

  9. hdu2328 Corporate Identity【string库使用】【暴力】【KMP】

    Corporate Identity Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  10. djiango web 在进入admin的时候出现'set' object is not reversible错误

    解决方案是在你的urls.py 中 把{ } 改为[] 原因不详 治标不治本,并不能改的东西