netscaler gateway что это
Citrix NetScaler обзор основных функций
Citrix NetScaler обзор основных функций
Ввиду полного отсутствия в RU сегменте какого либо более-менее общего описания данного продукта, а также по просьбе хабр пользователей постараюсь без использования сложных технических терминов рассказать какие функции NetScaler будут Вам полезны.
Кратко NetScaler – это огромный конструктор Лего. В котором можно активировать и использовать только нужные функции. При условии, что з этого конструктора можно построить “эмпайр стейт билдинг”.
На мой взгляд к использованию NS приходят 2 путями:
1. У вас есть продукты Citrix (XenApp / Desktop) и Вам потребовалось уменьшить нагрузку, воспользоваться балансировкой или безопасно опубликовать приложения
2. Вы владелец больших WEB ресурсов/сервисов и необходимо обеспечить мощное кэширование, сжатие контента, разгрузки серверов и.тд.
Мой опыт привел меня по первому пути.
Рассмотрим основные функции:
Оптимизация
В свое время у меня была развернута ферма Xendesktop на 100 пользователей. Каналообразующее оборудование – Cisco 2801. Согласно ТТХ она поддерживала обработку до 90.000 пакетов/сек. В пиках нагрузка составляла до 120000 пакетов и она медленно умирала(
В качестве решения можно было купить новую мощную циску. Но тут решили пойти другим путем и обратили свой взор на Netscaler. Т.к. ICA – закрытый протокол, кто может его оптимизировать лучше разработчика. Вдаваться в выбор модели не буду, кому интересно расскажу отдельно. Расскажу только результат – сейчас 500 XD клиентов генерируют всего 40 000 пакетов / сек
Балансировка (балансировка L4-L7)
Естественно функция балансировки доступна для сервисов на базе Citrix, На NS я создал балансировщик для приложений XenDesktop / App а также все возможных web сервисов с балансировкой по доступности и нагрузке. Кроме того NS позволяет настраивать балансировку на БД
мониторинг сервисов
Мониторинг не только по доступности и загрузки сервиса, но и по параметрам работы протокола, ICA сессии, статистика по объемам переданных данных по виртуальным каналам, события по виртуальным каналам. Позволяет очень гибко настраивать мониторинг сервисов и служб.
Кэширование сжатие
NetScaler позволяет эффективно использовать ресурсы серверов и сети и повышать скорость доставки web-приложений более чем в 5 раз.
• Мультиплексирование, буферизация, поддержание соединения, масштабирование Windows, селективное подтверждение, Fast Ramp
Безопасный доступ
В NS реализована технология SSL-VPN для организации безопасного доступа по протоколу ssl путем организации инкапсулированного VPN. Я организовал SSL-VPN, квлючена 2х факторная проверка и про¬верка подлинности сертификата клиента, включен анализ клиента подключения
• Встроенный Citrix Access Gateway версия Enterprise SSL VPN
• Анализ конечной точки
• Двухфакторная проверка и про¬верка подлинности сертификата клиента
• Клиентская очистка кэша
• Сертификаты безопасности
• Контентная фильтрация, уровень 7
• AAA управление трафиком
• SAML2 и NTLMv1 / 2 Поддержка для настройки NetScaler с единого входа (SSO)
• Active Directory, LDAP, RADIUS, TACACS, OCSP кэширование сжатие
Встроенная защита от DoS
Данный компонент я не разворачивал, поэтому пока не расскажу
• Продолжительный сервис легити¬мизации пользователей, с одно¬временной защитой от атак, таких как: SYN Flood, HTTP DoS и Ping of Death
• Контроль скорости ICMP и UDP
Высокая доступность
NS может быть кластеризован различными путями как активный/пассивный, активные, зеркалирование. Он себя скажу, что официально кластеризация поддерживается только у идентичных устройств (2 MPX или 2 VPX). На практике можно в кластер поставить NS MPX (железку) и VPX (виртуальное приложение)
NetScaler Application Firewall
Это не просто firewall – это файрволл на уровне сигнатуры трафика. Он может резать SQL инъекций, ограничивать передаваемую информацию, скрытой манипуляции, силового просмотра, файлов сookie или сессий, обеспечивает профилактику утечки данных кредитных карт и другой конфиденциальной информации
Это основные функции которые могут пригодится в повседневной ИТ инфраструктуре.
P.S. Спасибо за внимание, если у Вас есть какие-либо вопросы, комментарии пожалуйста задавайте. На текущий момент времени в России NetScaler слишком недооценен.
Согласно аналитикам Gartner: Citrix NetScaler является лидером в Gartner Magic Quadrant среди Application Delivery Controllers (контроллеров доставки приложений).
В статья я краем упомянул про кластеризацию MPX и VPX версий NS, если кому интересно, пишите, расскажу как реализовано, возможно кому-то поможет.
NetScaler Unified Gateway: безопасное решение для приложений через единый URL-адрес
В связи с быстрым изменением тенденций в сфере ИТ, управление корпоративными информационными системами имеет тенденцию усложняться и поглощать множество ресурсов, в первую очередь финансовых. Как следствие компании вынуждены постоянно искать новые точечные решения для удовлетворения новых потребностей.
NetScaler Unified Gateway позволяет получать безопасный удаленный доступ через один URL к приложениям и данным, которые находятся в ЦОДе или облаке, в т.ч. включая через все виды мобильных устройств. Продукт предполагает его гибкое использование, при котором можно настраивать только нужные функции. По оценкам Gartner, Citrix NetScaler является одним из лидеров среди контроллеров доставки приложений.
Шлюз безопасного удаленного доступа к сети упрощает и консолидирует существующую ИТ-инфраструктуру, упрощает доступ через единый URL-адрес, обеспечивает эффективность работы пользователя при централизации управления, снижает общую стоимость владения ЦОДом.
Работа с NetScaler Unified Gateway является логичным продолжением использования различных продуктов Citrix (XenApp, Desktop), при котором пользователю нужно снизить нагрузку, опубликовать приложения или использовать балансировку. Кроме того, продукт незаменим в работе с крупными Web-ресурсами или сервисами, когда крайне важно обеспечить сжатие контента, мощное кэширование и т.п.
NetScaler Unified Gateway позволяет получать удаленный доступ к XenApp и XenDesktop, а также ко всем корпоративным Web-, SaaS- («Программное обеспечение как услуга») и Citrix-приложениям, и существенно повышает производительность и стабильность работы любого приложения. Используя NetScaler Unified Gateway для доставки XenApp и XenDesktop, можно избавиться от потребности в отдельной VPN с SSL-шифрованием с удаленным доступом для корпоративных и облачных приложений.
Основные особенности NetScaler Unified Gateway
Единая точка входа
NetScaler Unified Gateway обеспечивает идентичность, основанную на стандартах SAML 2.0 для единого входа между приложениями. Пользователи могут переключаться между XA/XD и Еnterprise, Web и облачных приложениями без необходимости повторного входа.
N-факторная аутентификация
NetScaler Unified Gateway поддерживает процедуры n-факторной аутентификации и позволяет детально контролировать, кто и к чему получает доступ, как и когда осуществляется доступ. Он поддерживает все механизмы аутентификации, такие как RADIUS, TACACS, NTLM, DIAMETER, SAML 2.0 и т.д.
Настройка (переключение) контента
NetScaler Unified Gateway позволяет администраторам настраивать только один публичный IP для единого входа между приложениями.
Пользовательский портал
NetScaler Unified Gateway поддерживает настраиваемый портал, который позволяет клиентам оформлять его в соответствии со своими требованиями (логотип, цвет фона и т.д.).
Обзор и мониторинг (HDX Insight)
HDX Insight упрощает компаниям возможности снижения затрат и преодоления преград на пути достижения лучшей обзорности приложений. Эти препятствия и расходы могут включать в себя необходимость развертывания сетевых разветвителей, установки программного обеспечения на каждом сервере или оснастить каждое приложение для специализированного мониторинга. Это обеспечивает в режиме реального времени и в ретроспективе мониторинг для администраторов и саппорта.
Gateway Insight
Gateway Insight обеспечивает сбор пользовательского опыта для всех приложений, доступ к которым осуществляется через Unified Gateway. Он предоставляет информацию саппорту для устранения проблем при аутентификации, проверки ошибок (EPA), сбоев единого входа и т.д.
Кластеризация
Эта функция позволяет администраторам развертывать NetScaler Unified Gateway для доступа в XenApp и XenDesktop в кластере, где все узлы в кластере обслуживают трафика. Администраторы могут использовать существующую конфигурацию Gateway и легко масштабировать в развертывании кластера без необходимости ограничивать конфигурацию VPN к одному узлу.
Адаптивные политики контроля доступа
SmartAccess позволяет иметь контроль доступа на основе личности пользователя, роли пользователя, статуса устройства конечного пользователя, местоположения и т.д. XenApp и XenDesktop администратор может создавать, управлять и обеспечивать соблюдение этих политик доступа к данным в среде XenApp и XenDesktop.
Централизованное управление политиками
SmartControl позволяет управлять политиками приложений XenApp и XenDesktop с одного места, централизовано. NetScaler Unified Gateway позволяет сотрудникам по сетевой безопасности или сетевым администраторам управлять различными политиками XenApp и XenDesktop (печать, копирование, вставка и т.д.), на шлюзе устройства.
Всегда на связи
NetScaler Unified Gateway допускает автоматическое переподключение сеанса, если пользователь перемещается между сетями. В основном, это происходит, если пользователь переходит от домашней сети к рабочей, или наоборот. NetScaler Unified Gateway обеспечивает для конечных пользователей режим «всегда на связи».
Поддержка Windows, платформ Mac, Linux, Android и ОС IOS
NetScaler Unified Gateway обеспечивает SSL-шифрование VPN-клиента для всех этих платформ ОС.
Анализ конечных точек
Сканирование конечных точек обеспечивает устройствам подключение к сети, которое соответствует условиям безопасности и организационным процедурам. В случае сбоев пользователи получают поддержку по обновлению устройства и на соответствие нормативным требованиям.
Поддержка IPv6
NetScaler предлагает поддержку IPv6 для общих промышленных платформ.
NetScaler Unified Gateway и Microsoft EMS
Одним из эффективных решений является использование NetScaler Unified Gateway в рамках Microsoft Enterprise Mobile + Security (EMS). Такое решение позволяет администраторам управлять на основе установленных политик доступом согласно статуса пользователя мобильного устройства. Перед каждым сеансом пользователя мобильного устройства устанавливается, является ли устройство зарегистрировано в Microsoft Intune и соответствует политикам безопасности, установленным организацией. Только поле соответствующей верификации доступ разрешается или запрещается.
Можно отметить такие основные преимущества для клиентов:
• Экономичность. Используя NetScaler Unified Gateway нет необходимости получать лицензию на каждого пользователя для создания VPN туннеля с SSL-шифрованием. В то же время решения других поставщиков требуют взимания платы с каждого пользователя, что существенно увеличивает ИТ-расходы компании.
• Контролируемый доступ. Решение обеспечивает дополнительный уровень безопасности, так как ИТ-администраторы теперь могут определять политики управления доступом на локальных ресурсах, таких как MS Exchange, SharePoint или любого другого приложения на основе статуса конечного пользователя мобильного устройства. Чтобы мобильное устройство имело доступ к локальным ресурсам, оно должно быть зарегистрировано в Microsoft Intune.
• Улучшенная защита устройства для конечного пользователя. В дополнение к контролируемому доступу к корпоративным ресурсам на основе регистрации устройства в Microsoft Intune, данное решение обеспечивает более высокую безопасность. Решение позволяет обеспечить более глубокое сканирование мобильных устройств на предмет факторов риска, таких как взлом, устаревшие антивирусные сигнатуры или установленная вредоносная программа. Эта возможность обеспечивает зарегистрированным мобильным устройствам большую безопасность и централизованную управляемость.
Кроме того, NetScaler Unified Gateway позволяет использовать n-факторную аутентификацию. Администраторы могут выбрать любую процедуру, например, RADIUS, Kerberos и т.д. для аутентификации конечных пользователей. Эти процедуры могут быть выбраны на основании личности пользователя, его значения, местоположения, статуса устройства конечного пользователя и т.д.
• Лучший пользовательский опыт. Посредством решения, политики и конфигурации могут быть распространены на мобильные устройства администраторами, что исключает необходимость ручной настройки конечными пользователями. Решение поддерживает ОС IOS и Android- устройства, без различий в пользовательском интерфейсе.
• Полный обзор (End to End Visibility). NetScaler Unified Gateway, с Gateway Insight, обеспечивает полный обзор и мониторинг любых связанных с доступом пользователей к локальным приложениям проблем и позволяет ускорить их решение.
Citrix NetScaler Unified Gateway обеспечивает удаленный доступ и единый вход для всех приложений. Пользователи, использующие NetScaler или NetScaler Unified Gateway для Citrix XenApp / XenDesktop в качестве единого входа для всех приложений в ЦОД или облако могут также использовать его для поддержки MDM- функциональности с Microsoft EMS.
Пользователи, использующие NetScaler Gateway для Citrix XenApp и/или XenApp могут рассчитывать на NetScaler Unified Gateway, если они планируют использовать Microsoft EMS. NetScaler Unified Gateway поможет консолидировать инфраструктуру удаленного доступа и шлюзовую инфраструктуру и предоставляет единое решение для обеспечения безопасного доступа ко всем приложениям.
Netscaler gateway что это
Программный продукт (virtual appliance) который необходим для организации удаленного доступа к Citrix XenDesktop, старый Citrix XenApp, Citrix Mobile и прочее. Я обычно публикую ссылки на дистрибутивы и инструкции по получению триальных ключей для тех у кого нет партнерского доступа. В этот раз помочь не могу, не знаю, как пользователю с улицы тестовый ключ получить, если у вас получится, сделайте скриншоты, пришлите мне пожалуйста.
Одна из версий, объясняющая эту ситуацию, Acess Gateway настолько сложен, что для его настройки обязательно понадобится помощь (координация, советы, наставничество) партнера Citrix. Типа того, что триал не поможет обычному админу, а наоборот, он разочаруется в продукте и плюнет на него с высокой колокольни.
2-ой негатив…
Настройка удаленного доступа через Citrix Access Gateway (теперь NetScaler Access Gateway), без преувеличения, можно назвать самым сложным этапом всей инсталляции. И так было всегда с Citrix, как будто специально усложняют моменты, которые, наоборот, нужно максимально упростить. Например, с VMware View нет вообще никаких проблем с настройкой удаленного доступа.
Где мы ищем инструкции по настройке? Конечно, открываем документацию на официальном сайте (edocs.citrix.com), но я лично не смог настроить по этим материалам, хоть и потратил много времени на то, чтобы разобраться какой из параметров за что отвечает, картинка не складывается. Второй источник, как всегда, это гугл с массой зарубежных статей, причем написаны они в разное время и про разные версии Access Gateway и изучая их иногда создается впечатление, что авторы настраивают вообще разные продукты…
В последних версиях Netscaler Access Gateway разработчики добавили мастер настройки, вы указываете небольшое количество параметров своей инфраструктуры, а визард создает кучу настроек. Это, конечно, решает проблему с настройкой, но если вы решаете что-то изменить, то проще переустановить AG, чем искать где нужно изменять параметры.
Настройка
Я хочу показать, что удаленный доступ работает и его можно настроить, при выполнении правильного порядка действий.
Для настройки в «боевой» среде вам потребуется действительный SSL сертификат для доменного имени. Когда внешние пользователи обращаются к NetScaler Access Gateway через браузер или напрямую через Citrix Receiver (Windows, Android) будет проверяться валидность сертификата, и если он самоподписанный или срок его действия истек, то Receiver ругнется и не будет подключаться. У iOS версии Receiver есть возможность отключить данную проверку.
У меня нет сертификата SSL, поэтому я выкручусь, как обычно.
1-2 Захожу под своей учетной записью на сайт Citrix, скачиваю Vitrual appliance для VMware. Существуют также выпуски для Hyper-V, для XenServer. Крайняя доступная версия NetScaler Gateway 10.1.120.1216.e
3 Импортирую скачанный апплайнс в виртуальную среду, на моем тестовом стенде это VMware Workstation, но никакой разницы нет с ESXi
4 Запускаю, получившуюся после импорта виртуальную машину, ввожу основные настройки: IP адрес, маска, шлюз. После этого виртуальная машина перезагружается, самостоятельно переконфигурируется и готова принимать подключения.
5 Через браузер, лучше чтобы это был IE, переходим на страничку настройки по адресу, который указали ранее. Логин и пароль в NetScaler по-умолчанию «nsroot» «nsroot». В третьей строчке выбираем NetScaler Access Gateway, чтобы интерфейс настройки был тот, который нужно.
6 Попадаю в мастер настройки, где указываю, требуемые параметры. Hostname должен обязательно совпадать с тем, для которого вы генерировали лицензии на портале, регистр имеет значение.
7 Загружаю лицензию, которую ранее скачал с портала (на слайдах нет, как скачивать лицензию) через интерфейс в AG
8-10 После загрузки лицензии и ввода сетевых параметров сервер должен перезагрузиться.
11-12 После загрузки, ввода пароля попадаем в мастер настройки Access Gateway, это значит, что лицензия была принята успешно и можно продолжать. Если мастер у вас не запустился, то была допущена ошибка и дальше двигаться рано (такое часто бывает)
13 Начинаю вводить настройки самого Access Gatewy (до этого были настройки Netscaler). Name — название виртуального сервера AG, IP adress — сетевой адрес, который будет принимать внешние подключения, Port — порт для внешних подключений. Можно поставить галочку и небезопасные подключения на 80 порт, просто по http://доменному имени будут автоматически перенаправляться на 443 https://доменное имя
14 Если есть SSL сертификат для внешнего доменного имени (для справки, он платный) то на этой страничке его можно добавить, если нет, как в моем случае, то можно создать самоподписанный. Но при подключении к сайту по https будет выдаваться предупреждение безопасности, до тех пор, пока в операционную систему не будет установлен этот сертификат. Также до установки сертификата, подключения к Citrix XenDesktop проходить не будут из за ограничений Citrix Receiver.
Я создаю сертификат для выдуманного имени ag.itsave.ru
15 Настройки аутентификации. Когда пользователь попадает на веб страницу Access Gateway он должен ввести связку логин — пароль, и эта связка должна быть проверена, в моем случае, на домен контроллере. Чтобы эта процедура работала, я задаю следующие настройки (на слайде). sAMAccountname — означает, что пользователь должен ввести логин в виде domain\username
16 Если проверка логина — пароля проходит успешно, они передаются на StoreFront в Citrix, а для пользователя создается SSL VPN канал до веб страницы Storefront. На этом слайде указываю, до какую именно страницу будет перенаправлен пользователь. STA URL — Secury ticket authority — указываем адрес Storefront.
Это последний шаг мастера настройки
17 Проверяю, что виртуальный сервер Access Gateway был корректно создан, кликаю по нему, чтобы проверить настройки
18-23 Установка Java. Я советовал использовать IE Не просто так. Плохо работает в Chrome, Firefox, Opera. И не во всех версия IE, кстати, тоже.
24 Пробежимся по вкладкам. Сертификаты, вижу что сейчас задействован созданный ранее самоподписанный сертификат.
25-28 Проверяю, правильно ли я ввел параметры аутентификации.
29 Проверяю, что зеленым огоньком горит Secury ticket authority, значит что Access Gateway успешно соединился со StoreFront
30 Немного про IP адреса. Сейчас у моего NetScaler Access Gatewy 2 сетевые карты, которые смотрят в одну и туже подсеть. IP адреса к физическим сетевым картам жестко не привязаны, я никакие соответствия не выставлял ручками. Есть три типа виртуальных IP адресов про которые нужно знать в рамках настройки доступа к Citrix XenDesktop: VIP — virtula IP — адрес виртуально сервера Access Gateway, SIP — subnet IP — адрес по которому службы NetScaler (в том числе AG) взаимодействует с остальной инфраструктурой, например, со Storefront или AD, и последний NIP — NetScaler IP — адрес для настройки.
31 Перехожу на сервер Citrix XenDesktop, настройка продолжается. Первым делом прописываю придуманное доменное имя ag.itsave.ru в файл hosts.
32 — 38 Устанавливаю самоподписанный сертификат с Access Gateway в операционную систему где установлен Storefront. Это очень важный момент, т.к. общение происходит по 443 порту, сервер с XenDesktop должен доверять сертификатам AG.
100% последовательности добавления сертификата я добиться не могу, поэтому добавляю его до тех пор, пока не увижу отсутствия предупреждения в IE.
39 Нужно в Citrix Desktop Studio в разделе Storefront активировать удаленный доступ через Access Gatewy, для этого включаем метод аутентификации pass-through. Это чтобы пользователь мог бы ввести свой пароль на веб странице Acceess Gateway и он автоматом принялся здесь, на StoreFront
40-44 Добавляю информация по Access Gateway.
45 Проверяю, что добавился метод аутентификации pass-through. Также замечаю предупреждение, что сервер работает по http. Необходимо перевести его в режим работы по https, для этого идем на IIS
46 В диспетчере серверов выбираем роль IIS и открываем консоль управления.
47 — 49 Создаем самоподписанный сертификат, для доменного имени нашего сервера XenDesktop
59 Перехожу на компьютер в интернете, вне локальной сети. Прописываю в Hosts соответствие придуманного доменного имени ag.itsave.ru и своего внешнего IP адреса, с которого 443 порт перенаправлен на VIP адрес.
60-62 опять устанавливаю самоподписанный сертификат, добиваюсь отсутствия ошибок. Ввожу логин-пароль
63-70 происходит перенаправление на страницу StoreFront, где я устанавливаю Citrix Receiver, после чего вижу доступные приложения. На этом можно считать настройку законченной.
Защита HTTP траффика с помощью Citrix Netscaler
Сегодня любая средняя и крупная организация в своей работе опирается на ряд инфраструктурных ИТ-продуктов и набор бизнес-приложений. Безупречная работа инфраструктуры и бизнес приложений является принципиально важным условием для успешного функционирования организации. Соответственно, главной задачей ИТ-служб является обеспечение бесперебойного, безопасного и производительного доступа в режиме реального времени к данной корпоративной платформе.
Решение, при этом, должно отвечать ряду высоких требований: обеспечивать непрерывность бизнес-процессов компании, соответствовать строгим нормам безопасности, поддерживать высокую производительность ИТ-инфраструктуры и быть легко масштабируемым, чтобы в дальнейшем обеспечить необходимое расширение в соответствии с ростом организации.
За последние несколько лет эта самая корпоративная платформа из емких и тяжеловесных приложений, работающих исключительно на определенных типах и даже версиях операционных систем, трансформировалась в легкие, масштабируемые и кроссплатформенные web-приложения. Я не говорю только о больших веб проектах, форумах и других высокопосещаемых ресурсах. Современный бизнес переводит CRM, ERP и другие SAP и 1C подобные платформы на web. Причины, я надеюсь, всем понятны. Но остался один небольшой краеугольный камень, который современный бизнес, зачастую, игнорирует, а он, в свою очередь, напоминает о себе, когда происходит в лучшем случае остановка работы всего предприятия, в худшем — утечка или потеря конфиденциальной информации.
Так и в моем случае заказчик разбудил меня в час ночи с просьбой решить проблему, так как их платформа подверглась DDoS атаке, парализовав работу как всего предприятия, так и работу клиентов. Толковых инструкций и описаний как работает Netscaler нет, что послужило главным подспорьем написать статью.
Как все начиналось
Первое что пришлось сделать с web платформой заказчика — закрыть внешний сетевой интерфейс. Чтобы как-то снизить нагрузку, пришлось прописать пул IP адресов для доступа и тестирования снаружи. Затем был настроен веб сервер для ограничения количества одновременных сессий и запросов. Далее через GeoIP стали постепенно открываться страны. Затем пришлось перекомпилировать web сервер, чтобы добавить некоторый функционал для отражения атак. После был настроен failtoban, написаны десятки строк скриптов для cron. Времени заняло часов 16-20, но удручало то, что многие «заплатки» друг с другом конфликтовали и были «разбросаны» по всей системе. А атака, тем не менее, продолжалась: система то и дело отвечала ошибкой 503. Превентивных мер никто никогда не делал, соответственно отреагировать моментально не было никакой возможности. Это было проделано в качестве временной меры, чтобы с чувством и толком настроить все в одном месте — в Citrix Netscaler.
Netscaler — это многофункциональная платформа, позволяющая решить большую часть сетевых проблем или узких мест. Сей продукт можно сравнить с конструктором Lego, из различных деталей которого можно настроить универсального трансформера — он будет компактный и в то же время обладать всеми необходимыми инструментами для работы с траффиком. Netscaler может быть использован как в виде виртуального устройства VPX на всех современных гипервизорах, так и в виде физического устройства.
Установка и настройка виртуальных машин
Прежде всего нам будет необходимо зарегистрироваться на сайте citrix.com. Если ваша компания уже использует Citrix, то скачать продукт можно под существующей учетной записью. Если нет, то выбираете Create Customer Account, заполняете обязательные поля, выбираете имя пользователя и пароль и вы уже залогинены под своей учетной записью, даже электронный адрес не надо подтверждать.
Загрузка, установка и настройка Netscaler
1. Заходим в раздел Downloads.
2. Выбираем NetScaler ADC, далее Evaluations and Trial Software из выпадающего меню, и жмем кнопку Find.
3. Разворачиваете секцию с тем релизом, где есть View All NetScaler Customer Trials.
4. Выбираете Try it FREE.
5. Заполняете форму и жмете Proceed to download.
6. На странице скачивания будут доступны образы под разные гипервизоры: выбираете тот, который подходит именно вам.
7. Устанавливаем Netscaler в нашем гипервизоре.
8. При первом запуске в консоли будет визард настроек. Нам необходимо указать некоторые данные. Netscaler не приемлет DHCP и логически имеет один интерфейс, не смотря что у него может быть несколько физических или виртуальных. Необходимо указать локальный IP адрес, который доступен в DMZ зоне. Я взял 172.16.0.100
9. Открываем в браузере страницу http://172.16.0.100 и входим в систему с логином/паролем nsroot/nsroot
10. Нас попросят указать временную зону, DNS и еще какой-то IP адрес. 172.16.0.100 — это адрес самого Netscaler. Subnet IP — адрес, который будет использоваться для работы с другими серверами и сервисами. То есть мухи отдельно — котлеты тоже: управляющий IP один, для работы с сервисами — другой. Вдруг у вас две DMZ зоны или vlan сети или сети с разными масками. Так как в моем случае сеть одна, я указал 172.16.0.101.
11. После пару кликов Next, вы попадете на вкладку Configuration.
Регистрация и лицензирование
1. Теперь необходимо скачать файл лицензии. Идем на страницу My Account, выбираем Activate and Allocate Licenses, кликаем в углу на ссылку Don’t see your product? и вводим код лицензии, что мы получили на почту. Нажимаем два раза Continue и теперь видим с списках наш продукт. С этого момента начался отсчет действия лицензии.
2. Копируем в буфер Host Id (это MAC адрес нашего Netscaler) со страницы Configuration web-интерфейса Netscaler, и возвращаемся на сайт, где надо лицензию скачать.
3. Вставляем MAC адрес в поле Host ID, жмем Continue, потом Confirm, далее Ok и начнется загрузка файла с расширением LIC.
4. Готово, это и есть наша лицензия сроком на 90 дней.
5. Обновляем страницу интерфейса Netscaler (далее NS), авторизовываемся, нас опять попросят указать лицензию. Выбираем файл, загружаем и после успешной загрузки необходимо будет систему перегрузить, о чем будет информировать окно.
6. После перезагрузки во вкладке лицензирования будет список чего нам доступно в течении 90 дней.
Настройка серверов, сервисов, политик, полисов и правил
1. Надо сразу уточнить, что для бесплатной пробы всегда доступна предыдущая версия. К сожалению, для полноценного управления и настройки через GUI необходима Java версии 7/45 x86. В новой версии NS можно работать с последней любой версией JRE. Если не хотите делать даунгрейд, то можно использовать командную строку. Все нужные команды будут в конце раздела. Для этого необходимо открыть терминальную SSH сессию к IP нашего NS с логином/паролем nsroot/nsroot.
2. Начнем с того, что у вас есть веб сайт, который надо защитить. У него есть свое доменное имя и присвоен IP адрес. Его родной IP адрес останется, но нам нужно зарегистрировать в NS виртуальный сервер. Для этого понадобится свободный IP адрес, который будет называться VIP, и через него будет происходить обращение пользователей к вашему настоящему web серверу. Если web служба внешняя, то IP внешний, если внутренний — соответственно. Возьмем к примеру 172.16.0.102.
3. Заходим в Traffic Management, затем в Virtual Servers и нажимаем кнопку Add.
Придумываем название, выбираем протокол HTTP, указываем VIP (виртуальный IP) и порт, на котором будут этот виртуальный сервер работать, нажимаем Create и затем Close.
4. Заходим в Servers, кликаем Add и указываем данные нашего web сервера. По сути нам необходимо дать название и указать IP адрес или имя. Порт не нужен, так как на сервере могут быть и другие службы и на разных портах.
5. Теперь нам надо связать наш виртуальный сервер с реальным в виде некого сервиса. Заходим в Services, опять кликаем Add, даем название, выбираем протокол, сервис и порт на котором наш сервер принимает соединения.
6. Осталось созданный сервис добавить в наш виртуальный сервер. Заходим в Virtual Servers, кликаем Open, ставим галочку в колонке Active и подтверждаем OK. После этого ваш Виртуальный сервер станет UP & RUNNING.
7. После всех изменений необходимо нажать иконку в виде дискеты для сохранения текущей конфигурации.
8. Открываем в браузере страницу http://172.16.0.102 и вуаля, открывается наш сайт. С первого раза не совсем понятно как это работает, поэтому разберем то что мы сделали:
а) создали виртуальный сервер, который будет работать на виртуальном IP адресе по HTTP протоколу через 80-ый порт.
б) добавили данные о нашем реальном сервере
в) указали, что на нашем сервере есть сервис HTTP на 80-ом порту
г) предложили нашему виртуальному сервере обрабатывать данные по конкретному сервису
д) сохранили конфигурацию.
9. Через командную строку
Компрессия и сжатие траффика
Наш виртуальный сервер работает. Если реальный сервер выдает HTML контент с условными ссылкам, то получится даже посерфить, в противном случае придется изменять все полные ссылки на условные или же изменять DNS сервера, если ссылки указывают на доменное имя. Допустим, вы имеете сайт, где ссылки прописываются полные, например ссылка, то необходимо переделать в ссылка.
Если быстро переделать нет возможности, то в DNS переназначаете A запись на www и головной домен на IP адрес вашего виртуального сервера, то есть на 172.16.0.102.
Первое что мы можем организовать — это GZIP компрессию. При этом компрессию на реальном сервере можно отключить. Нет, NS не будет распаковывать и заново запаковывать траффик, но с целью разделения процессорных ресурсов пусть web сервер занимается чем ему положено — выдавать готовый контент, NS забирает с сервера как есть, а конечному пользователю выдает уже сжатый по тем правилам, которые мы ему укажем.
1. В меню System > Settings > Configure basic features ставим галочку на HTTP Compression.
2. В веб интерфейсе идем по Traffic Management > Load Balancing > Services, выбираем сервис, кликаем Open, переходим во вкладку Advanced и галочкой указываем, что мы хотим сжимать траффик. Также можете указать и другие параметры, допустим максимальное количество клиентов и запросов.
3. С этого момента трафик наш сжимается согласно стандартным настройкам NS. Но сжимается не все. Допустим, некоторые веб сервера в своих настройках MIME указывают application/x-javascript для расширения js вместо text/javascript, соответственно сжатия не происходит. Мы можем эту ситуацию исправить, добавив свой полис.
Переходим в меню Optimization > HTTP Compression > Policies, нажимаем Add, кликаем Switch to Classic Syntax и добавляем новое правило.
4. Правило создалось, но пока оно не активно и не работает. Правой кнопкой мышки кликаем на правило, выбираем Policy Manager, выбираем вкладку Response, затем Default Global, кликаем Insert Policy и выбираем наше правило, поставив самый высокий приоритет.
5. Такие правила можно установить также на pdf, json и другие типы. Также можно указать какой минимальный размер сжимать, с каких подсетей, для каких браузеров и т.д. и т.п. Правила можно делать не глобальными, а для конкретного сервиса.
6. Через командную строку:
Защита данных
«Ну и что?» скажете вы. И будете правы. Все что было описано выше умеет делать стандартный web сервер. Что же касается защиты данных от взлома — стандартный сервер обучить нет никакой возможности. Всегда приходится уповать на правильность исходного кода, который в большинстве случаев мы сами не писали. И никто и никогда не может дать гарантий, что ошибок или недочетов в исполняемом коде нет.
В свое время, разрабатывая крупный интернет проект в небольшой команде, я серьезно озадачился защитой от SQL инъекций и написал API для доступа к базе данных. Я был спокоен за проект, до тех пор, пока не стал проверять что делают программисты из моей команды. Вместо того, чтобы передавать значения по ссылкам, они «собирали» по привычке SQL запрос, конкатенируя запрос со строковыми и числовыми переменными, не заботясь не то чтобы об экранировании, а даже банальной проверке переменных на валидность их значений. Что уж говорить о сайтах некоторых online-банков, где я за 10-15 минут находил по несколько SQL уязвимостей. А помимо этого есть еще и cross-site scripting, подделка cookie, формирование вредоносных JSON и XML запросов и т.д.
К нашей радости Netscaler борется с этим довольно таки успешно.
1. В меню System > Settings > Configure basic features ставим галочку на Application Firewall.
2. В меню Security > Application Firewall запускаем Application Firewall Wizard
3. Выбираем имя нашей конфигурации и тип Web 2.0
4. В Specify rule оставляем все как есть и нажимаем Next
5. В следующем диалоге отмечаем то, на чем наш web сервер работает.
6. В Select signature action оставляем все как есть.
7. В Select deep protections ставим галочки на первые 4 опции. Стоит отметить, что HTML Cross-Site Scripting по умолчанию запрещает передавать в GET и POST запросах любые HTML теги. Это не страшно, так как для любого правила можно установить фильтры и условия.
8. В Select deep actions надо поставить галочку на те опции, которые вы хотите блокировать. На начальном этапе рекомендуется не блокировать, а походить по своему сайту, инсценировать все возможные поведения пользователей и уже когда соберется статистика принять решение что блокировать, а где создать дополнительные правила. Все кроме cross-site скриптинга можно заблокировать сразу.
9. После создания правила надо его открыть и сделать дополнительные настройки.
а) выставить кодировку
б) создать страницу куда будет перенаправляться пользователь, если была попытка взлома. Обычно это головная страница, но можно создать отдельную с информацией, что ваши действия показались подозрительными и будут отправлены администрации, а в случае необходимости компетентным органам.
в) очень много остальных тонких настроек, описание которых можно найти в документации.
10. Теперь идем на наш сайт, открываем страницы с фиктивной SQL инъекцией http://172.16.0.102/?Search=00&q=CB506-67902′ UNION SELECT aaa FROM aaa и наблюдаем как нас перекидывает на главную страницу.
11. Ставим в браузер плагин, позволяющий править cookie, исправляем парочку и обновляем страницу. Cookie на вашей стороне не изменяется, но они не передадутся на web сервер. NS кеширует все cookie, которые оригинальный сервер передал для сохранения. Если в следующем REQ запросе NS обнаружит несоответствие ранее установленных cookie, он их просто заблокирует.
12. Если вы поставили галочку на Block в разделе Cross-Site Scripting, то попробуйте GET или POST запросом передать HTML и также будете перенаправлены на заглавную страницу.
13. Не правда ли здорово? Если покопаетесь в настройках, то найдете очень много интересного и полезного для себя. Cookie можно для пущей безопасности кодировать, что пользователь не сможет и просто так подделать, потому как NS прежде чем передать их веб серверу будет декодировать свои ключом. Можно на типы или названия полей указать формат данных в виде регулярных выражений для проверки или экранирования. На определенные страницы или поля можно сделать исключения для проверки на HTML или SQL. При грамотно настроенном NS безопасность вашего сайта увеличится в сотни раз.
14. Через командную строку
Отражение DDoD атак
Наконец мы подошли к тому, ради чего это все затевалось. Чтобы не углубляться в то, как защита работает, можно почитать статью Модуль nginx для борьбы с DDoS. Принцип один в один, только у меня не получилось в реальной ситуации запустить этот модуль как надо.
1. Идем в меню Security > Protection Features > HTTP DoS и по привычке нажимаем Add.
2. Кроме имени есть два поля, куда надо вставить значения. Давайте разберемся как их посчитать.
Первое поле Queue depth — это количественное значение пользователей, которые ожидают своей очереди на ответ сервера.
Предположим, у вас 86400 уникальных пользователей в сутки или 3500 в час или 60 в минуту или 1 каждую секунду.
Разумеется, ночью их нет, днем их очень много. Умножаем в 10 раз для пущей важности и получаем 10 пользователей в секунду. А вообще можно посмотреть статистику.
Допустим один пользователь, в среднем запрашивает 5-10 запросов за страницу (html, css, js, img и т.д.) и просматривает их по 5-10 секунд (вот почему AJAX рулит).
То есть сервер ориентировочно в пик своей нагрузки отрабатывает до 100 ответов в секунду.
Представим, что ваш web сервер способен отправить максимально 500 ответов в секунду, но получает 10,000 запросов в секунду, или в 20 раз больше.
Сколько реальных пользователей в данный момент испытывают проблему? Правильно, те же 10, остальные — это атака. Когда стоит начать паниковать? Сразу после 10? Хотелось бы, но минимальное значение 21, поэтому оставим его как есть. То есть как только в очереди на получение данных окажутся 21 или более сессий, включится автоматическая защита от атаки.
Теперь со вторым полем Client detect rate. Это процентное значение пользователей, которые будут проверяться на вшивость. Если мы поставим 1% на проверку, с автоматически включенной защитой, количество ответов от сервера будет только 5 (500 *0.01), в то время как 10000 будут ожидать своей очереди. Иными словами только 0.05% настоящих пользователей пройдут проверку. Тем не менее, если уровень проверки высокий (к примеру при 10% значение будет проверяться 1000 запросов), то это может забить весь исходящий траффик проверками и так уже перегруженный атакой, если ваш канал узкий. Но я бы поставил 30-35% чтобы сразу начать отбиться от атаки, так как канал очень толстый. Поле можно оставить пустым и в зависимости от ширины канала, который NS умеет измерять, количества запросов, ответов и других показателей, сам может варьировать уровень проверки.
3. Далее идем по меню Traffic Management > Load Balancing > Services, открываем наш сервис черер кнопку Open и во вкладке Policies/HTTP DoS вставляем только что созданный полис.
4. Через командную строку
А что еще умеет Netscaler
Умеет эта штука очень много. Из того, что может понадобится для сайтов — это:
1. Разделение статического и динамического контента для снятия нагрузки.
2. Проксирование статического контента.
3. Кэширование динамического контента и сброс кэша по определенным условиями или времени.
4. Проксирование и кэширование mySQL и других реляционных баз данных в целях сокращения количества выборок.
5. Разделение трафика и контента по сетевым адресам, гео расположению и многим другим параметрам.
6. Шифрование траффика.
7. Работа в качестве DNS сервера.
8. По умолчанию NS уже имеет сетевую защиту, например от ICMP флуда и др.
Заключение
Настраивается все довольно легко, хотя не всегда интуитивно. Инструкция доступна на сайте вендора. Почитать на русском об основных возможностях можно на сайте http://netscaler.kz.
Отсутствие информации на русском языке о данной платформе сильно сказывается на его распространенности в странах СНГ. Видимо поэтому наши современные сетевые администраторы недооценили возможности данного продукта.
Ведь не зря же два года назад компания Cisco официально объявила, что она прекращает дальнейшую разработку своего балансировщика ACE, и с недавних пор Netscaler является частью некоторых серий коммутаторов Cisco.