有人试图入侵我的网站,我的网站基于 Laravel 框架中的 PHP (7)/MySQL 构建。/var/www 的所有者是 www-data,所有文件夹的文件夹权限设置为 700,文件权限设置为 600。尽管如此,黑客还是能够修改 index.php 的内容,并且能够删除一些 PHP 文件。服务器是 Ubuntu 17.04,Web 服务器是 Apache。
我需要立即指导他如何能够在权限为 700 的文件夹中写入文件。我非常感谢您的帮助和指导。如果您需要更多详细信息来了解问题,请告诉我。
答案1
如果您的 apache 服务器以除下面用户之外的其他用户身份运行,www-data
请将其替换为该用户。www-data
所有者应为除 之外的任何用户www-data
。我使用非特权用户来更新网站。组应为www-data
目录的权限应为 750,文件的权限应为 640。这将阻止 apache 写入目录和文件。如果您使用权限 755 和 644,则服务器上的任何用户都可以读取数据。这可用于允许第三个帐户审核内容,可能与内容的参考副本进行比较。
如果您有一个上传目录,则它应该由 770 拥有www-data
或具有权限。请仔细观察,因为它可用于删除恶意软件。配置 apache 以防止执行此目录中的任何内容。为此使用配置文件,因为可以覆盖.htaccess
此目录中的文件。
上述规则适用于您的配置引用的所有目录和文件。递归计数,因此使用递归配置应用规则。
以下命令将锁定/var/www
。您可以将守护进程替换为 以外的任何用户www-data
。将上传目录更改为您的上传目录。
find /var/www -type d -exec chmod 750 {} +
find /var/www ! -type d -exec chmod 640 () +
find /var/www -exec chown daemon:www-data {} +
chmod 770 /var/www/uploads
添加如下条目。请参阅选项文档如果您想要一些选项,请了解详细信息。
<Directory "/var/www/uploads">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
请注意,可能有恶意软件被放入/tmp
并被写入任何其他位置www-data
。
答案2
- 我会检查 Apache 日志和 OS 日志。(var/log/httpd/ 和 /var/log/auth.log)您需要找出他们如何访问您的服务器并修补漏洞。
- 确保您的防火墙正常工作(端口扫描您的服务器)。
- 检查您的服务器是否修补了操作系统和应用程序,以确保它们没有使用某些旧代码的漏洞。