ubuntu lamp如何进行安全设置
小樊
42
2025-11-20 15:41:40
Ubuntu LAMP 安全设置清单
一 基础加固
保持系统与软件为最新:执行sudo apt update && sudo apt upgrade -y ,及时修补漏洞。
配置防火墙仅开放必要端口:启用UFW ,放行Apache Full (包含 80/443 ),如仅测试可临时放行 22/tcp ;生产环境建议改为密钥登录后再限制端口。
SSH 安全:编辑**/etc/ssh/sshd_config**,设置PermitRootLogin no 、PasswordAuthentication no ,使用密钥认证 并重启 sshd 。
强密码策略:在**/etc/login.defs与 /etc/pam.d/common-password**中设置最小长度、复杂度与重试次数(如 minlen=10 、各类字符类限制)。
禁用不必要端口与服务:通过 UFW 或系统服务管理关闭未使用的端口与守护进程。
日志与入侵防护:部署fail2ban 监控 SSH/HTTP 暴力尝试,使用logwatch 定期汇总日志。
强制访问加密:为管理后台、登录与敏感接口启用HTTPS/TLS (可使用 Let’s Encrypt)。
二 Apache 安全
隐藏版本与标识:在**/etc/apache2/conf-available/security中设置 ServerTokens Prod**、ServerSignature Off ,减少信息泄露。
禁止目录列表:在虚拟主机或目录配置中使用Options -Indexes ,避免未索引目录被列文件。
限制敏感目录访问:对包含配置、备份、管理接口的目录使用Order Deny,Allow / Deny from all / Allow from 网段或域名 进行来源限制。
精简模块与功能:禁用不需要的模块(如cgi、includes 等),仅启用必要功能(如rewrite、headers )。
运行身份与权限:确认以www-data 运行(查看**/etc/apache2/envvars**),网站根目录(如**/var/www/html**)属主设为www-data:www-data ,目录755 、文件644 。
可选 WAF:部署ModSecurity 并加载规则集,增强对常见 Web 攻击的拦截能力。
三 MySQL MariaDB 安全
运行安全向导:执行sudo mysql_secure_installation ,设置root 强密码、移除匿名用户、禁止远程 root 登录、删除测试库。
绑定地址与远程访问:编辑**/etc/mysql/mysql.conf.d/mysqld.cnf**,将bind-address=127.0.0.1 以限制仅本地访问;确需远程时改为0.0.0.0 并创建最小权限专用账户(如CREATE USER ‘app’@‘10.0.0.%’ ),避免使用 root 远程。
最小权限原则:按库/表/主机授予必要权限 ,定期REVOKE 不必要权限并FLUSH PRIVILEGES 。
网络与加密:限制数据库端口(默认3306 )暴露面,仅在内网开放;对敏感数据链路启用TLS 。
四 PHP 安全
关闭信息泄露与调试:在**/etc/php/*/apache2/php.ini中设置 expose_php = Off**、display_errors = Off 、log_errors = On 、合理的error_reporting 。
限制远程包含与代码执行:如业务允许,设置allow_url_fopen = Off 、allow_url_include = Off 。
禁用危险函数:通过disable_functions 禁用exec、shell_exec、system、passthru、eval 等高风险函数(依据应用需求保留必要函数)。
限制文件访问范围:使用open_basedir 将脚本可访问路径限制在**/var/www/与临时目录(如 /tmp**)。
性能与安全:启用OPcache (生产推荐),并仅安装与业务相关的扩展,减少攻击面。
五 运维与持续安全
备份与恢复演练:定期使用rsync/duplicity 对代码、配置与数据库进行离线/异地 备份,并验证可恢复性。
访问控制与隔离:对管理后台、API 与敏感资源启用强认证 (强密码/多因素)、IP 白名单 与速率限制 ;数据库与 Web 分离部署更优。
安全基线核查:定期审计UFW 规则、Apache/PHP 配置、MySQL 用户权限与监听地址;使用AppArmor/SELinux 等强制访问控制降低被攻陷后的影响范围。
变更与监控:变更前备份配置与数据库;上线后持续监控fail2ban 与logwatch 告警,及时响应异常。