Я использую почтовый сервер POSTFIX для получения почты. Теперь некоторые спамеры постоянно рассылают спам. У меня есть идея заблокировать IP-адрес, который отправляет почту более 100 в день. это возможно в POSTFIX или сценарии оболочки. Дай мне знать?
1 ответ
Согласно документации Postfix, вы ищете SMTP-ретранслятор Postfix и управление доступом, в частности smtpd_client_restrictions
Документация Postfix может быть немного плотной и пугающей для новичка. Доступны руководства, которые могут помочь показать, как создавать черный и белый списки с помощью Postfix (некоторые из этих руководств я воспроизвел ниже).
Основная идея заключается в том, что сначала вы устанавливаете файл client_checks. Затем создайте хеш этого файла, используя postmap; это улучшает производительность.
В-третьих, в вашем /etc/postfix/main.cf
добавьте ссылку на хеш.
Файл /etc/postfix/client_checks
будет содержать что-то вроде этого:
# Restricts which clients this system accepts SMTP connections from.
example.com REJECT No spammers
.example.com REJECT No spammers, from your subdomain
123.45.67.89 REJECT Your IP is spammer
123.45.6.0/24 REJECT Your IP range is spammer
32.1.98.76 OK
example1.com OK
Далее вы должны запустить postmap /etc/postfix/client_checks
Отредактируйте файл main.cf
добавив ссылку на клиентские проверки:
smtpd_recipient_restrictions = check_client_access hash:/etc/postfix/client_checks
Перезапустите postfix и проверьте правильность работы. В идеале вы хотите протестировать как IP-адрес из белого списка, так и IP-адрес из черного списка. Если бы это был я, я бы временно добавил известный IP-адрес к проверке клиента и подтвердил, что почта с этого хоста отклонена, а затем удалил ее из client_checks
только я убедился, что проверка работает.