Debian 8: не може отримати ClamAV для прослуховування по TCP 3310

Я намагаюся запустити Clamav-демон у систему Debian 8, щоб він слухав TCP-порт 3310.

aptitude install clamav-daemon

Потім змініть /etc/clamav/clamd.conf , щоб він тепер мав наступне:

# Added by me
TCPSocket 3310
TCPAddr localhost
# Already existed
LocalSocket /var/run/clamav/clamd.ctl
FixStaleSocket true
LocalSocketGroup clamav
LocalSocketMode 666

Перезапустіть службу за допомогою перезавантаження service clamav-daemon .

Я знаходжу, що netstat -tap | grep clam нічого не повертає. Запуск ps aux | grep clam повертає:

clamav   18559 11.4 10.3 649212 399604 ?       Ssl  14:38   0:15 /usr/sbin/clamd --foreground=true

Існує автогенерований файл /etc/systemd/system/clamav-daemon.socket.d/extend.conf , який містить:

[Socket]
ListenStream=
SocketUser=clamav
ListenStream=/var/run/clamav/clamd.ctl
SocketGroup=clamav
SocketMode=666

Єдине, що я бачу в журналах:

TCP: No tcp AF_INET/AF_INET6 SOCK_STREAM socket received from systemd

Хто-небудь знає, чому у мене виникають проблеми з запуском ClamAV на TCP: 3310 ?

1

5 Відповіді

Тепер я працюю, але це не так ближче до того, як було зручно налаштовуватися, як це було на Debian 7.

Я можу мати тільки TCP або unixsocket (не знаю чому), але не обидва. Тому я використовую:

/etc/systemd/system/clamav-daemon.socket.d/extend.conf

[Socket]
ListenStream=
SocketUser=clamav
ListenStream=3310

/etc/clamav/clamd.conf має лише:

TCPSocket 3310

і не містить інформації про сокет UNIX. Отже, це видалено:

LocalSocket /var/run/clamav/clamd.ctl
FixStaleSocket true
LocalSocketGroup clamav
LocalSocketMode 666

Тоді для того, щоб отримати Exim4 використовувати його, я маю:

av_scanner = clamd:127.0.0.1:local

і я не міг використовувати localhost . Він повинен був бути 127.0.0.1 .

1
додано

Після тестування багато разів на Ubuntu 16.04, я отримав це працює.

  • Зауважте ListenStream = у /lib/systemd/system/clamav-daemon.socket . Якщо ви не коментуєте їх, ви отримаєте помилку, як TCP: отримано більше двох дескрипторів файлів з systemd і clamav не може запуститися.

  • Додайте власні рядки ListenStream = у /etc/systemd/system/clamav-daemon.socket.d/extend.conf . кілька ListenStream = (один сокет, один мережний порт) підтримуються таким чином:

[Socket] ListenStream =/run/clamav/clamd.ctl ListenStream = xx.xx.xx.xx: 3310 SocketUser = clamav SocketGroup = clamav RemoveOnStop = True

0
додано

Я спробував всі інші пропозиції вище і не міг змусити його працювати.

Тим не менш, запустивши dpkg-reconfigure clamav-daemon і вибравши TCP на ранніх стадіях у параметрах конфігурації (замість UNIX), а за промовчанням для всього іншого працював на Ubuntu 16.04.

0
додано

Спочатку очистіть всі пов'язані з clamav:

apt-get purge clamav clamav-base clamav-daemon clamav-freshclam clamav-milter clamdscan clamassassin

Потім повторно встановіть:

apt-get install clamav clamav-base clamav-daemon clamav-freshclam clamav-milter clamdscan clamassassin

Потім в /etc/clamav/clamd.conf додайте

TCPSocket 3310
TCPAddr 127.0.0.1

- вище - існуючий запис LocalSocket. Інакше вона встановлює речі, але випадає під час виконання. Потім у /etc/systemd/system/clamav-daemon.socket.d/extend.conf додайте

ListenStream=127.0.0.1:3310

на дні. Це дозволить Socket Unix працювати так, як очікувалося, і створити слухач на порт 3310, використовуючи "init" як канал для сокету. Потім знову запустити службу:

service clamav-daemon restart

і перевірте, що init прослуховує порт 3310:

netstat -anp | grep 3310

Then test out ThunderBird's Add-Ons -> clamdrib -> Preferences -> Test

0
додано

Я не маю достатньо реп, щоб коментувати (як моє рішення на іншому дистрибутиві), але на установці ubuntu 16.04, це працювало для мене:

безпосередньо змінювати clamav-daemon.socket:

[Socket]
ListenStream=/run/clamav/clamd.ctl
ListenStream=xx.xx.xx.xx:3310
SocketUser=clamav
SocketGroup=clamav
RemoveOnStop=True

Додавання його до extend.conf не працювало для мене, але коли я прокоментував все з extend.conf і перезавантажив і перезавантажив, він слухав обидва.

До цього зміни я побачив ту ж проблему, що і @Doahh

0
додано