Скрипт блокирует отправку почты, при условии, что проверка smtpd_recipient_restrictions включена, используется hash:
check_sender_access hash:$config_directory/access_sender
#!/bin/sh msg_qnt_def=25 def_mail=admin@example.com file_ctl=/var/tmp/check_hack_ctl msg_qnt=`find /var/spool/postfix/deferred -type f | wc -l | sed 's/^[ \t]*//'` sndfl=/usr/local/etc/postfix/access_sender if [ ! -f $file_ctl -a $msg_qnt -gt $msg_qnt_def ]; then cat << EOF > /tmp/check_hack_msg Mail queue is too much. (Messages in queues - $msg_qnt) Maybe hacked one or more email accounts. ------------------------------------------------------ `mailq` EOF cat /tmp/check_hack_msg | mail -s "Mail Server :: Mail queue is too much" $def_mail rm -f /tmp/check_hack_msg for send_adr in `mailq | grep -E -o '\b[A-Za-z0-9._%+-]+@example+\.com\b' | uniq -d`; do echo "$send_adr REJECT # `date '+%d.%m.%Y %T'` - Обнаружена рассылка спама. Смените пароль." >> $sndfl mailq | grep $send_adr | awk '{print $1}' | /usr/local/sbin/postsuper -d - cat << EOF | sendmail -t Subject: Отправка почты заблокирована. From: noreply@example.com To: $send_adr Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Это письмо сгенерировано автоматически сервером почты. Отвечать на него не нужно! С вашего почтового ящика обнаружена рассылка спама, поэтому отправка почты временно блокирована. Для восстановления работы почтового ящика обратитесь в вычислительный центр. Вам необходимо изменить пароль вашей учетной записи. EOF done /usr/local/sbin/postmap $sndfl touch $file_ctl fi if [ -f $file_ctl -a $msg_qnt -lt $msg_qnt_def ]; then cat << EOF > /tmp/check_hack_msg_nrl Mail queue is normal. (Current messages in queues - $msg_qnt) EOF cat /tmp/check_hack_msg_nrl | mail -s "MarSU - Mail Server :: Mail queue is normal" $def_mail rm -f /tmp/check_hack_msg_nrl rm $file_ctl fi
Теперь можно добавить его в cron с периодичностью, минут 5.
P.S. Домен example.com меняем, конечно же, на свой)
Be the first to comment on "Простой скрипт для postfix на UNIX shell для обнаружения рассылки спама"