温馨提示×

Ubuntu下PHP安全如何设置

小樊
36
2025-02-25 20:21:02
栏目: 编程语言
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu下设置PHP的安全性是非常重要的,以下是一些关键的安全设置步骤和最佳实践:

更新系统和软件包

确保系统和所有软件包都是最新的,以修复已知的安全漏洞。

sudo apt update
sudo apt upgrade

安装和配置Web服务器

安装并配置Apache或Nginx,并确保使用HTTPS来加密数据传输。

sudo apt install apache2
sudo a2enmod ssl
sudo systemctl restart apache2

配置PHP

编辑PHP的配置文件php.ini,进行以下设置:

  • 错误报告:在生产环境中,关闭详细的错误报告,只显示必要的信息。
display_errors = Off
log_errors = On
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_WARNING
  • 安全模式:启用安全模式,并限制可以执行的类。
safe_mode = On
safe_mode_allowed_classes = "mysqli,pdo_mysql"
  • 禁用危险函数:禁用不需要的PHP函数,如exec(), system()等。
disable_functions = exec,system,passthru,shell_exec,popen,curl,fsockopen,file_get_contents,mkdir,rmdir,rename,unlink,chmod,chown,chgrp,date,time,localtime,gmtime,isset,empty,is_array,is_object,is_resource,is_string,is_int,is_float,is_bool,is_callable,assert
  • 文件系统限制:使用open_basedir限制PHP可以访问的系统目录。
open_basedir = /var/www/html:/tmp
  • 禁止远程资源访问:关闭allow_url_fopenallow_url_include
allow_url_fopen = Off
allow_url_include = Off
  • 上传权限:限制文件上传功能,防止恶意文件上传。
location ~ ^/(uploads|assets)/.*\.(php|php5|jsp)$ {
    deny all;
}

使用预编译扩展

尽量使用预编译的扩展,而不是从源代码编译,以减少潜在的安全风险。

限制文件访问权限

确保你的应用程序文件和目录具有适当的访问权限,以防止未经授权的文件访问。

sudo chown -R www-data:www-data /path/to/your/php/application
sudo chmod -R 755 /path/to/your/php/application

定期检查和更新

定期检查并更新你的项目依赖库,以确保它们没有已知的安全漏洞。

composer update

使用安全编码工具

使用诸如PHP Security Advisories Checker(PHPSA)之类的工具来扫描你的代码,查找潜在的安全问题。

实施额外的安全措施

  • 使用强密码:为用户和root账户设置复杂且难以猜测的密码。
  • 限制root登录:禁止直接通过SSH登录root账户。
  • 安装防火墙:使用UFW(Uncomplicated Firewall)并配置防火墙规则。
  • 使用Fail2ban:保护系统免受暴力破解攻击。
  • 定期备份:定期备份重要数据,以防止数据丢失。

遵循以上步骤和最佳实践可以帮助你提高Ubuntu下PHP应用程序的安全性,有效防范常见的网络攻击和安全威胁。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:Ubuntu下PHP安全设置指南

0