温馨提示×

centos lamp怎样确保系统安全

小樊
39
2025-12-23 14:55:43
栏目: 智能运维

CentOS LAMP 安全加固清单

一 基础系统与账户安全

  • 保持系统与软件包为最新:执行sudo yum update -y,及时修补漏洞。
  • 最小权限与账户治理:仅保留必要账户,设置强密码策略,禁用或删除不必要的默认/共享账户;Web 管理避免使用root
  • SSH 安全:禁用root远程登录(/etc/ssh/sshd_config:PermitRootLogin no),使用SSH 密钥认证,必要时更改默认端口并限制可登录来源网段。
  • 服务最小化:关闭并禁用不需要的端口与服务(如示例:sudo systemctl disable unnecessary_service)。
  • 日志与审计:启用并集中rsyslog/systemd-journald,定期审计**/var/log/secure、/var/log/httpd/error_log、/var/log/messages**等日志。

二 防火墙与网络访问控制

  • 使用firewalld统一管理策略:
    • 启动与开机自启:sudo systemctl start firewalld && sudo systemctl enable firewalld
    • 开放必要服务/端口:
      • Web:sudo firewall-cmd --permanent --add-service=http --add-service=https
      • SSH:sudo firewall-cmd --permanent --add-service=ssh
    • 重载规则:sudo firewall-cmd --reload;核对:sudo firewall-cmd --list-all
  • 精细化控制:对管理口或敏感端口仅允许可信网段,示例富规则:
    • 仅允许192.168.1.100访问8080/tcp
      • sudo firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port protocol=“tcp” port=“8080” accept’
      • sudo firewall-cmd --reload
  • 如必须使用iptables(传统方式),务必先放行**SSH(22)**再变更默认策略,避免被锁死。

三 Apache 与 PHP 安全

  • 隐藏服务标识与信息泄露:
    • ServerTokens ProdServerSignature Off(减少版本与系统指纹暴露)
    • expose_php = Off(隐藏X-Powered-By
    • display_errors = Off(生产环境关闭错误回显)
  • 访问与执行控制:
    • 禁止目录浏览:Options -Indexes
    • 限制脚本执行与包含:在上传等目录使用Options -ExecCGI -Includes
    • 目录/文件级访问控制(示例):
      • Order Deny,AllowDeny from allAllow from 192.168.1.0/24
  • PHP 运行限制:
    • 禁用危险函数:disable_functions = exec,shell_exec,passthru,system,popen,proc_open,pcntl_exec,…
    • 关闭远程包含/读取:allow_url_fopen=Off、allow_url_include=Off
    • 目录隔离:open_basedir 限制脚本仅能访问指定目录(如网站根与临时目录)
  • 虚拟主机与上传安全:避免在DocumentRoot根下运行应用;为**/upload等目录禁止解析.php**;必要时对管理路径启用HTTP Basic Auth

四 MariaDB MySQL 安全

  • 初始加固:执行sudo mysql_secure_installation,设置root强密码、移除匿名用户、禁止root远程登录、删除测试库。
  • 监听与远程访问:如无远程需求,配置bind-address=127.0.0.1仅本地监听。
  • 禁用危险功能:在**[mysqld]中设置local-infile=0**,降低文件注入风险。
  • 最小权限账户:为每个应用创建专用数据库用户,仅授予所需库/表的SELECT/INSERT/UPDATE/DELETE等权限,避免使用root直连应用。
  • 备份与恢复演练:定期逻辑/物理备份,验证可恢复性。

五 持续运维与监控

  • 加密传输:部署TLS/HTTPS(安装mod_ssl,配置有效证书;或前置反向代理/CDN的 HTTPS)。
  • 入侵防护:部署Fail2Ban监控SSH/HTTP暴力尝试并自动封禁。
  • 合规巡检:定期使用Lynis等工具进行系统安全基线扫描与整改。
  • 备份与演练:制定每日/每周备份策略,包含配置文件与数据库,定期恢复演练验证可用性。
  • SELinux:保持SELinux 为 enforcing,遇到权限问题时用semanage fcontext/restorecon修正上下文,而非直接setenforce 0或粗暴chmod 777

0