Я решил снизить нагрузку на свой почтовый шлюз, переместив антивирусную обработку на отдельный сервер. Я создал сервер, установил на него clamav-daemon и протестировал его, запустив clamdscan с почтового шлюза.
Удовлетворенный, я изменил MailScanner следующим образом:
Virus Scanners = clamd
Clamd Port = 3310
Clamd Socket = clamd server's IP address
Я перезапустил mailscanner и получил следующий результат:
MailScanner[45946]: Clamd::ERROR:: UNKNOWN CLAMD RETURN ./lstat() failed: No such file or directory. ERROR :: /var/spool/MailScanner/incoming/45946
Очевидно, MailScanner не отправляет файл для сканирования. Вместо этого, он просто говорит сканировать файл, который, очевидно, не существует на сервере clamd.
Мне трудно поверить, что использование clamd таким образом с mailscanner вообще невозможно. Скорее, я подозреваю, что я что-то упускаю. Итак... возможно ли это? Если да, то какой конфигурации мне не хватает?
Возможно, вам следует оставить значения по умолчанию, т.е. программа, использующая clam, должна использовать настройки по умолчанию (локальный clamdscan).
Затем вам необходимо настроить clamd.conf как на сканирующем клиенте, так и на сканирующем сервере, параметры TCPSocket
и TCPAdr
. Имейте в виду, что TCPAddr на сканирующем сервере должен быть не localhost/127.0.0.1, а адресом, доступным извне.