Возможности dbForge Studio for SQL Server

Продукт dbForge Studio for SQL Server (devart.com/ru/dbforge/sql/studio) родился из самостоятельных инструментов и различных дополнений к SQL Server Management Studio и Visual Studio. Для некомерческого использования, MVP, не прибыльных и образовательных учреждений предлагается бесплатно. Среда разработки, а по сути, этакий комбайн предоставляющий решение для основных задач DBA и позволяющая без проблем работать со сложными проектами. Из-за обилия функций Studio for SQL Server может поначалу показаться очень сложным, но на самом деле это не так. Например, редактор кода содержит помощник SQL Coding Assistance позволяющий ускорить написание SQL-кода, за счет автодополнения функций, имен и параметров объектов, таблиц и т.д. Помощник анализирует контекст и по ходу набора предлагает доступные параметры, позволяя быстро заполнить поля запроса, уменьшая вероятность ошибки. Также предоставляются готовые шаблоны, которые можно добавлять и редактировать. Доступна функция автоформатированияи кода, показ структуры, быстрый переход, подсказки и прочие «мелочи». Есть дизайнер запросов, объекты для построения просто перетаскиваются из Проводника. В редактор интегрирован отладчик T-SQL позволяющий найти источник ошибок в скриптах, хранимых процедурах, триггеров и функций, наблюдая за их поведением во время выполнения. При отладке возможен запуск скрипта полностью, в пошаговом режиме и до точек останова. В составе два профилировщика — запросов и событий сервера, которые позволяют просматривать время выполнения, находить узкие места и оптимизировать медленные запросы при помощи настроек. Быстро настроить нужные операции в SQL Server Event Profiler помогает мастер. Полученный отчет показывает список всех событий отвечающих выбранным критериям, дополнительные параметры позволяют выделить и контролировать наиболее интересные события. Есть еще дизайнер таблиц, который дает возможность легко создавать и пересоздавать таблицы. Диаграмма выводит структуру базы данных.
Для переноса данных SQL в новую базу данных, после обновления или создания резервной копии, предложен мастер экспорта и импорта данных поддерживающий 12 различных форматов (CSV, Excel, DBF, Access, XML…). Импорт возможен в новые или уже существующие таблицы, в разных режимах (Append, Update, Delete, Repopulate). Шаблоны импорта позволяют в последующем регулярно импортировать данные через интерфейс командной строки. Хорошим дополнением к функциями импорта/экспорта идет возможность создания снимка, синхронизации и сравнения данных, администратор при этом получает отчет, позволяющий планировать дальнейшие операции. Генератор отчетов наглядно представляющий данные, поддерживает возможность автоматической генерации и рассылки. При помощи Security Manager администратор создает учетные записи СУБД, назначает им роли и привилегии. Кроме того в составе
Для закачки бесплатной версии потребуется регистрация. Установка стандартна, в процессе можно задать ассоциацию с расширениями файлов. Далее в появившемся окне настраиваем подключение к SQL серверу и можно работать. Интерфейс локализован поэтому каких либо трудностей его освоение не представляет.

Создание запроса в dbForge Studio for SQL Server

Создание запроса в dbForge Studio for SQL Server

.

SQLFuse — SQL Server в виде файловой системы

В крупных и средних проектах значительная часть бизнес-логики реализована в хранимых процедурах СУБД, поэтому удобство по управлению кодом выходит на первый план. Доступные, даже коммерческие инструменты, не всегда позволяют в полной мере управлять версиями и отслеживать изменения, удобно синхронизировать тестовую и рабочую инфраструктуру, плюс осуществлять навигацию и поиск по коду. Эту задачу весьма интересно и неплохо решает проект SQLFuse (sqlfuse.org) отображающий объекты SQL сервера на файловую систему: схемы, таблицы, представления, хранимые процедуры, функции, колонки, триггеры и др. Хотя в настоящее время создание, редактирование и удаление поддерживается частично. Все произведенные в файлах изменения накапливаются в кэше, и по таймеру производится сброс SQL-команд в БД. При сбое транзакции происходит откат всех сделанных изменений и очистка кэша. Основан на userspace файловой системе FUSE, используемой в *nix. Поэтому для развертывания понадобится компьютер с любым Linux дистрибутивом. Сборка стандартная, после чего необходимо настроить профиль т.е. подключение к SQL серверу в файле sqlfuse.conf и авторизацию (логин/пароль) в sqlfuse.auth.conf. Профилей в файле может быть несколько, что позволяет работать с несколькими базами. Далее просто монтируем SQL сервер в каталог:

	$ sqlfuse -o profilename=SQLServer ./sqlserver

После этого можно работать с файлами внутри каталога стандартными утилитами *nix — vi, cat, mс и т.п. Для удобства использования в качестве инструмента для deploy-сервера, можно подружить SQLFuse с Git. Работает под *nix. Распространяется по условиям GNU GPL.

Бэкап MS SQL SqlBak

SqlBak интересное решение в современном духе, от разработчиков популярного решения для бэкапа MS SQL — SQLBackupAndFTP. Реализован в виде онлайн-сервиса, все настройки и действия производятся в веб-браузере, что позволяет управлять ими с любого места и устройства. На сервер при этом устанавливается программа клиент SqlBak Client, непосредственно производящий все операции. Обеспечивается выполнение двух важных задач администрирования. Основная это создание резервных копий баз данных MS SQL вручную и по расписанию, восстановление работоспособности выполняется буквально одним кликом в браузере. Поддерживается полный и диференциальный бэкап, сохранение журнала транзакций. Архивы сжимаются zip или 7z. Файлы копируются в локальную или сетевую папку, внешний HDD, FTP. И что немаловажно поддерживаются и облачные хранилища — Dropbox, Google Drive, OneDrive и Amazon S3. Кроме этого производится мониторинг работоспособности и производительности сервера. В случае обнаружения проблем и отчеты по операциям отправляются на указанный администратором email. Поддерживается выполнение скриптов до и после операции бэкапа, генерация контрольных сумм, необходимых для проверки целостности архива, верификация. Каждая база может копироваться в отдельный подкаталог. Бэкапы можно скачать архив с резервной копией или восстановить на другой сервер. Админу доступна история резервных копий, файлы которых можно восстановить или сохранить.
Реализовано три тарифных план. В бесплатном Free доступна работа только с одним сервером и двумя БД, не поддерживаются облачные хранилища, а мониторинг производится с периодичностью 1 час. Хотя этого обычно достаточно для большинства мелких организаций, особенно учитывая бесплатность и возможность управления с любой точки. В версии Professional уже есть AES шифрование архивов, а мониторинг производится каждую минуту. Все соединения во всех тарифных планах защищаются при помощи SSL.
Для регистрации в SqlBak достаточно иметь аккаунт в одной из соцсетей (Facebook, Twitter или Google). Чтобы подключить агента понадобится ключ, который генерируется по ссылке Secret Key. Клиентская программа практически не имеет настроек и после подключения к SqlBak можно о ней забыть. Обновление ПО производится автоматически. Все действия по конфигурации, мониторингу и восстановлению производятся исключительно через веб-сайт SqlBak.com. Вкладок и параметров немного и их назначение вполне очевидно. Операции по бэкапу отображаются в Dashboard. Выбрав любое задание можем просмотреть подробную информацию. При создании задания ничего сложного нет, все те же установки что производятся через SSMS. Требуется указать компьютер, имя SQL сервера и учетные данные, после чего будет получен список баз. Затем указываем куда копировать, параметры сжатия, email и прочие параметры. Есть и демоаккаунт позволяющий ознакомиться с основными возможностями без развертывания SqlBak.

Панель управления SqlBak

Панель управления SqlBak

Мониторинг MS SQL с Idera SQL check

MS SQL Server далеко не редкость в сети организаций, часто идущая в «нагрузку» к бизнес приложению. Штатные инструменты часто не удовлетворяют потребности большинства разработчиков и администраторов, по обслуживанию этой СУБД. Поэтому не удивительно, что на сегодня доступно большое количество утилит, приложений и аддонов, в том числе и бесплатных, на порядок упрощающих использование MS SQL.
Idera SQL check (idera.com/productssolutions/freetools) — бесплатный инструмент мониторинга, позволяющий получать базовую информацию о производительности сервера, собирающий около 20 показателей: операции чтения/записи, кэш, транзакции, компиляция и перекомпиляция запросов, загрузка CPU и прочие. Результат выводится в виде различных графиков производительности и интуитивно понятной визуализации открытых соединений и транзакций. Бесплатная версия ограничена одним сервером и отображает рекламу коммерческих продуктов той же компании. Поддерживает все версии от SQL Server 2000 SP4. Дистрибутив на сайте будет доступен после простой регистрации, после чего на указанный email придет ссылка для закачки. Установка стандартна, по окончании следует настроить подключение к SQL серверу. После этого можем увидеть обзорные графики производительности размещенные в нескольких вкладках. Нажав на кнопку возле графика получим более подробную информацию. Настроек у программы немного, вообщем единственные на которые стоит обратить внимание это установка во вкладке Option других интервалов обновления графиков.
У Idera есть еще несколько полезных бесплатных инструментов для диагностики работы MS SQL с которыми следует познакомиться — профайлер, анализ фрагментации, просмотр SQL, агрегатор статистики, резервного копирования, модуль и сценарии PowerShell и другие.

Результат мониторинга в Idera SQL check

Результат мониторинга в Idera SQL check

Установка Samba4 в виде контролера домена (видео)

В видео показано как установить Samba4 на примере Ubuntu 14.04 LTS, подключиться к Active Directory в виде контролера домена и управлять при помощи Windows утилит. Разберем некоторые утилиты командной строки.

Командлеты PowerShell для управления AD FS и WAP

Настройками AD FS и WAP также можно управлять как при помощи соответствующей консоли, так и используя командлеты PowerShell. Причем многие операции удобнее производить именно при помощи PowerShell. Для WAP доcтупно 12 командлетов модуля WebApplicationProxy(technet.microsoft.com/library/dn283404.aspx), в модуле ADFS(technet.microsoft.com/en-us/library/dn479343.aspx) их 105. Примеры некоторых командлетов уже приводились ранее. Полный список можно получить введя:

	PS> Get-Command –Module WebApplicationProxy
	PS> Get-Command –Module ADFS
Комманлеты модуля WebApplicationProxy

Комманлеты модуля WebApplicationProxy

Модуль ADFS разбирать не будем, остановимся только на WebApplicationProxy.
Командлет Add-WebApplicationProxyApplication позволяет публиковать приложение, для Pass-through команда выглядит так:

	PS> Add-WebApplicationProxyApplication -BackendServerURL 'https://service.example.org/web-app/' -ExternalCertificateThumbprint '1234.....7890' -ExternalURL 'https://service.org/app1/' -Name 'Maps (no preauthentication)' -ExternalPreAuthentication PassThrough

Часть командлетов дает возможность быстро получить информацию:

Connection Manager Administration Kit

Пакет администрирования диспетчера подключений CMAK (Connection Manager Administration Kit) заметно упрощающее работу администратора и службы поддержки пользователей, обеспечивая простой механизм подключения к VPN при помощи специального файла. Это проще чем заставлять пользователя разбираться с инструкциями и самостоятельно заполнять параметры подключения. CMAK является компонентом Windows Server, процесс установки при помощи Диспетчера сервера стандартен. В мастере отмечаем пункт “Пакет администрирования диспетчера подключений RAS” (RAS Connection Manager Administration Kit (CMAK)). По окончании одноименный ярлык появится в меню Администрирование. В Win 7/8 установить CMAK можно через Панель управления > Программы > Включение или отключение компонентов Windows.
После вызова СМАК предстоит ответить на несколько простых вопросов. По ходу можно создать новый профиль, редактировать старый или объединять профили. Кроме этого предстоит выбирать ОС для которой предназначен профиль. Для современных версий Windows выбираем Vista в этом случае обеспечивается поддержка протокола SSTP.
Работа мастера CMAK
Далее все стандартные настройки при VPN подключении: указываем имя службы и файла, задаем один или несколько VPN серверов, к которым может подключаться пользователь, разрешаем или запрещаем общий доступ к файлам и принтерам, IP адреса DNS и WINS серверов. В некоторых сетях при проверке подлинности используется имя сферы (Realm name), например в Windows это имя AD домена (user@domain.com). Мастер позволяет задать такое имя сферы, которое будет автоматически добавлено к логину. Установкой соответствующих флажков можно сделать это подключение основным шлюзом и активировать сжатие IP заголовков. Настройки безопасности производятся в одноименной вкладке. Здесь указываем, обязательно ли использовать шифрование, отмечаем необходимые методы аутентификации. Список “Стратегия VPN” позволяет указать какой метод будет использован при подключению к VPN серверу. Возможно два варианта: только один протокол или перебор протоколов до успешной активации соединения. Также мастер позволяет задать номера для подключения к dial-up серверу и их автоматическое обновление, изменить таблицу маршрутизации, параметры прокси для IE. Кроме стандартных установок можем прописать действия, которые следует выполнить на разных этапах подключения клиента, задать значки, указать файл справки, сведения о поддержке и дополнительные файлы. При создании профиля службы мастер CMAK копирует все входящие в этот профиль файлы в Program Files\CMAK\Profiles.
Далее рассылаем файл пользователям или копируем его в место, с которого они могут его скачать.
Пользователь просто запускает файл, после чего значок нового соединения будет добавлен в Сетевые подключения и появляется окно регистрации, в котором необходимо ввести свой логин и пароль.

Установка и настройка Suricata IDS в Linux (Видео)

Suricata сетевая IDS/IPS которая изначально работает в многопоточном режиме позволяющем оптимально использовать несколько CPU, имеются развитые средства инспектирования HTTP-трафика и контроля приложений. При этом Suricata совместима с рулесетами и бэкэндами Snort. Разберем установку Suricata на примере Linux Mint (Ubuntu), познакомимся с основными настройками.

Знакомимся с Web Application Proxy на Windows Server 2012 R2

Прекратив поддержку Threat Management Gateway (ранее ISA server) MS поставила в ступор многих админов, которым требовалось решения для публикации приложений с проверкой подлинности. Forefront Unified Access Gateway вроде и обеспечивал нужное, но не предлагал практически никаких функций безопасности (в декабре 2013 было объявлено, что следующих версий уже не будет). Некоторое время положение было непонятно, пока в Win2012R2 не была представлена новая роль Web Application Proxy.

Назначение Web Application Proxy

Web Application Proxy (WAP, прокси сервер веб-приложений) представляет собой обратный (reverse) прокси позволяющий администратору публиковать приложения для доступа из вне. Работает WAP просто. Сервер получает на внешний адрес HTTPS запрос от клиента (в текущей версии только HTTPS) и ретранслирует его на внутреннее приложение по HTTP или HTTPS. За основу WAP взята служба роли AD FS Federation Service Proxy решавшая задачу Front-end сервера при развертывании служб федерации Active Directory (в Win2012R2 AD FS анонсирован уже версии 3.0). По сути WAP выполняет функции прокси AD FS, обеспечивая аутентификацию пользователей и контроль доступа на основе заявок (Claims Based Access, CBA) средствами AD FS.
Запрос на подключение, WAP со всеми параметрами перенаправляет вначале на AD FS. После чего пользователь должен будет пройти процесс аутентификации (посредством Active Directory через Kerberos или NTLM авторизации) и авторизации. Поддерживается все продвинутые функции: многофакторная аутентификация (Multifactor authentication, MFA) и контроль доступа (Мultifactor Access control), когда могут быть использованы дополнительные ступени — одноразовый пароль или смарт-карта. После проверки подлинности сервер AD FS выдает SSO маркер безопасности, содержащий идентификатор пользователя и ресурса к которому пользователь хочет получить доступ, срок предоставления доступа. WAP получив ответ AD FS инициирует отдельное соединение к конечному серверу, сохранив всю информацию о доступе в Cookies. Внутренний сервер проверяет маркер и клиент получает доступ без ввода пароля.
Как видим клиент на прямую не контактирует с приложением, WAP выступает как буфер уровня сеанса обеспечивая дополнительную защиту. Любой другой трафик (включая известные сетевые и SSL атаки) приходящий на веб-прокси отбрасывается и не передается опубликованному приложению. Приложения могут использовать один IP-адрес/порт, дифференциация производится по имени.
Многие обратные прокси производят только аутентификацию учетной записи и пользователь может подключаться к приложению с любого устройства. Это является потенциальной проблемой безопасности. WAP взаимодействуя со службой Device Registration Service (DRS) производит проверку маркера аутентификации (сертификата) устройства пользователя, гарантируя, что только разрешенные девайсы смогут получить доступ к корпоративным ресурсам. Также обеспечивается работа Workplace Join дающая возможность пользователям получать доступ к корпоративным ресурсам с мобильных устройств.
На github, можно найти расширения к AD FS позволяющие более гибко управлять устройствами. Например, Mobile ID Authentication Module for Microsoft ADFS(github.com/FreddyKaiser/adfs-mobileid).
Роль AD FS должен выполнять сервер находящийся в защищенной внутренней сети, а WAP таким образом будет играть роль дополнительного барьера, не позволяя обращаться к AD FS из вне напрямую. Развернуть AD FS на одном сервере с WAP все равно не получится, мастер установки WAP обнаружив AD FS прерывает работу.
Поддержка технологии Single-Sign-On (SSO) позволяет после подключения к домену больше не вводить пароль для доступа к разрешенным приложениям.
Для приложений не поддерживающих AD FS аутентификацию предусмотрен вариант Pass-through preauthentication, когда предварительная аутентификация средствами AD FS не производится, соединение просто пробрасывается дальше, а сам процесс распознавания пользователя целиком ложится на приложение. Такой вариант может понадобиться, например, если сервис не поддерживает все новые функции AD (CBA, например). Для таких подключений естественно не будут доступны Workplace Join, MFA и мультифакторный контроль доступа. В случае Pass-through preauthentication при развертывании достаточно чтобы сервер с ролью WAP был присоединен к домену. Но учитывая, что WAP без AD FS все равно работать не будет (ведь по сути это прокси) все равно придется разворачивать и AD FS.
WAP не имеет интегрированных функций балансировки нагрузки, но проблема легко решается за счет использования встроенной роли Windows Load Balancing.
Особо стоит отметить, что никаких дополнительных лицензий клиентского доступа (CAL) при развертывании WAP не требуется, все что нужно будет приобрести это лицензию на собственно Windows Server 2012R2.

Подготовка к развертыванию

Самый большой плюс WAP состоит в том, что он является встроенной ролью, а не отдельным приложением, которое нужно установить и настроить. Предшественники TMG и UAG не были простыми в развертывании и часто сам процесс не редко требовал серьезного «напилинга» и чтения документации в поисках причин выдаваемых ошибок. Только на подготовку ОС заключающуюся в поиске и установке всех нужных патчей и зависимостей могла занять более часа. Последующая конфигурация приложений тоже было дело не совсем простым и часто требовало как минимум дня, чтобы все заработало как нужно. В этом отношении WAP выглядит очень простым и дружелюбным.
Веб-прокси следует развертывать в демилитаризованной зоне (DMZ) между брандмауэром выходящим в интернет и корпоративной сетью. Теоретически можно устанавливать WAP на сервере с другими ролями, но это не рекомендуется и лучше выделить под него отдельный сервер. Саму ОС лучше ставить с GUI (хотя желание отключить графику при установке такого сервера конечно же понятно), при развертывании будут доступны мастера которые помогут быстро произвести все установки. При подключении с другого сервера, бывают неувязки (в основном наблюдались в релизе, после нескольких патчей работает уже нормально). Хотя вообщем все вопросы администрирования можно решить при помощи PowerShell.
Системные требования для сервера не велики, поэтому подойдет минимальное железо удовлетворяющее развертыванию самой ОС. Перед установкой WAP необходимо подключить сервера AD FS и WAP к домену (схему нужно обязательно повысить до Windows Server 2012 R2), сгенерировать сертификаты (для каждого сервера и по одному для каждого приложения) и настроить AD FS.
Предположим у нас уже есть SSL сертификаты (шаблон Web Server вполне подходит) в поле Subject Alternative Name которого содержится DNS имя публикуемой службы AD FS и WAP. Импортируем их на сервера AD FS и WAP через консоль MMC Сертификаты.

Развертывание AD FS

Начинаем с AD FS. Вызываем Диспетчер сервера > Мастер добавления ролей и отмечаем роль Active Directory Federation Services или вводим в консоли PowerShell команду:

	PS> Install-WindowsFeature ADFS-Federation –IncludeManagementTools

Далее все стандартно. По окончании установки, в последнем окне мастера будет предложено произвести настройку службы федерации, так же ссылка появится в виде предупреждения в Диспетчере сервера.

Мастер настройки службы федерации Active Directory

Мастер настройки службы федерации Active Directory

Установки мастера вообщем понятны. Так как у нас сервер AD FS пока единственный, выбираем на первом шаге «Создать первый сервер федерации в новой ферме» и пишем учетную запись для подключения. Далее выбор сертификата, который будет использоваться для шифрования. Если он уже импортирован, то просто его находим в раскрывающемся списке. Можно импортировать сертификат и в окне мастера, но он понимает лишь формат PFX. Поэтому если удостоверяющий центр прислал в другом формате придется вначале его конвертировать. Когда сертификат выбран, автоматически заполняется DNS имя службы федерации, которое будут использоваться клиентами при подключении. Далее указываем имеющуюся или создаем новую учетную запись для службы AD FS. Во втором варианте при дальнейшем конфигурировании обычно появляется ошибка. Решение проблемы выдается сразу в сообщении. Обычно требуется сгенерировать корневой ключ к целевому контроллеру домена, для чего нужно выполнить:

	PS> Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)

После чего повторяем работу мастера. Дополнительный параметр «-EffectiveTime (Get-Date).AddHours(-10)» вводит ключ в действие немедленно (по умолчанию через ~10 часов).
Хранение конфигурации AD FS возможно во внутренней базе данных (Windows Internal Database, WID) или SQL сервере. WID поддерживает ферму до 5 серверов AD FS, но в этом случае не обеспечивается отказоустойчивость и некоторые продвинутые механизмы работы службы. Но для небольших сетей WID вполне достаточно.
Обычно хватает варианта предложенного по умолчанию. Если проверка условий не показала ошибок, можно нажимать кнопку Настроить. Настройка при помощи PowerShell выглядит просто:

	PS> Install-AdfsFarm -CertificateThumbprint '123...0067' -FederationServiceName adfs.example.org -GroupServiceAccountIdentifier EXAMPLE\adfs$

Для проверки работоспособности открываем консоль AD FS и смотрим статус.

Развертывание WAP

Теперь когда служба ФВ FS работает, можем приступать к установке роли WAP. Вызываем мастер выбираем роль Remote Access и на этапе выбора служб ролей отмечаем Web Application Proxy, подтверждаем выбор дополнительных компонентов и устанавливаем.

Установка роли Web Application Proxy

Установка роли Web Application Proxy

После выбора Remote Access может появиться ошибка о «возможном несоответствии компьютера», просто перезапускаем мастер, обычно второй раз она не появляется.

	PS> Install-WindowsFeature Web-Application-Proxy -IncludeManagementTools

По окончанию запускаем мастер настройки WAP. В первом окне вводим имя и учетную запись администратора сервера AD FS. Далее указываем сертификат для WAP и подтверждаем настройки. В последнем окне мастера можно увидеть PowerShell команду которая будет выполнена.

	PS> Install-WebApplicationProxy –CertificateThumprint '23...567' -FederationServiceName adfs.example.org

Настройка завершена. В процессе на стороне служб ADFS создается подписка на WAP сервер.

Настройка Web Application Proxy

Настройка Web Application Proxy


В интернет можно поискать готовые PowerShell скрипты(goo.gl/LMSO9j) позволяющие развернуть связку AD FS + WAP в считанные минуты.
Проверяем статус. Открываем консоль Remote Access Management Console и переходим в Web Application Proxy и смотрим в Operations Status. Иногда в консоли один и тот же сервер показывается дважды: для доменного имени и NETBIOS. Это не ошибка, а очевидно такая фича.
Теперь ни что не мешает опубликовать сервис. Нажимаем Publish и следуем указаниям визарда. Первый шаг выбор метода преаутентификации, здеcь два варианта о которых мы говорили в самом начале: AD FS и Pass-through. Первый вариант содержит на один шаг больше. Выбираем Pass-through.

Выбор метода преаутентификации

Выбор метода преаутентификации

Следующий шаг — задаем имя публикуемого приложения, используемый сертификат, внешний URL, который будут использовать для подключения клиенты и URL приложения на который будут пересылаться запросы. Если бэкэнд использует нестандартный порт, то его также указываем вместе именем (https://service.example.org:8080).
Есть еще тонкий момент. Веб-прокси различает и транслирует имена хостов, но не понимает IP и не может изменить путь. То есть если внешний URL выглядит как https://service.org/app1/, то и URL бэкэнда должен содержать app1 т.е. https://service.example.org/app1/. Другой путь вроде https://service.example.org/web-app/ будет неправильным.
Публикация приложения окончена. Теперь, можно протестировать зайдя с помощью браузера по внешнему адресу, пользователь после успешной аутентификации на WAP будет перенаправлен на внутренний сайт.
В случае выбора аутентификации средствами AD FS появляется дополнительный шаг, на котором следует указать механизм доверия (Get-ADFSRelyingPartyTrust) — Device Registration Service, WS-Fed, SAML, OAuth.
Для варианта с аутентификацией с AD FS следует создать доверие на сервере AD FS. Открываем консоль AD FS и переходим в Отношения доверия (Trust Relationships) нажимаем «Добавить отношения доверия с проверяющей стороной не поддерживающей утверждения» (Add Non-Claims-Aware Relaying Party Trust).

Работа мастера настройки отношения доверия

Работа мастера настройки отношения доверия

Далее следуем указаниям интуитивного мастера — указываем имя, добавляем идентификатор доверия (обычно используют внешний URL, только имя должно быть со слэшем в конце), настраиваем многофакторную аутентификацию и подтверждаем установки. По окончании можем отредактировать правила авторизации (Authorization Rules). В окне «Edit Claim Rules for …» нажимаем «Add Rule» и указываем шаблон правила наиболее подходящий для ситуации (например, Permit All Users) и на следующем шаге при необходимости его редактируем.

Новое в следующем релизе WAP

За время с момента появления WAP он был развернут во многих компаниях и стали очевидны некоторые моменты, усложнявшие настройку. Все это будет исправлено в следующей версии WAP, познакомиться с которой можно в недавно анонсированной Windows Server 2016. Кроме изменений в интерфейсе управления WAP появилась множество новых функций. Например, возможность преаутентификации AD FS при подключении HTTP Basic (HTTP Basic preauthentication), когда учетные данные отправляются в самом запросе (такой вариант например используется в Exchange ActiveSync). Вся необходимая информация AD FS извлекается из URL автоматически и если пользователь подтверждается, то выдается действительный маркер (Claim), который дополнительно помещается в кэш, чтобы лишний раз не нагружать сервер. Этот вариант имеет специальный режим работы HTTP Basic preauthentication with certificates, позволяющий проверить сертификат устройства и убедиться, что оно зарегистрировано в Device Registration Service и разрешено к использованию в организации. Также появилась возможность просто публиковать не только домен, но и субдомены, причем даже все разом, по шаблону (https://*.example.org/). Такая функция очень упрощает публикацию приложений SharePoint, которые используют субдомены.
Кроме того, разрешена публикация внешнего URL по протоколу HTTP, в предыдущей версии по причинам безопасности от этого отказались, но в процессе эксплуатации выяснилось HTTP в некоторых конфигурациях все таки нужен. Также реализован автоматический редирект HTTP запроса поступившего на внешний URL в HTTPS. Для аудита и корректной работы приложения часто требуется знать оригинальный IP, теперь при перенаправлении он сохраняется в X-Forwarded-For.
В обновлении к WAP в Windows Server 2012R2 появилась возможность публикации Remote Desktop Gateway и теперь сотрудники могут без проблем подключаться к рабочим столам через RD Web Access, а администраторам упрощается процесс развертывания и сопровождения удаленного доступа. В новой версии WAP эта возможность уже штатная.

Вывод

Появление Web Application Proxy в Windows Server 2012 R2 позволило публиковать внутренние приложения без использования сторонних решений, а сам процесс внедрения WAP обычно не занимает много времени.

Защита Windows при помощи EMET

В ОС Windows на сегодня используется большое количество защитных технологий усложняющих атаку, но как правило, они не затрагивают остальные приложения. Enhanced Mitigation Experience Toolkit (EMET, microsoft.com/emet) упоминается практически во всех Security Advisory корпорации Microsoft, распространяются бесплатно, но встречается в реальных установках не так и часто.

Защитные механизмы EMET

Инструмент реализует 14 защитных техник усложняющих атак на Windows-системы от новых угроз, блокируя уязвимости в ПО и изменение потока выполнения кода. Для защиты используется техника inline patching кода защищаемых процессов, когда перехватываются и анализируются API вызовы. Ориентирован в первую очередь на устаревшие версии ОС и программы, которые по умолчанию не имеют таких механизмов.
Среди поддерживаемых технологий:

Остальные технологии по умолчанию активируются для всех приложений.

Настройка защитных механизмов для приложения

Настройка защитных механизмов для приложения

Кроме того в EMET реализована защита от ROP эксплойтов (Return Oriented Programming, обратно-ориентированное программирование) позволяющих обходить защиту ALSR + DEP передавая управление на определенный адрес. Это технологии Load Library Check, Memory Protection Check, Caller Checks, Simulate Execution Flow и Stack Pivot, производящие соотвествующие проверки. Правда не все ROP технологии доступны для 64-битных процессов.
Еще одна функция Certificate Trust (Pinning) реализована только для Internet Explorer и позволяет создавать правила проверки SSL/TLS сертификатов для определенных веб-ресурсов, предотвращая Man-in-Middle атаки. При обнаружении аномалии выдается предупреждение и соединение может разрываться. После установки уже содержатся профили для большинства популярных сервисов – сайт Microsoft, Microsoft Office 365, Skype, Twitter, Facebook и других.
Все указанные защитные механизмы активируются персонально для конкретных приложений (в Configure Applications), для четырех правил возможна установка для системы в целом (System Status). Это DEP, SEHOP, ASLR и Certificate Trust.

Четыре механизма защиты возможно активировать для всех

Четыре механизма защиты возможно активировать для всех

При нарушении защиты EMET останавливает процесс. С версии 4.0 появился дополнительный режим аудита (Audit Only) позволяющий при обнаружении проблемы фиксировать работу программы для дальнейшего анализа. Функция “Local Telemetry” позволяет сохранить дамп памяти в случае срабатывания процесса. Отчеты отправляются в журнал Event Log — Application Log и выводится в панели задача, через компонент EMET Agent (его видимость регулируется через GPO).

Установка и работа

EMET предоставляется бесплатно. Текущая версия 5.1 поддерживает работу в Windows Vista SP2-8.1, Windows Server 2003 SP2- 2012 R2 (релиз 4.1 совместим и с Windows XP SP3). В более ранних системах потребуется установить .NET Framework 4 и обновление KB2790907 (для IE10 в Windows 8).
Распространяется в виде MSI файла, который можно установить вручную, при помощи групповых политик или диспетчер конфигураций System Center Configuration Manager. Во время установки предлагается выбрать профиль: рекомендуемые настройки безопасности (Use Recommended Setting) или оставить текущие настройки (Keep Existing Setting) (рис.3). Фактически конфигурация профилей сохранена в одноименных XML файлах, размещенных в каталогах установки.

Выбор уровня защиты по умолчанию

Выбор уровня защиты по умолчанию

В версии 4 вместо Keep Existing Setting использовался вариант Maximum Security Settings, при котором все настройки защиты устанавливались на максимальный уровень. Это иногда приводило к проблемам в работе некоторых приложений, поэтому от этого очевидно отказались в угоду совместимости, а включение настроек безопасности переложено на плечи пользователя.
Программа имеет простой и понятный не локализованный интерфейс. Хотя программа вряд ли рассчитана на новичка, в любом случае необходимо понимать что делаешь, поэтому отсутствие локализации не мешает. Опции безопасности можно установить флажком в таблице, дважды щелкнув на процессе можно посмотреть опции с минимальным разъяснением и указать для некоторых специфические параметры (рис.4).

Настройка параметров защиты для процесса

Настройка параметров защиты для процесса

Глубина анализа задается при помощи трех флажков в Mitigation Setting (см.рис.1):

Все настройки путем экспорта/импорта легко переносятся на другую систему, поэтому сконфигурировать большое количество систем очень просто. Конфигурация сохраняется в ветках реестра HKLM\SOFTWARE\Microsoft\EMET и HKCU\SOFTWARE\Microsoft\EMET. В частности по умолчанию скрыты некоторые небезопасные настройки, которые можно открыть создав ключ установив EnableUnsafeSettings в 1. На самом деле скрытых возможностей много, все они опсаны в документации которая поставляется вместе с программой.
Кроме графического интерфейса возможно управление из командной строки (EMET_Conf.exe). Получаем список функций:

	> EMET_Conf --list
	> EMET_Conf —list_system

Включаем Mandatory ASLR для браузера Chrome (если опустить параметр то будут включены все защитные механизмы):

	> EMET_Conf --set «С:\Program Files\Google\Chrome\Application\chrome.exe» -MandatoryASLR

Ключи —export и —import позволяют соответственно экспортировать и импортировать настройки (сохраняются в XML файл).

***

EMET не является панацеей и не может 100% защитить систему, и лишь дополняет традиционные средства вроде антивируса и HIPS. Более того на сегодня известны метода обхода некоторых механизмов EMET, но реализация атаки в любом случае становится сложнее. Кроме того EMET требует некоторой подготовки от пользователя, который должен понимать что делать и выдаваемые сообщения. Возможны проблемы со совместимостью с рядом приложений, некоторых механизмов.