在Ubuntu上配置PHP安全设置可以通过以下步骤进行:
首先,确保你的系统和所有软件包都是最新的。使用以下命令更新系统:
sudo apt update
sudo apt upgrade
sudo apt install apache2 libapache2-mod-php
编辑Apache的配置文件 /etc/apache2/mods-enabled/php7.4.conf
(根据你的PHP版本调整),确保以下配置被添加或确认:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
然后重启Apache服务:
sudo systemctl restart apache2
php.ini
文件找到并编辑PHP的配置文件 php.ini
。这个文件通常位于 /etc/php/7.4/apache2/
目录下(根据你的PHP版本调整路径)。
disable_functions = exec, passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source
upload_max_filesize = 2M
post_max_size = 8M
safe_mode = On
display_errors = Off
log_errors = On
error_reporting = E_ALL
expose_php = Off
php.ini
文件确保Apache使用你编辑的 php.ini
文件。这通常在Apache的配置文件中已经默认设置,但你可以通过以下命令确认:
apache2ctl -M | grep php7_module
在 php.ini
文件中禁用不必要的PHP模块,以减少潜在的安全风险。例如:
extension=php_mysql.dll
mod_security
mod_security
是一个强大的Web应用防火墙模块,可以帮助防止各种攻击。你可以从 ModSecurity官网 下载并安装它。
使用 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运行环境的安全性。请根据你的具体需求和环境调整配置。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:如何在Ubuntu中配置PHP安全设置