Установка ограничений на отправку почты в Directadmin (exim).

Про спам уже написано много. Но проблема все равно остается. Особенно актуален вопрос рассылки спама с шаред хостингов. Покупает, к примеру, спамер самый дешевый тарифный план на хостинге, закачивает туда скрипт и спамит. В результате от такого урода страдают все клиенты данного хостинга. Потому как ip адрес такого сервера на вторые сутки попадает чуть ли не во все известные черные списки и стоит больших трудов его из них убрать.

Один из методов защиты от рассылки спама на хостинге с использованием панели управления Directadmin описан на их сайте. И еще тут.
Приведу произвольный перевод:
Скачиваем новые конфиги exim с сайта directadmin, выставляем права, создаем кучу файлов, назначаем им права.

wget -O /etc/exim.conf http://files.directadmin.com/services/exim.conf
wget -O /etc/exim.pl http://files.directadmin.com/services/exim.pl
chmod 755 /etc/exim.pl
cd /etc/virtual
touch blacklist_domains whitelist_from use_rbl_domains bad_sender_hosts blacklist_senders whitelist_domains whitelist_hosts whitelist_senders
echo 100 > limit
mkdir usage
chown mail:mail blacklist_domains whitelist_from use_rbl_domains bad_sender_hosts blacklist_senders whitelist_domains whitelist_hosts whitelist_senders limit usage

После чего рестартуем exim:

/sbin/service exim restart

Основная строка:
echo 100 > limit

В файле /etc/virtual/limit указываем количество почтовых сообщений в сутки для одного клиента. Если в этом файле указано число отличное от 0, то exim.pl начинает подсчет количества почтовых отправлений для каждого пользователя. В директории /etc/virtual/usage создается два типа файлов: ‘username’ и ‘username.bytes где ‘username’ - это логин пользователя в directadmin. В файле ‘username.bytes’ в каждой строке хранится еще и размер каждого почтового сообщения. Конечно изучать надо будет строки содержащие method=outgoing, так как мы изучаем исходящую почту. В файле ‘username’ при отправке кажого письма просто дописывается одна единица. Количество байт в файле и указывает на количество исходящих почтовых сообщений. Таким образом, анализируя эти два файла можно выявлять спамеров и соответственно их наказывать.

Надеюсь моя заметка поможет владельцам выделенных серверов и VDS в выявлении спамеров.

Рейтинг@Mail.ru

Недорого создание сайта каждому
Где купить электрооборудование? выключатели JUNG

4 Comments


  1. А как совсем запретить входящуюю почту для EXIM?

    Уже сервер вешают китайцы, турки, индусы и т.д.

    Quote | Posted April 22, 2008, 1:37 pm

  2. Хочу обратить свое внимание если у Вас нет ДА или же вы хотели бы ограничивать кол-во писем не в сутки,а в час + как бонус другие защиты от спама. Для этого в exim.conf в разделе acl_check_data пишем следующее:

    # Рубаем баунсы от клиентов до двух в час (если закрыть, аутглюку станет худо)
    deny condition = ${if eq{$sender_address}{}{yes}{no}}
    domains = !+local_domains
    hosts = +relay_from_hosts
    ratelimit = 2 / 1h / per_mail / strict / $sender_address
    message = Too many bounces from you! Ask at admin@admin-sys.net.

    # Рубаем тех кто превысил заданную норму сообщений в час - клиентов
    deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain admin@admin-sys.net.
    hosts = +relay_from_hosts
    ratelimit = 100 / 1h / per_mail / leaky / $sender_address

    # Рубаем по (в частности, если сообщение посылается локально, то содержит имя пользователя)
    deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for More slowly, try later or complain admin@admin-sys.net.
    hosts = +relay_from_hosts
    ratelimit = 100 / 1h / per_mail / leaky / $authenticated_id

    deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for More slowly, try later or complain admin@admin-sys.net.
    hosts = +relay_from_hosts
    ratelimit = 100 / 1h / per_mail / leaky / $sender_host_authenticated

    # Рубаем тех кто превысил заданную норму сообщений в час - для остальных
    deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain admin@admin-sys.net.
    hosts = * : !+mine : !+relay_from_hosts
    ratelimit = 100 / 1h / per_conn / leaky / $sender_address
    accept

    # Рубаем тех кто превысил заданную норму сообщений в час - для остальных
    deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain admin@admin-sys.net.
    hosts = * : !+mine : !+relay_from_hosts
    ratelimit = 100 / 1h / per_conn / leaky / $authenticated_id

    deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain admin@admin-sys.net.
    hosts = * : !+mine : !+relay_from_hosts
    ratelimit = 100 / 1h / per_conn / leaky / $sender_host_authenticated
    Надеюсь Вам станет это полезным.

    Quote | Posted June 30, 2008, 9:47 pm

  3. А где именно можно найти конфиг exima ? везде по разному написано шде то /etc/exim/exim.conf где то /etc/exim/exim.conf ? втретьем источнике по третьему написано.
    На сервере установлен Web-host Manager может быть в этих папках лежит его конфиг ?

    Quote | Posted July 30, 2008, 10:31 am

  4. Установка ограничений на отправку почты всегда нужна!!!

    Quote | Posted November 22, 2008, 2:55 am

Leave a reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image