在Ubuntu下配置PHP安全设置可以通过以下步骤进行:
首先,确保你的系统和所有软件包都是最新的。使用以下命令更新系统:
sudo apt update
sudo apt upgrade
安装Apache和PHP,并配置Apache以使用PHP。
sudo apt install apache2 libapache2-mod-php
编辑Apache的配置文件 /etc/apache2/mods-enabled/php7.4.conf(根据你的PHP版本调整),确保以下配置被添加或确认:
FilesMatch \.php$
SetHandler application/x-httpd-php
然后重启Apache服务:
sudo systemctl restart apache2
编辑PHP的配置文件 php.ini。这个文件通常位于 /etc/php/7.4/apache2/ 目录下(根据你的PHP版本调整路径)。
php.ini 中禁用危险的PHP函数,例如:disable_functions = exec, passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source
upload_max_filesize 和 post_max_size 来限制上传文件的大小:upload_max_filesize = 2M
post_max_size = 8M
safe_mode = On
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
expose_php:expose_php = Off
启用 mod_security 和其他必要的安全模块来增强安全性。
sudo apt install libapache2-mod-security2
sudo a2enmod security2
使用 ufw(Uncomplicated Firewall)来限制对Web服务器的访问:
sudo ufw allow 'Apache Full'
sudo ufw enable
定期检查Apache和PHP的错误日志,以便及时发现并解决潜在的安全问题:
sudo tail -f /var/log/apache2/error.log
sudo tail -f /var/log/php7.4-fpm.log
为了加密客户端和服务器之间的数据传输,使用SSL/TLS证书。你可以通过Let’s Encrypt免费获取证书:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
保持系统和软件的最新状态,定期应用安全补丁:
sudo apt update
sudo apt upgrade
遵循以上步骤,你可以显著提高Ubuntu上PHP运行环境的安全性。请根据你的具体需求和环境调整配置。