问题标签 [clam]

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 投票
1 回答
1116 浏览

python - 从 RAM 中读取 CSV 文件

情况:我使用 mmap 将 CVD(ClamAV 病毒数据库)文件加载到 RAM 中。CVD 文件中每一行的格式与 CSV 文件的格式相同(':' 分隔)。以下是代码片段:

问题:运行时返回错误_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)

问题:如何将 CSV 文件作为已加载到内存的文本读取?

附加信息1:我尝试过使用StringIO,它会抛出错误TypeError: initial_value must be str or None, not mmap.mmap

附加信息 2:我需要将文件放在 RAM 中以便更快地访问文件,并且我不能牺牲使用以下函数逐行读取它的时间readline()

0 投票
1 回答
7720 浏览

centos7 - 将 clamav 作为 systemd 服务启动失败

我已安装并ClamAV在作为 systemd 服务CentOS 7.3启动时遇到问题。clamd

当我从命令行 ( /usr/sbin/clamd -c /etc/clamd.conf) 手动启动 clamd 时,一切顺利,我可以使用 clamdscan 进行连接。

当我通过 systemd ( systemctl start clamd) 启动 clamd 时,clamd 启动并在几秒钟后终止,并在日志文件中显示消息“等待所有线程完成”。

有谁知道为什么 clamd 可以从命令行启动但不能作为服务启动?配置和日志文件如下。谢谢你。

/usr/lib/systemd/system/clamd.service:

/etc/clamd.conf:

日志文件:

systemctl 状态命令

0 投票
1 回答
224 浏览

node.js - 从 Docker 容器 Web 应用程序内部触发主机操作系统上的事件

我有一个安装了 ClamAV 的主机操作系统(Ubuntu)。我正在这个操作系统上运行一个 Docker 容器。此容器正在运行一个面向公众的节点 Web 应用程序。

此 Web 应用程序中有文件上传功能,可上传到 docker 容器中的文件夹。

此文件夹已“挂载”,因此可以从主机操作系统访问。

它需要进行病毒扫描,然后需要将扫描结果报告给 Docker 容器应用程序。然后将处理这些结果并将其转发给用户。

让主机操作系统知道文件何时上传到此文件夹的最佳方法是什么?

我想到的方法是:

  • 主机操作系统轮询文件夹以检查更改(不可取)。
  • Web 应用程序触发一些 Docker“事件”(或类似事件)来告诉主机操作系统扫描特定的子文件夹(因为文件将被上传到特定的子文件夹并且它不会是平面的)。
  • 在 Web 应用程序上点击的特定 URL,然后在主机操作系统上触发某些事情,因为它正在以某种方式进行侦听。

不知道是否有任何方法,或者所有这些方法都可以实现。

0 投票
1 回答
1895 浏览

ubuntu - 使用代理身份验证的 clamav 更新问题

我在使用代理身份验证更新 clamav 时遇到问题。我在 /etc/clamav/freshclam.conf 中添加了代理信息,如下所示:-

保存文件时,我收到以下警告。

所以我按照建议将文件权限更改为 700。现在我收到一个错误。

如果我回滚权限,它会给我警告。如果我应用权限,我会收到错误,无论哪种情况,我都无法让 clamav 更新。

仅当我删除它尝试连接的身份验证时(我必须将权限回滚到 444 默认值),并且我收到以下错误:-

我已经尝试了所有我能找到的。我也重新配置了

还是一样的结果。我看到这个clamav的方式是无法使用代理连接的。

0 投票
2 回答
1587 浏览

php - 使用clamav的php文件上传扫描,/tmp/权限

我正在尝试在 apache 2.4、php 5.6 上使用 clamav 扫描文件(通常为 100MB+ zip),并使用 clamav-daemon 的套接字。我没有使用 PHP-FPM。(ps套接字工作,我可以发送一个PING并得到一个PONG)。

上传文件会产生:

在我看来,这似乎是一个权限错误(即使 /tmp 是drwxrwxrwt 9 root root 4096 Dec 4 13:10 tmp)。但我可能是错的。我不能轻易查看文件,因为在 php 进程完成后,文件被删除。

clamdscan,在命令行,当然工作(例如/tmp/virus.txt: Eicar-Test-Signature FOUND)。

/etc/clamav/clamd.conf的仍然是默认值。它看起来像这样:

/Edit 尝试使用exec而不是套接字。

这也会产生类似的错误

0 投票
1 回答
1175 浏览

java - clamav-rest Spring 3.2 RestTemplate 导致 400 错误请求

我正在尝试将文件发送到 Spring Boot 应用程序clamav-rest。curl 命令运行良好。这是输出,

我正在使用 Spring 3.2 进行 REST 调用,这会导致 400 Bad Request 错误。

这是日志输出

我已经尝试了几次迭代并搜索了所有示例代码。关于如何提出成功请求的任何想法?TIA

0 投票
3 回答
368 浏览

c# - 从源代码安装 NuGet 包?

我想使用 nClam ( https://github.com/tekmaven/nClam ),这是一个使用 .NET core 1.1 进行防病毒扫描的库。该库当前需要 .NET core 2.0,但看起来我可以通过对 nclam.csproj 文件进行一些轻微修改来解决这个问题。既然不能使用 NuGet,那如何将修改后的源代码添加到我的项目中呢?

0 投票
1 回答
1692 浏览

aws-lambda - 尝试从 s3 下载 lambda 中约 700MB 的大文件时遇到“设备上没有剩余空间”

用例:使用 AWS Lambda 在 s3 上扫描上传的文件。

问题:在 lambda 函数中使用 ClamAV 下载文件进行扫描时,当文件 > 500MB 时,我遇到“设备上没有剩余空间”。

我尝试了以下两种方法

  1. 在 lambda 上挂载 S3 或 EFS 等文件系统,以便 clamav 可以直接扫描。- 功能尚不可用。
  2. ClamAV 在从 S3 读取文件后扫描内存。- 看起来不支持。

有没有其他推荐的方法来解决它?

0 投票
1 回答
6253 浏览

amazon-web-services - 如何对上传到 AWS S3 的文件执行自动病毒扫描

我试图确保上传到 S3 的文件不包含恶意软件或恶意脚本,然后再将文件移动到基​​础架构的更安全部分(单独帐户中的另一个 S3 存储桶)。

我们通过 AWS 主干连接将文件从上传账户移动到核心账户,这意味着它在任何时候都不会暴露在公共互联网上——除了初始上传(上传由 AWS 使用 SSL 保护)。

我们理想的情况是在文件上运行病毒扫描,而不会将文件暴露在互联网上。如果文件不暴露,则可以接受通过 Internet 更新病毒定义的基于云的 AV 解决方案。我在 ClamAV 中遇到了一个开源解决方案,但我想考虑替代选项 - 甚至是专有软件。实现这一目标的最佳建议是什么,或者是我们没有想到的更安全的选择?

0 投票
1 回答
2006 浏览

php - php。在 /tmp 下上传临时​​文件的权限。如何配置

在我的 PHP 类中,我上传文件,然后用防病毒软件扫描它们。上传的文件存储在 /tmp 中,名称类似于 /tmp/phpRANDOM(通常是别名)

但是,当我将此路径传递给 clamav 服务器时,它会返回“拒绝访问”。对于其他文件(不在 /tmp 中),一切正常。原因是 /tmp/php... 文件具有权限 rw------ (仅由所有者读取/写入)。但是 clamav 作为 apache/php 的不同用户工作。

所以,问题。PHP 如何决定使用哪些权限来上传临时文件?我该如何配置?也许这是在用户级别配置的一些 umask?如果我想对 /tmp 文件夹中的文件拥有 rw--r--r-- 权限,是否有任何理由不这样做(安全性)?