当前位置: 首页 > wzjs >正文

舟山大昌建设集团网站wordpress 网页计算器

舟山大昌建设集团网站,wordpress 网页计算器,3d建模教程人物,seo排名计费系统一、selinux技术详解 SELinux 概述 SELinux,即 Security-Enhanced Linux,意为安全强化的 Linux,由美国国家安全局(NSA)主导开发。开发初衷是防止系统资源被误用。在 Linux 系统中,系统资源的访问均通过程…

一、selinux技术详解

SELinux 概述

SELinux,即 Security-Enhanced Linux,意为安全强化的 Linux,由美国国家安全局(NSA)主导开发。开发初衷是防止系统资源被误用。在 Linux 系统中,系统资源的访问均通过程序进行。例如,当/var/www/html/目录的权限被设置为 777 时,所有程序都能访问该目录。若此时 Web 服务器软件已启动,其触发的进程便可以写入该目录,而该进程面向整个互联网提供服务,存在安全风险。为解决这类权限与进程管控问题,NSA 以 Linux 为研究对象,最终将研究成果整合到 Linux 内核中,SELinux 由此诞生。

SELinux 的作用机制

SELinux 本质是一个内核模块,用于设置程序、文件等的访问权限。由于网络服务同样由程序启动,SELinux 能够有效控制网络服务对系统资源的访问,从而为系统安全提供保障。

传统访问控制机制:自主访问控制(DAC)

在传统的 Linux 系统中,文件权限与账号的关系基于自主访问控制(DAC,Discretionary Access Control)模型。当一个进程试图访问文件时,系统会依据进程的所有者或用户组,对比文件的权限设置。若权限检查通过,进程便能访问该文件。但需要注意的是,各种权限设置对 root 用户无效,root 用户可绕过权限限制进行访问。

SELinux 的访问控制机制:强制访问控制(MAC)

SELinux 引入了强制访问控制(MAC,Mandatory Access Control)模型。该模型可以针对特定的进程和文件资源进行精确的权限控制。在 MAC 模型下,即使用户以 root 身份运行,不同进程所获得的权限并非固定为 root 权限,而是取决于进程的具体设置。这使得系统能够基于进程而非用户来控制文件访问,大大增强了系统的安全性。此外,进程不能随意访问系统文件资源,因为每个文件资源都针对不同进程设置了相应的访问权限。

鉴于系统中进程和文件数量庞大,SELinux 提供了一些默认策略(policy)。这些策略包含多个规则,用户可根据实际需求选择是否启用特定的控制规则,灵活配置系统的访问控制策略 。

二、SELinux 的工作原理

SELinux 采用强制访问控制(MAC)机制管理进程,将进程作为控制主体,把进程能否读取的文件资源作为控制目标。

(1)关键概念

  1. 主体(subject):即进程,是发起资源访问请求的一方。
  2. 目标(object):指被主体访问的资源,涵盖文件、目录、端口等。
  3. 策略(policy):鉴于系统中进程和文件数量众多,SELinux 依据不同服务制定基础的访问安全策略。这些策略包含详细的规则(rule),用以规定不同服务对特定资源的访问权限。当前,主要策略类型如下:
    • targeted:对网络服务限制较多,对本地服务限制相对较少,为默认策略。
    • strict:提供全面且严格的 SELinux 限制。
  4. 安全上下文(security context):主体能否访问目标,不仅取决于策略设定,主体与目标的安全上下文也必须匹配。

(2)安全上下文详解

通过ls -Z命令可查看文件的安全上下文。例如:

[root@localhost ~]# ls -Z
-rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg
drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 home

安全上下文由冒号分隔为四个字段:Identify:role:type:

  1. 身份标识(Identify):类似账号身份标识,常见类型有:
    • root:代表 root 账号身份。
    • system_u:表示程序标识,通常用于进程。
    • unconfined_u:与普通用户账号相关。
  2. 角色(role):通过该字段可判断数据属于程序、文件资源还是用户。常见角色有:
    • object_r:代表文件或目录等文件资源。
    • system_r:代表进程。
  3. 类型(type):在默认的 targeted 策略中,身份标识和角色字段重要性相对较低,类型字段才是关键。文件和进程对类型的定义有所不同:
    • type:用于文件资源。
    • domain:用于主体程序。只有当 domain 与 type 相互匹配,程序才能顺利读取文件资源。
  4. 灵敏度分级:最后一个字段与 MLS 和 MCS 相关,代表灵敏度,常用 s0、s1、s2 等命名,数字越大,灵敏度越高。

(3)访问过程示例

以 httpd 服务为例,使用ll -Zd命令查看相关文件:

[root@localhost ~]# ll -Zd /usr/sbin/httpd /var/www/html/
-rwxr-xr-x. root root system_u:object_r:httpd_exec_t:s0 /usr/sbin/httpd
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
  1. 触发/usr/sbin/httpd可执行文件,其类型为httpd_exec_t
  2. 该文件使进程具有httpd域,SELinux 策略针对此域制定了众多规则,包括可读取的目标资源类型。
  3. 由于httpd域被设定为可读取httpd_sys_content_t类型的目标文件,因此 httpd 进程能够读取/var/www/html/目录下的文件。
  4. 最终能否成功读取/var/www/html/目录下的数据,还需符合 Linux 传统权限(rwx)的规定。

三、SELinux 的启动、关闭与查看

(1)SELinux 的三种模式

  1. enforcing:强制模式,SELinux 正常运行,对 domain/type 进行严格限制。
  2. permissive:宽容模式,SELinux 运行,但仅产生警告信息,不实际限制 domain/type 的访问。
  3. disabled:关闭模式,SELinux 未实际运行。

(2)模式与策略查看

  1. 查看当前模式:使用getenforce命令,示例如下:
[root@localhost ~]# getenforce
Enforcing
  1. 查看当前 SELinux 使用的策略:使用sestatus命令,示例如下:
[root@localhost ~]# sestatus
SELinux status: enabled     # 是否启用selinux
SELinuxfs mount: /sys/fs/selinux     # selinux的相关文件数据挂载点
SELinux root directory: /etc/selinux
Loaded policy name: targeted     # 目前的策略
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
  1. 查看 SELinux 的策略配置文件:使用vim /etc/selinux/config命令。

(3)模式切换方法

在 enforcing 和 permissive 之间切换,可使用以下命令:

setenforce 0     # 转换成permissive宽容模式
setenforce 1    # 转换成enforcing强制模式

(4)修改安全上下文

  1. chcon 命令
    • 基本格式chcon [-R] [-t type] [-u user] [-r role] 文件
      • -R:递归修改目录及其子目录的安全上下文。
      • -t:指定安全上下文的类型字段。
      • -u:指定身份识别。
      • -r:指定角色。
    • 参考范例文件修改chcon [-R] --reference=范例文件 文件
  2. restorecon 命令restorecon [-Rv] 文件或目录
    • -R:递归修改子目录。
    • -v:显示修改过程。
      系统将每个目录的默认 SELinux type 类型记录在/etc/selinux/targeted/contexts/目录内。可使用semanage命令查询和修改,基本格式如下:
semanage {login|user|port|interface|fcontext|translation} -l
semanage fcontext -{a|d|m} [-frst] file_spec

其中,-l用于查询,-a用于添加目录的默认安全上下文设置,-m用于修改,-d用于删除。

四、SELinux 对 Linux 服务的影响

实验一:httpd 服务安全上下文值设定

1. 服务端配置:服务端 IP 地址为 192.168.121.131,执行以下操作:

[root@localhost ~]# systemctl disable  firewalld --now
[root@localhost ~]# getenforce 
Enforcing
[root@localhost ~]# vim /etc/httpd/conf.d/host.conf<directory /www>allowoverride nonerequire all granted</directory><virtualhost 192.168.121.131:80>documentroot /www/80servername 192.168.121.131</virtualhost>
[root@localhost ~]# mkdir -pv  /www/80 
[root@localhost ~]# echo this is 80 > /www/80/index.html
[root@localhost ~]# systemctl restart httpd

通过客户端测试,只能访问到 http 服务的测试界面。
2. 修改自定义目录的安全上下文

[root@localhost ~]# chcon -t httpd_sys_content_t /www/ -R
[root@localhost ~]# chcon -R --reference=/var/www/html /www

修改后即可成功访问。

实验二:web 服务端口改变时的端口设定

1. 修改配置文件

[root@localhost ~]# vim /etc/httpd/conf.d/host.conf <directory /www>allowoverride nonerequire all granted</directory>listen 8888<virtualhost 192.168.121.131:8888>documentroot /www/8888servername 192.168.121.131</virtualhost>
[root@localhost ~]# mkdir /www/8888
[root@localhost ~]# echo this is 8888 > /www/8888/index.html
[root@localhost ~]# systemctl restart httpd

服务重启失败,通过tail -f /var/log/messages查看日志。
2. 添加 8888 端口为服务端口:

[root@localhost ~]# semanage port -a -t http_port_t -p tcp 8888
[root@localhost ~]# systemctl restart httpd 

测试可访问成功。


文章转载自:

http://h6MFJWnm.yhywx.cn
http://LKKUwCcS.yhywx.cn
http://05vRt2eC.yhywx.cn
http://3uW8ulvf.yhywx.cn
http://f22k1B5T.yhywx.cn
http://5zKxzUbO.yhywx.cn
http://6YUjoPg2.yhywx.cn
http://DPbTZREL.yhywx.cn
http://O2yVRRfq.yhywx.cn
http://e7vOojBp.yhywx.cn
http://NrYaMajv.yhywx.cn
http://rRGPVl5o.yhywx.cn
http://nPjVag5E.yhywx.cn
http://AfShxZXl.yhywx.cn
http://3meCsxML.yhywx.cn
http://vBHoMUlN.yhywx.cn
http://YQA6aUTN.yhywx.cn
http://ooSXU6Ci.yhywx.cn
http://X770BJeb.yhywx.cn
http://dyCSjSlb.yhywx.cn
http://2qXjEote.yhywx.cn
http://iTRZe64E.yhywx.cn
http://4jMccHwy.yhywx.cn
http://Ctl0RkS6.yhywx.cn
http://iggBv6sa.yhywx.cn
http://pVhesb1U.yhywx.cn
http://QTLGozfF.yhywx.cn
http://1C3qmwGG.yhywx.cn
http://qbpdAUg0.yhywx.cn
http://GGR1UFRe.yhywx.cn
http://www.dtcms.com/wzjs/635153.html

相关文章:

  • 曲阳有没有做网站里网站已运行时间代码
  • 建设银行网站ie11打不开wordpress startit
  • 重庆做木门网站公司简介可以定制东西的软件
  • 湛江赤坎海田网站建设招聘制作一个公司网站的流程
  • 济南营销型网站制作网站备案时 首页
  • dreamware做网站哪些网站做推广比较好
  • 自己做网站需要什么软件下载网站建设费用折旧年限
  • 苏州做门户网站的公司伪静态nginx wordpress
  • 新手做视频网站好wordpress 修改路径
  • 免费的建站软件推荐下载图片描述 wordpress
  • 商城app网站开发上海有几个区域
  • 广州番禺建网站新闻静态网站模板
  • 叫人开发网站注意事项河北网站建设收益
  • tplink虚拟服务器做网站网站设计怎么划分块
  • 电子商务类网站建设爱站网关键词挖掘工具
  • 建造免费网站网站运营技术性高吗
  • 自己给网站做优化怎么做优化大师人工服务电话
  • 做网站 需要买云服务器吗软文推广营销服务平台
  • 沧州网站开发搜索引擎优化的基本内容
  • 网站制作公司制作网站的流程是怎样的呢建设工程消防信息网站
  • 网站建设营销外包公司哪家好微信电脑网站是什么原因
  • 建站公司有哪些服务网站描述是什么
  • 汉沽手机网站建设网站开发入门看什么
  • 做相框的网站几个好用的在线网站
  • 软件开发与网站建设淮北哪些企业做网站
  • 做网站IP微网站开发平台有哪些
  • 顺天亿建设网站江西省建设三类人员系统网站
  • 网站容量空间一般要多大通辽做网站有没有
  • 奉贤做网站公司两学一做网站是多少
  • 网站结构是体现的网站建设uuiop