ubuntu

PHP在Ubuntu上的安全配置怎么做

小樊
37
2025-11-10 22:24:45
栏目: 编程语言

1. 更新系统与PHP至最新版本
保持系统和PHP及其扩展的最新状态是修复已知安全漏洞的关键。定期运行以下命令更新系统及PHP组件:

sudo apt update && sudo apt upgrade -y
sudo apt install php php-cli php-fpm php-mysql php-curl php-xml php-zip php-gd php-mbstring php-pear php-bcmath --only-upgrade

2. 配置PHP核心安全参数
编辑PHP配置文件(根据运行模式选择cliapache2fpm版本,如/etc/php/8.1/apache2/php.ini),调整以下核心参数:

3. 配置Web服务器安全

4. 强化会话安全管理
在PHP代码或配置文件中设置会话安全参数,防止会话劫持:

session.cookie_httponly = On  # 禁止JavaScript访问会话Cookie
session.cookie_secure = On    # 仅通过HTTPS传输会话Cookie
session.gc_maxlifetime = 1440 # 设置会话有效期为1440秒(24分钟)
session.use_strict_mode = On  # 启用严格会话模式,防止会话固定攻击

5. 使用HTTPS加密通信
通过Let’s Encrypt获取免费SSL证书,强制使用HTTPS传输数据:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

证书自动续期可通过以下命令测试:

sudo certbot renew --dry-run

6. 配置防火墙与入侵防护

7. 管理文件与目录权限
确保PHP文件和目录的权限合理,避免未授权访问:

sudo chown -R www-data:www-data /var/www/html  # 将所有权赋予Web服务器用户
sudo chmod -R 755 /var/www/html              # 设置目录权限为755(所有者可读写执行,其他用户仅读执行)
sudo find /var/www/html -type f -exec chmod 644 {} \;  # 设置文件权限为644(所有者可读写,其他用户仅读)

8. 定期安全审计与监控

9. 使用安全编码实践

10. 限制PHP-FPM安全设置(若使用PHP-FPM)
编辑PHP-FPM池配置文件(/etc/php/8.1/fpm/pool.d/www.conf),限制进程权限:

listen.owner = www-data
listen.group = www-data
listen.mode = 0660
user = www-data
group = www-data
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10

重启PHP-FPM使配置生效:

sudo systemctl restart php8.1-fpm

0
看了该问题的人还看了