温馨提示×

CentOS Cobbler安全设置建议

小樊
33
2025-12-17 14:16:59
栏目: 智能运维

CentOS 上部署 Cobbler 的安全设置建议

一 网络与服务边界

  • 将管理服务与装机网络进行网络分区(管理口走管理网/带外,PXE 网口走装机网),仅开放必要流量,避免跨网段直接访问。
  • 启用并正确配置 firewalld,仅放行所需端口;不要直接长期关闭防火墙。示例(按实际网段与接口调整):
    • DHCP(若由本机提供):67/udp、68/udp
    • TFTP:69/udp
    • HTTP/HTTPS:80/tcp、443/tcp
    • 示例命令:
      • firewall-cmd --permanent --add-port={67,68}/udp
      • firewall-cmd --permanent --add-port={80,443}/tcp
      • firewall-cmd --reload
  • 若与现有网络共用 DHCP,优先采用 DHCP 代理/辅助模式或让上游 DHCP 仅下发 next-server + filename,避免由装机服务器承担 DHCP 角色,降低横向风险。

二 身份与访问控制

  • 强口令与默认口令治理:
    • 修改安装后默认 root 密码:在 /etc/cobbler/settings 中设置 default_password_crypted,使用命令生成密文:openssl passwd -1 -salt '随机串' '你的密码'
    • Web 管理凭据:
      • 若使用文件认证,执行:htdigest /etc/cobbler/users.digest "Cobbler" cobbler 设置强口令。
      • 若使用 PAM,编辑 /etc/cobbler/modules.confmodule = authn_pam,并在系统创建相应用户/组与 sudo 授权,遵循最小权限原则。
  • 远程管理与 API:
    • 仅在内网或跳板机后使用 HTTPS 访问 Web;API 调用应启用认证与授权,并对来源 IP 做白名单限制。
    • 定期轮换 Web 与 API 凭据,禁用默认账户与示例账户。

三 引导与系统加固

  • 引导安全:
    • 启用 pxe_just_once: 1,避免装机完成后再次进入 PXE 引导,降低误装与被滥用风险。
    • 使用 cobbler get-loaders 获取并校验引导加载器(如 pxelinux.0、menu.c32、grub/efi 等),确保文件完整性与来源可信。
  • 服务最小化:
    • 若不使用 rsync 外部同步,保持 /etc/xinetd.d/rsync 为禁用状态;启用必要服务的最小实例与最小权限运行。
  • 安全基线:
    • 保持系统及 Cobbler 组件及时更新与补丁;对 Web、DHCP、TFTP 等服务进行最小权限配置与必要的 chroot/隔离

四 日志、监控与审计

  • 启用并集中采集日志:
    • Web/API 访问日志(Apache)、cobblerd 日志、dhcpd 日志、tftp 日志、rsync 日志等,统一送往 rsyslog/ELK 或 SIEM 进行留存与告警。
  • 变更与合规审计:
    • /etc/cobbler//var/lib/cobbler/ 的变更纳入版本控制;定期审计用户、权限、kickstart 模板与镜像仓库内容。
  • 运行监控:
    • 监控异常访问(多次失败登录、非常规时段调用 API)、异常装机请求与 DHCP/TFTP 异常流量,及时处置。

五 SELinux 与文件权限

  • 优先采用 SELinux 强制模式并正确配置策略,而非直接禁用:
    • 允许 httpd 网络访问:setsebool -P httpd_can_network_connect true
    • 设置 TFTP/HTTP 内容上下文:
      • semanage fcontext -a -t public_content_t “/var/lib/tftpboot/.*”
      • semanage fcontext -a -t public_content_t “/var/www/cobbler/images/.*”
      • 如启用 cobbler-web 会话目录:semanage fcontext -a -t httpd_sys_content_rw_t "/var/lib/cobbler/webui_sessions/.*"
    • 执行 restorecon -R 使上下文生效。
  • 文件与目录权限:
    • 确保 /var/www/cobbler/var/lib/tftpboot/var/lib/cobbler/ 等关键目录仅对必要用户/组可读可执行,Web 目录禁止写入脚本与可执行文件。
  • 若因策略复杂短期改为 SELINUX=permissive 仅用于排障,事后务必恢复为 enforcing 并补齐策略。

0