Comment désactiver le trafic UDP entrant pour les services Azure

Cet article s’adresse uniquement aux agents du support technique et aux professionnels de l’informatique. Si vous recherchez de l’aide concernant un problème, posez une question à la communauté Microsoft.

Introduction

Cet article d’aide fournit des instructions relatives à la réduction de la surface d’attaque par amplification UDP (User Datagram Protocol). Il contient les informations suivantes :

  • Vue d’ensemble du protocole UDP et des attaques par amplification UDP.

  • Procédure de configuration d’un groupe de sécurité réseau (NSG) Azure pour définir un accès Internet à privilège minimum pour les ports et les protocoles.

  • Procédure de configuration des services pour supprimer la surface d’attaque par amplification UDP si le port est nécessaire pour les serveurs NTP (Network Time Protocol) ou DNS (Domain Name Service) récursifs.

  • Procédure d’exécution d’une analyse Nmap pour vérifier la configuration du groupe de sécurité réseau.

Les utilisateurs doivent suivre les instructions décrites dans cet article pour fermer les connexions UDP entrantes afin de réduire la surface d’attaque.

Résumé

UDP (User Datagram Protocol) est un protocole en mode non connecté. Quand l’accès entrant à Azure Cloud Services est autorisé pour le protocole UDP, cela crée une surface d’attaque qui peut servir pour réaliser une attaque par déni de service distribué par rebond (DRDoS, Distributed Reflective Denial-of-Service) sur des machines virtuelles (VM). L’attaque par amplification UDP est une forme d’attaque par déni de service distribué (DDoS, Distributed Denial-of-Service) qui repose sur des facteurs d’amplification de bande passante et sur des services UDP accessibles publiquement pour submerger le système d’une victime par du trafic’UDP.

Remarque Par défaut, si vous avez créé un groupe de sécurité réseau (NSG), la configuration ferme tous les ports, y compris UDP. De plus, Azure bénéficie d’une protection DDoS au niveau de la plateforme. Par conséquent, les utilisateurs peuvent également ajouter DDoS sur leur couche Service.

Pour en savoir plus sur ce type d’attaque, consultez la page https://www.us-cert.gov/ncas/alerts/TA14-017A.

L’agression par le biais du protocole UDP est une attaque par déni de service (DDoS) distribuée.

Les ports courants suivants sont fréquemment utilisés dans le cadre d’une attaque UDP par rebond : 17 (QOTD), 19 (CharGEN), 53 (DNS), 69 (TFTP), 123(NTP), 161 (SNMP), 389 (CLDAP), 1900 (SSDP), 9987 (interface cible DSM/SCM), 11211 (Memcached). Les utilisateurs sont chargés d’évaluer s’ils doivent exposer publiquement ces ports sur Internet, et fermer tous les ports UDP qui ne sont pas absolument nécessaires. En particulier, si le trafic UDP entrant est nécessaire pour le port 53 (DNS) ou 123 (NTP), les configurations vulnérables (mentionnées dans cet article) doivent être supprimées, car ces deux ports sont très utilisés pour ce type d’attaque.

Protocole

Port UDP

Configuration vulnérable

DNS

53

DNS récursif ouvert à l’Internet public

NTP

123

Commandes d’ouverture de requête et monlist activées

Action recommandée

La procédure suivante permet d’atténuer les effets d’une attaque sur le trafic UDP :

  1. Évaluez la nécessité d’exposer les services à Internet, déterminez les ports UDP entrants qui sont absolument nécessaires pour le fonctionnement correct des services, puis fermez tous les ports UDP non essentiels.

  2. Les utilisateurs qui doivent laisser les ports UDP ouverts peuvent consulter les sections spécifiques de cet article pour obtenir des recommandations relatives à l’écoute NTP et DNS sur les ports UDP. Pour tous les autres ports, consultez la section Ports UDP à fermer.

Le service monlist dans NTP permet d’exécuter des requêtes à des fins de débogage et ne doit être activé temporairement que pour déboguer un problème lié au service. Il peut également être utilisé pour réaliser des attaques UDP par rebond. Dans les packages NTP Daemon (NTPD) antérieurs à la version 4.2.8, ce service est activé par défaut. Les utilisateurs doivent suivre les instructions ci-dessous :

  • Les utilisateurs qui ont besoin de monlist doivent configurer un groupe de sécurité réseau (NSG) pour autoriser l’accès aux adresses IP requises uniquement.

  • Les utilisateurs qui n’ont pas besoin de monlist et qui utilisent un package Linux NTPD antérieur à la version 4.2.8 doivent mettre à jour ce package à la version actuelle et veiller à ce que monlist ne soit pas activé. Les utilisateurs qui ne parviennent pas à mettre à jour le package à une version plus récente doivent configurer le service en suivant la procédure de correction ci-dessous :

  1. Vérifiez la version du package NTPD :

#sudo -i ntpq -c rv

  1. Si la version du package NTPD est antérieure à 4.7p26, exécutez la commande suivante :

#vi /etc/ntp.conf

  1. Ajoutez les lignes ci-dessous, si elles n’existent pas encore :

restrict -4 default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

  1. Redémarrez le service NTP :

# service ntp restart [Debian/ Ubuntu]

# service ntpd restart [Redhat/ Centos]

Remarque 1 : si vous avez installé le package NTPD sous Windows et que des ports sont ouverts, vous devez effectuer la procédure de correction.

Remarque 2 : pour plus d’informations, consultez la page https://www.us-cert.gov/ncas/alerts/TA14-013A.

Remarque 3 : les paquets NTP standard utilisés pour la synchronisation de l’heure (mode 3 et mode 4) ne sont pas concernés. Ainsi, la synchronisation de l’heure est sécurisée, et un serveur peut fournir l’heure uniquement en toute sécurité.

L’exécution d’un programme de résolution DNS récursif ouvert à Internet peut provoquer une attaque UDP sur le service d’un utilisateur et d’autres utilisateurs. Les utilisateurs doivent déterminer la nécessité d’exécuter un service DNS. Si cette exécution n’est pas nécessaire, ils doivent refuser l’accès au port 53 ou désinstaller le service DNS en suivant les instructions correspondant à leur système d’exploitation et à l’implémentation DNS.

Les utilisateurs qui nécessitent l’exécution d’un service DNS pour assurer la résolution de noms de référence, mais pas la récursivité DNS, doivent désactiver cette fonctionnalité en suivant les instructions correspondant à leur système d’exploitation et à l’implémentation DNS (fournies plus loin dans cet article). De plus, dans tous les cas, il est vivement recommandé que l’accès au port 53 dans le groupe de sécurité réseau soit restreint à l’ensemble d’adresses IP nécessaires pour exploiter le service au moyen de privilèges minimum.

Windows : désactiver le paramètre de résolution DNS récursive sur le serveur DNS pour Windows Server 2012, 2016

  1. Ouvrez le Gestionnaire DNS (sélectionnez Démarrer, pointez sur Outils d’administration, puis sélectionnez DNS).

  2. Dans l’arborescence de la console, cliquez avec le bouton droit sur le serveur DNS correspondant, puis cliquez sur Propriétés.

  3. Sélectionnez l’onglet Avancé.

  4. Dans les options du serveur, veillez à ce que la case à cocher Désactiver la récursivité soit activée.

  5. Redémarrez le service DNS (à partir du panneau de configuration Services).

Linux : désactiver la récursivité DNS sur le serveur Bind

  1. Connectez-vous au serveur par SSH (Secure Shell) à l’aide des informations d’identification root.

  2. Une fois la connexion au serveur établie, vérifiez la présence de récursivité DNS dans le fichier named.conf, et recherchez les paramètres :

    cat /etc/named.conf | grep "recursion"

  3. Ouvrez le fichier named.conf dans un éditeur de texte, puis vérifiez les paramètres de récursivité à l’aide de la commande suivante :

    #vi /etc/named.conf

  4. Modifiez les paramètres de récursivité DNS externe uniquement, puis recherchez la section nommée « external ». Si cette section n’est pas disponible, vous pouvez ajouter les lignes suivantes au fichier named.conf pour désactiver la récursivité DNS externe. Insérez les lignes suivantes dans la section « options » :

    allow-transfer {"none";};

    allow-recursion {"none";};

    recursion no;

    Si la section externe est déjà présente, modifiez ses paramètres en remplaçant la valeur recursion par yes (oui) ou no (non), selon vos besoins.

  5. Après avoir apporté les modifications souhaitées, enregistrez le fichier.

  6. Redémarrez le serveur DNS pour que les modifications soient prises en compte. Exécutez la commande suivante pour redémarrer le service DNS :

    service named restart

    Remarque : si vous utilisez un autre serveur DNS propriétaire, consultez la documentation produit correspondante pour désactiver le paramètre de récursivité DNS.

Les utilisateurs doivent fermer les ports UDP entrants à risque élevé en suivant les instructions fournies dans cette section. Il est recommandé que les utilisateurs ferment les connexions entrantes à partir d’Internet sur tous les ports UDP.

Les utilisateurs qui doivent ouvrir un port UDP spécifique à Internet ne doivent ouvrir que ce port et restreindre l’accès entrant aux plages IP qui sont strictement nécessaires (ne pas exposer les ports UDP à l’ensemble d’Internet).

Pour fermer les ports UDP, les utilisateurs peuvent effectuer l’une et/ou l’autre des opérations suivantes :

  • Mettre à jour le modèle ARM pour désactiver le trafic UDP entrant. Cette opération nécessite le redéploiement du modèle NSG. Elle garantit toutefois que les déploiements ultérieurs qui utiliseront ce modèle auront les paramètres de sécurité corrects.

  • Mettre à jour les règles NSG pour restreindre l’accès réseau. Voir Portail Azure, Azure PowerShell, Azure CLI.

Ressources : Informations sur les groupes de sécurité réseau (NSG), Gérer les groupes de sécurité réseau (NSG)

Vérifier la présence de ports UDP ouverts vers Internet

Les utilisateurs doivent s’assurer que les services sont configurés pour interdire les connexions UDP entrantes en vérifiant leurs règles NSG conformément aux instructions figurant dans l’article sur la gestion des groupes de sécurité réseau (NSG). Les utilisateurs peuvent également exécuter une analyse Nmap externe pour s’assurer que les ports UDP sont correctement fermés.

Procédure d’exécution d’une analyse Nmap

Important : Les utilisateurs ne doivent effectuer une analyse que dans leurs plages d’adresses IP pour s’assurer que les autres utilisateurs ne sont pas touchés en respectant les règles d’engagement des tests d’intrusion, ainsi que pour vérifier que l’analyse respecte les conditions d’utilisation des services en ligne de Microsoft.

  1. Installez Nmap.

  2. Vérifiez les paramètres du pare-feu pour vous assurer d’autoriser le trafic UDP sortant pour exécuter l’analyse.

  3. Suivez les instructions relatives à Nmap dans cette section pour effectuer une analyse. Les utilisateurs peuvent également faire appel à l’interface utilisateur graphique Zenmap (l’icône est installée sur le Bureau lors de l’installation de Windows Nmap).

    1. Créez un fichier .csv contenant la liste d’adresses IP à analyser pour un port spécifique (par exemple, port 69).

    2. Exécutez la commande Nmap. Vous pouvez inclure les options suivantes : -sUV (ports UDP) -T4 -p {port à analyser} -Pn {considérer tous les hôtes comme étant en ligne} -iL {liste d’entrée} -oL {liste de sortie} & (indicateur facultatif pour exécution en arrière-plan) :

      nmap -sUV -T4 -Pn -p 69 -iL filename.csv -oX filename.xml &

    3. Vérifiez les ports qui sont le plus souvent utilisés dans les attaques par rebond :

      nmap -sUV -T4 -Pn -p17,19,53,69,111,123,137,161,389,1900,5353,11211 -iL filename.csv -oX filename.xml &

    4. Consultez les résultats pour identifier les ports ouverts éventuels.

  1. Installez Nmap par le biais du gestionnaire de package ou à partir de https://nmap.org/download.html.

Ubuntu / Debian :

sudo apt-get update
sudo apt-get install nmap

Redhat / CentOS :

yum update
yum install nmap [Redhat/ Centos]

  1. Utilisez les commandes Nmap suivantes pour vérifier les ports UDP connus :

    1. Créez un fichier .csv contenant la liste d’adresses IP à analyser pour un port spécifique (par exemple, port 69).

    2. Téléchargez le fichier .csv vers votre machine virtuelle Linux à l’aide de la commande pscp :

      pscp filename.csv admin@remotehost:filename.csv

    3. Exécutez la commande sudo nmap en incluant les options suivantes : -sUV (ports UDP) -T4 -p {port à analyser} -Pn {considérer tous les hôtes comme étant en ligne} -iL {liste d’entrée} -oL {liste de sortie} & (indicateur facultatif pour exécution en arrière-plan) :

      sudo nmap -sUV -T4 -Pn -p 69 -iL filename.csv -oX filename.xml &

    4. Vérifiez les ports qui sont le plus souvent utilisés dans les attaques par rebond :

      sudo nmap -sUV -T4 -Pn -p17,19,53,69,111,123,137,161,389,1900,5353,11211 -iL filename.csv -oX filename.xml &

    5. Une fois le processus terminé, téléchargez le fichier à l’aide de la commande pscp.

    6. Consultez les résultats pour identifier les ports ouverts éventuels.

Exemples d’analyses Nmap

Remarque

Si vous envisagez d’automatiser le processus d’analyse en utilisant les commandes figurant dans ces exemples, sachez que les analyses UDP peuvent être longues, car l’analyseur doit parfois attendre pour détecter le retour de trafic (étape non garantie). Pour des performances optimales, créez une analyse pour chaque port.

Exécutez une analyse Windows à partir de la ligne de commande quand tous les ports sont fermés.

Remarque Étant donné qu’il s’agit d’une analyse Nmap UDP, l’état « open|filtered » peut être interprété comme « fermé ».

La commande suivante permet d’exécuter une analyse Windows :

C:\Users\user\DeskTop>nmap -sUV -T4 -Pn -p17,19,53,69,111,123,137,161,389,1900,5353,11211 23.36.53.224

Analyse Windows nmap

Exécutez une analyse Linux pour la version 1.1.1.1 quand le service DNS est ouvert. Notez que le port DNS 53 n’indique pas « open|filtered », car cet état signale que le port est fermé. Toutefois, les autres ports sont accompagnés de l’état « open|filtered », qui indique qu’ils sont fermés.

La commande suivante permet d’exécuter une analyse Linux :

testuser@testUbuntu:~$ sudo nmap -sUV -T4 -Pn -p17,19,53,69,111,123,137,161,389,1900,5353,11211 1.1.1.1

Analyse nmap Linux

De plus, exécutez les scripts suivants pour vérifier si les services sur les ports 53, 123 et 389 sont configurés de manière incorrecte.

Pour les utilisateurs Linux, chaque commande doit être précédée de sudo.

Pour analyser les programmes de résolution DNS récursifs ouverts :

nmap -sUV -Pn -T4 -p 53 --script=dns-recursion -iL <input_file> -oX <output_file>

Pour une seule adresse IP :

nmap –sU –p53 –script=dns-recursion <Public IP address>

Les packages NTPD dont la version est antérieure à 4.2.8 sont vulnérables aux attaques UDP par rebond par le biais d’une commande monlist. Si la fonctionnalité « restrict noquery » est configurée, une attaque monlist par rebond ne fonctionnerait pas.

Script Nmap permettant d’identifier la vulnérabilité :

nmap -sUV -Pn -T4 -p 123 --script= ntp-monlist -iL <input_file> -oX <output_file>

Pour une seule adresse IP :

nmap -sU -pU:123 -Pn -n --script=ntp-monlist <Public IP address>

nmap -sU -p389 -v -n -Pn <Public IP address>

Afficher les informations LDAP exposées publiquement :

nmap -p 389 --script ldap-rootdse <Public IP address>

Forum aux questions

Il ne s’agit pas d’une configuration recommandée. Toutefois, si vous avez un service dépendant, vous devez renforcer la sécurité en utilisant la signature conformément aux instructions suivantes :

Vous devez consulter les documents suivants pour savoir comment configurer la synchronisation de l’heure pour vos machines virtuelles Azure. Si vous utilisez un package vulnérable pour Linux ou Windows NTPD, vous devez effectuer une mise à jour à la version actuelle.

Apprenez à résoudre les problèmes à l’aide d’Azure Network Watcher : https://docs.microsoft.com/fr-fr/azure/network-watcher/network-watcher-connectivity-overview.

Non. Il s’agit des ports standard pour les services UDP. Toutefois, les services peuvent écouter un autre numéro de port ou le serveur peut exister derrière un équilibreur de charge qui effectue un transfert de port à partir d’un autre port source.

Consultez la page suivante : https://www.us-cert.gov/ncas/alerts/TA14-017A.

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

×