вторник, 4 августа 2015 г.

Политики XenMobile для управления мобильными устройствами

Политики разделены по платформам и, в зависимости от платформы, сильно разнятся.

В левой части окна управления политиками перечислены платформы поддерживаемых мобильных устройств (скриншот MDM консоли XenMobile версии 9).

На скриншоте представлены общие настройки для устройств на платформе Android: 

Для устройств Samsung на платформе Android представлены отдельные (специфичные) политики:

Политики для iOS устройств:

































Пример iOS политики "Restrictions":





Некоторые политики для iOS работают только на supervised устройствах (подробнее можно почитать здесь: https://www.codeproof.com/blog/enabling-supervised-mode-for-iphone-ipad-and-ipod/)

Политики для устройств на платформе Windows Phone 8.x:

  

Не исключено, что в XenMobile 10 появились новые плафтормы и политики.

Партнеры Citrix могут заказать лабу XenMobile на сайте https://demo.citrix.com/ Развертывание тестовой среды происходит в автоматическом режиме и занимает около 6 часов.

вторник, 28 июля 2015 г.

XM9-XM10 Enterprise Upgrade Tool - Now Available

Hello,


XenMobile 10.1 Edition Upgrade Tool is now available. For upgrade you need to have running XenMobile 9.x with AppController.

Documentation available here: http://docs.citrix.com/en-us/xenmobile/10-1/xmob-upgrade-tsk.html

Short description of upgrade step:
1. Upgrade proccess doesn't move data from XM 9 to XM 10. It's copy data. Everything in XenMobile 9.0 remains intact until you move the XenMobile 10.1 server into production. Move to production means you put XM 10.1 server under LB vServer if you load balancing XM or you edit your main DNS entry with IP address of new XM 10.1 server.


2. First of all you need to copy production configuration data from XM 9 to XM 10.1 to feel how migration happens.

3. After succsessful copy of configuration data (enrolled devices are not included) you need to start copy process from scratch and do full production data copy (enrolled devices are included). Do it in isolated environment. After you have validated full production data copy, you can movie it to production environment.

Note: When users connect to XenMobile 10.1 in production, if for some reason you want to revert to XenMobile 9.0, those users must re-enroll in XenMobile 9.0. So be carefull when you put XM 10.1 in production. Try to fully validate this upgrade before you put it in production.

понедельник, 18 мая 2015 г.

Citrix PVS: device is active so action cannot be done, but no device is active

Hi

Sometimes when you update your vDisk via diskUpdateDevice and then shutdown diskUpdateDevice to promote maintenance version to production, diskUpdateDevice status don't updated correctly and hangs on active status. You cannot delete vDisk maintenance version or delete the whole vDisk, you always get warning message "device is active so action cannot be done".

You can't mark down diskUpdateDevice either because there is no option for mark diskUpdateDevice down. But you can do it via powershell.

Open CMD as Administrator and run command:
"C:\Windows\Microsoft.NET\Framework64\v2.0.50727\InstallUtil.exe" "C:\Program Files\Citrix\Provisioning Services Console\McliPSSnapIn.dll"

1. Open powershell
2. Type: Add-PSSnapin -Name McliPSSnapIn

3. Next connect to PVS if you are not launched power shell console at PVS server:
MCLI-Run setupconnection -p server=pvsservername,port=port

4. To find vDisk with name vD_02 type:
mcli-get disklocator -p disklocatorname="vD_02", storename=store1, sitename=cod

Return:
Executing: Get disklocator
Get succeeded. 1 record(s) returned.
Record #1
diskLocatorId:
diskLocatorName: vD_02
siteId:
siteName: COD
storeId:
storeName: STORE1
description:
menuText:
serverId:
serverName:
enabled: 1
role: 100
mapped: 0
active: 1
rebalanceEnabled: 0
rebalanceTriggerPercent: 25
subnetAffinity: 0
diskUpdateDeviceId: f6579c7d-413-4593-956f-4e02956786ea
diskUpdateDeviceName: XA_02

5. Our update device is "diskUpdateDeviceName: XA_02"

6. Next we need to find this device.
Go to vDisk Update Management - vDisks and find XA_02 in "VM" column.

7. Type:
mcli-get diskupdatedevice -p deviceName=XA_02

8. You will get:
mcli-get diskupdatedevice -p deviceName=XA_02

Executing: Get diskupdatedevice
Get succeeded. 1 record(s) returned.
Record #1
deviceId:
deviceName: XA_02
virtualHostingPoolId:
virtualHostingPoolName: vCenter
diskLocatorId:
diskLocatorName: vD_02
siteId:
siteName: COD
storeId:
storeName: STORE1
description:
deviceMac: 00-67-11-34-77-12
port: 6901
active: 1
adTimestamp:
adSignature:
logLevel: 0
domainName:
domainObjectSID:
domainControllerName:
domainTimeCreated:
ip: 10.
serverPortConnection: 6943
serverIpConnection: 10.
serverId:
serverName: PVS01
diskVersion: 40
status: 9
licenseType: 7
makLicenseActivated: 0
model:
license: 0

We see that device status is active (active: 1) though the device is shutted down.

9. So we need just change the device status.
Type:
mcli-run markdown -p devicename=XA_02
Executing: Run markdown
Run succeeded.

10. Now check status of diskupdatedevice by command:
mcli-get DiskUpdateDevice -p devicename=XA_02
You will see that status has been changed from "active: 1" to "active: 0"

Now you can delete maintenance version or whole vDisk.

среда, 15 апреля 2015 г.

2. Citrix XenMobile: Configuring Citrix AccessGateway and Citrix AppController 9


For configure AccessGateway to proxy connections to AppController you need:
1. Accessgateway with at least 10.1: Build 126.1203.e.nc (e means enhanced) in SmartAccessMode;
2. Configure authentication policy for AppController on AccessGateway;
3. Configure Session policy for ApPController on AccessGateway;
4. Add AccessGateway callback information in AppController settings.

In expression for AppController I'm using "zenprise", it works with android and iOS devices.

For multiple domain environment just create new authentication policy for sub domain and don't use SSO Name Attribute (leave field empty). Also, leave empty Single Sign-on domain domain in session policy PL_WX.





Now we need to configure AppController fo access from AccessGateway:

1. Go to https://appcontroller.company.com:4443/ControlPoint/

2. Click "Settings" - "Deploy" and configure accessgateway infromation like on the screenshot.




Thats it. You can verify your settings by connecting to accessgateway.company.com with WorxHome client (don't forget to uncheck "Require Device Manager enrollment in Settings -XenMobile MDM on AppController).

1. Citrix Xenmobile: Deploy prerequisites
2. Citrix Xenmobile: Configuring Citrix AccessGateway and Citrix AppController 9

пятница, 10 апреля 2015 г.

1. Citrix Xenmobile: Deploy prerequisites

I'm trying to improve my writing English skill. A little awkward but I'm trying my best :)

Here we go!

Servers:
1. Two Xenmobile Device Manager servers for load balancing and redundancy.
2. Two Appcontroller servers for high availability (active/standby). You can use HA or cluster (with netscaler), you can't use LBVIP for load balancing Appcontroller servers.
3. Two Storage Zone Controller servers for load balancing and redundancy.
4. One license server with version 11.12
5. MPX or VPX Netscaler with 10.1: Build 126.1203.e.nc or 10.5 with e (e means enhanced, this version of build have Xenmobile or Sharefile Wizard which helps you quickly configure LBVIP for these servers). Its recomended to have Enterprise license. You can use Standrart license too, but you will not be able to use Xenmobile Wizard because for this you will need to have AAA feature enabled which included only to Enterprise Netscaler license. Imortant: You need to switch your AccessGateway from Basic Mode to SmartAccessMode and install Access Gateway Universal License (http://support.citrix.com/article/CTX126049). It's need for Micro VPN feature to be enabled. You still will be able to access your storefront through this accessgateway after switching to SmartAccessMode.
6. Optional. If you want to access to XenMobile/XenDesktop apps/desktops from WorxHome you will need two Storefront servers for load balancing and redundancy.

Public IP:
1. Public IP for Xenmobile Device Manager servers. If you want to load balance this servers you need to publish this LBVIP to external network.
2. Public IP for Access Gateway which will work as a proxy for AppController servers. If you already have Access Gateway published to external network with storefront (or WebInterface) session polices you can use this Access Gateway. Just add additional session policy for AppController.
3. Public IP for Storage Zone Controller servers (Sharefile Enterprise). If you want to load balance this servers you need to publish this LBVIP to external network.

External DNS records:
1. For Xenmobile Device Manager servers or LBVIP. For example: xmdm.company.com
2. For Access Gateway (if you not already have one). For example: agee.company.com
3. For Storage Zone Controller servers or LBVIP. For example: sharefile.company.com

Public SSL certificate:
1. For Xenmobile Device Manager servers you need public signed SSL certificate installed on Xenmobile Device Manager servers if you use SSL_BRIDGE (http://support.citrix.com/article/CTX136952) or on LBVIP if you use SSL Offload (http://blogs.citrix.com/2013/12/13/xenmobile-configure-ns-ssl-offload-for-device-manager/)
2.For Access Gateway which will work as a proxy for AppController servers. If you already use Access Gateway for Storefront with public SSL certificate,  you won't need additional public SSL certificate.
3. For Storage Zone Controller servers. If you want to load balance this servers you need to install SSL public certificate on LBVIP.

Internal SSL certiciate:
1. For AppController if you use Access Gateway.
2. For Storage Zone Controller servers. Internal SSL certificate need to be installed on IIS on each Storage Zone Controller server which you load balance.

Great thing for this is a wildcard certificate.

External Ports:
To:
1. 80, 443, 8443 to Xenmobile Device Manager servers or LBVIP.
2. 443 to Access Gateway.
3. 443 to Storage Zone Controller servers or LBVIP.

From:
1. Xenmobile Device Manager servers to:
1.1 Apple Push Notification Service (APNS):
gateway.push.apple.com:2195
feedback.push.apple.com:2196
It's good to use a whole Apple network 17.0.0.0/8 for this ports, because APNS host servers are load balancing and changing their IP addresses sometimes.
1.2 Appstore and Google play:
itunes.apple.com: 80 and 443
ax.itunes.apple.com: 80 and 443
ax.itunes.com: 80 and 443
play.google.com: 80 and 443
android.clients.google.com: 80 and 443

2. AppController servers to:
2.1 Appstore and Google play (Important thing: you need to open ports to appstore and google play from Xenmobile Device Manager and Appcontroller at the same time):
itunes.apple.com: 80 and 443
ax.itunes.apple.com: 80 and 443
ax.itunes.com: 80 and 443
play.google.com: 80 and 443
android.clients.google.com: 80 and 443

2.2 Sharefile Enterprise Account (company.sharefile.com for US or company.sharefile.eu for Europe. You will get this address when you will buy Sharefile licenses):
company.sharefile.com:443

Trusts:
You need trust relationship between:
1. Access Gateway and AppController (use only DNS (not IP), add and link root certificates in netscaler and appcontroller, use only 443 port).
2. Access Gateway and Storefront.
3. AppController and Storefront.

If you use same wildcard certificate to configure all servers you don't need additional configuration.

1. Citrix Xenmobile: Deploy prerequisites
2. Citrix Xenmobile: Configuring Citrix AccessGateway and Citrix AppController 9

пятница, 27 марта 2015 г.

Антивирус на Non-Persistent виртуальных рабочих столах XenDesktop

В интернете много споров о том ставить ли антивирус на не постоянные виртуальные рабочие столы.
С одной стороны, виртуальный стол не постоянный, это значит что после перезагрузки, которая обычно происходит раз в сутки, зараженный виртуальный стол вернется в первоначальное состояние. К тому же, документы пользователя хранятся на файловом сервере, на котором стоит антивирус и производит сканирование по расписанию. И в случае если пользователь сохранит вредоносный скрипт из почты в документы или на рабочий стол, данный скрипт будет обнаружен антивирусом на файловом сервере.

С другой стороны, виртуальная машина в течении рабочей сессии остается зараженной и вирус может спокойно перекинутся на остальные виртуальные столы. Не факт, что после перезагрузки виртуальный стол не заразится от соседнего повторно.
Также перезагрузка не постоянного виртуального стола  не спасает от таких вирусов, которые проникают в адресную книгу пользователя и отсылают вредоносный код всем контактам пользователя.

Если решение об установке антивируса все таки принято, то знайте - нельзя так просто взять и поставить антивирус на не постоянный виртуальный рабочий стол (аля Citrix PVS).


1. Желательно чтобы антивирус был заточен под VDI. Все не постоянные виртуальные машины загружаются с одного образа и разницы между ними особой нет, поэтому хорошо если антивирус имеет функционал сканирования файлов и генерации хэша просканированного файла, чтобы в случае если похожий файл (по хэшу) найдется в соседней виртуальной машине, он мог его просто пропустить, тем самым не нагружать диск дополнительными iops.

2. Обновление антивирусных баз. Обновлять антивирусную базу после каждой перезагрузки? Генерируется дополнительный трафик, потребляются дополнительные ресурсы виртуальной машины, забивается кэш диск (а это очень плохо). Либо отключить автообновление и обновлять мастер образ раз в сутки (сомнительное удовольствие), либо расширить кэш диск и смирится.

3. Сканирование по расписанию. Очень жесткая с точки зрения ресурсоемкости операция. Стоит ли включать если виртуалка перезагружается раз в сутки и восстанавливается в первоначальное состояние?

4. Тип антивируса? Я бы выделил три: тяжелый агент, легкий агент, безагентный. С точки зрения потребления ресурсов, предпочтительнее безагентный антивирус.

5. Исключения. Если используется технология Citrix PVS и кэш хранится на диске виртуальной машины, то лучше исключить файл кэша из проверки. Также стоит исключить процессы отвечающие за стриминг образа на таргет устройство (в нашем случае виртуальная машина). У
бедится в том что исключения работают поможет счетчик переподключений виртуальной машины к vDiskу, если переподключений много значит что то настроено не так, в идеале переподключений быть не должно).
Если используете принт сервер и печать по сети, то убираем из проверки спулер и т.д. Для VDI должен быть настроен отдельный профиль и чем больше там исключений тем производительнее виртуальная машинка.
Консолидированный список исключений от citrix можно найти по адресу: http://blogs.citrix.com/2013/09/22/citrix-consolidated-list-of-antivirus-exclusions/

Также подобный список можно найти на сайте вашего антивируса.

Я сейчас тестирую тяжелый агент на своих виртуальных столах и это ужасно. Большинство операций выполняются на 10-20 секунд дольше чем на виртуальном столе без антивируса.
Я думаю, что идеальный вариант для VDI это безагентный антивирус, т.к.:
1. Антивирусом не потребляются драгоценные ресурсы виртуальной машины, соответственно больше плотность виртуальных машин на хост.
2. Решается вопрос с обновлением антивируса, кэш диск не забивается лишними данными, нет лишних iops на хранилку.


четверг, 26 марта 2015 г.

Citrix Xenmobile

Краткое резюме по продукту Citrix XenMobile

С помощью Citrix XenMobile можно решить две основные задачи:
1. Обеспечение безопасности данных на мобильном устройстве.
2. Повышение мобильности пользователей.

XenMobile состоит из двух основных компонентов:
1. Система управления мобильными устройствами Device Manager
2. Корпоративный магазин мобильных приложений AppController .

Компонент Device Manager отвечает за контроль и управления мобильными устройствами через политики.
Как выглядит процесс управления мобильным устройством:
1. Пользователь устанавливает WorxHome клиент из публичного app store
2. Вводит адрес сервера Device Manager (должен быть опубликован во вне)
3. Вводит логин/пароль AD
4. Администратор видит, что такой то пользователь зарегистрировался с такого то устройства.
5. Что может администратор:
5.1 Заблокировать устройство
5.2 Частично или полностью очистить устройство
5.3 Накатить политику которая меняет какую-нибудь настройку устройства (например запретить запускать AngryBirds), также можно накатить настройки шифрования устройства, настройки vpn, настройки почтового клиента, настроить скрытый wi-fi, запретить заходить на определенные сайты, запретить использовать камеру и прочее.
5.4 Отправить на устройство файлы (допустим сертификаты).
5.5 Установить на пользовательское устройство мобильное приложений (можно воспользоваться .ipa/.apk файл, если есть, либо воспользоваться app store google play).
5.1 Отследить с помощью gps где находится устройство. Можно отслеживать перемещения устройства за определенный период времени, все маршруты устройства накладываются на google maps.

Компонент AppController отвечает за доставку мобильных приложений на мобильное устройство пользователя.
Citrix AppController связывается с Citrix MDM сервером и магазин приложений становится доступен по кнопке  + в клиенте WorxHome. Пользователь может войти в корпоративный магазин приложений и установить себе любое из перечисленных приложений.

Есть несколько способов публикации приложений в корпоративном магазине:
1. Публикация обычного мобильного приложения (для этого нужно иметь .ipa файл для iOS и .apk файл для Android)
2. Публикация защищенного мобильного приложения MDX. Процесс создания и публикации таких приложений будет описан позднее.
3. Проброс приложений из публичного магазина приложений, в этом случае указывается ссылка на приложение itunes или google play.
4. Проброс приложений XenApp и XenDesktop в WorxHome (Citrix Receiver однако, должен быть все равно установлен). Для этих целей нужен установленный и настроенный сервер Citrix StoreFront.

Можно настроить ручную установку приложений на устройство или автоматическую (правда, на ios пользователь все равно должен одобрить установку).

С Citrix AppController очень тесно интегрируется Citrix Sharefile, особенно если вы хотите расположить хранилище файлов Citrix Sharefile на своих серверах и настроить вход в Citrix Sharefile по доменной учетной записи. В этом случае Citrix AppController выступает в роли удостоверяющего сервера для Citrix Sharefile, консоль управления которого в любом случае находится на публичном сервере Citrix Sharefile.


На рисунке ниже представлена архитектура Citrix XenMobile 8.6 Enterprise Edition. На момент написания топика вышла уже 10ая версия Citrix XenMobile и сервера XenMobile MDM и Citrix AppController объединились в один сервер Citrix XenMobile Server, правда утилиты на апгрейд с XenMobile 9 на XenMobile 10 еще нет.


В следующих статьях по XenMobile я опишу каждый из компонентов подробнее, а также приведу список необходимых условий для внедрения XenMobile 10 в редакции Enteprise Edition

Видео и звук в Microsoft Lync 2013 на виртуальных рабочих столах Citrix XenDesktop 5.6

Есть два варианта использования видео и звука в Lync 2013 на виртуальных рабочих столах XenDesktop 5.6

1. Не редиректить видео и звук на клиентское устройство и использовать ресурсы виртуального стола.
2. Редиректить видео и звук на клиентское устройство и тем самым использовать ресурсы клиентского устройства для обработки видео и звука.

Мне устроил первый вариант, качество звука и видео не сильно отличается от второго и не приходится жертвовать некоторым функционалом.

Первый вариант настройки в отличие от второго очень простой:

1. Ставится наиболее свежая версия VDA агента 5.6.500 (самый свежий хотфикс на момент написания топика)
2. Политика Client USB device redirection на контроллере Citrix XenDesktop ставится в Prohibited (по дефолту Prohibited)
3. Устанавливается Lync 2013 и проверяются настройки звука и видео.

Если возникли проблемы:

1. Лично я столкнулся с проблемой обнаружения звукового устройства в lync 2013 и проблема решилась удалением устройств Citrix remote USB bus и Citrix remote USB host controller на виртуальном рабочем столе. Данные устройства ставятся вместе с VDA агентом. После чего я установил VDA агент версии 5.6.500 и вместе c агентом установились устройства Citrix remote USB bus и Citrix remote USB host controller, проблема с отображением звуковых устройств исчезла.

2. Возможно у вас включена политика Client USB device redirection на контроллере Citrix XenDesktop. По дефолту эта политика выключена (Prohibited). Данная политика пробрасывает USB устройства в сессию citrix не используя драйвера установленные на клиентских устройствах, т.е. это low level redirection. 
Если она у вас включена (Client USB device redirection - Allow) то скорее всего пробросит вашу usb гарнитуру в сессию, что приведет к деградации звука или вообще к отсутствию звукового устройства в настройках. В этом случае необходимо настроить правило на запрет проброса вашей USB гарнитуры, делается это  в соседней политике Client USB device redirection rules. Чтобы запретить гарнитуру необходимо добавить строчку Deny: VID=046D PID=0A38, где VID и PID это ID оборудования, которое можно посмотреть в диспетчере устройств в свойствах устройства.


Если правило не помогает, попробуйте отключить политику Client USB device redirection (Prohibited) только для данного пользователя и проверить обнаружилось ли звуковое устройство.

Второй вариант немного по сложнее.

1. Необходимо установить VDA агент версии не ниже 7.0 на виртуальный стол (контроллер XenDesktop 5.6 работает с агентом VDA 7.0-7.6, но отвалятся (будут работать по дефолту) политики Citrix XenDesktop 5.6 и DesktopDirector не сможет отображать информацию об агентах и запускать Shadow).

2. Необходимо установить Microsoft Lync VDI 2013 plugin на ПК или ТК (тонкий клиент).

3. Если ТК не в домене, то необходимо добавить корневые сертификаты сервера Lync в доверенные и прописать адрес сервера Lync в реестре (обратите внимание ветка реестра юзерская, так что делать изменения под учеткой с которой будет запускаться виртуальный стол).
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Lync
"ConfigurationMode"=dword:00000001" (DWORD 32-bit)
"ServerAddressInternal"="LyncServer.domain.com" (String)
"ServerAddressExternal"="LyncServer.domain.com" (String)

3. Включить политику EnableMediaRedirection на сервере Lync для пользователя которому необходим редирект видео и аудио.

4. Запустить Lync 2013 и проверить, появился ли в правом нижнем углу окна Lync 2013 значок редиректа:

При первом запуске значок монитора будет мигать, после чего появится зеленая галочка, это означает что lync настроил ауди и видео для редиректа. Если значок монитора будет мигать продолжительное время, значит lync не может пробросить аудио и видео, необходимо еще раз проверить настройки.