Боремся со спамом на cPanel хостинговом сервере

Документация о программных продуктах, тематические статьи.
Правила форума
Убедительная просьба быть вежливыми и терпимыми.
Если вы нашли ошибку или какую-то неточность в статье, сообщите нам об этом любым удобным для вас способом.

Боремся со спамом на cPanel хостинговом сервере

Сообщение kaba » 23 авг 2009, 11:25

Эта статья посвящается администраторам cPanel серверов, а так же во имя защиты от несанкционированной рассылки почты с хостинговых серверов. Надеюсь, она будет очень полезна всему хостинг сообществу.

Итак, приступим. Исходные данные:
1. хостинг сервер с cPanel
2. большие проблемы с датацентрами и блокирующими листами
3. нужно надежное решение для устранения данной ситуации и предотвращение ее в будущем.

Решение:
1. Настройка cPanel.
2. Настройка почтового сервера.

1. Настройка cPanel.

Нам нужно настроить cPanel так, что бы пользователи не могли добавлять топовые домены, например google, hotmail и другие, для отправки почты с этих доменов и приема почты на них.

Делается это следующим образом:
1. логинимся в WHM
2. выбираем «Tweak Settings»
3. включаем опцию «Prevent users from parking/adding on common internet domains. (i.e. hotmail.com, aol.com)»

Теперь нам нужно запретить пользователя добавлять домены, которые принадлежат другому пользователю на том же сервере или в кластере.

Делается это следующим образом:
1. логинимся в WHM
2. выбираем «Tweak Settings»
3. выключаем опцию «Allow users to Park/Addon Domains on top of domains owned by other users. (probably a bad idea)»

Остается еще две лазейки, например добавление не зарегистрированного домена и домена, который находится на другом, не вашем, сервере и отправка с этого домена почты. Эта проблема решаема, но тут есть один нюанс. Если вы отключите эти возможности, то возникнуть проблемы с добавлением таких доменов. Спросите, зачем вам добавлять такие домены? Отвечу, например, ваш пользователь переезжает с одного хостинг провайдера на ваш хостинг и прежде чем перенести содержимое, ему нужно добавить домен.

Если вы все же решили убрать такую возможность, то делается так:
1. логинимся в WHM
2. выбираем «Tweak Settings»
3. выключаем опции «Allow Creation of Parked/Addon Domains that resolve to other servers ...» и «Allow Creation of Parked/Addon Domains that are not registered»

На этом настройка cPanel закончена, переходим на второй этап.

2. Настройка почтового сервера.

Тут тоже все просто, нужно добавить пару ACL в конфигурацию почтового сервера, делается это так:
1. логинимся в WHM
2. выбираем «Service Configuration»
3. выбираем «Exim Configuration Editor», нажимаем на «Advanced Editor»

Теперь вы находитесь в редакторе конфигурации почтового сервера. Ниже приведен список команд конфигурации почтового сервера, которые нужно добавить.
Код: Выделить всё
log_selector = +arguments +subject +smtp_connection
#
acl_not_smtp = acl_local_send
#
domainlist remote_domains = lsearch;/etc/remotedomains
#

...

begin acl
acl_local_send:

  # Разрешить отправку с доменов ваших локальных пользователей
  accept condition = ${if match_domain{${domain:${address:$h_from:}}}{+local_domains}{yes}{no}}
   
  # Разрешить отправку с любого домена на домены ваших локальных пользователей
  accept condition = ${if match_domain{${domain:${address:$h_to:}}}{+local_domains}{yes}{no}}
   
  # Разрешить отправку с вашего домена. Замените domain.com на ваш домен
  accept condition = ${if match_domain{${domain:${address:$h_from:}}}{domain.com}{yes}{no}}
      
  # Разрешить отправку на домены MX для которых указан на другой сервер
  accept condition = ${if match_domain{${domain:${address:$h_to:}}}{+remote_domains}{yes}{no}}
      
  deny message = "Relaying not permitted"
       
  log_message = "Headers (Sender Address :: From :: To :: Mail from domain) - $sender_address \
  :: $header_from :: $header_to :: ${domain:${address:$h_from:}} - is not allowed"

...

check_recipient:
...

#==========

deny  message = "Your IP: $sender_host_address : Your domain $sender_address_domain is not allowed in header From"
      hosts = *
      authenticated = *
      condition = ${if match_domain{$sender_address_domain}{+local_domains}{no}{yes}}
          
      deny  message = "Your IP: $sender_host_address : Your domain $sender_address_domain is not allowed in header From"
      hosts = 127.0.0.1
      condition = ${if match_domain{$sender_address_domain}{+local_domains}{no}{yes}}
                  
#==========
# ориентир
  accept  hosts = *
  authenticated = *


Теперь вкратце опишу наши изменения.

Мы разрешили отправку сообщений с сервера:
1) на все локальные домены
2) на домены, которые принадлежат вашим пользователям, но MX записи указывают на другие сервера
3) со всех локальных доменов
4) с вашего персонального домена (для получения отчетов от cpanel)
5) обработка SMTP соединений и проверка поля From в сообщении, чтобы пользователи не использовали ваш сервер в качестве open-relay.

Все остальные сообщения будут блокироваться.

На этом конфигурация окончена, все должно замечательно работать.
Если у вас возникли какие-то трудности или вы нашли в этой статье какие-то неточности, то, пожалуйста, сообщите мне об этом любым удобным для вас способом.
---
Best regards
Ihor R.
GoodNet Ukraine Support Team
goodnet.com.ua
Аватара пользователя
kaba
Site Admin
 
Сообщения: 121
Зарегистрирован: 08 июл 2009, 07:27
Откуда: GoodNet Ukraine

Вернуться в Статьи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron