上一小结,咱们大概知道,SELinux是个什么。这一节想弄明白SELinux是怎么解决问题的?
SELinux的策略与规则管理相关命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。
Security-Enhanced Linux (SELinux)由以下两部分组成:
SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制。
SELinux(Security-Enhanced Linux)是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他。SELinux提供了比传统的UNIX权限更好的访问控制。
在CentOS 7系统中部署SELinux非常简单,由于SELinux已经作为模块集成到内核中,默认SELinux已经处于激活状态。对管理员来说,更多的是需要配置与管理SELinux,CentOS 7系统中SELinux全局配置文件为/etc/sysconfig/selinux,内容如下:
先发上来的是第三部分,前面还有part2未整理好,下面一些内容是细细的读完文档之后的成果,对selinux是越来越感兴趣了。陆续更新中哦。 selinux contexts 系统里的文件和进程都打上的selinux 上下文标记,这些标记包含:selinux 用户,角色,类型,选项,等级。当系统运行selinux时,所有的这些信息来决定访问控制。在红帽子企业版中,selinux提供了一种组合了角色为基础的访问控制(RBAC),TYPE Enforcement,和混合等级安全(MSL)multi-level。 在linux 操作系统中用 :ls -Z flies 来查看文件和目录的selinux的上下文。 显示的语法如下:selinux user:role:type:level linux user---->selinux policy---->selinux user policycoreutils-python装包。 [root@kikupotter ~]# semanage login -l 登录名 SELinux 用户 MLS/MCS 范围 __default__ unconfined_u s0s0:c0.c1023 root unconfined_u s0-s0:c0.c1023 system_u system_u s0-s0:c0.c1023 第一列的话是Linux user,第二列是selinux用户。第三列是mls/mcs的范围。这样的话linux user,通过selinux policy 于selinux user关联在一起,selinux user被限定在一定的role,和leave中运行进程。 role selinux的另一部分role-based access control security model(RBAC).role 就是RBAC的属性。 selinux user 要通过role的认证,而role 需要domain的认证。 role相当我momain与selinux user的中间人。这个role可以决定那个domain可以进去。最终,控制哪种类型的类可以通过,增加的安全性。 type type是type enforcement 的属性。 type为进程定义一个domain,为文件定义一个类型。 selinux policy rules定义了怎样的type可以相互访问,domain与type的互访,domain与domain的互访。 level level是mls和mcs的属性。 mls等级是连续的。像这样: lowlevel--highlevel。可以一样或不一样。s0-s0也可一表示成s0. 每个level都用一对sensitivity.category sensitivity:category-set category c0.c3=c0,c1,c2,c3 mcs在红帽子系统里支持1024不同的种类。s0.s0:c0.c1023,sensitivity为s0可以通过任何的category. mls加强了强制访问控制,并且用于lspp环境。要用mls的限制功能要安装,selinux-policy-mls,配置mls为默认的selinux policy.mls 不支持x server所以在桌面环境不可用。 3.1 domain transitions 在一个域中的一个进程要过度到另一个域中通过运行程序的手段,这是需要另一个域的入口点的类型。这个入口点(entrypoint) [root@kikupotter ~]# ls -Z /usr/bin/passwd -rwsr-xr-x. root root system_u:object_r:passwd_exec_t:s0 /usr/bin/passwd A.用户想改密码。为了做这个他运行了passwd. passwd是运行在passwd_exec_t的类型下。 passwd程序通过/etc/shadow,shadow被表上了shadow_t的类型。 [root@kikupotter ~]# ls -Z /etc/shadow -r--------. root root system_u:object_r:shadow_t:s0 /e
本文来讲述 SELinux 策略常用的语法,然后解读一下 SELinux 这个项目中给出的示例策略
SEAndroid 是一套安全机制,实现的主要目的是为了是Android系统更安全。 SELinux是被设计为一个灵活的可配置的MAC机制。 SEAndroid 是将SELinux 移植到Android 上的产物,可以看成SELinux 辅以一套适用于Android 的策略。
在 Linux 系统中一切皆文件,资源也属于某种文件。用户在访问文件的时候,系统对权限(读、写 、执行)进行检查。只要用户对文件有足够的权限,就可以任意操作资源。root 用户对所有资源拥有所有权限,是个危险的存在。每年都会看到某职员一不小心把系统“干趴下”的新闻。这种权限管理的主体是用户,被称为 Discretionary Access Control ,DAC ,自主访问控制。
安全上下文是一个简单的、一致的访问控制属性,在SELinux中,类型标识符是安全上下文的主要组成部分,由于历史原因,一个进程的类型通常被称为一个域(domain),"域"和"域类型"意思都一样,我们不必苛刻地去区分或避免使用术语域,通常,我们认为【域】、【域类型】、【主体类型】和【进程类型】都是同义的,即都是安全上下文中的“TYPE”。
Apache程序是目前拥有很高市场占有率的Web服务程序之一,其跨平台和安全性广泛被认可且拥有快速、可靠、简单的API扩展。 它的名字取自美国印第安人土著语,寓意着拥有高超的作战策略和无穷的耐性,在红帽RHEL5、6、7系统中一直作为着默认的Web服务程序而使用,并且也一直是红帽RHCSA和红帽RHCE的考试重点内容。Apache服务程序可以运行在Linux系统、Unix系统甚至是Windows系统中,支持基于IP、域名及端口号的虚拟主机功能、支持多种HTTP认证方式、集成有代理服务器模块、安全Socket层(SSL)、能够实时监视服务状态与定制日志消息,并有着各类丰富的模块支持。
通过前面的示例策略,大家对 SELinux 应该有那么点感觉认识了,从这篇开始的三篇文章讲述 SELinux 的三种安全模型,会涉及一些代码,旨在叙述 SELinux 内部的原理
为了提高 Linux 系统的安全性,在 Linux 上通常会使用 SELinux 或 AppArmor 实现强制访问控制(Mandatory Access Control MAC)。对于 MySQL 数据库的强制访问控制策略通常是激活的,如果用户采用默认的配置,并不会感到强制访问控制策略对 MySQL 数据库的影响,一旦用户修改了 MySQL 数据库的默认配置,例如默认的数据目录或监听端口,MySQL 数据库的活动就会被 SELinux 或 AppArmor 阻止,数据库无法启动,本文简单介绍 SELinux 对 MySQL 数据库的影响。
SELinux最初是由美国安全局NSA发起的项目,是基于强制访问控制(MAC)策略的,为每一个主体和客户都提供了个虚拟的安全“沙箱”,只允许进程操作安全策略中明确允许的文件。当Linux开启了SELinux安全策略,所有的主体对客户的访问必须同时满足传统的自主访问控制(DAC)和SELinux提供的强制访问控制(MAC)策略。 在虚拟化环境下,通常是多个VM运行在同一个宿主机(物理机)上,通常由同一个用户启动多个VM管理进程(如:qemu-kvm或者vmx等),而这些VM可能为不同的租户服务,如果
SELinux是安全增强型 Linux(Security-Enhanced Linux)简称 SELinux。它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
在 SELinux 出现之前,Linux 上的安全模型叫 DAC,全称是 Discretionary Access Control,翻译为自主访问控制。
报错信息 报错信息为(VI_HA): ip address associated with VRID 123 not present in MASTER advert : 172.103.201.120,意思为无法绑定虚IP,经过网上查找原因,有两种可能性: (1)主备服务器时间不匹配,需要修改一致。 (2)虚拟路由ID在局域网中冲突。 此问题中忘记了另一个同事也在测HA的稳定性,发现他也在用同样的组播地址和虚拟路由id,我修改之后重启keepalived,完美解决。
Security Enhanced Linux是一个Linux安全模块,用于强制或基于角色的访问控制。SELinux默认与CentOS和Fedora打包在一起,可以以三种模式之一运行:禁用、允许或强制执行。
一、实验要求 搭建日志服务器,rsyslog同mariadb数据库结合,实现将日志条目存储于数据库,(收集两台以上服务器日志,包括message,secure,boot日志) 二、实验
安全、坚固、遵从性、策略是末世中系统管理员的四骑士。除了我们的日常任务之外 —— 监控、备份、实施、调优、更新等等 —— 我们还需要负责我们的系统安全。即使这些系统是第三方提供商告诉我们该禁用增强安全性的系统。这看起来像《碟中碟》中 Ethan Hunt 的工作一样。
从进入了 CentOS 5.x 之后的 CentOS 版本中 (当然包括 CentOS 7),SELinux 已经是个非常完备的核心模块了!尤其 CentOS 提供了很多管理 SELinux 的指令与机制,因此在整体架构上面是单纯且容易操作管理的!所以,在没有自行开发网络服务软件以及使用其他第三方协力软件的情况下,也就是全部使用 CentOS 官方提供的软件来使用我们服务器的情况下,建议大家不要关闭 SELinux ! 让我们来仔细的玩玩这家伙吧!
在考试期间,除了您就坐位置的台式机之外,还将使用多个虚拟系统。您不具有台式机系统的 root 访问权,但具有对虚拟系统的完整 root 访问权。
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
在运行SELinux的系统上,所有进程和文件都会有相应的标签。新文件通常从父目录继承其SELinux上下文,从而确保它们具有适当的上下文。
Ceph支持两种客户端挂载方式:使用Linux内核支持的mount命令进行的挂载方式。使用用户空间文件系统FUSE(Filesystem in Userspace)进行的网络磁盘挂载方式。
例:获取某台主机的变量 ansible 10.1.6.68 -m setup ===================================== script:发送脚本到各被管理节点,并执行。不需要参数 ===================================== ansible all -m script -a 'test.sh' 直接在-a 后面指定脚本即可。 =============================== selinux: 管理selinux。 =======
一个程序被加载到内存当中运行,那么在内存内的那个数据就被称为进程(process)。进程是操作系统上非常重要的概念,所有系统上面跑的数据都会以进程的类型存在。
遇到的问题: 15/05/01 09:56:48 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 下载:http://dl.bintray.com/sequenceiq/sequenceiq-bin/ 覆盖: tar -xvf hadoop-native-64-2.6.0.tar -C /home/cluster/hadoop/lib/native
SELinux(Security Enhanced Linux)是美国国家安全局2000年发布的一种高级MAC(Mandatory Access Control,强制访问控制)机制,用来预防恶意入侵。SELinux在DAC(Discretionary Access Control,自主访问控制)的基础上实现了强制访问控制,比如读、写和执行权限。
Cloudera发布的Cloudera的数据平台(CDP)私有云基础版为用户提供了下一代混合云架构。这篇博文概述了设计和部署包含硬件和操作系统配置的集群的最佳实践,以及有关网络和安全以及与现有企业基础架构集成的指南。
selinux 参考策略的安装以及编写自己的策略模块。 实验环境 需要使用python3,2不可以。 Fedora30或centos7 参考策略安装过程 https://github.com/TresysTechnology/refpolicy/wiki 大体是按照上面的wiki,但是wiki年久失修,有一些错误。 可以在主目录下 # cd ~ # git clone https://github.com/SELinuxProject/refpolicy.git 添加contibuted模块(policy
SeLinux全称为安全增强式 Security-Enhanced Linux(SeLinux),是一个在内核的强制存取控制(MAC)安全性机制。SeLinux的整体架构和原理都比较简单,使用也不复杂,其复杂的地方在于规则非常复杂,每个进程都要有规则策略;
通过修改配置文件配置网络信息(需要重启网络服务使配置生效,配置会永久有效) 网络配置工具: 图形界面:NetworkManager服务 命令界面:nmcli 重启网络服务: systemctl restart NetworkManager nmcil connection down/up ip地址
请务必注意CDP Data Center的安装前置条件,请到https://docs.cloudera.com/cloudera-manager/7.1.1/installation/topics/cdpdc-requirements-supported-versions.html 查询对应版本的前提条件。对应CDP数据中心版7.1来讲,前提条件包括如下:
白话解释SSH免秘钥 如果A 想 免密的登陆到B: A:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa B:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
Linux是一个多用户的操作系统,引入用户,可以更加方便管理Linux服务器,系统默认需要以一个用户的身份登入,而且在系统上启动进程也需要以一个用户身份去运行,用户可以限制某些进程对特定资源的权限控制。
zookeeper服务器是用Java创建的,运行在JVM之上。需要安装JDK7以上版本(最好JDK8或以上)。
回顾一下,其实NAT模式就是通过iptables模式实现的。所以我们会配置一些规则在上面。 一、准备工作: 1.1 三台模拟服务器: 主机名 IP 地址 角色 网关 zhdy-01 192.168.230.128 (公网IP:192.168.138.128) Load Balancer zhdy-02 192.168.230.142 Real serverA 192.168.230.128(分发器的内网IP) zhdy-03 192.168.230.144 Real serverB 192.168.230
对于运维小伙伴来讲,Ansible并不陌生,配置简单,上手容易,只要掌握几个基本的模块就可以解决好多运维中重复的事,但是对于处理更为高级的功能和更大、更复杂的项目时,管理和维护Ansible Playbook或高效使用将变得更加困难。
Kubernetes namespace提供了将一组相关资源组合在一起的机制。在Red Hat OpenShift容器平台中,project是一个带有附加注释的Kubernetes namespace。
很多时候我们喜欢在自己电脑上装一台Linux虚拟机玩,但是每次装好之后基本都是两眼无神,不知道下一步干啥,所以这篇文章主要就是解决安装好Linux之后,建议做的一些操作,帮助快速构建本地可用环境。
在linux系统中密码的保存是非常重要的,在企业中的WEB集群环境中,进行统一的版本更新和配置文件的同步免密登录是非常重要的。在自动化运维,统一管理都是离不开Linux的免密登录。
Docker目前已经在安全方面做了一定的工作,包括Docker daemon在以TCP形式提供服务的同时使用传输层安全协议;在构建和使用镜像时会验证镜像的签名证书;通过cgroups及namespaces来对容器进行资源限制和隔离;提供自定义容器能力(capability)的接口;通过定义seccomp profile限制容器内进程系统调用的范围等。如果合理地实现上述安全方案,可以在很大程度上提高Docker容器的安全性。
作者:Jakub Hrozek、Juan Antonio Osorio、Paulo Gomes、Sascha Grunert
SELinux按照默认拒绝的原则运行:任何未经明确允许的行为都会被拒绝。SELinux可按两种全局模式运行:
领取专属 10元无门槛券
手把手带您无忧上云