首页主机资讯centos context如何进行安全设置

centos context如何进行安全设置

时间2026-01-19 08:21:04发布访客分类主机资讯浏览1422
导读:CentOS SELinux 安全上下文安全设置指南 一 基础与状态管理 SELinux 通过给主体(进程)和客体(文件、端口、套接字等)打上安全标签实现强制访问控制(MAC),标签格式为:user:role:type:level,其中最...

CentOS SELinux 安全上下文安全设置指南

一 基础与状态管理

  • SELinux 通过给主体(进程)和客体(文件、端口、套接字等)打上安全标签实现强制访问控制(MAC),标签格式为:user:role:type:level,其中最关键的是type(进程域/文件类型)。在 CentOS 7/8/9 中默认策略为 targeted
  • 查看与切换运行状态:
    • 查看:getenforcesestatus
    • 临时切换:setenforce 1(Enforcing)/ setenforce 0(Permissive)
  • 永久配置:编辑 /etc/selinux/config(或链接 /etc/sysconfig/selinux),设置 SELINUX=enforcing|permissive|disabled;从 disabled 改为 enforcing/permissive 需重启系统。建议生产环境保持 enforcing,排障时可切到 permissive

二 查看与修改安全上下文

  • 查看上下文:
    • 文件/目录:ls -Zls -Zd
    • 进程:ps -Zps axZ
  • 临时修改(重启或策略重载后可能恢复):
    • 指定类型:chcon -t httpd_sys_content_t /path/file
    • 递归:chcon -R -t httpd_sys_content_t /path/dir
  • 永久修改(写入策略数据库,重启仍有效):
    • 添加默认标签规则:semanage fcontext -a -t httpd_sys_content_t “/webdata(/.*)?”
    • 应用规则:restorecon -Rv /webdata
    • 安装工具(若命令不存在):yum/dnf install -y policycoreutils-python-utils
  • 复制参考标签:chcon --reference=/var/www/html /webdata/index.html
  • 删除自定义路径规则:semanage fcontext -d “/webdata(/.*)?”
  • 操作要点:优先使用 semanage+restorecon 做永久变更;chcon 仅作临时调整或验证。

三 常见场景与命令示例

  • Web 服务将内容放到自定义目录 /webdata
    1. 设定默认类型并应用
      semanage fcontext -a -t httpd_sys_content_t “/webdata(/.*)?”
      restorecon -Rv /webdata
    2. 若需写入(如上传目录),再设可写类型并开启布尔
      semanage fcontext -a -t httpd_sys_rw_content_t “/webdata/upload(/.*)?”
      restorecon -Rv /webdata/upload
      setsebool -P httpd_can_write_content on
  • FTP 发布目录与匿名写入:
    semanage fcontext -a -t public_content_t “/var/ftp(/.)?"
    semanage fcontext -a -t public_content_rw_t "/var/ftp/pub(/.
    )?”
    restorecon -Rv /var/ftp
    setsebool -P ftpd_anon_write on
  • 变更服务端口(以 httpd 监听 6666 为例):
    semanage port -l | grep http # 查看已允许端口
    semanage port -a -t http_port_t -p tcp 6666
  • 原则:目录/文件使用与服务匹配的 type,涉及写入再开启相应 sebool,端口使用 semanage port 注册到正确类型。

四 排障与加固建议

  • 定位拒绝事件:
    • 查看最近 AVC:ausearch -m avc -ts recent
    • 生成可读建议:sealert -l *;或 ausearch -m avc -ts recent | audit2allow -M mypol & & semodule -i mypol.pp(仅在确认是误报且必要时使用,避免放宽策略)
  • 辅助工具:安装 setroubleshoot-server 可在 /var/log/messages 提供友好修复提示;详细日志在 /var/log/audit/audit.log
  • 文件操作与上下文:
    • cp 会继承目标目录的默认上下文;mv 保留原上下文,移动到新目录后可能需要 restorecon 修复。
  • 加固要点:
    • 保持 SELINUX=enforcing;变更前在测试环境验证。
    • 优先用 semanage fcontext+restorecon 做永久变更,减少 chcon 的临时改动。
    • 严格按需开启 sebool,用 getsebool -a | grep < 服务名> 检查相关开关。
    • 端口变更必须用 semanage port 注册,避免“端口类型不匹配”导致服务失败。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos context如何进行安全设置
本文地址: https://pptw.com/jishu/785451.html
CentOS Trigger更新策略 如何利用CentOS readdir实现定时任务

游客 回复需填写必要信息