Решено внезапно перестал работать activesync

Статус
Закрыто для дальнейших ответов.

Trunk

Участник
11.05.2018
151
4
18
Доброго времени суток! Внезапно перестал работать active sync до моего почтового сервера. Тест Microsoft Connectivity Analyzer дает вот такую ошибку:
The Microsoft Connectivity Analyzer is probing the TCP endpoint 1.1.1.1 on port 443 to detect which SSL/TLS protocols and cipher suites are enabled.
We were unable to determine which SSL and TLS protocols are enabled. This is usually because we couldn't connect.

При этом телнет на 443 порт норм проходит изнутри мобильная почта работает, а из интернета нет. ActiveSync спрятан за балансировщиком KEMP. В логах KEMP видно что пользователи до него нормально ходят и там везде success по подключениям. Подскажите куда копать ?
Проверяю так же такой командой

openssl s_client -connect 1.1.1.1:443

А в ответ вижу вот это
CONNECTED(00000178)
---
no peer certificate available
---
No client certificate CA names sent
Negotiated TLS1.3 group: <NULL>
---
SSL handshake has read 0 bytes and written 1522 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Protocol: TLSv1.3
This TLS version forbids renegotiation.
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
 
Администрирование сервисов
Это сообщение **The Microsoft Connectivity Analyzer (MCA)** говорит о том, что инструмент не смог даже установить TCP-соединение с вашим сервером, чтобы проверить поддерживаемые протоколы и шифры.

**Это указывает на более фундаментальную проблему, чем просто отсутствие сертификата клиента.**

### Почему это происходит и что означает (от простого к сложному)

Вот основные причины, по которым MCA не может подключиться к порту 443 вашего сервера (адрес `1.1.1.1` в логе — это пример, но у вас там должен быть реальный IP):

1. **Блокировка на брандмауэре / сетевом экране:**
* **На стороне сервера:** На сервере (или на периметре сети, где он находится) запущен брандмауэр (Windows Firewall, аппаратный Firewall), который блокирует входящие подключения на порт `443` **с IP-адреса Microsoft Connectivity Analyzer**.
* **На стороне клиента / сети:** Ваша сеть или интернет-провайдер могут блокировать исходящие подключения на порт `443` к вашему серверу. Это маловероятно, но возможно.

2. **Сервер не слушает публичный IP-адрес на порту 443:**
* Служба IIS (или обратный прокси) настроена только на прослушивание локального IP-адреса (например, `127.0.0.1`), но не того публичного IP, на который идет проверка.
* Серверная привязка (binding) в IIS для HTTPS (порт 443) отсутствует или настроена на другой IP-адрес.
* Серверное приложение (IIS) не запущено или остановлено.

3. **Проблемы с маршрутизацией (NAT / Port Forwarding):**
* Если ваш сервер находится за маршрутизатором/NAT (что типично для офиса), то **правило проброса портов (port forwarding)** для внешнего порта `443` на внутренний IP-адрес сервера либо отсутствует, либо настроено неверно (например, указан неверный внутренний порт или IP).

4. **Заблокирован IP-адрес MCA:**
* Ваш сервер или брандмауэр могли автоматически заблокировать IP-адреса, с которых работает Microsoft Connectivity Analyzer (например, из-за подозрения в атаке или превышения лимита запросов).

### Что делать (пошаговый план устранения)

Действуйте последовательно, проверяя каждый пункт. **Начните с самого простого.**

#### Шаг 1: Проверьте доступность порта 443 вручную

С **любой машины ВНЕ вашей сети** (например, с домашнего компьютера или через онлайн-сервис) выполните:

* **Telnet:** `telnet <ваш_публичный_IP_сервера> 443`
* Если соединение устанавливается (экран становится черным или появляется курсор), то порт открыт.
* Если ошибка "Could not open connection", то порт закрыт.

* **Онлайн-сервисы (проще):** Используйте сайты типа `https://portchecker.co` или `https://www.yougetsignal.com/tools/open-ports/`, чтобы проверить, открыт ли порт `443` для вашего публичного IP-адреса.

**Результат:**
* **Если порт закрыт (недоступен извне)** → проблема в **сети/брандмауэре/NAT**. Идите к шагу 2.
* **Если порт открыт** → проблема, скорее всего, на самом сервере (IIS не слушает или binding неверный). Идите к шагу 3.

#### Шаг 2: Проверьте сетевые устройства и брандмауэр

1. **Проброс портов (NAT/Port Forwarding) на вашем роутере/шлюзе:**
* Зайдите в админку вашего маршрутизатора (обычно `192.168.1.1` или `192.168.0.1`).
* Найдите раздел "Port Forwarding" или "Virtual Server".
* Убедитесь, что есть правило: **Внешний порт: 443**, **Внутренний порт: 443**, **Протокол: TCP**, **Внутренний IP**: IP-адрес вашего Exchange сервера (например, `192.168.1.10`).

2. **Брандмауэр на самом сервере (Windows Firewall):**
* На вашем Exchange-сервере откройте **Windows Defender Firewall with Advanced Security**.
* Проверьте, есть ли **входящее правило (Inbound Rule)**, разрешающее подключения по **TCP порту 443**.
* Оно должно быть **Включено (Enabled)**. Если нет — создайте или включите.

3. **Брандмауэр на периметре сети (аппаратный, если есть):**
* Убедитесь, что нет правил, блокирующих входящий трафик на порт 443 из внешних сетей.

#### Шаг 3: Проверьте сам сервер (IIS)

Если порт доступен извне, проверьте настройки IIS.

1. На сервере откройте **IIS Manager**.
2. В левом дереве выберите узел вашего сервера (самый верхний).
3. В центральной части найдите раздел **"Sites"** и выберите ваш сайт (обычно "Default Web Site" или специальный сайт Exchange).
4. Нажмите **"Bindings..."** в правой панели (Actions).
5. Найдите запись для **типа `https`**, порт **`443`**.
* Убедитесь, что она существует.
* Убедитесь, что поле **"IP address"** либо пустое (All Unassigned), либо указан **публичный IP** (не `127.0.0.1` и не `192.168.x.x`, если проверка идет снаружи). Для теста лучше оставить "All Unassigned".
* Убедитесь, что выбран правильный SSL-сертификат (не просроченный и подходящий для вашего домена).

6. **Перезапустите IIS:** Выполните `iisreset` в командной строке от администратора.

#### Шаг 4: Проверьте временную блокировку

* Подождите 30-60 минут и запустите тест Microsoft Connectivity Analyzer снова.
* Иногда сервер или промежуточные устройства блокируют IP-адреса Microsoft на короткое время.

### Что делать, если ничего не помогло?

**Самая вероятная причина** — отсутствие или неправильная настройка **проброса портов (NAT/Port Forwarding)** на вашем маршрутизаторе, так как вы получаете ошибку "we couldn't connect" на уровне TCP.

**Временное решение для диагностики:** Попробуйте запустить Microsoft Connectivity Analyzer с опцией **"Perform minimal discovery"** (если есть) или протестируйте **внутри вашей сети** (с компьютера, который находится в той же локальной сети, что и Exchange сервер). Если внутренний тест пройдет успешно, а внешний — нет, проблема на 100% в вашей сети (NAT/брандмауэр на периметре).

**Итог:** Сначала проверьте доступность порта 443 извне через онлайн-сервис. Это укажет вам направление: сеть (роутер, NAT, брандмауэр) или сам сервер.
 
Администрирование сервисов
Экспериментальным методом установили что дело в межсетевом экране usergate e3000. Видимо он как то криво поддерживает TLS 1.3 или вообще не поддерживает. Попробовали kemp выставить голой жопой в интернет в обход NGFW и сразу все заработало. Будем донимать техподдержку юзергейта.
 
Статус
Закрыто для дальнейших ответов.