插件窝 干货文章 CentOS搭建web服务器前需注意的权限与访问控制策略

CentOS搭建web服务器前需注意的权限与访问控制策略

apache var bash www 539    来源:    2025-04-13

在CentOS上搭建Web服务器时,合理的权限和访问控制是系统安全的核心。以下是需要重点关注的策略和实施步骤:

一、文件系统权限控制

  1. 最小权限原则

    • Web根目录建议权限: bash chown -R apache:apache /var/www/html chmod -R 750 /var/www/html
    • 配置文件特殊处理: bash chmod 640 /etc/httpd/conf/httpd.conf
  2. 目录结构隔离

    /var/www/
    ├── html/            # 750 (主站点)
    ├── uploads/         # 770 (单独设置属组)
    └── databases/      # 700 (敏感数据)
    

二、SELinux策略配置

  1. 基础上下文设置: bash chcon -R -t httpd_sys_content_t /var/www/html
  2. 特殊目录例外: bash semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/uploads(/.*)?" restorecon -Rv /var/www/uploads

三、Apache/Nginx主配置

  1. 用户隔离

    User apache
    Group apache
    
  2. 目录访问限制

    <Directory "/var/www/private">
     Require ip 192.168.1.0/24
     Options -Indexes -ExecCGI
    </Directory>
    

四、防火墙强化

  1. 精确放行策略: bash firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-port=443/tcp firewall-cmd --reload

五、日志监控

  1. 日志权限设置:

    chmod 640 /var/log/httpd/*
    chown root:apache /var/log/httpd/
    
  2. 实时监控示例:

    tail -f /var/log/httpd/access_log | grep -E 'POST /login|admin.php'
    

六、PHP安全加固(如适用)

  1. php.ini关键配置: ini disable_functions = exec,passthru,shell_exec,system open_basedir = /var/www/html:/tmp expose_php = Off

七、定期维护

  1. 自动化审计脚本: bash #!/bin/bash find /var/www -type f -perm /o=w -exec ls -la {} \; ausearch -k web_alert | grep -i denied

特别注意事项

  1. 避免使用777权限,改用ACL精细控制:

    setfacl -Rm g:devteam:rx /var/www/html
    
  2. 对于上传目录:

    chown -R apache:apache /var/www/uploads
    chmod -R 770 /var/www/uploads
    find /var/www/uploads -type f -exec chmod 660 {} \;
    

通过以上分层防护策略,可构建纵深防御体系。建议部署后立即进行: 1. 漏洞扫描(使用OpenVAS或Nessus) 2. 压力测试(ab/siege) 3. 配置审计(lynis --tests WEB)