插件窝 干货文章 CentOS搭建web服务器的安全性注意事项

CentOS搭建web服务器的安全性注意事项

安全 配置 定期 权限 673    来源:    2025-04-12

CentOS搭建Web服务器的安全性注意事项

系统基础安全设置

  1. 最小化安装

    • 安装时选择"Minimal Install"模式,只安装必要软件包
    • 移除不必要的服务和软件:yum remove [不需要的软件包]
  2. 系统更新

    yum update -y
    yum install yum-plugin-security -y
    yum --security update -y
    
  3. 防火墙配置

    systemctl enable firewalld
    systemctl start firewalld
    # 开放必要端口
    firewall-cmd --permanent --add-service=http
    firewall-cmd --permanent --add-service=https
    firewall-cmd --reload
    
  4. SELinux配置

    • 保持SELinux启用状态
    • 根据需要配置策略:setsebool -P httpd_can_network_connect on

Web服务器安全配置

Apache安全配置

  1. 修改默认配置

    • 禁用目录浏览:Options -Indexes
    • 限制HTTP方法:<LimitExcept GET POST> deny from all </LimitExcept>
    • 隐藏服务器信息:ServerTokens ProdServerSignature Off
  2. 权限控制

    • Web目录权限设置为755,文件权限644
    • 运行Apache的用户应具有最小权限
  3. 模块管理

    • 禁用不必要模块: bash a2dismod autoindex status cgi cgid userdir systemctl restart httpd

Nginx安全配置

  1. 基础安全设置

    • 隐藏版本信息:server_tokens off;
    • 限制HTTP方法:if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; }
  2. SSL配置

    • 使用强加密套件
    • 启用HSTS:add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

数据库安全

  1. MySQL/MariaDB安全

    • 运行安全安装脚本:mysql_secure_installation
    • 限制远程访问,只允许本地连接
    • 定期备份数据库
  2. 用户权限

    • 为每个应用创建独立数据库用户
    • 遵循最小权限原则

应用安全

  1. 文件上传

    • 限制上传文件类型和大小
    • 上传目录设置为不可执行
    • 存储上传文件在Web根目录外
  2. 输入验证

    • 对所有用户输入进行过滤和验证
    • 使用预处理语句防止SQL注入
  3. 会话安全

    • 使用安全的会话管理
    • 设置适当的会话超时

监控与日志

  1. 日志配置

    • 确保所有服务日志启用
    • 定期轮转和备份日志
    • 监控错误日志和访问日志中的异常
  2. 入侵检测

    • 安装配置fail2ban
    • 设置日志监控工具如Logwatch

其他安全措施

  1. SSH安全

    # 修改默认端口
    Port 2222
    # 禁用root登录
    PermitRootLogin no
    # 使用密钥认证
    PasswordAuthentication no
    
  2. 定期维护

    • 定期检查系统漏洞
    • 定期更新所有软件包
    • 定期检查异常进程和开放端口
  3. 备份策略

    • 实施3-2-1备份策略
    • 定期测试备份恢复

通过实施以上安全措施,可以显著提高CentOS Web服务器的安全性,降低被攻击的风险。安全是一个持续的过程,需要定期审查和更新安全策略。