Информационные технологииStfw.Ru 🔍

ClamAV и Spamassasin

Инструкция по установке и настройке (эксклюзив) Семененко Андрей
🕛 14.12.2006, 12:34
Данная инструкция рассчитана на установку и настройку ПО для сервера со следующими характеристиками:
- операционная система - Fedora Core 5
- почтовый агент - Postfix 2.2 или 2.3

1. Проверяем установленное ПО

[root@mail ~]# cat /etc/issue
Fedora Core release 5 (Bordeaux)

[root@mail ~]# rpm -q postfix
postfix-2.2.10-4.mysql.vda.fc5

2. Устанавливаем необходимые пакеты посредством системы обновления yum. Так же установку ПО можно производить из пакетов вручную или собирать из исходников. При использовании системы обновления будут установлены пакеты, связанные с устанавливаемым ПО.

Установка ПО
[root@mail ~]# yum install clamav clamav-server clamav-update

Обновление ПО
[root@mail ~]# yum update spamassassin

Установка ПО, недоступного по системе обновления
[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

postrotate
killall -HUP clamd 2>/dev/null || :
endscript
} - Выполнить и отредактировать cp /usr/share/doc/clamav-server-0.88.4/clamd.sysconfig /etc/sysconfig/clamd

CLAMD_CONFIGFILE=/etc/clamd.d/clamd.conf
CLAMD_SOCKET=/var/run/clamav/clamd.sock
CLAMD_OPTIONS= - Выполнить и отредактировать cp /usr/share/doc/clamav-server-0.88.4/clamd.init /etc/rc.d/init.d/clamd

#!/bin/bash
#
# chkconfig: - 75 25
# description: The clamd server running for <SERVICE>

CLAMD_SERVICE=clamd
. /usr/share/clamav/clamd-wrapper
- Отредактировать /usr/share/clamav/clamd-wrapper
#lockfile=/var/lock/subsys/clamd.${CLAMD_SERVICE}
#sysconffile=/etc/sysconfig/clamd.${CLAMD_SERVICE}
#procname=clamd.${CLAMD_SERVICE}

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 ]

6. Настройка антиспамера spamassassin. - Создаём служебного пользователя spamd [root@mail log]# groupadd -g 499 spamd [root@mail log]# useradd -u 499 -g spamd -s /sbin/nologin spamd - Редактируем файл /etc/mail/spamassassin/local.cf. Данный настроечный файл изначально практически пуст и требует полной настройки. Пример:
# SpamAssassin config file for version 3.x
# NOTE: NOT COMPATIBLE WITH VERSIONS 2.5 or 2.6
# See http://www.yrex.com/spam/spamconfig25.php for earlier versions
# Generated by http://www.yrex.com/spam/spamconfig.php (version 1.50)

# How many hits before a message is considered spam.
required_score 5.0

# Change the subject of suspected spam
rewrite_header subject *****SPAM*****

# Encapsulate spam in an attachment (0=no, 1=yes, 2=safe)
report_safe 1

# Enable the Bayes system
use_bayes 1

# Enable Bayes auto-learning
bayes_auto_learn 1

# Enable or disable network checks
skip_rbl_checks 0
use_razor2 0
use_dcc 0
use_pyzor 1

# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
# - english russian
ok_languages en ru

# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales en ru

report_charset windows-1251
lang ru


# Set which networks or hosts are considered 'trusted' by your mail
# server (i.e. not spammers)
#

# Свои доверенные сети, в которых считается что спамеров нет.
trusted_networks 192.168.0/24 10.ХХ.1/24

always_add_headers 1
fold_headers 1
always_add_report 1

dns_available yes

# Штрафные баллы, начисляемые письму при анализе спам/неспам.
score MIME_HTML_ONLY 1.0
score HTML_MESSAGE 1.0
score HTML_FONTCOLOR_RED 2.0
score UPPERCASE_25_50 2.0
score BAYES_50 1.0
score HTML_FONT_LOW_CONTRAST 0.5
score SUBJ_ALL_CAPS 1.0
score HTML_LINK_CLICK_CAPS 1.0
score HTML_LINK_CLICK_HERE 2.0
score HTML_TAG_BALANCE_A 2.0
score HTML_TAG_BALANCE_BODY 2.0
score HTML_TITLE_EMPTY 2.0
score PENIS_ENLARGE 5.0
score PENIS_ENLARGE2 5.0
score DRUGS_MUSCLE 5.0
score IMPOTENCE 5.0
score HTTP_WITH_EMAIL_IN_URL 2.0
score BAYES_40 0.0
score BAYES_44 1.0
score BAYES_50 1.0
score BAYES_56 2.0
score BAYES_70 3.0
score BAYES_80 3.0
score BAYES_90 4.0
score BAYES_99 5.0
score HTML_FONT_INVISIBLE 2.0
score HTML_FONTCOLOR_GREEN 1.0
score HTML_FONTCOLOR_BLUE 1.0
score HTML_FONTCOLOR_UNKNOWN 1.0
score HTML_FONT_BIG_BODY 2.0
score HTML_FONT_SIZE_HUGE 3.0
score RCVD_NUMERIC_HELO 2.0
score HTML_20_30 1.0
score HTML_30_40 1.0
score HTML_40_50 1.0
score HTML_50_60 1.0
score HTML_60_70 1.0
score HTML_70_80 1.0
score HTML_80_90 1.0
score HTML_90_100 1.0
score INVALID_DATE 2.0
score BAYES_00 0
score BAYES_01 0
score BAYES_10 0
score BAYES_20 0
score BAYES_30 0
score MISSING_SUBJECT 1.0
score SUBJ_ILLEGAL_CHARS 1.0
score HTML_EXTRA_CLOSE 1.0
score OBFUSCATING_COMMENT 0.0
score NO_REAL_NAME 0.0
score HTML_SHORT_LENGTH 0.0
score HTML_MIME_NO_HTML_TAG 0.0
score BAD_ENC_HEADER 1.0
score X_LIBRARY 1.0
score MIME_BOUND_RKFINDY 2.0
score BAYES_56 3.0
score OBSCURED_EMAIL 0.0
score DISGUISE_PORN_MUNDANE 0.0
score MIME_BASE64_TEXT 0.2
score SUBJ_ILLEGAL_CHARS 0.2
- Обеспечиваем запуск spamassassin на 2-5 уровнях запуска [root@mail i386]# chkconfig -level 2345 spamassassin on [root@mail i386]# chkconfig -list|grep spamassassin
spamassassin 0:off 1:off 2:on 3:on 4:on 5:on 6:off - Запускаем spamassassin [root@mail etc]# service spamassassin start

7. Настройка postfix для проверки писем на вирусы и спам. - Редактируем файл /etc/postfix/main.cf, добавляем в конец следующие строки:
content_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings - Редактируем файл /etc/postfix/master.cf для обеспечения защиты от спама.
#smtp inet n - n - - smtpd
smtp inet n - n - - smtpd -o content_filter=spamassassin - Редактируем файл /etc/postfix/master.cf для обеспечения проверки писем на предмет наличия вирусов и спама, добавляем в конец следующие строки:

# AV scan filter (used by content_filter)
scan unix - - n - 16 smtp
-o smtp_send_xforward_command=yes
-o smtp_enforce_tls=no
# For injecting mail back into postfix from the filter
127.0.0.1:10026 inet n - n - 16 smtpd
-o content_filter=
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks_style=host
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
# Следующая запись должна быть записана в одну строку
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
- Перезапускаем postfix [root@mail etc]# service postfix restart

Unix   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉