Страница 1 из 1

ProFTPd + ClamAv

Добавлено: 2011-10-11 10:10:59
Призрак
Здравствуйте Уважаемые участники дискуссии

Установил и настроил на Правильной операционной системе (FreeBSD 8,2) FTP сервер ProFTPd, настроил его, все вроде работает. Задумал прикрутить к нему модуль mod_clamav.c для проверки на вирусы закачиваемые файлы. Сам ClamAv собрался прекрасно, установился, работает, обновляет базы. Но вот с ProFTPd не хочет работать ни в какую.

Дополнительная информация:

Модуль в ProFTPd настроен следующим образом:

Код: Выделить всё

<IfModule mod_clamav.c>
ClamAv on
ClamLocalSocket /var/run/clamav/clamd.socket (в одной статье написано добавить только ClamAv On но мне пришлось добавить путь к сокету, т.к. в логах ProFTPd ругался что не может найти путь к сокету)
</IfModule>
Пользователи и группы, от имени которых работают приложения следующие:

ClamAv:

Код: Выделить всё

User: clamav
Group: clamav
ProFTPd

Код: Выделить всё

User: ftp
Group: ftpgroup
При закачивании файлов ProFTPd выдает вот такую ругань в логах:

Код: Выделить всё

mod_clamav/0.11rc: error: Cannot connect to Clamd (1): Operation not permitted
mod_clamav/0.11rc: error: Cannot re-connect to Clamd (1): Operation not permitted
Для решения проблемы я использовал следующие приемы:

Код: Выделить всё

#pw groupmod ftpgroup -m clamav

#pw groupmod clamav -m ftp

#chmod -R 777 /var/run/clamav
Все равно не помогает. Также я заметил, что файл сокета исчезает при остановке ClamAv. Помогите пожалуйста разобраться с проблемой, я новичок по FreeBSD, что я делаю не так? Может файл сокета в каталог /tmp засунуть?

Re: ProFTPd + ClamAv

Добавлено: 2011-10-12 10:59:22
Призрак
Все понятно. Здесь также по хамски относятся к новичкам. 18 нубов посмотрело мою тему и ни один не дал ответа. А может это не нубы а папки, которым западло помогать новичкам, и тут помогают только своим да нашим. В самом начале поста хамское обращение, что тема может быть незамечена из-за неправильного оформления, я все оформил правильно. Может быть это решение поможет новичкам, а вам "кул хацкеры" пусть будет стыдно.

Прочитал я, что если в proftpd.conf указана директива DefaultRoot то proftpd не сможет подключиться к сокету, т.к. DefaultRoot не даст перейти в каталог с сокетом.

Вот решение проблемы:

в файле /usr/local/etc/clamd.conf найти и раскомментировать следующие строки:

Код: Выделить всё

TCPAddr 127.0.0.1

TCPSocket 3310
при этом если была раскомментирована строка:

Код: Выделить всё

LocalSocket /var/run/clamav/clamd.sock
необходимо ее закомментировать.

затем нужно сделать перезапуск антивируса (обязательно) и утилиты обновления (на всякий случай):

Код: Выделить всё

#/usr/local/etc/rc.d/clamay-clamd restart
#/usr/local/etc/rc.d/clamav-freshclam restart
затем в /usr/local/etc/proftpd.conf в настройках модуля mod_clamav необходимо сделать следующие изменения (если была попытка настройки через сокет как было указано в моем первом посте).

Код: Выделить всё

<IfModule mod_clamav.c>
ClamAv on
ClamServer 127.0.0.1
ClamPort 3310
</IfModule>
затем перезапустить proftpd командой:

Код: Выделить всё

#/usr/local/etc/rc.d/proftpd restart
для проверки антивируса можно скачать тестовый файл eicar.exe и попробовать залить его на сервер. Если антивирус работает нормально, то файл не удастся залить, а в логах proftpd (у меня это proftpd-serverlog) появится надпись типа такой:

Код: Выделить всё

mod_clamav/0.11rc: Virus 'Eicar-Test-Signature' found in 'директория куда была попытка закачать зараженный файл и имя зараженного файла'
Кстати большинство статей на этом сайте написано позорно и уж явно не для новичков. Все, что я делал с помощью этих "статей" либо не работало, либо мне приходилось все перепиливать. Позор товарищи.