Selinux是【security-Enhanced Linux】的简称,是美国国家安全局【NSA】和【SCC】开发的Linux的一个扩张强制访问控制安全模块。

因为企业的业务平台的服务器上存储着大量的商务机密,个人资料,个人资料它直接关系到个人隐私问题。特别是政府的网站,作为信息公开的平台,它的安全就更显得重要了。这些连接到互联网的服务器,不可避免的要收到来自世界各地的各种猥亵。最坏的时候我们的服务器被入侵,主页文件被替换,机密文件被盗走。除了来自外部的威胁,内部人员的不法访问,攻击也是不可忽视的。对于这些攻击或者说是威胁,当然有很多的办法,有防火墙,入侵检测系统,打补丁等等。因为Linux也和其他的商用Unix一样,不断地有各类的安全漏洞被发现。

传统的LinuxOS的不足之处。

虽然Linux比起Windows来说,它的可靠性,稳定性要好得多,但是他也是和其他的Unix一样,有着以下这些不足之处。

  1. 存在特权用户root
    1. 任何人只要得到root权限,对于真个系统都可以为所欲为,这一点Windows也一样
  2. 对于文件的访问权限划分不够细
    1. 在Linux系统里,对于文件的操作,只有【所有者】,【所有组】,【其它】这三类的划分,对于【其它】这一类里的用户再细细的划分的话就没有办法了。
  3. SUID程序的权限升级
    1. 如果设置了SUID权限的程序有了漏洞的haul,很容易被攻击者所利用
  4. DAC(discretionary access control)问题
    1. 文件目录的所有者可以对文件进行所有的操作,这给系统整体的管理带来了不便。对于以上这些的不足,防火墙,入侵检测系统都是无能为力的。  

DAC(discretionary access control,自主访问控制):

DAC机制就是指对象(比如程序,文件或者进程等)的拥有者可以任意的修改或者是授予此对象的权限。例如传统的Linux,Windows等。

MAC(Mandatory access control强制访问控制):

MAC机制是指系统不再允许对象(比如程序、文件或者文件夹等)的拥有者随意修改或授予此对象相应的权限,而是透过强制的方式为每个对象统一授予权限,例如selinux。

selinux的优点:

selinux系统比起通常的Linux系统来,安全性能要高得多,它通过对于用户,进程权限的最小化,即使受到攻击,进程或者用户权限被夺去,也不会对整个系统造成重大影响。在标准Linux中,主体的访问控制属性是与进程通过在内核中的进程结构关联的真实有效的用户和组ID,这些属性通过内核利用大量工具进行保护,包括登录进程和setuid程序,对于文件,文件的inode包括一套访问模式位,文件用户和组ID,以前的访问控制基于读/写/执行这三个控制位,文件所有者,文件所有者所属组,其他人各一套。在selinux中,访问控制属性总是安全上下文三人组形式,所有文件和主体都有一个关联的安全上下文,标准Linux使用进程用户/组ID,文件的访问模式,文件用户/组ID要么可以访问,要么被拒绝,selinux使用进程和客体的安全上下文,需要特别指出的是,因为selinux的主要访问控制特性是类型强制,安全上下文中的类型标识符决定了访问权。若要访问文件,必须同时具有普通访问权限和selinxu访问权限,因此即使可以用超级用户root运行进程,根据进程以及文件或者资源的selinxu安全性上下文可能拒绝访问文件或者资源。

 

设置开机启动时,selinux的运行模式

[root@iZm5ej5ize8ferkknb8gbeZ source]# cat /etc/sysconfig/selinux 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted You have new mail in /var/spool/mail/root
[root@iZm5ej5ize8ferkknb8gbeZ source]#

selinux参数值:

enforcing强行(报警并限制)

permissive许可(报警不限制)

disabled禁用

selinuxtype参数值:

targeted保护网络相关服务

strict完整的保护功能,包含网络服务,一般指令以及应用程序

mis多级别模块化

    

查看SElinux的当前状态,并对当前状态做调整

[root@iZm5ej5ize8ferkknb8gbeZ source]# sestatus
SELinux status: disabled #默认关闭
[root@iZm5ej5ize8ferkknb8gbeZ source]#

查看安全上下文ls Z(查看文件的);ps Z(查看进程的)

[root@iZm5ej5ize8ferkknb8gbeZ source]# sestatus
SELinux status: disabled
[root@iZm5ej5ize8ferkknb8gbeZ source]# ls -Z /etc/passwd
-rw-r--r-- root root ? /etc/passwd
[root@iZm5ej5ize8ferkknb8gbeZ source]# ls -Zld /mnt/
drwxr-xr-x. system_u:object_r:mnt_t:s0 root root Dec /mnt/
[root@iZm5ej5ize8ferkknb8gbeZ source]#

查看系统默认的安全上下文

[root@iZm5ej5ize8ferkknb8gbeZ source]# semanage fcontext -l
[root@iZm5ej5ize8ferkknb8gbeZ source]#
[root@iZm5ej5ize8ferkknb8gbeZ source]# getenforce
Disabled
[root@iZm5ej5ize8ferkknb8gbeZ source]#

1.临时关闭(不用重启)

setenforce 0

2.修改配置文件

将SELINUX=enforcing改为SELINUX=disabled

如果测试的话一般就关闭Selinux,正式环境的话可以选择开启Selinux,否则容易被黑客攻击

 

系统安全-SElinux的更多相关文章

  1. Android 系统添加SELinux权限

    本文为博主原创文章,转载请注明出处:https://i.cnblogs.com/EditPosts.aspx?postid=11185476 CPU:RK3288 系统:Android 5.1 SEL ...

  2. 10day 系统的selinux服务程序优化

    selinux服务对root用户权限进行控制 很多企业中:selinux服务默认关闭 centos6==centos7 临时关闭: 检查确认: getenforce --- 确认selinux服务是否 ...

  3. linux系统中 SElinux安全子系统

    1.SElinux 是什么? SElinux(Security-Enhanced Linux)是美国国家安全局在linux开源社区的帮助下开发的一个强制访问控制(Mandatory Access Co ...

  4. SELINUX、Security Access Control Strategy && Method And Technology Research - 安全访问控制策略及其方法技术研究

    catalog . 引言 . 访问控制策略 . 访问控制方法.实现技术 . SELINUX 0. 引言 访问控制是网络安全防范和客户端安全防御的主要策略,它的主要任务是保证资源不被非法使用.保证网络/ ...

  5. SELinux入门

    导读 如果你在之前的Linux生涯中都禁用或忽略了SELinux,这篇文章就是专门为你写的:这是一篇对存在于你的Linux桌面或服务器之下的SELinux系统的介绍,它能够限制权限,甚至消除程序或守护 ...

  6. Linux 系统级别优化_【all】

    Linux 系统优化 1.Linux系统关闭SELinux 2.Linux系统开机到登录之前启动流程 3.Linux系统设置运行级别 4.Linux系统重要的开机自启动的服务 5.Linux查看系统当 ...

  7. Linux系统运维之路

    九月份开始,半年内搞定运维,博客会慢慢的更新,vim编辑器,Nginx配置文件优化 运维基础 运维基础-Linux发展史.安装.基本操作 运维基础-用户和组管理 运维基础-文件权限管理 运维基础-进程 ...

  8. Linux SELinux 使用操作

    Linux SELinux 使用操作 # 修改 SELinux 启动模式.临时生效 命令:setenforce [0|1] 0:转成 permissive 宽容模式: 1:转成 Enforcing 强 ...

  9. 《linux就该这么学》课堂笔记14 Apache、SELinux、虚拟主机

    1.目前能够提供Web网络服务的程序有IIS(Windows系统中默认的Web服务程序,是一款图形化的网站管理工具).Nginx和Apache(RHEL 7系统中默认的Web服务程序)等. Apach ...

随机推荐

  1. 【Luogu】P1430序列取数(DP)

    题目链接 博弈DP太喵了qwq 设f[i][j]表示剩下区间[i,j]要取,先手最大值 明显我们要从这区间里面拿个最大的 就等价于这段区间的前缀和,我们要给对手留下个最小的 就是f[i][j]=sum ...

  2. Linux System Programming 学习笔记(六) 进程调度

    1. 进程调度 the process scheduler is the component of a kernel that selects which process to run next. 进 ...

  3. JavaScript基础深入之----参数传递的分析与总结

    JS的数值类型是分为两类:基本数据类型和引用数据类型. 基本类型占据的内存栈空间,引用类型被保存在堆空间.引用类型赋值的变量也是被保存在栈空间的,它的作用类似于电视遥控器,负责操作堆空间内指向的对象. ...

  4. “百度杯”CTF比赛 十月场_Login

    题目在i春秋ctf大本营 打开页面是两个登录框,首先判断是不是注入 尝试了各种语句后,发现登录界面似乎并不存在注入 查看网页源代码,给出了一个账号 用帐密登陆后,跳转到到member.php网页,网页 ...

  5. 标准C程序设计七---73

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  6. Button Style Status

    <Window x:Class="Dxsl.WPF.APP.Views.StyleTest2" xmlns="http://schemas.microsoft.co ...

  7. centos 7安装postgresql10.3

    最新版本安装请移步:阿里云服务器 centos 7 安装postgresql 11 一.Postgresql简介 官方网站:https://www.postgresql.org/ 简介参考zhihu文 ...

  8. Servlet 2.4 规范之第六篇:响应

    响应对象封装了服务端返回给客户端的所有信息.在HTTP协议中,这些信息通过HTTP头和消息体传送. SRV.5.1    缓冲 出于效率考量,servlet容器可以缓冲输出数据,但这并非强制要求.常见 ...

  9. AC日记——最大子树和 洛谷 P1122

    题目描述 小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题.一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题.于是当日课后,小明 ...

  10. spring mvc构建WEB应用程序入门例子

    在使用spring mvc 构建web应用程序之前,需要了解spring mvc 的请求过程是怎样的,然后记录下如何搭建一个超简单的spring mvc例子. 1) spring mvc的请求经历 请 ...