我安装了基本的 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 等文件夹
- 保持安装为最新
- 保持服务器软件为最新版本
- 定期进行日志审查
- 有备份
- 能够快速重建