Debian

將文件發送到遠端 clamd 實例

  • January 14, 2021

我可能誤解瞭如何使用clamd。我的情況是,我的媒體伺服器功能不夠強大,無法掃描文件以及託管它正在執行的其他服務(樹莓派)。當我瀏覽 clamd.conf 和手冊頁時,似乎有一個選項可以讓 clamd 監聽指定的 IP 地址和套接字。有沒有辦法將文件從遠端文件伺服器流式傳輸到另一台執行 clamd 的機器上進行掃描?

我也遇到過這種“遠端蛤蜊掃描”,儘管它甚至在程式碼中指出

您必須使用本地套接字來掃描本地文件

(它也被設計為一次掃描一個文件,而不是一個很好的目錄)

儘管sandroid指出了類似的問題,但這裡已經提出了類似的問題

Clamd 坐下來聽取有關需要掃描哪些文件的指令,即它通過 TCP 接收的通信。我們需要知道它如何訪問要掃描的郵件文件…

那麼,clamd 不支持遠端文件掃描嗎?如果不是,那麼掃描遠端文件的最佳方法是什麼?我可以臨時對文件進行 rsync 並掃描它們,或者將 raspbian 配置為文件伺服器並將其安裝到我託管 clamd 服務的機器上。如果有更好的建議,將不勝感激。

我同意 jezzaaaa 的上述答案,您確實可以根據您的需要配置客戶端/伺服器。例如:

如果您希望 clamaV 作為將執行掃描並擷取受感染文件的伺服器,這裡是 Ubuntu 20.04 的配置…

伺服器端

# Install the 'daemon and freshclam'
sudo apt remove -y clamav-daemon clamav-freshclam

在“/etc/clamav/clamd.conf”文件中添加選項“TCPSocket 3310”,使其可用於接收在埠 3310 上偵聽的請求。 完成,伺服器現在正在偵聽並等待請求。

客戶端

# Install the 'clamdscan', this will install other things, you can remove them
sudo apt install -y clamdscan

# Remove the extra from the client machine
sudo apt remove -y clamav-daemon clamav-freshclam

添加選項TCPAddrTCPSocket(TCPAddr 1.2.3.4 TCPSocket 3310) 並從客戶端 /etc/clamav/clamd.conf文件中刪除 (LocalSocket)。

客戶端測試

~$ clamdscan -v ~/infected-file.txt
~$ clamdscan -v ~/document-file.pdf

如果伺服器和客戶端機器可以通過埠 3310 進行通信,則輸出應記錄在您clamav-daemon正在執行的伺服器機器上。

引用自:https://serverfault.com/questions/1022971