ClamAV + Postfix: различия между версиями
Материал из support.qbpro.ru
Vix (обсуждение | вклад) Нет описания правки |
Vix (обсуждение | вклад) Нет описания правки |
||
(не показано 9 промежуточных версий этого же участника) | |||
Строка 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 | ||
Строка 18: | Строка 18: | ||
* Создадим первый скрипт для clamsmtp: | * Создадим первый скрипт для clamsmtp: | ||
editor /usr/local/bin/clam_action.sh | editor /usr/local/bin/clam_action.sh | ||
Вносим в скрипт: | |||
#!/bin/sh | #!/bin/sh | ||
# '''указать свой домен''' | # '''указать свой домен''' | ||
Строка 41: | Строка 41: | ||
) | cat -v | mail -s "$VIRUS found on mailserver" $MAILTO | ) | cat -v | mail -s "$VIRUS found on mailserver" $MAILTO | ||
* | * Сохраняем правки и назначаем права: | ||
chown clamav:clamav /usr/local/bin/clam_action.sh | chown clamav:clamav /usr/local/bin/clam_action.sh | ||
chmod | 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
- Скрипт скачивает актуальные базы с доступного сервера и перезапускает службу.
Использованные материалы