1.基本 SELINUX 安全性概念

SELINUX(Security Enhanced Linux),意思是安全增强型Linux, 是可保护你系统安全性的额外机制

在某种程度上 , 它可以被看作是与标准权限系统并行的权限系统。在常规模式中 , 以用户身份运行进程 , 并且系统上的文件和其他资源都设置了权限 (若要访问文件 ,你必须具有普通访问权限和 SELinux 访问权限。因此 , 即使以超级用户身份root 运行进程 , 根据进程以及文件或资源的 SELinux 安全性上下文可能拒绝访问文件或资源) 标签

2.SELINUX的状态

三种状态: <1>enfirocing? ##强制模式? <2>permissive ##警告模式? <3>disabled? ##关闭模式

【1】更改 selinux的开机状态,重启生效!

vim /etc/sysconfig/selinux? ##selinux的配置文件

SELINUX=enforcing|permissive|disabled

【2】显示及更改 SELINUX 模式

显示:getenforce
更改:setenforce 0|1
0 表示 permissive?
警告但不阻止可疑行为

1 表示 enforcing?
强制阻止可疑行为


3.SELINUX的安全上下文

selinux
安全上下文访问规则

WEB 服务器的 HTTPD 进程设置了
SELINUX 上下文system_u:system_r:httpd_t 标签。该上下文的重要部分是第三个用冒号分隔的字段 SELINUX 类型 :
httpd_t

系统上的文件和资源也设置了 SELINUX 上下文标签 , 并且重要的部分是 SELINUX
类型。例如 , /var/www/html 中的文件具
有类型 httpd_sys_content_t . /tmp 和 /var/tmp
中的文件通常具有类型 tmp_t

Seliux 策略具有允许以 httpd_t
身份运行的进程访问标记为httpd_sys_content_t 的文件的规则。没有规则允许这些进程访问标记有 tmp_t 的文件 ,因此将拒绝这些访问

【1】暂时性更改文件的安全上下文

ls -Z ##查看安全上下文

chcon -t public_content_t
file##修改安全上下文

一次性定制安全上下文 , 执行 restorecon
刷新后还原

实验:

将/mnt的文件移动到/var/ftp中

查看/var/ftp的安全上下文

因为安全上下文不同,故用lftp链接时不显示文件

更改westos的安全上下文

再次连接显示文件

【2】永久性修改安全上下文

semanage fcontext -a -t public_content_t?
‘/westos(/.*)?‘ ##(/.*)?表示westos后的所有文件和目录

fcontext 规则中最常用的扩展正则表达式是 (/.*)?, 表示随意匹配 /
后跟任何数量的字符

restorecon -FvvR /westos/ ##使更改的内容生效

实验:

新建目录、文件,查看其默认上下文

修改安全上下文

在系统中搜索/westos的安全上下文

添加成功!

4.管理 SELinux
布尔值

SELinux 布尔值是更改 SELinux 策略行为的开关, 是可以启用或禁用的规则

安全管理员可以使 SELinux 布尔值来调整策略 , 以有选择地进行调整

getsebool 用于显示布尔值 , setsebool
用于修改布尔值

setsebool -P 修改 SELinux 策略 , 以永久保留修改。

实验环境:selinux状态为警告/强制,在强制状态下,客户端切换到student用户,是不可以上传文件的

设置布尔值(1开启,0关闭)

测试:可登录、上传

5.监控 SELinux 冲突

  • 必须安装 setroubleshoot-server 软件包 , 才能将 SELinux消息发送至 /var/log/messages
  • setroubleshoot-server 侦听 /var/log/audit/audit.log 中的审核信息并将简短摘要发送至
    /var/log/messages
  • 摘要包括 SELinux 冲突的唯一标识符 ( UUIDs ), 可用于收集更多信息
  • Sealert -l UUID 用于生成特定事件的报告。Sealert-a/var/log/audit/audit.log
    用于在该文件中生成所有事件的报告
  • 当setroubleshoot-server 软件包存在时,客户端如果访问失败,cat /var/log/messages日志中会有解决方案
  • 如果卸载setroubleshoot-server 软件包? 日志中没有解决方案。
/var/log/audit/audit.log selinux日志存放位置
/var/log/messages
selinux解决方案

安装软件:

setroubleshoot-server.x86_64 : SELinux troubleshoot server

清空日志:

> /var/log/audit/audit.log

>/var/log/messages

实验:
touch /mnt/westos? ?
mv /mnt/westos?
/var/ftp/

ftp://172.25.254.205? ##看不到westos

?cat /var/log/audit/audit.log?
##查看问题出在哪里

cat /var/log/messages?
##查看解决方案

【1】方案一:修改安全上下文

【2】方案二:修改布尔值

restorecon -v
/var/ftp/*?

ftp://172.25.254.205? ##可以看到westos

6.SELINUX影响服务资源

yum install httpd ##安装Apache

vim /etc/httpd/conf/httpd.conf

修改前

修改后

systemctl restart httpd? ##服务不能重启

setenforce? 0 ?

systemctl restart httpd
##服务开启证明是selinux的问题

semanage
port -l |grep http? ##查看http的端口



semanage port -a -t? http_port_t -p tcp 6666
##添加6666端口
semanage port -l |grep http ##6666已经添加



systemctl restart
httpd ##重启成功

补充:通过以下方式查看服务端口
cat
/etc/services |grep ftp ##查看服务的端口

可以看到ftp服务的端口是21

安全强化机制——SELinux的更多相关文章

  1. SELinux深入理解

    ps:今天在远程给服务器配置https的时候,一直乱码,以前做系统的系统第一件事情,就是关闭selinx,今天忘记了,然后就悲剧了... 弄了半天才弄好,镇定思痛,好好的来看下selinux 1. 简 ...

  2. 深入理解SELinux

      目录(?)[+]   1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组 ...

  3. 关于SELinux

    出现背景以及发展历程 SELinux是「Security-Enhanced Linux」的简称,是美国国家安全局「NSA=The National Security Agency」 和SCC(Secu ...

  4. SElinux解决web网站无法访问

    SElinux解决web网站无法访问工具/原料centos 6.5系统httpd web服务器 SELinux 设置为enforcing:强制模式,代表 SELinux 运作中 方法/步骤1. 1se ...

  5. SELINUX工作原理

    SELinux工作原理 1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组成 ...

  6. SEAndroid安全机制框架分析

    我们知道,Android系统基于Linux实现. 针对传统Linux系统,NSA开发了一套安全机制SELinux,用来加强安全性. 然而.因为Android系统有着独特的用户空间执行时.因此SELin ...

  7. 为什么高手离不了Linux系统?这就是我的理由

    摘要: 通过本文来记录下我在Linux系统的学习经历,聊聊我为什么离不了Linuxx系统,同时也为那些想要尝试Linux而又有所顾忌的用户答疑解惑,下面将为你介绍我所喜欢的Linux系统,这里有一些你 ...

  8. 在centOS5.9安装asterisk

    最近一直在研究asterisk这个服务器,Asterisk 是一个开放源代码的软件VoIP PBX系统,它是一个运行在Linux环境下的纯软件实施方案.Asterisk是一种功能非常齐全的应用程序,提 ...

  9. Linux 对比 Windows 缺点

      SELinux_百度百科 https://baike.baidu.com/item/SELinux/8865268?fr=aladdin   虽然Linux比起 Windows来说,它的可靠性,稳 ...

随机推荐

  1. 如何获取SQL Server数据库连接字符串的某些部分

    有的时候需要获取SQL Server数据库连接字符串的某些部分.用正则表达式可能有点麻烦. 其实有一个比较简单的方法--使用SqlConnectionStringBuilder. var builde ...

  2. Java代码中,如何监控Mysql的binlog?

    最近在工作中,遇到了这样一个业务场景,我们需要关注一个业务系统数据库中某几张表的数据,当数据发生新增或修改时,将它同步到另一个业务系统数据库中的表中. 一提到数据库的同步,估计大家第一时间想到的就是基 ...

  3. RHCSA_DAY08

    locate与find查找 locate:/var/lib/mlocate/mlocate.db getfacl 目录 chmod权限管理 chmod(英文全拼:change mode)设置用户对文件 ...

  4. C++ 友元 (全局函数做友元) (类做友元) (成员函数做友元)

    1 //友元 全局函数做友元 2 /* 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 7 ...

  5. 掌握JavaScript中的Promise,实现异步编程

    事件循环 基本介绍 JavaScript是一门单线程的编程语言,所以没有真正意义上的并行特性. 为了协调事件处理.页面交互.脚本调用.UI渲染.网络请求等行为对主线程造成的影响,事件循环(event ...

  6. GIT·全局配置文件及项目配置文件

    阅文时长 | 0.03分钟 字数统计 | 48.8字符 主要内容 | 1.引言&背景 2.声明与参考资料 『GIT·全局配置文件及项目配置文件』 编写人 | SCscHero 编写时间 | 2 ...

  7. [TensorFlow2.0]-正则化

    本人人工智能初学者,现在在学习TensorFlow2.0,对一些学习内容做一下笔记.笔记中,有些内容理解可能较为肤浅.有偏差等,各位在阅读时如有发现问题,请评论或者邮箱(右侧边栏有邮箱地址)提醒. 若 ...

  8. SaToken学习笔记-03

    SaToken学习笔记-03 如果排版有问题,请点击:传送门 核心思想 所谓权限验证,验证的核心就是一个账号是否拥有一个权限码 有,就让你通过.没有?那么禁止访问! 再往底了说,就是每个账号都会拥有一 ...

  9. pfx格式密钥库修改密码

    1.pfx格式的密钥库不能直接用keytool修改私钥密码,需要先转成keystore keytool -importkeystore -srckeystore D:/ssl/test.pfx -sr ...

  10. Python--构建发布自己的模块

    参考博客https://www.cnblogs.com/simple-free/p/8283263.html 1.   新建一个模块(名称自定义),存放要发布的模块代码. 2.   新建一个setup ...