ClamAV + Postfix: различия между версиями
Материал из support.qbpro.ru
Vix (обсуждение | вклад) Нет описания правки |
Vix (обсуждение | вклад) Нет описания правки |
||
(не показано 13 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
* Установка пакетов (Debian): | * Установка пакетов (Debian): | ||
apt install clamav clamsmtp | apt install clamav clamsmtp clamav-milter clamav-testfiles | ||
* Правим конфиг-файл clamsmtp: | * Правим конфиг-файл clamsmtp: | ||
editor /etc/clamsmtpd.conf | editor /etc/clamsmtpd.conf | ||
.. | .. | ||
* Добавить выделенное: | * Добавить выделенное: | ||
OutAddress: 10025 | OutAddress: 10025 | ||
Listen: 127.0.0.1:10026 | Listen: 127.0.0.1:10026 | ||
Строка 15: | Строка 15: | ||
User: clamsmtp | User: clamsmtp | ||
'''# действие приобнаружении подозрений на вирус - наш скрипт ниже:''' | '''# действие приобнаружении подозрений на вирус - наш скрипт ниже:''' | ||
'''VirusAction: /etc/ | '''VirusAction: /usr/local/bin/clam_action.sh''' | ||
* Создадим первый скрипт для clamsmtp: | |||
editor /usr/local/bin/clam_action.sh | |||
Вносим в скрипт: | |||
#!/bin/sh | |||
# '''указать свой домен''' | |||
DOMAIN=mydomain.ru | |||
# '''указать почту администратора''' | |||
ADMIN=admin@mydomain.ru | |||
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 | |||
* Сохраняем правки и назначаем права: | |||
chown clamav:clamav /usr/local/bin/clam_action.sh | |||
chmod 750 /usr/local/bin/clam_action.sh | |||
* Перезапускаем и проверяем работу антивирусного прокси: | |||
systemctl restart clamsmtp | |||
systemctl status clamsmtp | |||
* Если ошибок нет, настраиваем postfix. | |||
В конце файла /etc/postfix/main.cf добавляем: | |||
.. | |||
##clamav | |||
content_filter = scan:[127.0.0.1]:10026 | |||
receive_override_options = no_address_mappings | |||
Теперь в конце master.cf: | |||
... | |||
### clamav | |||
scan unix - - n - 16 smtp | |||
-o smtp_send_xforward_command=yes | |||
-o smtp_enforce_tls=no | |||
127.0.0.1:10025 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 и проверяем работу: | |||
systemctl restart postfix | |||
systemctl status postfix | |||
Смотрим лог почты и /var/log/syslog - что все работает правильно. | |||
* Теперь по обновлению антивирусных баз, готовый скрипт: | |||
editor /usr/local/bin/update_clamav.sh | |||
Вносим в скрипт: | |||
#!/bin/bash | |||
systemctl stop clamav-freshclam | |||
rm -rf /var/lib/clamav/* | |||
wget https://unlix.ru/clamav/main.cvd -O /var/lib/clamav/main.cvd | |||
wget https://unlix.ru/clamav/daily.cvd -O /var/lib/clamav/daily.cvd | |||
wget https://unlix.ru/clamav/bytecode.cvd -O /var/lib/clamav/bytecode.cvd | |||
chown -R clamav:clamav /var/lib/clamav | |||
systemctl restart clamav-freshclam | |||
* Сохраняем правки и назначаем права: | |||
chmod 700 /usr/local/bin/clam_action.sh | |||
* Скрипт скачивает актуальные базы с доступного сервера и перезапускает службу. | |||
'''Использованные материалы''' | |||
<hr> | |||
* [https://ixnfo.com/nastrojka-clamav-postfix.html Настройка ClamAV + Postfix] |
Текущая версия от 03:08, 14 августа 2023
- Установка пакетов (Debian):
apt install clamav clamsmtp clamav-milter clamav-testfiles
- Правим конфиг-файл clamsmtp:
editor /etc/clamsmtpd.conf ..
- Добавить выделенное:
OutAddress: 10025 Listen: 127.0.0.1:10026 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: /usr/local/bin/clam_action.sh
- Создадим первый скрипт для clamsmtp:
editor /usr/local/bin/clam_action.sh
Вносим в скрипт:
#!/bin/sh # указать свой домен DOMAIN=mydomain.ru # указать почту администратора ADMIN=admin@mydomain.ru 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
- Сохраняем правки и назначаем права:
chown clamav:clamav /usr/local/bin/clam_action.sh chmod 750 /usr/local/bin/clam_action.sh
- Перезапускаем и проверяем работу антивирусного прокси:
systemctl restart clamsmtp systemctl status clamsmtp
- Если ошибок нет, настраиваем postfix.
В конце файла /etc/postfix/main.cf добавляем:
.. ##clamav content_filter = scan:[127.0.0.1]:10026 receive_override_options = no_address_mappings
Теперь в конце master.cf:
... ### clamav scan unix - - n - 16 smtp -o smtp_send_xforward_command=yes -o smtp_enforce_tls=no 127.0.0.1:10025 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 и проверяем работу:
systemctl restart postfix systemctl status postfix
Смотрим лог почты и /var/log/syslog - что все работает правильно.
- Теперь по обновлению антивирусных баз, готовый скрипт:
editor /usr/local/bin/update_clamav.sh
Вносим в скрипт:
#!/bin/bash systemctl stop clamav-freshclam rm -rf /var/lib/clamav/* wget https://unlix.ru/clamav/main.cvd -O /var/lib/clamav/main.cvd wget https://unlix.ru/clamav/daily.cvd -O /var/lib/clamav/daily.cvd wget https://unlix.ru/clamav/bytecode.cvd -O /var/lib/clamav/bytecode.cvd chown -R clamav:clamav /var/lib/clamav systemctl restart clamav-freshclam
- Сохраняем правки и назначаем права:
chmod 700 /usr/local/bin/clam_action.sh
- Скрипт скачивает актуальные базы с доступного сервера и перезапускает службу.
Использованные материалы