ubuntu lamp如何进行安全设置
导读:Ubuntu LAMP 安全设置清单 一 基础加固 保持系统与软件为最新:执行sudo apt update && sudo apt upgrade -y,及时修补漏洞。 配置防火墙仅开放必要端口:启用UFW,放行Apac...
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告警,及时响应异常。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu lamp如何进行安全设置
本文地址: https://pptw.com/jishu/752782.html
