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. iOS键盘高度的获取

    代码如下: - (void)viewDidLoad { [super viewDidLoad]; //增加监听,当键盘出现或改变时收出消息 [[NSNotificationCenter default ...

  2. 【Luogu】P3327约数个数和(莫比乌斯反演+神奇数论公式)

    题目链接 真TM是神奇数论公式. 注明:如无特殊说明我们的除法都是整数除法,向下取整的那种. 首先有个定理叫$d(ij)=\sum\limits_{i|n}{}\sum\limits_{j|m}{}( ...

  3. 刷题总结——骑士的旅行(bzoj4336 树链剖分套权值线段树)

    题目: Description 在一片古老的土地上,有一个繁荣的文明. 这片大地几乎被森林覆盖,有N座城坐落其中.巧合的是,这N座城由恰好N-1条双 向道路连接起来,使得任意两座城都是连通的.也就是说 ...

  4. 如何查找Windows上安装的DB2的端口号Port

    1.db2com打开控制台 2.db2 get dbm cfg 可以通过db2 get dbm cfg,查询数据库管理器配置参数,就可以查到端口号或端口名. 示例: $ db2 get dbm cfg ...

  5. window maven安装(六)

    Maven 实战系列之在Windows上安装Maven Maven是一个优秀的构建工具(类似于 Ant, 但比 Ant 更加方便使用),能帮助我们自动化构建过程,从清理.编译.测试到生成报告,再到打包 ...

  6. (超详细)使用git命令行将本地仓库代码上传到github或gitlab远程仓库

    (超详细)使用git命令行将本地仓库代码上传到github或gitlab远程仓库 本地创建了一个 xcode 工程项目,现通过 命令行 将该项目上传到 github 或者 gitlab 远程仓库,具体 ...

  7. 【CF1025A】Doggo Recoloring(签到)

    题意:给定一个长度为 n 的小写字母串.可以将出现次数大于等于2的字母全部变成另一个小写字母,问最后能否将该小写字母串的所有字母变成同一个字母 n<=1e5 思路: #include<cs ...

  8. Scrapy学习-20-数据收集

    Scrapy的数据收集功能 定义 Scrapy提供了方便的收集数据的机制.数据以key/value方式存储,值大多是计数值. 该机制叫做数据收集器(Stats Collector),可以通过 Craw ...

  9. Scrapy学习-16-动态网页技术

    Selenium浏览器自动化测试框架 简介 Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样. 支持的浏览器包括IE(7, 8, ...

  10. 求lca(模板)

    洛谷——P3379 [模板]最近公共祖先(LCA) 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. 输入输出格式 输入格式: 第一行包含三个正整数N.M.S,分别表示树的结点 ...