温馨提示×

centos apache2安全设置指南

小樊
87
2025-02-13 08:38:05
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

CentOS Apache2 安全设置指南

简介

确保 Apache2 服务器在 CentOS 系统上运行时具有高度安全性是至关重要的。通过实施适当的安全措施,可以显著减少潜在的安全风险,保护服务器及其数据免受恶意攻击。

准备工作

在开始之前,请确保你的 CentOS 系统已更新到最新版本,并安装了 Apache2 服务器。如果尚未安装,可以使用以下命令进行安装:

sudo yum update -y
sudo yum install httpd -y

安全配置步骤

1. 禁用非必要的超级用户

检查系统中的超级用户账户,并删除不必要的账户。

  • 检测具有超级用户权限的账户:

    cat /etc/passwd | awk -F ':' '{print $1,$3}' | grep ' 0$'
    
  • 备份并锁定这些账户:

    cp /etc/passwd /etc/passwd_bak
    passwd -l <用户名>
    
  • 删除不必要的账户,如 adm, lp, sync 等:

    userdel username
    groupdel groupname
    

2. 强化用户口令

设置复杂的用户口令,并检查空口令账户。

  • 修改 /etc/login.defs 文件以强制执行口令策略:

    PASS_MIN_LEN 10
    
  • 检查空口令账户:

    awk -F ":" '$2 == "" {print $1}' /etc/shadow
    

3. 保护口令文件

使用 chattr 命令防止未授权访问 /etc/passwd, /etc/shadow, /etc/group, 和 /etc/gshadow 文件:

chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow

4. 配置防火墙

配置防火墙以限制对 Apache 服务器的访问。

  • 允许 HTTP(端口 80)和 HTTPS(端口 443)流量通过:

    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
    

5. 禁用不必要的模块和功能

在 Apache 配置文件中禁用不必要的模块和功能,以减少潜在的安全风险。

  • 示例:禁用 mod_sslmod_rewrite 模块:

    <IfModule mod_ssl.c>
        # SSL模块不需要时应该被禁用
        LoadModule ssl_module modules/mod_ssl.so
    </IfModule>
    
    <IfModule mod_rewrite.c>
        # 重写引擎如果不是必需的也应该被禁用
        RewriteEngine Off
    </IfModule>
    

6. 配置 SSL/TLS

启用 SSL/TLS 以保护数据传输过程中的安全。

  • 生成 SSL 证书并配置相应的虚拟主机:

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
    
  • 编辑 Apache 配置文件(例如 /etc/httpd/conf.d/ssl.conf)并添加以下内容:

    <VirtualHost *:443>
        ServerName your_domain.com
        DocumentRoot /var/www/html
    
        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
        SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
    
        ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
        CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
    </VirtualHost>
    
  • 重启 Apache 服务:

    sudo systemctl restart httpd
    

7. 定期更新和监控

定期更新 Apache 及其模块,并监控日志文件以检测异常行为。

  • 更新 Apache 服务器:

    sudo yum update -y
    
  • 启用并检查日志功能:

    sudo a2enmod log_config
    

    /etc/httpd/conf/httpd.conf 中配置日志路径:

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    

参考文档

  1. 打造坚不可摧的CentOS服务器:全面安全配置指南
  2. CentOS 系统安全配置全攻略:打造坚不可摧的服务器防护
  3. 简明易行的CentOS安全配置指南
  4. 【LAMP环境安全加固】:Apache、PHP和MySQL安全配置,防范黑客攻击
  5. CentOS下Apache 2.x的安装、优化及安全设置
  6. 云环境下的Apache配置-洞察分析
  7. Apache2在CentOS中的配置教程
  8. 如何在Linux系统上安装和配置Apache HTTPD服务器
  9. HTTPS证书怎么配置——快速实现网站HTTPS

通过以上步骤,你可以显著提升 CentOS 上 Apache2 服务器的安全性。确保定期审查和更新安全配置,以应对不断变化的安全威胁。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:CentOS Apache2安全性配置指南

0