在Ubuntu中进行PHP安全设置可以遵循以下步骤:
更新系统和软件包: 定期更新系统和软件包,以确保所有组件都是最新的,并且已经应用了最新的安全补丁。可以使用以下命令:
sudo apt update && sudo apt upgrade
配置PHP:
编辑PHP的配置文件 /etc/php/7.2/apache2/php.ini
(根据实际PHP版本调整路径),进行以下设置:
display_errors=Off
,将错误信息记录到日志文件中,而不是直接显示在网页上。expose_php=Off
,避免在错误页面或响应头中显示PHP版本信息。register_globals=Off
,防止表单数据被自动注册为全局变量。upload_max_filesize
和 post_max_size
来限制上传文件的大小。open_basedir
限制PHP可以访问的系统目录。display_errors = Off
expose_php = Off
register_globals = Off
upload_max_filesize = 2M
post_max_size = 8M
open_basedir = /var/www:/tmp
配置Web服务器:
/etc/nginx/nginx.conf
或站点配置文件 /etc/nginx/sites-available/default
,进行以下设置:
location ~ ^/(uploads|assets)/.*\.(php|php5|jsp)$ {
deny all;
}
location /admin {
allow 192.168.1.1;
deny all;
}
/etc/apache2/apache2.conf
或站点配置文件 /etc/apache2/sites-available/000-default.conf
,进行以下设置:
ServerTokens Prod
Header unset X-Powered-By
LoadModule security2_module modules/libapache2_mod_security2.so
文件和目录权限:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
使用防火墙: 使用UFW(Uncomplicated Firewall)限制对系统的访问,只允许必要的端口和服务:
sudo apt install ufw
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw enable
监控和日志:
logwatch
或 fail2ban
。使用安全扩展:
mod_security
和 Suhosin
,以增强系统的安全性。通过以上步骤,可以显著提高Ubuntu系统中PHP运行环境的安全性,保护系统和数据不受未经授权的访问和攻击。