如何防止 PHP 访问目录?

如何防止 PHP 访问目录?

我安装了基本的 LAMP,我想确保 PHP 无法访问 /var/www 目录之外的任何内容。我该怎么做?“访问”还意味着读取文件和目录列表。

我之所以要求这样做是因为安全问题。我的服务器上运行着 WordPress,如果有人获得管理员帐户,他就可以编辑模板代码,通过该代码他可以进入系统中的任何位置。

谢谢你!

答案1

以下是确保 LAMP 设置安全的关键步骤:

  • 确保所有网站都由自己的用户运行。您可以使用 Apache mod_itk/mod_php 或 PHP-FPM(通常使用 Apache 或 Nginx)来实现这一点
  • 确保 root 拥有文件并且组是 Web 服务器用户(反之亦然)
  • 确保文件的访问权限为 640,目录的访问权限为 750。只有 Wordpress 上传文件夹的访问权限为 660/770。
  • 仅当您升级或安装插件时,才会更改 PHP 文件的访问权限。
  • 确保 PHP 文件无法在 Images 文件夹中执行:

    <FilesMatch "/uploads/\.(asp|php|php5|pl)$">
        Deny from all
    </FilesMatch>
    

    此技术在 Wordpress 上不太适用,因为插件会将 php 文件安装到该文件夹​​中。你最好保护 uploads/2017 等文件夹

  • 保持安装为最新
  • 保持服务器软件为最新版本
  • 定期进行日志审查
  • 有备份
  • 能够快速重建

相关内容