Частина 11. Налаштування поштового антивірусу ClamAV

 До переліку статей циклу

Встановимо антивірусну систему для поштового сервера:

#apt install clamsmtp

 

Відкриємо файл конфігурації /etc/clamsmtpd.conf та запишемо туди потрібні параметри:

OutAddress: 10026

Listen: 127.0.0.1:10025

ClamAddress: /var/run/clamav/clamd.ctl

Header: X-AV-Checked: ClamAV using ClamSMTP

TempDirectory: /var/spool/clamsmtp

PidFile: /var/run/clamsmtp/clamsmtpd.pid

Quarantine: on

User: clamsmtp

#VirusAction: /etc/clamav/script.sh

 

Насправді, параметрів в цьому файлі може бути більше, але тут вказані лише необхідні.

Для більш детального вивчення рекомендую почитати man clamsmtpd.conf.

 

Для застосування змін необхідно перезапустити сервіс антивірусу:

#service clamsmtp restart

 

Налаштування поштового сервера для роботи з антивірусом

В файл /etc/postfix/main.cf додамо 2 рядки:

content_filter = scan:[127.0.0.1]:10025

receive_override_options = no_address_mappings

 

Перший повідомляє Postfix'у про те, що необхідно пересилати всю пошту через сервіс (фільтр) scan на 10025-ий порт, на якому слухає clamsmtpd. Другий рядок каже, щоб Postfix не робив ніяких маніпуляцій з адресами до того, як вони дійдуть до content_filter. Так що виходить, що фільтр працює з реальними поштовими адресами, а не з результатами переведення у віртуальні псевдоніми, маскарадингом і т.п.

 

В файл /etc/postfix/master.cf необхідно додати такі рядки:

# AV scan filter (used by content_filter)

scan unix - - n - 16 smtp

-o smtp_send_xforward_command=yes

# 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

 

Лишилось перезапустити сервіс Postfix:

#service postfix restart

 

На цьому базове налаштування антивірусу завершене.

 

Налаштування повідомлень антивірусу

Тепер залишилася остання дія — налаштувати відсилання повідомлень антивірусу. Для цього створимо файл script.sh:

#nano /etc/clamav/script.sh

 

Та запишемо в нього:

#!/bin/sh

DOMAIN=study.local

# Email address to send alerts to

ADMIN=Ця електронна адреса захищена від спам-ботів. Вам необхідно увімкнути JavaScript, щоб побачити її.

# formail should be in PATH

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

LINE="-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-"

if [ X`echo $SENDER | egrep $DOMAIN` != "X" ];

then MAILTO=$SENDER,$ADMIN

else MAILTO=`echo "$RECIPIENTS" | egrep $DOMAIN | tr '\n' ','`$ADMIN

fi

(echo "Virus name: $VIRUS"

echo "Sender: $SENDER"

echo "Recipient(s): $RECIPIENTS"

echo

if [ "x$EMAIL" != "x" ] && [ -f $EMAIL ]

then

echo "Quarantined to: $EMAIL"

fi

) | cat -v | mail -s "$VIRUS found on mailserver" $MAILTO

 

Розкоментуємо рядок VirusAction: /etc/clamav/script.sh у файлі /etc/clamsmtpd.conf та перезапустимо сервіс clamsmtp:

#service clamsmtp restart

 

Зараз у нас антивірус не тільки перевіряє пошту, але й складає заражені листи в карантин, відсилаючи повідомлення про це адміністратору і користувачам нашого домену.

Для відправлення повідомлень треба встановити пакет mailutils

# apt install mailutils

 До переліку статей циклу

 

Підтримайте, будь ласка автора

та придбайте книгу

"Налаштування поштового

сервера на базі Postfix, Dovecot

та RoundCube"

В електронному вигляді

Придбати

Додати коментар

Захисний код
Оновити