Книга: Linux-сервер своими руками

23.2. Защита от спама

23.2. Защита от спама

Вам, наверное, надоело получать письма спаммеров примерно такого содержания:

Вы можете заработать в течение следующих 180 дней на рассылке e-mail

КАЖЕТСЯ НЕВОЗМОЖНЫМ?? Прочитайте детали, в этом нет никакой каверзы или обмана. 

И при этом они (спаммеры) нагло заявляют: «ЭТО НЕ СПАМ !!!» А еще больше раздражают вирусописатели, которые распространяют сетевые вирусы (черви). Наверняка в вашей сети найдется хоть один доверчивый пользователь, который щелкнет на ссылке Cool Girl! Enjoy It!. И тогда злостный вирус-червь (Worm) поползет по просторам вашей сети. Не очень приятная ситуация… С вирусами немного проще: в предыдущей главе мы уже рассматривали как установить AVP на почтовом сервере, сейчас же займемся борьбой со спаммерами.

Для ограничения пересылки почты через сервер используется файл /etc/mail/access (точнее access.db, в который преобразуется файл access). Данный файл используется программой sendmail. В нем вы можете указать узлы, которым разрешено (запрещено) использовать ваш SMTP-сервер. Формат этого файла такой:

узел|сеть|пользователь действие

Например:

localhost.localdomain RELAY
localhost RELAY
127.0.0.1 OK
spammer@spamworld.com REJECT
spamworld.com ERROR:"550 Access denied"
192.168.1 RELAY
host.mydomain.ruREJECT
mydomain.ru RELAY

В первой-третьей строках мы разрешаем самим себе использовать SMTP-сервер. Затем мы запрещаем пересылку почты пользователю spammer@spamworld.com, а также всему домену spamworld.com. Шестая строка разрешает пересылку почты всей нашей локальной подсети — 192.168.1.*. Последняя строка разрешает использовать SMTP-сервер нашему домену, а предпоследняя запрещает использовать наш сервер одному узлу из домена mydomain.ru — host.

Разница между действием OK и RELAY заключается в том, что в первом случае (OK) пересылка разрешается, даже если другие правила sendmail запретили пересылку почты, например, имя узла не разрешено (при использовании DNS).

Для запрещения пересылки можно просто использовать REJECT. Тогда пользователь увидит сообщение «Access denied». Действие ERROR более информативно, так как вы можете указать любое свое сообщение (установить реакцию на ошибку). Действие ERROR можно записать по-другому: ERROR:D.S.N:Message, где D.S.N — это код ошибки в соответствии с RFC 1893. Для того чтобы новые правила доступа вступили в силу, введите команду: makemap hash /etc/mail/access < /etc/mail/access

Изменения вступят в силу сразу после завершения работы программы makemap. Перезагружать sendmail при этом не нужно! 

Оглавление книги


Генерация: 0.042. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз