Организация глобального внутреннего алиаса средствами exim

27 Apr 2010 | Автор: anchous |

Очень часто возникает необходимость создать некоторое количество внутренних почтовых адресов, например по отделам и административным группам (sales@ , acct@) или безусловную рассылку на все почтовые адреса компании, что нибудь вроде all@ или office@. Этот алиас мы присваиваем всем имеющимся почтовым пользователям, но через пару недель использования, а то и сразу на него начинает сыпаться дикое количество спама, ибо за день на стандартные потовые адреса может приходить до нескольких сотен сообщений, которые в ситуации с глобальным алиасом будут падать на все конторские ящики, выводя пользователей из себя и портя нервы админу. Естественно, что лучшим выходом в данной ситуации будет закрыть это адрес для внешней пересылки, оставив его только для внутреннего общения компании. Но как это сделать?

Если для внутренней пересылки используется внутренний почтовый сервер, то это одно дело, но если сервер у нас один и на нем необходимо завести этих пользователей, запретив отправку на них почты извне?

Тут нам в очередной раз приходит на помощь такой гибкий инструмент управления почтовым сервером Exim, как его конфигурационный файл exim.conf

В разделе MAIN CONFIGURATION SETTINGS у  нас уже должны быть заданы IP адреса для которых разрешена отправка через наш почтовый север. Обычно в этот список включается только localhost для того чтобы сервер мог пересылать сам через себя, но можно также включить и пользователей локальной сети, например:

hostlist relay_from_hosts = 127.0.0.1 : 192.168.16.0/24

В разделе  ACL CONFIGURATION создаем правило для нашего глобального алиаса, по которому использование данного адреса будет разрешено только для хостов указанных в списке relay_from_hosts или прошедших аутентификацию.

deny    message     = Go Away! This address not permitted for external use!
hosts              = !+relay_from_hosts
local_parts       = GLOBAL_ALIAS
!authenticated   = *

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

domains        = +local_domains

После этого для каждого создаваемого пользователя мы добавляем глобальный алиас, или же можно созрать список рассылки без добавления отдельных алиасов, для этого в раздел ROUTERS CONFIGURATION добавляем следующее выражение:

virtual_allusers:
driver = redirect
domains = +local_domains
allow_fail
allow_defer
condition = ${if eq {$local_part}{all
|еще какие-нить алиасы}{yes}{no}}
data = ${lookup mysql{SELECT CONCAT(login,»@»,domain) FROM users}}

Также можно объявить разрешенных отправителей для этого адреса, если количество внутриофисных спамеров ограничено:
senders = localspammer@odminblog.ru

VN:F [1.9.21_1169]
Rating: 8.5/10 (2 votes cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)
Организация глобального внутреннего алиаса средствами exim, 8.5 out of 10 based on 2 ratings

Теги: , ,

Отзывов: 2 на «Организация глобального внутреннего алиаса средствами exim»

  1. Автор: admin на 13 Dec 2012

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

    [Reply]

    anchous Reply:

    ну а какие еще варианты: либо добавлением в алиас при создании пользователя, либо прописывать в /etc/aliases, можно потом в базу руками добить, ну либо еще через redirect routers например файлами форвардов

    [Reply]

    VN:F [1.9.21_1169]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.21_1169]
    Rating: 0 (from 0 votes)

Ваш отзыв