跳到主要内容
版本:v0.20

FTP 和 FTPS

AMWScan 可以通过 FTP 或 FTPS 检查远程网站。它将所选目录下载到受保护的临时镜像,扫描本地副本,生成报告,然后删除镜像。此集成不会上传、修改、隔离或删除远程文件。

要求

  • PHP 必须提供 ext-ftp;FTPS 还需要 ftp_ssl_connect
  • 服务器必须支持被动模式和 MLSD 目录列表。
  • FTP 主机名只能解析到公共 IP 地址。

涉及凭据或敏感文件时请使用 FTPS。FTP 会以未加密方式传输凭据和文件内容。

命令行配置

将一个 ftp://host/pathftps://host/path URL 作为扫描路径。可以指定端口;默认端口为 21。URL 中不得包含凭据、查询或片段。

AMWSCAN_FTP_USER=scanner \
AMWSCAN_FTP_PASSWORD=secret \
php scanner ftps://files.example.com/public_html --report-only

通过 --ftp-userAMWSCAN_FTP_USER 设置用户名,通过 AMWSCAN_FTP_PASSWORD 设置密码。未设置用户名时使用匿名访问。FTP 源始终使用报告模式,且不能与 --scan-wordpress-db 一起使用。

WordPress 配置

Antimalware > 设置 > 范围和限制 中选择 FTP 服务器,输入不含凭据的 URL,并在 WordPress 的 PHP 环境中设置 AMWSCAN_FTP_PASSWORD。WordPress 不保存密码,并禁用远程文件操作。

安全限制

每次扫描接受一个源:10,000 个文件、20,000 个目录条目、64 层目录、单个文件 64 MiB、总计 512 MiB,连接超时为 15 秒。AMWScan 会拒绝不安全或重复的名称,并删除未完成的下载。

故障排除

请在执行扫描的 PHP 环境中启用 ext-ftp。FTPS 需要 ftp_ssl_connect。身份验证失败时检查凭据和权限,连接被拒绝时使用公共主机,目录列表失败时启用 MLSD。

报告使用经过清理的远程 URL,绝不包含密码。