Устанавливаем необходимые пакеты посредством системы обновления yum. Так же установку ПО можно производить из пакетов вручную или собирать из исходников. При использовании системы обновления будут установлены пакеты, связанные с устанавливаемым ПО.
Установка ПО
[root@mail ~]# yum install clamav clamav-server clamav-update
Установка ПО, недоступного по системе обновления
[root@mail ~]# wget http://www.inet.lt/clamsmtp/clamsmtp-1.7-1.src.rpm
[root@mail ~]# rpmbuild --rebuild clamsmtp-1.7-1.src.rpm
[root@mail i386]# cd /usr/src/redhat/RPMS/i386
[root@mail i386]# rpm -ihv clamsmtp-1.7-1.i386.rpm
Примечание: версии ПО и пути могут отличаться. Версии – желательно в большую сторону.
3. Настройка ClamAV
- выполнить
cp /usr/share/doc/clamav-server-0.88.4/clamd.conf /etc/clamd.d
- Редактируем файл /etc/clamd.conf
- Закомментировать «Example»
- Определяем место, куда будут отбрасываться логи
LogFile /var/log/clamav/clamd.log
- Указываем, что сообщения в лог предваряются временем (откомментировать)
LogTime
- В отладочных целях включить подробный вывод логов (откоментировать «LogVerbose», после настройки и запуска в боевой режим - закоментировать)
- Определяем тесто где будет создаваться PID-файл.
PidFile /var/run/clamav/clamd.pid
- Определяем каталог для временных файлов
TemporaryDirectory /var/tmp
- Определяем место для хранения антивирусных баз
DatabaseDirectory /var/lib/clamav
- Определить локальный сокет
LocalSocket /var/run/clamav/clamd.sock
- Определить пользователя, от которого будет запускаться сервис (Если он не
создался автоматически при установке, надо обязательно создать его руками).
User clamav
- Выполнить и отредактировать
cp /usr/share/doc/clamav-server-0.88.4/clamd.logrotate /etc/logrotate.d/clamd
/var/log/clamav/clamd.log {
Monthly
Notifempty
missingok
lockfile=/var/lock/subsys/clamd
sysconffile=/etc/sysconfig/clamd
procname=clamd
- Убедиться что существуют каталоги /var/log/clamav, /var/run/clamav и они принадлежат пользователю clamav:clamav. Если каталогов не существует, то недостающие необходимо создать.
- Убедиться, что clamd зарегистрирован или не зарегистрирован среди стартапных скриптов
[root@mail i386]# chkconfig --list|grep clamd
- Если не зарегистрирован, то выполнить
[root@mail init.d]# chkconfig --add clamd
[root@mail init.d]# chkconfig --list|grep clamd
clamd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
- Обеспечить запуск clamsmtp на 2-5 уровнях запуска
[root@mail i386]# chkconfig --level 2345 clamd on
[root@mail i386]# chkconfig --list|grep clamd
clamd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- Запуск сервиса
[root@mail etc]# service clamd start
Starting сlamd: [ OK ]
4. Настройка обновления антивирусных баз ClamAV
- Редактируем файл /etc/freshclam.conf
- Закомментировать «Example»
- Указываем каталог, где хранятся антивирусные базы (такое же значение, как DatabaseDirectory в clamd.conf)
DatabaseDirectory /var/lib/clamav
- Указываем каталог для логов процесса обновления
UpdateLogFile /var/log/clamav/freshclam.log
- В отладочных целях включить подробный вывод логов (разкомментировать «LogVerbose», после настройки и запуска в боевой режим - закомментировать)
- Определяем тесто где будет создаваться PID-файл
PidFile /var/run/clamav/freshclam.pid
- Указываем имя (или IP-адрес) и порт HTTP-прокси сервера
HTTPProxyServer proxy.blabla.nbtrust.loc
HTTPProxyPort 3128
- Редактируем файл /etc/logrotate.d/clamav-update
/var/log/clamav/freshclam.log {
monthly
notifempty
}
- Для автоматического ежедневного обновления антивирусных баз создаём файл /etc/cron.daily/clamav-update
#!/bin/sh
/usr/bin/freshclam >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t clamav-update "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
5. Настройка clamsmtp
- Убедиться, что clamsmtp зарегистрирован среди стартапных скриптов
[root@mail i386]# chkconfig --list|grep clamsmtp
clamsmtpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
- Обеспечить запуск clamsmtp на 2-5 уровнях запуска
[root@mail i386]# chkconfig --level 2345 clamsmtpd on
[root@mail i386]# chkconfig --list|grep clamsmtp
clamsmtpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
- Редактируем файл /etc/clamsmtpd.conf
- Указываем интерфейс и порт, на котором будет работать clamsmtp
Listen: 127.0.0.1:10025
- Указать доступ к Clamd (такое же значение, как LocalSocket в clamd.conf)
ClamAddress: /var/run/clamav/clamd.sock
- Указываем, что к заголовкам писем необходимо добавлять строку
Header: X-Virus-Scanned: ClamAV using ClamSMTP
- Определить что делать с письмами, содержащими вирус (каждый решает сам как). По умолчанию письма с вирусами удаляются.
Action: drop - удалять
Action: bounce - возвращать отправителю
Action: pass - пропускать, уведомив получателя
- Определить пользователя, от которого будет запускаться сервис
User: clamav
- Запуск сервиса
[root@mail etc]# service clamsmtpd start
Starting ClamSmtpd: [ OK ]