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 Prod、ServerSignature Off(减少版本与系统指纹暴露)
- expose_php = Off(隐藏X-Powered-By)
- display_errors = Off(生产环境关闭错误回显)
- 访问与执行控制:
- 禁止目录浏览:Options -Indexes
- 限制脚本执行与包含:在上传等目录使用Options -ExecCGI -Includes
- 目录/文件级访问控制(示例):
- Order Deny,Allow → Deny from all → Allow 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。