## Что такое ADFS Proxy Server и зачем он нужен?
ADFS (Active Directory Federation Services) Proxy Server выступает промежуточным звеном между пользователями из интернета и внутренним ADFS-сервером. Он обеспечивает безопасный доступ к корпоративным ресурсам (например, Office 365) без прямого контакта с бэкенд-инфраструктурой. Ключевые преимущества:
* **Повышение безопасности**: Защита внутренней сети от прямых атак
* **Балансировка нагрузки**: Распределение трафика между несколькими серверами
* **Упрощение сертификатов**: Использование публичных SSL-сертификатов на прокси
* **Гео-масштабируемость**: Размещение прокси в разных регионах для ускорения доступа
## Предварительные требования для настройки ADFS Proxy
Перед установкой убедитесь в соблюдении условий:
* **Серверная ОС**: Windows Server 2016/2019/2022
* **Доступ к домену**: Членство сервера в домене (рекомендуется)
* **Сетевые настройки**:
* Статический IP-адрес
* Правила фаервола для портов 80 (HTTP) и 443 (HTTPS)
* **Сертификаты**:
* Публичный SSL-сертификат для внешнего имени (например, sts.contoso.com)
* Доверие к корневому ЦС внутреннего ADFS
* **DNS**: Внешняя A-запись, указывающая на публичный IP прокси
## Пошаговая настройка ADFS Proxy Server
**Шаг 1: Установка роли веб-сервера (IIS)**
Откройте PowerShell с правами администратора:
“`powershell
Install-WindowsFeature Web-WebProxy -IncludeManagementTools
“`
**Шаг 2: Настройка обратного прокси**
1. В **диспетчере IIS** создайте новый сайт
2. Привяжите SSL-сертификат к порту 443
3. Добавьте правило ARR (Application Request Routing):
* Включите проксирование
* Установите флажок “Reverse Proxy”
4. Создайте правило маршрутизации:
* Шаблон входящего URL: `(.*)`
* Адрес бэкенда: `https://internal-adfs.contoso.com`
**Шаг 3: Конфигурация брандмауэра**
Разрешите трафик через:
* Входящие правила для TCP 443/80
* Исходящие подключения к внутреннему ADFS (обычно TCP 443)
**Шаг 4: Тестирование конфигурации**
Выполните проверки:
* Доступ к `https://sts.contoso.com/adfs/ls/idpinitiatedsignon` извне
* Анализ журналов IIS (%SystemDrive%inetpublogsLogFiles)
* Проверка SSL-рукопожатия через SSLLabs.com
## Распространенные проблемы при настройке ADFS Proxy и их решения
**Ошибка 502.3 – Bad Gateway**
* **Причина**: Сбой подключения к бэкенд-серверу
* **Решение**: Проверьте:
* Доступность внутреннего ADFS с прокси-сервера
* Совпадение SNI в сертификатах
**Сбои аутентификации**
* **Причина**: Расхождение во времени или блокировка cookies
* **Решение**:
* Синхронизируйте время через NTP
* Добавьте URL ADFS в доверенные сайты браузера
**Медленная работа прокси**
* **Причина**: Неоптимальные настройки кэширования
* **Решение**: В ARR Cache настроить:
* Кэширование статических ресурсов
* Время жизни кэша 3600 секунд
## Часто задаваемые вопросы (FAQ) по ADFS Proxy Server
### Можно ли использовать один прокси для нескольких ADFS-серверов?
Да, через настройку фермы серверов в ARR. Добавьте все внутренние ADFS-серверы в пул и настройте балансировку (Round Robin или Least Requests).
### Обязателен ли публичный IP для прокси?
Да, прокси должен иметь статический публичный IP, на который указывает DNS-запись федеративного сервиса (например, sts.contoso.com).
### Как обновить SSL-сертификат на прокси?
1. Импортируйте новый сертификат в хранилище “Local ComputerPersonal”
2. В привязках сайта IIS выберите новый сертификат
3. Перезапустите IIS командой `iisreset /noforce`
### Поддерживает ли ADFS Proxy HTTP/2?
Да, начиная с Windows Server 2016. Включите в PowerShell:
“`powershell
Set-ItemProperty -Path ‘HKLM:SYSTEMCurrentControlSetServicesHTTPParameters’ -Name EnableHttp2Tls -Value 1
“`
### Как проверить работоспособность без внешнего доступа?
Используйте локальный файл hosts, добавив строку:
`127.0.0.1 sts.contoso.com`
и откройте https://sts.contoso.com на самом прокси-сервере.
Правильная настройка ADFS Proxy критична для безопасности и производительности федеративных сервисов. Регулярно обновляйте сертификаты и мониторьте журналы для предотвращения сбоев.








