首页主机资讯centos selinux如何提高安全性

centos selinux如何提高安全性

时间2025-12-19 20:36:04发布访客分类主机资讯浏览494
导读:提升 CentOS 上 SELinux 安全性的实用清单 一 基础加固 将 SELinux 设为强制模式并持久化:编辑 /etc/selinux/config,设置 SELINUX=enforcing;如需临时切换可用 setenforc...

提升 CentOS 上 SELinux 安全性的实用清单

一 基础加固

  • 将 SELinux 设为强制模式并持久化:编辑 /etc/selinux/config,设置 SELINUX=enforcing;如需临时切换可用 setenforce 1/0,当前状态用 getenforce 查看。处于 Permissive 仅记录不阻断,便于排障;Disabled 完全关闭,需重启且不利于安全。
  • 保持默认策略为 targeted,仅对关键网络服务实施强制访问控制,降低策略复杂度与维护成本。
  • 安装管理工具(按需):policycoreutils-python-utils、setools-console、semanage、restorecon 等,用于策略查询、端口与上下文管理。
  • 定期更新系统与 SELinux 策略包,及时获得漏洞修复与策略改进。

二 正确配置与最小权限

  • 管理文件与目录上下文:用 ls -Z 查看上下文;用 semanage fcontext -a -t “/path(/.*)?” 持久化类型,随后 restorecon -Rv /path 应用;临时修正可用 chcon。示例:为 Web 目录设置 httpd_sys_content_t 以便 httpd 读取。
  • 管理端口类型:用 semanage port -a -t < port_type> -p tcp 将服务绑定到合规端口类型,避免非标准端口引发访问异常。示例:将 80/tcp 加入 http_port_t
  • 使用布尔值精细控制功能:用 getsebool -a | grep 查看,用 setsebool -P =1 持久开启(加 -P 写入策略,重启不丢失)。示例:允许 httpd 发起网络连接 setsebool -P httpd_can_network_connect=1
  • 故障排查思路:遇到“访问被拒”先确认是 DAC(文件权限)还是 SELinux(AVC 拒绝);用 ausearch -m avc -ts recent 或查看 /var/log/audit/audit.log 定位被拒主体、客体与操作,再决定是调整上下文、布尔值还是定制策略模块。

三 典型场景示例

  • Web 服务读取自定义目录:将 /web 标记为 httpd_sys_content_t,使 httpd 可读取但不可写(如需写入再评估更严格的类型与权限)。命令示例:
    semanage fcontext -a -t httpd_sys_content_t “/web(/.*)?”
    restorecon -Rv /web
  • FTP 服务文件可见与匿名写入:
    • 文件从 /root 移动到 /var/ftp 后可能继承 admin_home_t,导致客户端不可见;将文件改为 public_content_t 即可:chcon -t public_content_t /var/ftp/yourfile 或 restorecon。
    • 允许匿名上传:开启布尔值 allow_ftpd_anon_write 与(按需)allow_ftpd_full_access,并确保目录拥有正确类型与权限(如 /var/ftp/pub 归属 ftp)。

四 与防火墙和其他安全机制协同

  • 与防火墙分层防御:用 firewalld/iptables 限制入站端口与服务,仅暴露必要端口;SELinux 在进程/资源层面做强制访问控制,二者互补。
  • 最小权限运行:避免以 root 运行不必要的服务或脚本,结合 systemd 服务单元限制权限与能力(CapabilityBoundingSet、ProtectKernelTunables 等),减少被攻破后的横向移动空间。
  • 日志与监控:集中采集 /var/log/audit/audit.log 与系统日志,对 AVC 拒绝建立告警与审计;必要时引入 ELK 等做可视化与长期留存。

五 常见误区与建议

  • 不要直接 chcon 覆盖系统默认上下文,优先使用 semanage fcontext + restorecon 持久化,避免策略刷新后被重置。
  • 避免长期停留在 Permissive 或随意改为 Disabled;前者会弱化防护,后者需要重启且不利于取证与合规。
  • 谨慎开启宽泛布尔值(如 allow_ftpd_full_access),优先采用最小权限的组合(精确类型 + 必要布尔 + 目录权限)。
  • 变更前在测试环境验证,变更后在 audit.log 回溯确认无异常拒绝;为关键业务准备回滚方案(如策略模块备份、快照)。

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


若转载请注明出处: centos selinux如何提高安全性
本文地址: https://pptw.com/jishu/776620.html
如何监控CentOS上Docker容器的运行状态 centos 时间戳如何用于定时任务

游客 回复需填写必要信息