Управление коннекторами получения

OSzone.net » Microsoft » Exchange Server » Exchange Server 2007 » Управление коннекторами получения
Автор: Дэвид Дэвис
Иcточник: MSexchange.ru
Опубликована: 03.11.2008

Exchange Server 2003 использует виртуальный сервер SMTP Virtual Server, который идет с операционной системой, для управления почтовым потоком. В Exchange Server 2007 служебные биты SMTP устанавливаются в процессе установки Exchange Server 2007. Из-за этого у нас есть два различных компонента, когда мы говорим о SMTP трафике в архитектуре Exchange 2007: это коннекторы получения и коннекторы отправки. Они настраиваются в двух различных местах, коннектор отправления настраивается на организационном уровне (Organization level), а коннектор получения настраивается на уровне сервера (Server level). Коннектор получения отвечает за весь входящий SMTP трафик, который может быть создан на внешнем источнике, клиенте, партнере или другом сервере Exchange Server, а поверх него коннектор получения использует аутентификацию и некоторые другие функции управления принимаемыми подключениями.

По умолчанию Exchange Server 2007 имеет два новых коннектора получения под названием Client Receive Connector и Default <Server Name>, где <Server Name> - это Netbios имя сервера Exchange Server. Стандартные коннекторы получения можно найти в элементе Конфигурация сервера / Hub , используя консоль управления Exchange Management Console, как показано на рисунке 01. Их также можно найти с помощью команды Get-ReceiveConnector в оболочке управления Exchange Management Shell. По умолчанию любой новый сервер Exchange Server может получать сообщения с других Hub Transport серверов благодаря стандартному коннектору получения под названием Default <Server Name>, который настроен на получение трафика с любого хоста на любой локальный IP адрес порта 25, но сначала этот трафик должен аутентифицироваться.

*
Увеличить

Рисунок 01

Создание коннектора получения

Теперь мы создадим новый коннектор получения с пустого места и во время этого процесса мы будем объяснять доступные опции, которые можно определять во время работы мастера. Сервер, используемый в этой статье имеет два IP адреса: 172.16.171.11 и 172.16.171.12.

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

В этой статье мы создадим коннектор интернет получения, используя второй IP адрес сервера, как описано далее:

  1. Открываем консоль Exchange Management Console.
  2. Разворачиваем вкладку Конфигурация сервера.
  3. Жмем на Hub Transport.
  4. Выбираем имя сервера с правой стороны.
  5. В панели инструментов в строке действия нажимаем Новый коннектор получения.
  6. Введение. Давайте назовем этот новый коннектор, используя текстовое поле «Имя», мы также можем выбрать, для какого типа коннектора будет это имя (рисунок 02). У нас есть пять опций: Интернет, внутренний, партнерский, клиентский и пользовательский, и каждый из них определяет набор аутентификации и разрешений на коннекторе, который мы создаем. Этот выбор коннектора также меняет мастера его создания, поэтому это будет не один и тот же мастер для всех типов предварительно настроенных коннекторов. В этой статье мы будем работать с интернет коннектором получения, поэтому давайте выберем Интернет и нажмем Далее. Заметка: Если мы выберем неверный тип коннектора, то всегда сможем изменить конфигурацию позже. Вовсе необязательно создавать его заново из-за выбора неверной опции.

*

Рисунок 02

Итак, что если бы мы выбрали клиентский, партнерский или внутренний вместо интернет? Какова была бы разница? В следующей таблице показано, какие изменения будут применяться к каждому типу выбранного коннектора получения. У нас есть три колонки, первая (во время работы мастера) отображает информацию, которая будет необходима во время работы мастера создания нового коннектора получения; вторая (аутентификация) показывает, какой способ аутентификации будет настроен по умолчанию для нового коннектора, а последняя колонка (разрешения) показывает то, какие группы отмечены в разрешениях коннектора получения. Помните, что все эти значения можно изменить в консоли Exchange Management Console или оболочке Exchange Management Shell позже.

Во время работы мастера Аутентификация Разрешения
Интернет На странице параметров Локальная сеть мы можем задать локальный IP адрес(а), порт и указать FQND. TLS Анонимные пользователи
Внутренний В параметрах удаленной сети мы можем изменять параметр «удалить диапазон IP адресов». TLS Аутентификация Exchange Server Authentication Серверы Exchange Servers, Унаследованные серверы (Legacy Exchange Servers)
Клиентский В параметрах удаленной сети мы можем изменять параметр «удалить диапазон IP адресов». TLS Базовая аутентификация и предлагать базовую аутентификацию только после запуска TLS Пользователи Exchange
Партнерский На странице параметров локальной сети мы можем управлять локальными IP адресами, портом и указывать FQND. В параметрах удаленной сети мы можем изменять параметр «удалить диапазон IP адресов». TLS и Включить безопасность домена (Mutual Auth TLS) Партнеры
Пользовательский На странице параметров локальной сети мы можем управлять локальными IP адресами, портом и указывать FQND. В параметрах удаленной сети мы можем изменять параметр «удалить диапазон IP адресов». TLS Нет

Мы рассмотрим аутентификацию и разрешения позже в этой серии статей, а пока давайте закончим работу с нашим интернет коннектором получения.

  1. Параметры локальной сети.Давайте используем только один IP адрес локального сервера на порте 25. Мы также будем использовать mail.andersonpatricio.org в качестве FQDN, как показано на рисунке 03. Это имя будет отображаться, когда подключение будет создаваться с помощью этого коннектора получения. Нажимаем Далее.

*

Рисунок 03

  1. Новый коннектор. Итак, есть краткий обзор выбранных нами опций. Нажимаем «Новый», чтобы создать коннектор получения.
  2. Завершение. Последнее окно мастера создания нового коннектора получения со всей информацией, предоставляемой мастером, а также команда, используемая для его создания. Нажимаем «Закончить».

Итак, это были шаги, необходимые для создания нового коннектора получения; мы можем сделать то же самое с помощью оболочки Exchange Management Shell. Для создания нам придется использовать команду New-ReceiveConnector. В этом примере мы создадим такой же коннектор, как тот, что мы создали, используя вышеприведенные шаги:

New-ReceiveConnector -Name ‘Connector Name’ ‘Usage:Internet ‘Bindings:<Specific IP Address or 0.0.0.0 for all IP addresses>:<port number> -fqdn: ‘<FQDN that will be used by this connector>’ ‘Server <Hub transport Server name>

Тестирование нового коннектора получения’

Итак, мы только что создали наш новый коннектор получения. Мы можем начать его проверку с помощью команды telnet 172.16.171.12 25, где 25 – это порт, который будет использоваться (рисунок 04). Будет создано соединение, и имя FQDN, которое мы определили для нашего коннектора, будет отображено. Если мы попытаемся подключиться, используя IP адрес 172.16.171.11, мы получим другое уведомление, поскольку это будет другой коннектор. Наш интернет коннектор слушает только 172.16.171.12 IP адрес.

*

Рисунок 04

Заключение

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



В предыдущей части мы создали коннектор получения для получения почты, входящей из интернета, и мы также протестировали его, используя утилиту telnet.

Чтобы протестировать коннектор получения, мы должны знать о базовых SMTP командах, чтобы отправлять сообщения с помощью сеанса telnet. Следующие команды позволят вам отправлять пробное сообщение с помощью утилиты telnet. Все базовые SMTP команды, необходимые для отправки сообщения, приведены ниже:

  1. Коннекторы получения, которые мы создали, прослушивают порт 25 и определенный IP адрес. Давайте воспользуемся утилитой telnet для подключения к нашему серверу: telnet <IP> 25Expected result: 220 <FQDN name> Banner information
  2. Запуск SMTP сеанса. EHLO example.org Ожидаемый результат: список всех SMTP команд, которые принимаются коннектором получения. Ответ приветствия (hello answer) с IP адресом, используемым отправителем, будет отображен в первой строке.
  3. Определение отправителя тестового сообщения.

    Сообщение от (Mail from):user@example.org

    Ожидаемый результат (Expected result): 250 2.1.0 Sender OK

  4. Определение получателя тестового сообщения. SMTP домен, используемый получателем должен существовать в текущей организации.

    Сообщение кому (Rcpt to):user@<your-domain>

    Ожидаемый результат (Expected result): 250 2.1.5 Recipient OK

  5. Запуск тестового сообщения.

    Data <enter>

    Ожидаемый результат (Expected result): 354 Start mail input; end with <CRLF>.<CRLF>

  6. Нажмите клавишу <enter> дважды и впишите содержимое, которое будет отображено в теле сообщения. Для завершения введите точку ‘.’ в пустой строке и нажмите клавишу <Enter>.

    Это тестовое сообщение. <enter>

    . <enter>

    Ожидаемый результат: 250 2.6.0 <Message ID@ServerName.fqdn> Queued mail for delivery

  7. Завершение сеанса.

    Завершить

    Ожидаемый результат: 221 2.0.0 Service closing transmission channel

Мы можем зайти на OWA, чтобы проверить, было ли сообщение получено. Весь процесс показан на рисунке 01.

*

Рисунок 01

Этот процесс важен для диагностирования почтового потока, равно как и для проверки коннектора получения.

Работа с функциями безопасности коннектора получения.

Итак, мы только что настроили коннектор получения, используя консоль и оболочку Exchange Management Console и Exchange Management Shell, теперь мы можем начать работу с некоторыми настройками безопасности нашего коннектора получения. Вся безопасность, которую мы увидим здесь, модифицируется коннекторами получения и настраивается с помощью оболочки управления Exchange Management Shell. Давайте настроим некоторые функции безопасности в нашем новом интернет коннекторе получения следующим образом:

Изменение информации баннера’

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

Set-ReceiveConnector <connector-name> -Banner ‘220 Mail Server’

*
Увеличить

Рисунок 02

Если вы все еще пользуетесь Exchange Server 2003/2000 и хотите изменить это поведение, вы можете воспользоваться следующей статьей из базы знаний Microsoft KB Article: How to change the default connection response that you receive after you connect to the SMTP port in Exchange 2003.

Указание количества ошибок во время сеанса’

Мы можем контролировать количество протокола ошибок в одном сеансе. Значение по умолчанию составляет 5, чтобы задать значение 2, мы можем использовать следующую команду:

Set-ReceiveConnector <Connector Name> -MaxProtocolErrors 2

Теперь, если SMTP Server/пользователь подключается и достигает максимального количества ошибок, определенных для коннектора получения, будет отображаться следующее сообщение (рисунок 03):

*
Увеличить

Рисунок 03

Дросселирование коннектора получения’

Коннекторы получения позволяют нам ограничивать входящий трафик для предотвращения чрезмерного использования с определенного источника, защищая систему от ненужных перегрузок. Вот три опции, которые здесь есть:

Чтобы настроить коннектор получения с помощью параметров, которые мы только что рассмотрели, мы можем запустить следующую команду:

Set-ReceiveConnector <Connector-Name> -MaxInboundConnection <Number> -MaxInboundConnectionsperSource <Number> -MaxInboundConnectionPercentagePerSource <Number>

Мы также можем настроить таймаут для определенных аспектов коннектора получения, таких как: во время SMTP соединения, а также во время неактивного соединения. Чтобы настроить ConnectionTimeout, мы можем запустить следующую команду:

Set-ReceiveConnector <Connector-Name> -ConnectionTimeout <days.hours:minutes:seconds>

Чтобы отключиться во время простоя, мы используем следующую команду:

Set-ReceiveConnector <Connector-Name> -ConnectionInactiveTimeout <days.hours:minutes:seconds>

Мы также можем ограничить количество получателей, лимит скорости и максимальный размер сообщения на уровне коннектора. Чтобы произвести эти настройки, мы можем использовать следующие параметры в команде:

Давайте изменим наш интернет коннектор получения, чтобы он принимал до 100 пользователей максимум, максимальный размер сообщения будет более 2MB, а ограничение скорости составит 200, используем команду:

Set-ReceiveConnector<Connector Name> ‘MaxRecipientsPerMessage:100 ‘MaxMessageSize:5MB ‘MaxRateLimit:200

Последней функцией, которую мы рассмотрим в этой статье, будет TarpitIntervall. В Exchange Server 2003 нам придется настраивать ее с помощью редактора системного реестра (Registry Editor) (http://support.microsoft.com/kb/842851). В Exchange Server 2007 мы можем сделать, используя оболочку Exchange Management Shell. Функция tarpit вставляет предопределенный период задержки в каждый SMTP ответ, содержащий ошибку с кодом 5.x.x, во время SMTP коммуникации между серверами. Данная функция применяется только для анонимных подключений и будет использоваться при включенном агенте фильтрации реципиентов (Recipient Filter Agent) и функции поиска получателей (Recipient Lookup).

В этой статье мы используем один модуль Exchange Server 2007; все три основные роли установлены (Mailbox, CAS и Hub Transport). Модуль получает почту из интернета, мы также настроили на нем агента антиспама (можно посмотреть способы настойки одного сервера Exchange Server на получение интернет сообщений и настройки функций антиспама в следующей статье: Configuring Mail Flow in a Single Exchange Server 2007). Давайте рассмотрим агента фильтрации получателей и включим функцию поиска получателей:

  1. Открываем консоль Exchange Management Console.
  2. Разворачиваем конфигурацию организации.
  3. Жмем на Hub Transport.
  4. Переходим по вкладке Anti-Spam.
  5. Дважды нажимаем на Фильтрации получателей.
  6. Переходим во вкладку Заблокированные получатели.
  7. Отмечаем первую опцию «Блокировать сообщения, отправленные получателям, которые не внесены в список Глобальных адресов» (рисунок 04).

*

Рисунок 04

Итак, отныне все сообщения, адресованные неизвестному нашей организации получателю будут блокироваться сервером Exchange Server, как показано в первой строке rcpt to: SMTP на рисунке 05. Однако мы можем столкнуться с проблемой, где спамер попытается осуществить атаку нашего сервера, используя атаку словаря для выявления того, какие адреса действительны в нашей организации. Как предотвратить это? Для предотвращения этого нет способа, но для каждого неверного адреса, с которыми атакующий пытается создать SMTP соединение, будет отображаться ошибка ‘5.1.1 User unknown’, а для каждой из таких ошибок мы можем настроить функцию tarpit для задержки ответов сервера.

*

Рисунок 05

Стандартное значение составляет 5 секунд, для изменения этого значения мы можем использовать команду:

Set-ReceiveConnector ‘<Connector-Name>’ ‘TarPitInterval:<Number of seconds>

Заключение

В этой части мы рассмотрели, как настраивать параметры безопасности и ограничения коннектора получения. Мы также узнали, что некоторые настройки необходимо выполнять в оболочке Exchange Management Shell. В следующей части мы поработаем с информацией журналов регистрации и начнем работать со способами аутентификации, а также посмотрим, как настраивать разрешения с помощью AdsiEdit.msc и Exchange Management Shell.



Настройка параметров ведения логов коннектора получения

Мы можем настраивать параметры ведения логов для каждого отдельного коннектора получения. Чтобы включить функцию записи логов в коннекторе получения, нам нужно знать, где будут генерироваться файлы логов. Для настройки места хранения логов перед включением этой функции на уровне коннектора:

  1. Откройте консоль Exchange Management Console.
  2. Разверните вкладку конфигурации сервера.
  3. Нажмите Hub Transport.
  4. Выберите доступный hub transport справа и нажмите Свойства.
  5. Перейдите по вкладке Параметры ведения логов. В разделе параметров ведения логов мы можем изменить путь к месту, в котором будет храниться коннектор получения или коннектор отправки, нажав кнопку Обзор (рисунок 01).

*

Рисунок 01

Теперь, когда мы знаем, где файлы логов будут храниться, мы можем получить свойства любого коннектора получения, и у нас также есть опция под названием Уровень протокола записи логов, которая по умолчанию имеет значение None, мы изменим его на Verbose (рисунок 02). Используйте режим Verbose только во время диагностики, в противном случае оставьте значение этой опции как None.

*

Рисунок 02

Теперь, мы можем отправить тестовое сообщение, используя SMTP команды, которые рассматривали ранее в этой серии, и сможем отслеживать весь процесс взаимодействия в журнале регистрации, как показано на рисунке 03.

*
Увеличить

Рисунок 03

Настройка аутентификации и разрешений

До настоящего момента мы в основном работали над созданием коннектора получения, управлением некоторыми функциями безопасности и тем, как изменять прослушиваемые IP, чтобы сделать каждый коннектор уникальным. Теперь мы перейдем к методам аутентификации и разрешениям, которые можно ассоциировать с коннектором получения.

Коннекторы получения используют 7 (семь) различных типов аутентификации, коими являются: отсутствие аутентификации, TLS, интегрированная, базовая аутентификация, базовая аутентификация по TLS, аутентификация Exchange Server (Gssapi и Mutual Gssapi) и внешняя авторизация (External Authoritative). Эти методы аутентификации предлагаются клиенту во время сеанса SMTP, и после того как аутентификация выполнена, назначаются разрешения. Чтобы настроить метод аутентификации, который будет использоваться определенным коннектором получения, следуйте этим шагам:

  1. Откройте консоль Exchange Management Console.
  2. Разверните вкладку конфигурации сервера.
  3. Нажмите на Hub Transport.
  4. Нажмите на коннекторе получения и выберите свойства.
  5. Перейдите по вкладке Аутентификация (рисунок 04).

*

Рисунок 04

Теперь мы видим методы аутентификации, используемые коннектором получения в простом сеансе telnet. Все доступные методы аутентификации показаны после команды SMTP ehlo. В следующей таблице приведены различия SMTP ответов для каждого способа аутентификации:

Метод аутентификации Ответ EHLO
Безопасность транспортного уровня (Transport Layer Security – TLS) 250-STARTTLS
Базовая аутентификация 250-Auth Login
Интегрированная аутентификация Windows 250-Auth NTLM
Внешне защищенная (Externally Secured) 250-Auth 250 XEXCH50

Итак, мы посмотрели, как настраивать методы аутентификации, которые могут применяться к коннекторам получения, теперь мы настроим сервер внутренней ретрансляции (internal relay server), это может быть полезно в ситуациях, когда каким-либо пользователям/принтерам/серверам необходимо отправить сообщение с помощью сервера внутренней ретрансляции. Мы создадим коннектор внутренней ретрансляции с чистого листа, а затем поработаем с некоторыми настройками, чтобы посмотреть, как настраивать методы аутентификации и разрешения для соответствия вашим потребностям.

Давайте создадим внутренний коннектор получения. Этот коннектор буде принимать подключения на порте 25, однако подключения будут исходить от определенных машин (172.16.171.1 - 172.16.171.20 в нашем примере). Мы также укажем различные FQND; для этого внутреннего коннектора получения мы будем использовать relay.apatricio.local, следующую команду можно использовать для создания коннектора:

New-ReceiveConnector ‘Usage:Client ‘Bindings:0.0.0.0:25 ‘RemoteIPRanges:172.16.171.1-172.16.171.20 ‘FQDN:relay.apatricio.local ‘Server srv-ex01 ‘ProtocolLoggingLevel:Verbose ‘Name:’Internal Relay’

Теперь, когда мы создали коннектор получения, мы можем перейти к любой машине, принадлежащей к указанному диапазону удаленных IP, и получим сообщения нашего нового коннектора получения. Мы можем проверить информацию FQND, отображенную в первой строке (рисунок 05).

*
Увеличить

Рисунок 05

Итак, давайте теперь откроем программу просмотра событий на нашем сервере Exchange Server, и увидим ошибку под номером 12014 и MSExchangeTransport Source. Эта ошибка возникает, потому что у нас пока нет сертификата для relay.apatricio.local FQDN. Мы можем пока избежать этого сообщения об ошибке, настроив внутренний коннектор получения на использование базовой аутентификации и интегрированной аутентификации Windows, как показано на рисунке 06. Мы поиграем с TLS и сертификатами для этого подключения в следующей части.

*

Рисунок 06

Во вкладке «Группы разрешений» у нас есть пять различных групп разрешений, которые мы назначаем коннектору получения. Эти предопределенные группы разрешений представляют собой набор объектов, которые могут включать пользователей, компьютеры и группы безопасности, и они определяют разрешения общеизвестных SID (Security Identifier), например (разрешение группы пользователей Exchange – это группа аутентифицированных пользователей в AD). Использование этих групп разрешений является рекомендуемым решением для большинства компаний, однако мы не можем изменять эти группы разрешений с помощью консоли Exchange Management Console.

Во вкладке групп разрешений мы лишь подтвердим, кому разрешено подключение к нашему коннектору получения. В клиентском коннекторе только пользователям ‘Exchange Users’ разрешено подключение по умолчанию (рисунок 07).

*

Рисунок 07

Поскольку у нас есть подходящий способ аутентификации и разрешение, назначенное пользователям Exchange Users, мы можем его протестировать. Для этого мы можем использовать Outlook Express, чтобы создать поддельную учетную запись, используя поддельную учетную запись сервера POP3 Server, чтобы просто протестировать протокол SMTP. Убедитесь, что адрес ответа, используемый в учетной записи Outlook Express, принадлежит к текущему списку принимаемых доменов (Accepted Domains) в вашей организации Exchange, а также, что вы используете правильное имя пользователя и пароль, и, наконец, настройте учетную запись на использование аутентификации с помощью опции ‘Мой сервер требует аутентификации’.

*

Рисунок 08

Теперь можно отправить сообщение на любой почтовый адрес, и сообщение будет отправлено. Как узнать, что аутентификация работает? Очень просто! Во время создания коннектора получения мы настроили уровень записи логов на Verbose. Теперь вы поняли, почему я сказал очень просто, не так ли? Просто посмотрите журналы регистрации и увидите процесс аутентификации, как показано на рисунке 09.

*
Увеличить

Рисунок 09

Стандартная конфигурация работает в большинстве сценариев, однако иногда для соответствия требованиям компании необходимо настроить определенный свод разрешений на коннекторе получения. Мы можем настроить разрешения коннектора получения двумя способами: с помощью Exchange Management Shell или AdsiEdit.msc.

Первым способом будет использование Exchange Management Shell. Чтобы посмотреть текущие разрешения коннектора получения выполните команду:

Get-ReceiveConnector <connector-Name> | Get-ADPermission

Для работы с разрешениями используйте команду Add-ADPermission, чтобы добавить записи в этот список и Remove-ADPermissions, чтобы удалить элементы из списка.

Вторым способом установки разрешений коннектора получения будет использование AdsiEdit.msc (по умолчанию он идет с Windows Support Tools, процесс его установки можно найти на Adsiedit Overview).

Используя ADSIEdit.msc мы можем поиграть с разрешениями коннектора получения:

  1. Откройте AdsiEdit.msc.
  2. Разверните вкладку конфигурации.
  3. Разверните CN=Services.
  4. Разверните CN=Microsoft Exchange.
  5. Разверните CN=<Organization name>.
  6. Разверните CN=Exchange Administrative Group (FYDIBOHF23SPDLT).
  7. Разверните CN=<Server Name>.
  8. Разверните CN=Protocols.
  9. Разверните CN=SMTP Receive Connectors.
  10. С правой стороны мы видим все коннекторы получения данного сервера (рисунок 10).

*
Увеличить

Рисунок 10

  1. Правой клавишей нажмите на коннекторе получения и выберите свойства.
  2. Перейдите по вкладке Безопасность, и в списке вы увидите все идентификаторы безопасности (Security Identifiers) каждой группы разрешений, которые были ассоциированы с коннектором получения, а также все предоставленные разрешения.

Теперь мы легко можем работать с разрешениями с помощью Adsiedit.msc вместо Exchange Management Shell, работа с которой немного сложнее.

Заключение

В этой части мы посмотрели, как настраивать параметры ведения логов в коннекторе получения, а также как настраивать разрешения с помощью AdsiEdit и Exchange Management Shell.


Ссылка: http://www.oszone.net/8044/