Назад | Перейти на главную страницу

Конфигурация ClamAV в Fedora Core 21 с Postfix

Мне не удалось найти никакой помощи по установке Clamav в современной системе Fedora. Все советы старые и неприменимы, насколько я понял.

И недостаточно просто знать, что делать! Самым важным недостающим звеном является то, что я говорю Postfix о том, как вызывать ClamAV. Однако также совершенно неясно, где должны быть определены параметры конфигурации.

Я установил эти версии:

clamav-0.98.6-1.fc21.x86_64 
clamav-filesystem-0.98.6-1.fc21.noarch 
clamav-data-0.98.6-1.fc21.noarch 
clamav-lib-0.98.6-1.fc21.x86_64

И снова это Fedora Core 21. Установленный Postfix:

postfix-2.11.3-1.fc21.x86_64

Кажется, я не могу найти файл с именем clamav-milter.conf, хотя для этого есть справочная страница (попробуйте 'man clamav-milter.confГде-то я нашел ссылку, в которой говорилось, что этот файл принадлежит / etc.

Я полагаю, что нужно сделать запись в Postfix main.cf для создания или добавления записи под названием smtpd_milters включить любую ссылку, которая необходима, чтобы сообщить Postfix как позвонить clamav. В НАСТОЯЩЕЕ ВРЕМЯ у меня есть запись на openDKIM:

# This is for openDKIM - missing are clamav and spamassassin:
smtpd_milters = inet:localhost:8891

Ясно, что где-то должны быть инструкции по установке, но НИЧТО из того, что я нашел, не относится к этим версиям. Пожалуйста, либо скажите мне, как это должно быть сделано, либо укажите, где я могу найти компетентное описание, которое ДЕЙСТВИТЕЛЬНО применимо!

Оказывается, в этом МНОГО.

Во-первых, кто-то, НЕ знакомый с этой конкретной проблемой, указал, что, возможно, у меня недостаточно установленного программного обеспечения. То, что я установил, указано в вопросе выше. Тем не менее, я сделал список yum clamav- * и обнаружил, что есть пакеты, которые я не установил, в том числе, среди прочего, milter.

Когда я попробовал yum install clamav-* он НЕ прошел, а именно:

# yum install clamav-*
Loaded plugins: langpacks
pgdg94                                                      | 3.6 kB  00:00
updates/21/x86_64/metalink                                  |  14 kB  00:00
pgdg94/21/x86_64/primary_db                                 |  91 kB  00:05
Package clamav-data-0.98.6-1.fc21.noarch already installed and latest version
Package clamav-0.98.6-1.fc21.x86_64 already installed and latest version
Package clamav-lib-0.98.6-1.fc21.x86_64 already installed and latest version
Package clamav-filesystem-0.98.6-1.fc21.noarch already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package clamav-data-empty.noarch 0:0.98.6-1.fc21 will be installed
---> Package clamav-devel.x86_64 0:0.98.6-1.fc21 will be installed
---> Package clamav-milter.x86_64 0:0.98.6-1.fc21 will be installed
---> Package clamav-milter-systemd.noarch 0:0.98.6-1.fc21 will be installed
---> Package clamav-scanner.noarch 0:0.98.6-1.fc21 will be installed
---> Package clamav-scanner-systemd.noarch 0:0.98.6-1.fc21 will be installed
---> Package clamav-server.x86_64 0:0.98.6-1.fc21 will be installed
---> Package clamav-server-systemd.noarch 0:0.98.6-1.fc21 will be installed
---> Package clamav-server-sysvinit.noarch 0:0.98.6-1.fc21 will be installed
---> Package clamav-unofficial-sigs.noarch 0:3.7.1-12.fc21 will be installed
---> Package clamav-update.x86_64 0:0.98.6-1.fc21 will be installed
--> Processing Conflict: clamav-data-0.98.6-1.fc21.noarch conflicts data(clamav) < full
--> Processing Conflict: clamav-data-empty-0.98.6-1.fc21.noarch conflicts data(clamav) > empty
--> Finished Dependency Resolution
Error: clamav-data-empty conflicts with clamav-data-0.98.6-1.fc21.noarch
Error: clamav-data conflicts with clamav-data-empty-0.98.6-1.fc21.noarch
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
#

Поэтому вместо использования --skip-broken или другого варианта я решил исключить проблемный пакет с помощью yum install clamav-* -x clamav-data-empty - который работал нормально.

Это дало мне некоторые файлы, которые, как я знал, явно отсутствовали, поэтому я решил, что уже в пути. Немного споткнувшись, я заметил комментарий от serverfault masegaloeh, который указал на эту страницу: http://pantestmb.blogspot.com/2013/10/fedora-19-systemctl-sendmail-clamav.html

Это было очень полезно! Здесь я не буду повторять все, что он говорит, а буду комментировать основные моменты или слабое освещение.

Здесь много движущихся частей, больше, чем я ожидал. Например, у меня вообще не было запуска clamav-milter, и это было только после того, как я дал ему обновленную базу данных И запущенную программу, которая поддерживает эту базу данных в актуальном состоянии, когда она наконец была счастлива. Это было сделано путем запуска freshclam а затем начиная clamd@scan.service. (Я предполагаю, что пакет 'data empty' каким-то образом решает эту проблему.)

Я также получил массу удовольствия от разговоров с сервисами milter и scan, большая часть из которых была моей ошибкой; Стоит отметить, что значения по умолчанию, указанные в двух ключевых файлах настройки, /etc/clamd/scan.conf и /etc/mail/clamav-milter.conf, НЕ СООТВЕТСТВУЮТ.

Еще одна очень странная проблема, которая меня до бесконечности расстраивала, заключалась в том, что milter просто отказывался запускаться, даже когда ВСЕ казалось в порядке, согласно указаниям. Это было только тогда, когда я ЗАМЕДЛЕННО и сделал паузу в несколько секунд между # systemctl start clamd@scan.service и # systemctl start clamav-milter.service что черт возьми начало работать! ПРЕДСТАВЛЯЙТЕ, просто подождав момент перед запуском milter сделал ВСЕ РАЗНИЦА! Одна эта причуда стоила мне, наверное, двух часов! Я просто не мог себе представить, что могу печатать быстрее, чем система может за ним идти! Так что, конечно, я все время менял, думая, что есть еще кое-что, что нужно исправить ...

И это о степени полезности веб-страницы, которую я цитировал выше.

Это еще НЕ привело к созданию для меня рабочей системы, но по крайней мере компоненты ClamAV были готовы. Последняя оставшаяся функция - интеграция с Postfix.

На данный момент все было по крайней мере лучше, чем было раньше; вместо того, чтобы не было сокета, привилегии были явно неправильными. Сообщение об ошибке:

postfix/smtpd[31665]: warning: connect to Milter service unix:/var/run/clamav-milter/clamav-milter.socket: Permission denied

... Я пробовал все, что мог придумать, чтобы заставить сокет работать, но в конце концов сдался и вместо этого просто подключился к порту. Для этого я настроил clamav-milter.conf включать:

# 7357 appears to be the standard port for this...
milterSocket inet:7357

И изменил постфиксы main.cf к этому:

smtpd_milters = inet:localhost:7357

И ЭТО Сработало. Я понимаю, что локальные сокеты быстрее, поэтому я хотел бы, чтобы это работало, но просто чтобы это было облегчением.