
ajilaag/clamav-restClamAV-REST是一个二合一Docker镜像,集成了开源病毒扫描器ClamAV([***] API接口,用于与ClamAV进程交互。
此容器本身功能有限,需配合额外服务或通信工具与其交互使用。
推荐通过Docker Hub自动构建镜像进行安装,镜像地址:Registry。
bashdocker pull ajilaag/clamav-rest:(imagetag)
可用镜像标签:
latest - 包含最新版本ClamAV和REST APIbashdocker run -p 9000:9000 -p 9443:9443 -itd --name clamav-rest ajilaag/clamav-rest
检测测试病毒签名(Eicar测试文件)
HTTP方式:
bash$ curl -i -F "file=@eicar.com.txt" http://localhost:9000/scan HTTP/1.1 100 Continue HTTP/1.1 406 Not Acceptable Content-Type: application/json; charset=utf-8 Date: Mon, 28 Aug 2017 20:22:34 GMT Content-Length: 56 { Status: "FOUND", Description: "Eicar-Test-Signature" }
HTTPS方式:
bash$ curl -i -k -F "file=@eicar.com.txt" https://localhost:9443/scan HTTP/1.1 100 Continue HTTP/1.1 406 Not Acceptable Content-Type: application/json; charset=utf-8 Date: Mon, 28 Aug 2017 20:22:34 GMT Content-Length: 56 { Status: "FOUND", Description: "Eicar-Test-Signature" }
检测干净文件
HTTP方式:
bash$ curl -i -F "file=@clamrest.go" http://localhost:9000/scan HTTP/1.1 100 Continue HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Mon, 28 Aug 2017 20:23:16 GMT Content-Length: 33 { Status: "OK", Description: "" }
HTTPS方式:
bash$ curl -i -k -F "file=@clamrest.go" https://localhost:9443/scan HTTP/1.1 100 Continue HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Date: Mon, 28 Aug 2017 20:23:16 GMT Content-Length: 33 { Status: "OK", Description: "" }
可通过以下环境变量自定义镜像配置:
| 参数 | 描述 |
|---|---|
MAX_SCAN_SIZE | 每个文件的扫描数据量 - 默认 100M |
MAX_FILE_SIZE | 不扫描大于此大小的文件 - 默认 25M |
MAX_RECURSION | 扫描嵌套归档的层数 - 默认 16 |
MAX_FILES | 归档内扫描文件数量 - 默认 *** |
MAX_EMBEDDEDPE | 嵌入式PE文件的最大大小 - 默认 10M |
MAX_HTMLNORMALIZE | 要标准化的HTML最大大小 - 默认 10M |
MAX_HTMLNOTAGS | 要扫描的标准化HTML文件的最大大小 - 默认 2M |
MAX_SCRIPTNORMALIZE | 要标准化的脚本最大大小 - 默认 5M |
MAX_ZIPTYPERCG | 用于重新分析类型识别的ZIP最大大小 - 默认 1M |
MAX_PARTITIONS | 每个原始磁盘扫描的分区数 - 默认 50 |
MAX_ICONSPE | PE文件中扫描的图标数 - 默认 100 |
PCRE_MATCHLIMIT | 最大PCRE匹配调用次数 - 默认 *** |
PCRE_RECMATCHLIMIT | PCRE的最大递归匹配调用次数 - 默认 2000 |
SIGNATURE_CHECKS | 每天检查新数据库签名的次数(1-50之间) - 默认 24 |
| 端口 | 描述 |
|---|---|
3310 | ClamD监听端口 |
如需调试或维护,可通过以下命令访问容器shell:
bashdocker exec -it (容器名称,如clamav-rest) /bin/sh
已实现Prometheus指标([***]
HTTP:
bashcurl http://localhost:9000/metrics
HTTPS:
bashcurl https://localhost:9443/metrics
源代码地址:[***]
构建Golang(Linux)二进制文件和Docker镜像:
bash# env GOOS=linux GOARCH=amd64 go build docker build . -t clamav-go-rest docker run -p 9000:9000 -p 9443:9443 -itd --name clamav-rest clamav-go-rest
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务