centos apache2安全设置怎么做

373
2025/2/22 21:32:50
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS系统上为Apache2进行安全设置,可以遵循以下步骤:

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

  • 检测方法:使用cat /etc/passwd查看具有超级用户权限的账户。
  • 备份方法:使用cp -p /etc/passwd /etc/passwd_bak备份。
  • 加固方法:使用passwd -l <用户名>锁定不必要的超级账户,使用passwd -u <用户名>解锁需要恢复的超级账户,或者将用户shell改为/sbin/nologin

2. 删除不必要的账户

  • 删除所有不必要的默认账户,如adm, lp, sync等,以减少系统受攻击的风险。

3. 强化用户口令

  • 设置复杂的口令,包含大写字母、小写字母、数字和特殊字符,并且长度大于10位。可以通过修改/etc/login.defs文件来强制执行这些要求。

4. 保护口令文件

  • 使用chattr +i命令给/etc/passwd, /etc/shadow, /etc/group, 和/etc/gshadow文件加上不可更改属性,以防止未授权访问。

5. 设置root账户自动注销时限

  • 通过修改/etc/profile文件中的TMOUT参数,设置root账户的自动注销时限。

6. 限制su命令

  • 通过编辑/etc/pam.d/su文件,限制只有特定组的用户才能使用su命令切换为root。

7. 禁用ctrl+alt+delete重启命令

  • 通过修改/etc/inittab文件,禁用ctrl+alt+delete组合键重启机器的命令。

8. 设置开机启动服务权限

  • 设置/etc/rc.d/init.d/目录下所有文件的权限,以确保只有root用户可以操作这些服务。

9. 防止信息泄露

  • 隐藏Apache的版本信息,通过修改/etc/httpd/conf/httpd.conf文件中的ServerTokensServerSignature指令。

10. 隐藏PHP版本信息

  • 编辑/etc/php.ini文件,将expose_php参数设置为off

11. 禁用自动索引模块

  • 编辑/etc/httpd/conf/httpd.conf文件,搜索LoadModule关键字,关闭不需要的模块。

12. 配置Apache使用SSL/TLS

  • 安装mod_ssl模块:sudo yum install mod_ssl
  • 生成SSL证书和私钥:sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/server.key -out /etc/pki/tls/certs/server.crt
  • 配置Apache使用SSL:编辑/etc/httpd/conf.d/ssl.conf文件,设置SSLCertificateFileSSLCertificateKeyFile指向生成的证书和私钥文件。

13. 配置防火墙

  • 安装firewalldsudo yum install firewalld
  • 配置防火墙规则,允许HTTP和HTTPS流量:sudo firewall-cmd --zone=public --add-service=http --permanentsudo firewall-cmd --zone=public --add-service=https --permanent

以上步骤可以帮助你提升CentOS上Apache2服务器的安全性。请根据你的具体环境和需求调整配置。

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

推荐阅读: 如何在CentOS上进行Java编译测试