
Привет обитателям Хабра!
Сегодня хотел бы рассмотреть вместе с вами один из модулей NGFW от UserGate для реализации удалённого доступа к ресурсам по протоколам HTTP(s), RDP, FTP и SSH через веб-браузер, выявить его сильные и слабые стороны, а та�� же порассуждать в комментах каких фич в нём действительно не хватает.
Для чего он нужен?
С помощью данного модуля можно решить ряд насущных проблем практически в каждой организации:
Предоставление централизованного удалённого доступа к ресурсам без использования стороннего программного обеспечения с "километровыми" инструкциями по подключению (необходим только браузер);
Предоставление удалённых доступов для сотрудников вне офиса (в том числе с мобильных устройств);
Предоставление удалённых доступов клиентам и подрядчикам;
Благодаря доступу к ресурсам через браузер (который предустановлен в большинстве пользовательских ОС) - это решение имеет преимущество по сравнению с нативными VPN-клиентами, для установки которых, зачастую, требуются права администратора, а настройка которых должна выполняться строго по инструкции (а чем сложнее она - тем больше головной боли с пользователями сервиса).
Как настроить веб-портал?
В целом настройка модуля займёт не более 30-ти минут, если ранее до этого производилась первоначальная настройка UserGate.
Шаги будут следующие:
Перейти в раздел Настройки -> Веб-портал (вкладка UserGate), нажать на гиперссылку, содержащую URL для подключения к веб-порталу.
Поставить галочку напротив параметра Включено, а далее изменить Имя хоста, Порт, Профиль аутентификации, и прочие имеющиеся в меню параметры на валидные для вашей организации и развёртывания.Перейти в раздел Зоны (вкладка Сеть), зайти в конфигурацию зон, где вы желаете, чтобы работал Веб-портал, далее закладка Контроль доступа, и поставьте галочку напротив сервиса Веб-портал.
Перейти в раздел Веб-портал (вкладка Глобальный портал), и добавить через мастер настройки ресурсы, к которым планируется реализация доступа (не забудьте перед этим проверить наличие корректных маршрутов в VRF, а так же отсутствие сетевых ограничений на доступ к публикуемым на портале сервисам (портам)).
На этом вся настройка, по большей части, и при совпадении некоторых факторов, подошла к концу. Вы можете спокойно использовать все прелести и удобства Веб-портала, но...
Какие есть подводные камни?
1) Логирование

По умолчанию у Веб-портала есть 3 категории для журналирования, внутри которых есть определённые типы событий:
Тип | Категория события |
Веб-портал | - Закладка веб-портала добавлена |
Веб-портал RDP | - Внутренняя ошибка сервера RDP |
Веб-портал SSH | - Внутренняя ошибка сервера SSH |

Заметили подвох?...)
Если нет - то и найти в Журнале событий информацию о переходе по закладке Веб-портала типа HTTP(s) или FTP окажется для вас непосильной задачей, так как такого типа событий в нём просто не существует.
Для того, чтобы узнать на какие веб- и ftp- ресурсы заходил пользователь через Веб-портал - необходимо переключиться на соседний Журнал веб-доступа, и только там вы сможете найти более релевантную информацию.
Неудобство пока не критичное, но почему бы, собственно, не добавить эти категории событий, для большего удобства и юзабилити продукта?
2) Выбор домена

В настройках Веб-портала присутствует, казалось бы, очень даже удобная функция - возможность выбора домена для пользователей портала.
Применяется она в сценариях, когда вы имеете несколько служб каталогов (например, отдельные для сотрудников, клиентов и подрядчиков), и у вас предполагается их совместное использование в Веб-портале.
Но, как говориться, есть нюанс - при переходе на сам портал, при выборе необходимого домена и инициализации входа после ввода учётных данных - страница просто зависает, без каких либо ошибок, что будет крайне смущать администратора при настройке.
В моей ситуации - я просто отключил данную функцию, предварительно изменив инструкцию по эксплуатации портала для пользователей (в поле логин необходимо вводить учётные данные через NetBIOS-имя домена, например, DOMAIN\user), но, это ещё не всё...
3) Аутентификация
Как раз при сценарии использования нескольких доменов LDAP/Active Directory, без использования галочки о возможности выбора домена (а она, как мы узнали выше, не подаёт признаков жизни) - запрос на аутентификацию будет поступать на каждый сервер аутентификации, указанный в профиле аутентификации.
4) CORS

CORS (Cross-Origin Resource Sharing) - это, простыми словами - механизм безопасности браузера, отвечающий за разрешение и ограничение доступа веб-страниц к сторонним интернет ресурсам (более полная статья на эту тему - https://habr.com/ru/companies/macloud/articles/553826/).
При использовании Веб-портала UserGate - URL-адрес (а соответственно и origin) опубликованного ресурса изменяется, что может отобразиться на функциональности множества веб-приложений, где применяется данный механизм защиты.
Пример изменения URL, для большей наглядности:
Исходное доменное имя публикуемого веб-ресурса: https://confluence.example.com
Доменное имя при попытке доступа к ресурсу через Веб-портал: https://usergate.example.com:10443/https/confluence.example.com
Поэтому при публикации веб-приложений с поддержкой данной функции необходимо крайне внимательно отнестись к её настройке, иначе большая часть приложения работать не будет (если вовсе не сломается).
Пример решения данной проблемы для Atlassian Confluence: https://support.atlassian.com/confluence/kb/getting-cors-errors-when-accessing-confluence-resources/
Для обратного прокси nginx:
https://enable-cors.org/server_nginx.html
5) CSRF (или же XSRF)

CSRF (Cross-Site Request Forgery) - это тип атаки, при которой злоумышленник с помощью вредоносного сайта или скрипта заставляет браузер пользователя выполнять на доверенном сайте действия от его имени (отправлять сообщения, менять пароли, переводить деньги и пр.).
Современные веб-приложения имеют различные методы защиты от атак данного типа (создание дополнительных заголовков для CSRF-токенов, дополнительные поля SameSite в куки-файлах, проверка заголовков Origin/Referer и т.д.).
Из-за того, что механизмы Веб-портала не поддерживают работу некоторых из механизмов защиты - вы можете столкнуться с некорректной логикой работы веб-приложений. Например, таким образом я вовсе не смог аутентифицироваться в Confluence под легитимной учётной записью. И опять таки для работы таких приложений через Веб-портал придётся жертвовать их безопасностью..
Вот, например, как можно изменить конфигурацию защиты от XSRF для Atlassian Confluence: https://confluence.atlassian.com/doc/configuring-xsrf-protection-218276695.html
6) NLA

NLA (Network Level Authentication) - это функция безопасности в протоколе RDP, требующая аутентификации до установления полноценного сеанса. Она защищает терминальные сервера от брутфорса, DoS-атак, а так же от разведки (скрывая имена последних залогиненных пользователей).
По опыту моих коллег по цеху при публикации терминальных серверов, на которых включена функция NLA - вполне могут возникать неудачные попытки входа на них через Веб-портал, т.к. последний может иметь иную версию, или конфигурацию fallback-механизмов аутентификации в модуле реализации работы с CredSSP.
Так же небольшое внимание уделю и способу публикации терминальных серверов - настоятельно рекомендую публиковать их через полные доменные имена (FQDN), чтобы потом не устраивать танцы с бубном пытаясь переиграть заблокированную NTLM-аутентификацию на сервере или домене Active Directory.
Что же в итоге?
Веб-портал от UserGate показал себя достаточно хорошо в сценариях с публикацией RDP, SSH и некоторых веб-приложений (стабильно работает, например, веб-публикация 1С, свежие версии Atlassian Jira, Redmine и Битрикс24), иные отказываются работать адекватно с первого раза, другие же веб-сервисы пока находятся в очереди публикацию.
Недочёты, конечно же, есть, но бывалые сетевые инженеры и системные администраторы вполне смогут их пересилить, потратив чуть (или много) больше времени чем было запланировано на конфигурацию (а другие с UserGate, собственно, и не сработаются...))
Хотелось бы услышать в комментариях ваш опыт работы как с данным модулем, так и с продуктом в целом (коммьюнити, всё же, немалое)!
Да пребудет с вами сила...
