Продовжуємо знайомитися з новими можливостями ОС Windows Server 2012 R2. Раніше ми розповідали про корпоративне аналогу DropBox в Windows Server 2012 R2 під назвою Work Folders. Сьогодні мова піде про ще один нововведенні нової серверної платформи - функції Web Application Proxy. Web Application Proxy - це нова функція ролі Remote Access в Windows 2012 R2, що дозволяє публікувати HTTP / HTTPS додатки, розташовані в периметрі корпоративної мережі на клієнтських пристроях (в першу чергу маються на увазі мобільні пристрої) за її периметром. Завдяки можливості інтеграції c AD FS (служба може виступати в якості ADFS-проксі), можливо забезпечити аутентифікацію зовнішніх користувачів, які намагаються отримати доступ до опублікованих додатків.
Web Application Proxy надає такі ж можливості публікації додатків, як і Forefront Unified Access Gateway (UAG), однак дана служба також дозволяє взаємодіяти з іншими серверами і сервісами, забезпечуючи тим самим більш гнучку і раціональну конфігурацію.
Web Application Proxy по суті виконує функцію зворотного проксі сервера (HTTP reverse proxy), організовуючи ретрансляцію запитів клієнтів з зовнішньої мережі на внутрішній сервер, і є фаєрволом на прикладному рівні.
Сервер зі службою Web Application Proxy отримує зовнішній HTTP / HTTPS трафік і терминирующего його, після чого від свого імені ініціює нове підключення до внутрішнього додатком (веб-сервера). Тобто зовнішні користувачі прямого доступу до внутрішнього додатком реально не отримують. Будь-який інший трафік, одержуваний Web Application Proxy, відхиляється (в тому числі відхиляються HTTP / HTTPS запити, які можуть бути використані при DoS, SSL і 0-day атаках).
Вимоги до організації Web Application Proxy і ключові особливості:
- Систему можна розгорнути на серверах з ОС Windows Server 2012 R2, включених в домен Active Directory, з ролями AD FS і Web Application Proxy. Ці ролі повинні бути встановлені на різних серверах.
- Необхідно оновити схему Active Directory до Windows Server 2012 R2 (оновлювати контролери домену до Windows Server 2012 R2 не потрібно)
- Як клієнтських пристроїв підтримуються пристрої з ОС Windows, IOS (iPad і iPhone). Роботи над клієнтами для Android і Windows Phone поки ще не закінчені
- Аутентифікація клієнтів здійснюється службою Active Directory Federation Services (ADFS), яка також виконує функції ADFS - проксінг.
- Типова схема розміщення сервера з роллю Web Application Proxy представлена на малюнку. Даний сервер розташовується в виділеної DMZ зоні і відділений від зовнішньої (Інтернет) і внутрішньої мережі (Інтранет) міжмережевими екранами. У цій конфігурації для роботи Web Application Proxy вимагає наявності двох інтерфейсів - внутрішнього (Intranet) і зовнішнього (DMZ)
Установка ролі ADFS в Windows Server 2012 R2
Для забезпечення додаткової безпеки преаутентіфкація зовнішніх клієнтів виконується на сервері ADFS, в іншому випадку використовується pass-through аутентифікація на кінцевому сервері додатка (що менш секьюрно). Тому перший крок під час налаштування Web Application Proxy - установка на окремому сервері ролі Active Directory Federation Services.
При установці ADFS потрібно вибрати SSL сертифікат, який буде використовуватися для шифрування, а також DNS імена, які будуть використовуватися клієнтами при підключенні (відповідні записи в DNS зоні доведеться створити самостійно).
Потім потрібно вказати сервісну обліковий запис для служби ADFS. Необхідно врахувати, що ім'я ADFS має бути зазначено в атрибут Service Principal Name аккаунта. Зробити це можна командою:
setspn -F -S host / adfs.winitpro.ru adfssvc
І, нарешті, вказати базу даних, в якій буде зберігатися інформація: це може бути вбудована база на цьому ж сервері (WID - Windows Internal Database) або окрема база на виділеному SQL-сервері.
Установка служби Web Application Proxy
Наступний етап, настройка самої служби Web Application Proxy. Нагадаємо, що служба Web Application Proxy в Windows Server 2012 R2 є частиною ролі "Remote Access". встановіть службу Web Application Proxy і запустіть майстер її налаштування.
На першому етапі майстер запропонує Вам вказати ім'я ADFS сервера і параметри облікового запису, що має доступ до даної службі.
Далі потрібно вказати сертифікат (переконайтеся, що в альтернативних іменах сертифіката міститься ім'я сервера ADFS).
Порада. Перевірте, що ваші DNSзони налаштовані коректно: сервер з роллю WAP повинен мати можливість отрезолвіть ім'я сервера ADFS, а він в свою чергу може дозволити ім'я проксі сервера. Сертифікати на обох серверах повинні включати ім'я служби федерації.Публікація додатка через Web Application Proxy
Після того, як встановлені ролі ADFS і Web Application Proxy (яка працює ще і як ADFS Proxy), можна перейти безпосередньо до публікації назовні конкретного додатка. Зробити це можна за допомогою консолі Remote Access Management Console.
Запустіть майстер публікації і вкажіть, чи хочете ви використовувати для преаутентіфікаціі службу ADFS (це саме наш варіант).
Потім потрібно поставити ім'я опублікованого додатка, який використовується сертифікат, зовнішній URL (імеенно його для підключення будуть використовувати зовнішні користувачі) і внутрішній URL-адресу сервера, на який будуть пересилатися запити.
Порада. Якщо необхідно перенаправити зовнішню програму на альтернативний порт, необхідно задати його в URL, указаивающем на внутрішній сервер. Наприклад, якщо необхідно перенаправити зовнішні https запити (443 порт) на 4443 порт, потрібно вказати:Backend server URL: lync.winitpro.local: 4443
Завершіть роботу майстра, і на цьому публікація додатків закінчена. Тепер, якщо спробувати за допомогою браузера зайти на опублікований зовнішній URL-адресу, то браузер спочатку буде перенаправлений на службу аутентифікації (ADFS Proxy), а після успішної аутентифікації користувач буде відправлений безпосередньо на внутрішній сайт (веб додаток).
Завдяки новій службі Web Application Proxy в Windows Server 2012 R2 можливо реалізувати функціонал зворотного проксі сервера з метою публікації внутрішніх служб підприємства назовні без необхідності використання задіяти сторонні фаєрволи і продукти, в тому числі такі, як Forefront та ін.