Здравствуйте, читатели данного поста. Хочу немного поделится опытом, который мне посчастливелось приобрести у себя на работе. В свое время была поставлена задача навести порядок в сети, а именно приструнить пользователей MAC OS и навязать им хоть часть корпоративных политик нашей замечательной компании. После исследования проблемы выяснилось много недостатков подобных систем. Для нормальной реализации было необходимо закупить огромное количество оборудования и лицензий, при этом в данных системах была масса недостатков (чтобы не делать рекламы и антирекламы я не хочу называть эти продукты).
И вот на свет начал зарождаться вполне удовлетворяющий нас продукт — Parallels Management Addon forMS SCCM 2007/2012. Когда нам его представили разработчики компании он находился на стадии строгой секретности и совсем раннего тестирования (я работаю в интеграторе и к нам подобные продукты иногда попадаются)
Подготовка инфраструктуры
Допустим в инфраструктуре уже развернут SCCM (в моем случаи SCCM 2007) Его развертку и настройку затрагивать не будем. Скажу лишь неявные настройки, которые необходимы для работы нашей системы.
— в свойствах Distribution point обязательно должен быть включен анонимный доступ по протоколу HTTPS
— в свойствах DNS на DHCP сервере в подсетях, в которых находятся клиенты обязательно необходимо включить:
a) Всегда динамически обновлять DNS A и PTR записи.
b) Динамическое обновление DNS и PTR записи для DHCP-клиентов, не требующих обновления.
Работа сервиса выглядит следующим образом:
У нас есть SCCM и прокси, через который этот SCCM общается с клиентами MAC OS (в моем случаи это 2 отдельных сервера, но ни чего не мешает установить продукт на сервере с SCCM), а так же дополнения к консоли, добавляющие новые возможности в саму консоль SCCM.
Установка
В моем распоряжении была сборка для разработчика, и она не была привязана к лицензированию, так что установка может немного отличаться от купленной версии, но думаю не сильно.
— двойной клик по PMA-version_number.exe на сервере, предназначенным исполнять роль proxy (ОС на сервере может быть либо Win server 2008 R2-2012) жмем далее-далее-готово.
— запускаем Configuration Utility, расположенную по следующему адресу: C:\Program Files (x86)ParallelsParallels Management Add-on for SCCM
— вводим имя/ip адрес сервера SCCM либо указыываем что SCCM находится на этом же компьютере
— в следующем окне вводится логин/пароль пользователя, имеющего администраторские права на сам SCCM (так как я не умею пользоваться фотошопом и не могу затереть пользователей в этом окне скрин прилагать не буду).
— На компьютере, с которого будет производится управление необходимо с этого же установщика запустить установку console extension (на скрине галочка будет активна если консоль установлена)
Готово.
Добавление клиентских компьютеров
У нас есть 3 метода добавление клиентских компьютеров в систему
— вручную устанавливать ПО (находится агент по адресу your_proxy_hostname@yourdomainname.ru:8001/files/pma_agent.dmg)
в dmg лежит сам дистрибутив (ставится очень просто далее-далее-готово)
После установки агента будет окно, с просьбой ввести хостнейм PROXY для SCCM
Вводим адрес — и готово, на клиентском компьютере воодить больше ни чего не нужно.
— автодискавери. Если у вас установлены console extension, то в консоли появится дополнительный пункт Parallels Management Add-on
Выбираем его и видим опцию Parallels Network Diskovery. Двойной клик и видим следующее окно:
В данном окне мы можем включить сам дискавери, настроить его расписание и подсети, в которых будет производится дискавери. в опцию Accounts мы можем ввести аккаунт локального администратора на клиентах (или несколько) под которым будет устанавливаться агент. конечно недостаток в том, что мы должны знать администратора мака и более того на каждом клиенте должен быть включен доступ по SSH. Этот метод удобен только если наши маки в домене и учетная запись одного из домен админов является горантированно локальным администратором на каждом компьютере. Так же нам вручную надо будет включить доступ по SSHа каждом маке. Для меня этот метод был крайне неудобен, так как мы е соирались вводить маки в наш домен (смысла мы не видили). поэтому мы использовали 1-й метод установки агентов. Кстати если не вводить в Accounts ни каких данных то дискавери всеравно будет работать, но уже с другой пользой для нас: Сама утилита дискавери будет искать все маки в сети (там используется nmap и будет добавлять их в коллекцию All Mac OS Systems как unmanagment системы. Это полезно если мы хотим узнать сколько в нашей сети есть маков, без наших политик. Скажу сразу что он добавляет таким образом не все маки, есть небольшая вероятность что это будет вполне себе виндовый комп, а если имя мака не ресолвится в DNS то туда попадет просто ip адрес, и если этот мак в wi-fi сети то он скорее всего получит в следующий дискавери другой ip адрес, и опять будет добавлен в коллекцию под другим ip адресом.)
— Ну и 3-й способ, это лить маки черед deploy server с уже установленным агентом. (способы описывать не буду так как информации об этом море в интернете)
Что дальше?
Далее мы начинаем работать с маками, так же если бы это были компьютеры под управлением windows. Будут лишь некоторые оговорки.
У нас автоматически создастся коллекция All Mac OS Systems в которой и будут все наши клиенты. На данную коллекцию мы можем накатить deploy практически любого ПО, Сктиптов, Политик. о том как это сделать очень подробно описанно в admin guid который будет автоматически установлен на компьютере с proxy. Я лишь опишу самое вкусное.
— Установка ПО. Мы создаем любой пакет в Software Distribution так же как и для windows компьютеров, но разница лишь в исполняемой команде. Есть 3 основных сценария mac os, а именно PKG, DMG с APP,DMG с pkg и вот эти 3 основных команды для установки
PKG — installer -pkg 'Install.pkg' -target /
DMG — :JavaForOSX.dmg/JavaForOSX.pkg::
APP — :Skype.dmg/Skype.app:/Applications:
1-й вариант установит программу Install.pkg с настройками по умолчанию
2-й вариант смонтирует в систему dmg образ и запустит установку JavaForOSX.pkg такой же командой, как и в первом варианте
3-й вариант смонтирует в систему dmg образ и скопирует Skype.app в папку Applications
Команды эти вводятся при создании programs дистрибутива, в опцию command line.
— Выполнение любого скрипта. Мне понадобилось вносить настройки, которых попросту нету в profile manager от компании apple, а именно значения прокси сервера в системе и его исключений. и вот как выйти из этой проблемы.
Создаем скрипт, допустим a.sh. Пишем туда следующие строки:
networksetup -setsecurewebproxy ethernet proxy.company.ru 8000
networksetup -setsecurewebproxy Wi-Fi proxy.company.ru 8000
networksetup -setwebproxy ethernet proxy.company.ru 8000
networksetup -setwebproxy Wi-Fi proxy.company.ru 8000
networksetup -setproxybypassdomains ethernet *.local 169.254/16 127.* 10.* 192.168.* 172.
systemsetup -settimezone Europe/Moscow
Копируем этот файл на SCCM и создаем из него software distribution пакет. Задаем команду на установку chmod +x a.sh && sh a.sh и вот что получим на выходе: у нас исполняется скрипт на маке, который настраиват в системе на интерфейсах Wi-Fi и ethernet прокси с исключениями *.local 169.254/16 127.* 10.* 192.168.* 172. и устанавливает time zone на всех компьютерах! Правда здорово?
— Применить профиль на компьютере пользователя: Одним из самых важных фич данной сисемы является возможность применять профили на маки (для тех кто не знает это своего рода политики) Для этого идем сюда — Site Database / Computer Management / Desired Configuration Management /Configuration Items. Правый клик по Configuration Items и из выплывающего меню выбираем Create Parallels Configuration Item. В появившемся окне
Указываем имя, заметку и выбираем сам профиль, созданный в profile manager на mac os server. После создания профиля применяем его на какую либо коллекцию в качестве baseline и все, теперь на маках будет применятся данный профиль.
— Еще одной крайне важной и уникальной возможностью обладает продукт: Это применение шифрования диска через FileVault. Процесс там очень долгий и очень хорошо описанный в документации к продукту, поэтому описывать я его не буду. Но поверьте мне, подобной возможностью практически ни один аналог не обладает.
— К любому клиенту мы можем подключиться по ssh/vnc прямо из консоли. Для этого нам необходимо правой кнопкой мыши по нужному клиенту и выбрать соответствующий пункт меню из выклывающего окна
Итог
У себя в инфраструктуре мы используем именно это решение, чего и вам советую. Мы разворачиваем политики сложности пароля и путь для корпоративного сервера обновлений через профили, настройки time zone и прокси сервера через скрипты, установку ms office, Symantec antivirus, java,citrix, Parallels Desktop через software distribution, Заставляем шифроваться жесткий диск через disired configuration management.
Спасибо за внимание. Если возникнут вопросы пишите в комментариях, постараюсь ответить.
Автор: sageelf