温馨提示×

Debian LAMP安全设置有哪些

小樊
45
2025-11-15 03:42:19
栏目: 智能运维

Debian LAMP 安全设置清单

一 系统与账户安全

  • 保持系统与软件为最新:定期执行 apt update && apt upgrade -y,并优先使用 security.debian.org 的安全更新源。
  • 最小安装与清理:仅安装必要软件包,关闭不必要的服务与端口,减少攻击面。
  • 强化账户与认证:创建普通用户并加入 sudo 组,禁用 root 远程登录;使用 SSH 密钥认证,禁用密码登录;设置 PermitRootLogin noPermitEmptyPasswords no;通过 PAM 启用复杂度策略(如安装 libpam-cracklib 并配置 /etc/pam.d/common-password)。
  • 权限最小化:遵循最小权限原则,定期清理不再使用的账户与密钥。

二 网络与防火墙

  • 使用 UFW 快速管控:安装后启用,仅放行必要端口(如 22/80/443);必要时对管理端口(如 22/3306)按来源 IP 白名单限制。
  • 使用 iptables 精细控制:对 80/443/22/3306 按需放行,默认拒绝未明确允许的入站流量,并持久化规则。
  • 数据库端口策略:生产环境建议 3306 仅监听 localhost 或内网,避免公网直连。

三 Apache 与 PHP 安全

  • Apache 基础加固:仅启用必要模块;关闭目录列表(如 Options -Indexes);配置合适的 AllowOverride 与默认 Deny/Require;隐藏版本信息;为虚拟主机启用 SSL/TLS
  • PHP 安全配置:在 php.ini 中禁用危险函数(如 exec、system、shell_exec、passthru);限制上传与请求大小(如 upload_max_filesize=2M、post_max_size=8M);关闭显示错误到页面(display_errors=Off),仅记录到日志;仅启用必要的 PHP 扩展。

四 MariaDB MySQL 安全

  • 运行安全初始化:mysql_secure_installation,设置强 root 密码、删除匿名用户、禁止远程 root 登录、移除测试库。
  • 访问控制:为应用创建最小权限的专用账户;限制来源 IP;必要时通过防火墙限制 3306 访问。
  • 本地认证优先:让 root 仅通过 unix_socket 认证,减少网络暴露面。

五 日志监控 备份与审计

  • 日志与告警:启用并轮转 Apache/MariaDB 日志;使用 fail2ban 防御暴力破解;定期审计日志与关键文件。
  • 主动巡检:使用 Lynis 进行系统安全基线扫描,及时修复高风险项。
  • 监控与可视化:部署 Prometheus + GrafanaZabbix/Nagios 监控资源与异常。
  • 备份与恢复:制定定期备份(如 tar/rsync/var/www 与数据库定时备份),并验证可恢复性;准备应急与回滚预案。

0