Статьи

Как защититься от вредоносных программ в Windows Azure

Большинство ИТ-администраторов устанавливают какой-либо антивирусный сканер на ваши драгоценные серверы. Поскольку облако, с технической точки зрения, является просто сервером, почему бы не следовать этим рекомендациям по безопасности и в 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, на которых включена защита от вредоносных программ.