Большинство ИТ-администраторов устанавливают какой-либо антивирусный сканер на ваши драгоценные серверы. Поскольку облако, с технической точки зрения, является просто сервером, почему бы не следовать этим рекомендациям по безопасности и в Windows Azure? Это прошло почти незамеченным, но на прошлой неделе Microsoft выпустила Microsoft Endpoint Protection для Windows Azure Customer Technology Preview . Ради пропускной способности я буду называть его EP.
EP предлагает защиту в реальном времени, сканирование по расписанию, исправление вредоносных программ (причудливое слово для карантина), активную защиту и автоматические обновления сигнатур. Похоже на Microsoft Endpoint Protection или Windows Security Essentials? Это не совпадение: EP — это версия Windows Azurified.
Включение защиты от вредоносных программ в Windows Azure
После установки Microsoft Endpoint Protection для Windows Azure Customer Technology Preview , извините, EP , будет доступен новый импорт Windows Azure. Как и в случае с удаленным рабочим столом или диагностикой, EP можно включить с помощью простого однострочного XML:
<Import moduleName="Antimalware" />
Вот пример файла ServiceDefinition.csdef веб-роли, содержащий этот новый импорт:
<?xml version="1.0" encoding="utf-8"?> <ServiceDefinition name="ChuckProject" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> <WebRole name="ChuckNorris" vmsize="Small"> <Sites> <Site name="Web"> <Bindings> <Binding name="Endpoint1" endpointName="Endpoint1" /> </Bindings> </Site> </Sites> <Endpoints> <InputEndpoint name="Endpoint1" protocol="http" port="80" /> </Endpoints> <Imports> <Import moduleName="Antimalware" /> <Import moduleName="Diagnostics" /> </Imports> </WebRole> </ServiceDefinition>
Это оно! При развертывании решения Windows Azure на ваших виртуальных машинах Windows Azure будет установлена, включена и настроена Microsoft Endpoint Protection.
Теперь, когда я начал эту запись в блоге с «ИТ-администраторами», есть вероятность, что вы захотите немного подстроить этот плагин. Нет проблем! ServiceConfiguration.cscfg файл имеет несколько вариантов , ожидающих быть эх, прикоснулся. А поскольку они находятся в конфигурации службы, вы также можете изменить их через портал управления, API управления или в стиле sysadmin с помощью PowerShell. В любом случае доступны следующие параметры:
- Microsoft.WindowsAzure.Plugins.Antimalware.ServiceLocation — укажите регион центра данных, в котором развернуто ваше приложение, например «Западная Европа» или «Восточная Азия». Это ускорит время развертывания.
- Microsoft.WindowsAzure.Plugins.Antimalware.EnableAntimalware — должен ли EP быть включен или нет?
- Microsoft.WindowsAzure.Plugins.Antimalware.EnableRealtimeProtection — должна ли быть включена защита в режиме реального времени?
- Microsoft.WindowsAzure.Plugins.Antimalware.EnableWeeklyScheduledScans — включено еженедельное сканирование по расписанию?
- Microsoft.WindowsAzure.Plugins.Antimalware.DayForWeeklyScheduledScans — какой день недели (0–7, где 0 означает ежедневный)
- Microsoft.WindowsAzure.Plugins.Antimalware.TimeForWeeklyScheduledScans — во сколько должно выполняться сканирование по расписанию?
- Microsoft.WindowsAzure.Plugins.Antimalware.ExcludedExtensions — укажите расширения файлов, исключаемые из сканирования (с разделителями-пипсами)
- Microsoft.WindowsAzure.Plugins.Antimalware.ExcludedPaths — укажите пути, которые нужно исключить из сканирования (с разделителями-пипсами)
- Microsoft.WindowsAzure.Plugins.Antimalware.ExcludedProcesses — укажите процессы, которые нужно исключить из сканирования (с разделителями-пипсами)
Мониторинг защиты от вредоносных программ в Windows Azure
Как вы узнаете, была ли обнаружена угроза? Что ж, к счастью для нас, Windows Endpoint Protection записывает свои журналы в журнал системных событий. Это означает, что вы можете просто добавить конкретный источник данных в свой диагностический монитор, и все готово:
var configuration = DiagnosticMonitor.GetDefaultInitialConfiguration(); // Note: if you need informational / verbose, also subscribe to levels 4 and 5 configuration.WindowsEventLog.DataSources.Add( "System!*[System[Provider[@Name='Microsoft Antimalware'] and (Level=1 or Level=2 or Level=3)]]"); configuration.WindowsEventLog.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(1); DiagnosticMonitor.Start( "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", configuration);
Кроме того, EP также записывает свои внутренние работы в свои установочные папки. Вы также можете включить их в свою конфигурацию диагностики:
var configuration = DiagnosticMonitor.GetDefaultInitialConfiguration();
// ...add the event logs like in the previous code sample... var mep1 = new DirectoryConfiguration(); mep1.Container = "wad-endpointprotection-container"; mep1.DirectoryQuotaInMB = 5; mep1.Path = "%programdata%\Microsoft Endpoint Protection"; var mep2 = new DirectoryConfiguration(); mep2.Container = "wad-endpointprotection-container"; mep2.DirectoryQuotaInMB = 5; mep2.Path = "%programdata%\Microsoft\Microsoft Security Client"; configuration.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1.0); configuration.Directories.DataSources.Add(mep1); configuration.Directories.DataSources.Add(mep2); DiagnosticMonitor.Start( "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", configuration);
С этого момента вы можете использовать такой инструмент, как Диагностический монитор Cerebrata, чтобы проверять журналы событий всех ваших экземпляров Windows Azure, на которых включена защита от вредоносных программ.