Exemples de code permettant d’activer et de configurer Microsoft Antimalware pour Azure

Cet article fournit des exemples de code PowerShell pour activer et configurer Microsoft Antimalware pour différents services Azure, notamment :

  • Machines virtuelles Azure Resource Manager
  • Clusters Azure Service Fabric
  • Azure Cloud Services (support étendu)
  • serveurs compatibles avec Azure Arc

Utilisez ces exemples pour déployer et configurer l’extension Microsoft Antimalware dans vos environnements Azure.

Déployer Microsoft Antimalware sur des machines virtuelles Azure Resource Manager

Remarque

Avant d’exécuter cet exemple de code, décommentez les variables et fournissez les valeurs appropriées.

Avertissement

Le déploiement ou la mise à jour de cette extension remplace les paramètres antivirus existants Microsoft Defender, y compris les exclusions. Pour conserver vos paramètres, spécifiez-les dans la configuration de l’extension. Pour plus d’informations, consultez Configuration par défaut et anti-programme malveillant personnalisé.

# Script to add Microsoft Antimalware extension to Azure Resource Manager VMs
# Specify your subscription ID
$subscriptionId= " SUBSCRIPTION ID HERE "
# Specify location, resource group, and VM for the extension
$location = " LOCATION HERE " # For example, "Southeast Asia" or "Central US"
$resourceGroupName = " RESOURCE GROUP NAME HERE "
$vmName = " VM NAME HERE "

# Enable Antimalware with default policies
$settingString = '{"AntimalwareEnabled": true}'
# Enable Antimalware with custom policies
# $settingString = '{
# "AntimalwareEnabled": true,
# "RealtimeProtectionEnabled": true,
# "ScheduledScanSettings": {
#                             "isEnabled": true,
#                             "day": 0,
#                             "time": 120,
#                             "scanType": "Quick"
#                             },
# "Exclusions": {
#            "Extensions": ".ext1,.ext2",
#                  "Paths":"",
#                  "Processes":"sampl1e1.exe, sample2.exe"
#             },
# "SignatureUpdates": {
#                               "FileSharesSources": "",
#                               "FallbackOrder": "",
#                               "ScheduleDay": 0,
#                               "UpdateInterval": 0,
#                       },
# "CloudProtection": true
#
# }'
# Sign in to Azure and select the subscription to use
Connect-AzAccount

Set-AzContext -SubscriptionId $subscriptionId
# Retrieve the most recent version number of the extension
$allVersions = (Get-AzVMExtensionImage -Location $location -PublisherName "Microsoft.Azure.Security" -Type "IaaSAntimalware").Version
$versionString = $allVersions[($allVersions.Count)-1].Split(".")[0] + "." + $allVersions[($allVersions.Count)-1].Split(".")[1]
# Set the extension by using prepared values
Set-AzVMExtension -ResourceGroupName $resourceGroupName -Location $location -VMName $vmName -Name "IaaSAntimalware" -Publisher "Microsoft.Azure.Security" -ExtensionType "IaaSAntimalware" -TypeHandlerVersion $versionString -SettingString $settingString

Ajouter Microsoft Antimalware aux clusters Azure Service Fabric

Azure Service Fabric utilise des ensembles d’échelles de machines virtuelles Azure pour créer des clusters Service Fabric. Le modèle de groupes identiques de machines virtuelles qui crée les clusters de Service Fabric n’est pas configuré avec l’extension Antimalware. Activez Antimalware séparément sur les jeux d’échelle. Lorsque vous l’activez sur les ensembles d’échelle, tous les nœuds créés dans les ensembles d’échelles de machines virtuelles héritent et reçoivent automatiquement l’extension.

L’exemple de code suivant montre comment activer l’extension IaaS Antimalware en utilisant les cmdlets PowerShell d’Az.Compute.

Remarque

Avant d’exécuter cet exemple de code, décommentez les variables et fournissez les valeurs appropriées.

Avertissement

Le déploiement ou la mise à jour de cette extension remplace les paramètres antivirus existants Microsoft Defender, y compris les exclusions. Pour conserver vos paramètres, spécifiez-les dans la configuration de l’extension. Pour plus d’informations, consultez Configuration par défaut et anti-programme malveillant personnalisé.

# Script to add Microsoft Antimalware extension to a virtual machine scale set (VMSS) and Service Fabric cluster
# Sign in to Azure and select the subscription to use
Connect-AzAccount
# Specify your subscription ID
$subscriptionId="SUBSCRIPTION ID HERE"
Set-AzContext -SubscriptionId $subscriptionId
# Specify location, resource group, and VMSS for the extension
$location = "LOCATION HERE" # For example, "West US", "Southeast Asia", or "Central US"
$resourceGroupName = "RESOURCE GROUP NAME HERE"
$vmScaleSetName = "YOUR VM SCALE SET NAME"

# Customize the configuration.json configuration file according to the documentation: https://msdn.microsoft.com/library/dn771716.aspx
$settingString = '{"AntimalwareEnabled": true}'
# Enable Antimalware with custom policies
# $settingString = '{
# "AntimalwareEnabled": true,
# "RealtimeProtectionEnabled": true,
# "ScheduledScanSettings": {
#                             "isEnabled": true,
#                             "day": 0,
#                             "time": 120,
#                             "scanType": "Quick"
#                             },
# "Exclusions": {
#            "Extensions": ".ext1,.ext2",
#                  "Paths":"",
#                  "Processes":"sampl1e1.exe, sample2.exe"
#             } ,
# "SignatureUpdates": {
#                               "FileSharesSources": "",
#                               "FallbackOrder": "",
#                               "ScheduleDay": 0,
#                               "UpdateInterval": 0,
#                       },
# "CloudProtection": true
# }'

# Retrieve the most recent version number of the extension
$allVersions = (Get-AzVMExtensionImage -Location $location -PublisherName "Microsoft.Azure.Security" -Type "IaaSAntimalware").Version
$versionString = $allVersions[($allVersions.Count)-1].Split(".")[0] + "." + $allVersions[($allVersions.Count)-1].Split(".")[1]
$vmss = Get-AzVmss -ResourceGroupName $resourceGroupName -VMScaleSetName $vmScaleSetName
Add-AzVmssExtension -VirtualMachineScaleSet $vmss -Name "IaaSAntimalware" -Publisher "Microsoft.Azure.Security" -Type "IaaSAntimalware" -TypeHandlerVersion $versionString -Setting $settingString
Update-AzVmss -ResourceGroupName $resourceGroupName -VMScaleSetName $vmScaleSetName -VirtualMachineScaleSet $vmss

Ajoutez Microsoft Antimalware à Azure Cloud Services en utilisant un support étendu

L’exemple de code suivant montre comment ajouter ou configurer Microsoft Antimalware à Azure Cloud Services en utilisant un support étendu via des cmdlets PowerShell.

Remarque

Avant d’exécuter cet exemple de code, décommentez les variables et fournissez les valeurs appropriées.

Avertissement

Le déploiement ou la mise à jour de cette extension remplace les paramètres antivirus existants Microsoft Defender, y compris les exclusions. Pour conserver vos paramètres, spécifiez-les dans la configuration de l’extension. Pour plus d’informations, consultez Configuration par défaut et anti-programme malveillant personnalisé.

# Create an Antimalware extension object, where file is AntimalwareSettings
$xmlconfig = [IO.File]::ReadAllText("C:\path\to\file.xml")
$extension = New-AzCloudServiceExtensionObject -Name "AntimalwareExtension" -Type "PaaSAntimalware" -Publisher "Microsoft.Azure.Security" -Setting $xmlconfig -TypeHandlerVersion "1.5" -AutoUpgradeMinorVersion $true

# Get existing Cloud Service
$cloudService = Get-AzCloudService -ResourceGroup "ContosOrg" -CloudServiceName "ContosoCS"

# Add Antimalware extension to existing Cloud Service extension object
$cloudService.ExtensionProfile.Extension = $cloudService.ExtensionProfile.Extension + $extension

# Update Cloud Service
$cloudService | Update-AzCloudService

Voici un exemple du fichier XML de configuration privé :

<?xml version="1.0" encoding="utf-8"?>
<AntimalwareConfig
    xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <AntimalwareEnabled>true</AntimalwareEnabled>
    <RealtimeProtectionEnabled>true</RealtimeProtectionEnabled>
    <ScheduledScanSettings isEnabled="true" day="1" time="120" scanType="Full" />
    <Exclusions>
        <Extensions>
            <Extension>.ext1</Extension>
            <Extension>.ext2</Extension>
        </Extensions>
        <Paths>
            <Path>c:\excluded-path-1</Path>
            <Path>c:\excluded-path-2</Path>
        </Paths>
        <Processes>
            <Process>excludedproc1.exe</Process>
            <Process>excludedproc2.exe</Process>
        </Processes>
    </Exclusions>
</AntimalwareConfig>

Ajouter Microsoft Antimalware pour les serveurs compatibles avec Azure Arc

L’exemple de code suivant montre comment ajouter Microsoft Antimalware pour des serveurs compatibles Azure Arc via des cmdlets PowerShell.

Remarque

Avant d’exécuter cet exemple de code, décommentez les variables et fournissez les valeurs appropriées.

# Before you use Azure PowerShell to manage VM extensions on your hybrid server managed by Azure Arc-enabled servers, install the Az.ConnectedMachine module. Run the following command on your Azure Arc-enabled server:
# If Az.ConnectedMachine is installed, ensure the version is at least 0.4.0
Install-Module -Name Az.ConnectedMachine
Import-Module -Name Az.ConnectedMachine

# Specify location, resource group, and machine for the extension
$subscriptionid =" SUBSCRIPTION ID HERE "
$location = " LOCATION HERE " # For example, "Southeast Asia" or "Central US"
$resourceGroupName = " RESOURCE GROUP NAME HERE "
$machineName = "MACHINE NAME HERE "

# Enable Antimalware with default policies
$setting = @{"AntimalwareEnabled"=$true}
# Enable Antimalware with custom policies
$setting2 = @{
"AntimalwareEnabled"=$true;
"RealtimeProtectionEnabled"=$true;
"ScheduledScanSettings"= @{
                            "isEnabled"=$true;
                            "day"=0;
                            "time"=120;
                            "scanType"="Quick"
                            };
"Exclusions"= @{
           "Extensions"=".ext1, .ext2";
                 "Paths"="";
                 "Processes"="sampl1e1.exe, sample2.exe"
            };
"SignatureUpdates"= @{
                              "FileSharesSources"="";
                              "FallbackOrder"="";
                              "ScheduleDay"=0;
                              "UpdateInterval"=0;
                      };
"CloudProtection"=$true
}
# Sign in to Azure
Connect-AzAccount
# Enable Antimalware with the policies
New-AzConnectedMachineExtension -Name "IaaSAntimalware" -ResourceGroupName $resourceGroupName -MachineName $machineName -Location $location -SubscriptionId $subscriptionid -Publisher "Microsoft.Azure.Security" -Settings $setting -ExtensionType "IaaSAntimalware"

Étapes suivantes