FTP 和 FTPS
AMWScan 可以通过 FTP 或 FTPS 检查远程网站。它将所选目录下载到受保护的临时镜像,扫描本地副本,生成报告,然后删除镜像。此集成不会上传、修改、隔离或删除远程文件。
要求
- PHP 必须提供
ext-ftp;FTPS 还需要ftp_ssl_connect。 - 服务器必须支持被动模式和 MLSD 目录列表。
- FTP 主机名只能解析到公共 IP 地址。
涉及凭据或敏感文件时请使用 FTPS。FTP 会以未加密方式传输凭据和文件内容。
命令行配置
将一个 ftp://host/path 或 ftps://host/path URL 作为扫描路径。可以指定端口;默认端口为 21。URL 中不得包含凭据、查询或片段。
AMWSCAN_FTP_USER=scanner \
AMWSCAN_FTP_PASSWORD=secret \
php scanner ftps://files.example.com/public_html --report-only
通过 --ftp-user 或 AMWSCAN_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,绝不包含密码。