问题标签 [clamav]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
391 浏览

laravel - Laravel ClamAV 扫描仪客户端失败并出现错误“套接字操作失败:连接被拒绝

我创建了一个验证系统来检查上传的文件是否安全且无病毒,为此我使用 ClamAV。

起初我使用 XAMPP 在我的 MACOS 上进行本地测试,但我不断收到以下错误

Sunspikes \ ClamavValidator \ ClamavValidatorException ClamAV 扫描仪客户端失败,出现错误“套接字操作失败:连接被拒绝(SOCKET_ECONNREFUSED)”以前的异常套接字操作失败:连接被拒绝(SOCKET_ECONNREFUSED)(61)

我已将文件上传到我的 cPanel/CentOS 服务器,我认为 clamav 在 MacOS 上受到限制,与 CentOS 不同,但我遇到了同样的错误。

使用的代码如下:

我使用这个包:https ://github.com/sunspikes/clamav-validator

我被困了几个小时没有解决方案,请帮忙。注意我在 xampp/macos 和 cpanel/centos 上都使用 laravel 5.8。

0 投票
0 回答
23 浏览

python - clamd 接口扫描网络服务器

我已经使用容器工作流和 podman 设置了一个 Web 应用程序。

其中一个容器是 clamd,我用它来扫描上传。有没有办法使用 clamd 扫描我的网络服务器容器?

我主要是询问预制的python代码或类似的(任何语言),它们可以让我扫描我的网络服务器,同时将要扫描的文件传递到clamd http地址(127.0.0.1:3310)。

如果没有,也许我可以运行 python 命令,使用已安装的 python 接口 pyclamd,并简单地从根目录或 web-root 递归目录,然后扫描这些文件。我想必须有一种方法可以做到这一点而不会过度消耗资源,可能使用 python 库 multiprocessing 或类似的,或者我可以轮询 cpu 负载并仅在低于阈值时执行文件扫描。

MTIA。

0 投票
1 回答
222 浏览

linux - clad 扫描功能的奇怪行为

我在 ubuntu 服务器 20.04 上运行了一个简单的 python3 脚本,它试图调用 clamd(clamav-daemon 进程)库来扫描文件。扫描 ping() 和 version() 函数都可以正常工作。但是,当我实际进行测试写入和扫描时,出现以下错误:

这是我用来调用测试写入和扫描的代码,这是来自clamd网站的所有标准示例:

代码运行后,我在测试文件中得到以下字符串,表明 python3 脚本能够成功写入文件,但是当我使用 clamd 扫描时,我不断收到文件无法打开的错误功能。

这是写入文件的字符串:

我还可以从文件夹上的命令行运行 clamscan,它也可以成功扫描文件。

当服务使用 clamav:clamav 时,我以 root 用户身份运行。我确实将文件夹和文件的读/写权限授予“其他用户”,并且还表明该文件可以由 python 脚本编写。

0 投票
0 回答
98 浏览

docker - 在 Heroku 上的 Docker 中运行 ClamAV

需要一些帮助让 ClamAV 守护程序在 Docker 中的 Heroku 上运行。

回购在这里:

https://github.com/tutorcruncher/tc-virus-checker

部署顺利,但clamav-daemon不运行。当我进入并检查时,service clamav-daemon status我得到:

但是,用户clamav应该在安装时由 clamav-daemon 创建,实际上,当我尝试clamav通过将 add user 命令添加到我的 docker 文件来创建时,我被告知它们已经存在。

有没有人有这样做的经验?

谢谢

0 投票
0 回答
166 浏览

docker - 由于中间图像,Dockerfile 未将 clamav 定义存储到卷

Dockerfile

当我尝试从此 Dockerfile 构建 docker 映像时,病毒定义不在最终映像中。所有这些步骤都在它们自己的中间图像中运行,一旦执行,这个中间图像就会被破坏。我希望/usr/bin/freshclam在创建映像期间仅在我的最终映像中保留 run 的输出,因为此命令会下载 clam-av 病毒定义。

有人可以建议如何实现这一目标吗?

0 投票
1 回答
421 浏览

node.js - 不知道如何使用 dockerized clamAV 开始使用 nodejs

我无法开始使用 dockerized clamav 应用程序

我知道这不是一个错误,但概述了文档,谷歌搜索了几十次,仍然得到相同的输出。

我用基于静音的上传构建了一个 nodejs 应用程序。有一个函数可以获取上传的文件路径并让 NodeClam() 实例工作:

而不是我在节点控制台中得到这个输出(打印错误):

我检查了 docker 中的目录(通过 bash),文件目录似乎没问题:

主持人:

  • 操作系统:windows/WSL
  • 版本 10

图片:

  • 标签: mkodockx/docker-clamav:alpine
  • 配置:

我想做什么?

0 投票
1 回答
397 浏览

node.js - 尝试为 clamAV 指定二进制路径

我正在尝试在 NodeJS 中的 Windows 10 pro 机器上使用 clamscan。Clamscan 安装到

C:\Program Files\ClamAV

我有这个代码..

我收到错误消息。没有有效和活动的病毒扫描二进制文件处于活动状态且可用,并且没有提供主机/套接字选项!

网上所有的配置示例似乎都是针对 linux 路径的..

有没有人有在 Windows 上使用它的经验?谢谢

0 投票
1 回答
114 浏览

kubernetes - 在 Kubernetes 中创建仅限内部的服务

我试图仅在 kubernetes 中创建内部服务。它是一个 clamav 服务,docker 容器在端口 3310 上运行。我创建了一个部署和一个服务。

我已将服务和部署放在“clamav”命名空间中

我已经端口转发了服务和 pod,并且可以确认它按预期工作。

如果我直接连接到 pod 并运行curl localhost:3310良好,如果我curl clamav(没有端口配置 80 作为传入服务端口)(其中 clamav 是服务名称)我收到以下 503 错误:

如果我连接到不同的服务并尝试相同的服务,curl clamav.clamav我会得到相同的错误。(没有端口配置为 80 作为传入服务端口)

除了服务和部署之外,我还需要其他东西还是配置错误?

服务规范如下所示。

我尝试将名称更改为“3310-3310”并将端口更改为“3310”......必须更新 curl 命令以使端口具有:3310......但同样的错误。

还要补充一点,我确实在这个集群中运行并注入了 istio 服务网格。

谢谢凯文

0 投票
0 回答
10 浏览

security - 内容安全使用?:具有良好签名但收到警告的 Gnupg 项目:密钥未通过可信签名认证

我试图从他们的网站(https://www.clamav.net/downloads)构建 ClamAV 包,在我通过 Gnupg 导入他们的 Talos 公钥后,我得到了这个:

gpg 警告没有找到最终的可信密钥

然后我尝试使用导入的密钥验证下载的 tar 文件,我收到此警告消息。

gpg 警告密钥未从可信签名验证

到目前为止,我对下载文件的内容有点推测,我对 Gnupg 签名非常陌生。现在的问题是内容是合法的还是在下载过程中被修改过?我尝试浏览另一篇帖子(https://security.stackexchange.com/questions/45533/gpg-good-signature-but-warning-untrusted-signature),但我从未找到我想要的答案。

0 投票
2 回答
1387 浏览

windows - 当进程不存在时如何使用powershell杀死进程而不会出错

如果存在,我想杀死 nodepad 进程。如果我使用这个:

当进程不存在时,我会得到一个错误。

我觉得它应该保持沉默,因为它不是错误,对象应该为空。

我知道我可以这样做:

但如果它存在,我更喜欢一种简单的方法。谢谢。

PS:我需要杀死记事本,因为当我以非交互方式安装 ClamAV 时,它会使用用户手册创建记事本。我找不到告诉 ClamAV 不要打开用户手册的方法。