Note :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, voir Introduction à l' niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles propres à votre environnement en nuage.
Protégez votre réseau interne Oracle Cloud Infrastructure à l'aide d'un pare-feu DNS
Présentation
Il est essentiel de contrôler les actions de vos instances de machine virtuelle afin de pouvoir contrôler leur comportement. Dans la plupart des cas, les requêtes du système de noms de domaine (DNS) sont oubliées et ne sont pas contrôlées ou surveillées, laissant la voie ouverte à une machine compromise pour se connecter aux serveurs de commande et de contrôle (C2) et télécharger des logiciels malveillants, par exemple. La possibilité de contrôler et de bloquer ces interrogations sortantes sur les serveurs C2 et d'autres types de serveurs malveillants, ajoute une couche de sécurité supplémentaire à votre réseau et vous risquez d'éviter que votre machine virtuelle et votre réseau ne soient davantage compromis.
Objectifs
- Utilisez le service DNS privé d'Oracle Cloud Infrastructure (OCI) pour protéger votre réseau OCI interne contre les interrogations DNS sortantes malveillantes en configurant un pare-feu DNS et en ajoutant la journalisation pour avoir un meilleur contrôle et une meilleure visibilité des interrogations DNS de vos instances.
Préalables
-
Accès à une location OCI.
-
Compréhension de base du DNS.
-
Réseau en nuage virtuel (VCN).
Configuration : Par défaut, chaque VCN est créé avec son propre résolveur DNS et, si vous faites attention à la configuration sur des machines Linux, il est configuré dans le fichier
/etc/resolv.conf
avec le contenu suivant (exemple pour Oracle Linux 9) :[opc@linu-lab ~]$ cat /etc/resolv.conf ... nameserver 169.254.169.254
L'adresse IP privée automatique (APIPA)
169.254.169.254
est utilisée dans le réseau OCI pour plusieurs services, notamment le résolveur DNS. -
Un compte pour tout fournisseur de pare-feu DNS (facultatif).
Tâche 1 : Localiser le résolveur DNS dans la console OCI
Assurez-vous qu'un VCN a déjà été créé et cliquez sur le nom du VCN. Dans la page Détails du réseau en nuage virtuel, cliquez sur Résolveur DNS.
Tâche 2 : Configurer un point d'extrémité de réacheminement
-
Sous Ressources, cliquez sur Points d'extrémité et sur Créer un point d'extrémité.
-
Dans la page Créer un point d'extrémité, entrez les informations suivantes et cliquez sur Créer un point d'extrémité.
- Nom : Entrez un nom.
- Sous-réseau : Sélectionnez le sous-réseau où vous voulez que votre point d'extrémité de redirection.
- Type de point d'extrémité : Sélectionnez Transfert.
Cela devrait prendre quelques minutes et lorsque vous aurez terminé, votre redirecteur DNS sera créé. Cela nous permettra de configurer une redirection des requêtes où nous le voulons, dans notre cas vers un pare-feu DNS.
Le résolveur DNS suit un ordre indiquant comment les interrogations des instances sont résolues :
Tout d'abord, il vérifiera toutes les vues privées attachées, puis les règles de résolveur et, en dernier, il utilisera les propres résolveurs Internet publics d'Oracle pour résoudre les noms d'hôte. Pour plus d'informations, voir Configuration et résolution.
Dans l'étape suivante, nous voulons détourner toutes les requêtes qui ne sont pas locales (n'existent dans aucune vue privée) et les envoyer à un service de pare-feu DNS, ou à un autre serveur DNS géré par votre entreprise pour contrôler les requêtes.
Vous pouvez choisir un service gratuit, comme OpenDNS, Quad9, ControlD et bien d'autres, ou choisir un service payant avec beaucoup plus de contrôle et de fonctionnalités, comme Cisco Umbrella, ControlD, NextDNS, InfoBlox et bien d'autres.
Note : Nous n'avons aucune connexion avec les fournisseurs de DNS mentionnés dans la tâche 3. Ils sont utilisés à titre d'exemple en raison de la simplicité, de la facilité d'utilisation et de la configuration. Il existe de nombreux autres fournisseurs offrant des services similaires, trouvez celui qui convient le mieux à vos besoins.
Tâche 3 : Créer une règle de résolveur
-
Utiliser un service de pare-feu DNS gratuit
N'oubliez pas que le résolveur évaluera les règles selon leur ordre et s'arrêtera au premier match. Assurez-vous que si vous avez d'autres règles pour les domaines internes, notre règle est la dernière, afin que nous puissions rediriger toutes les autres requêtes vers notre pare-feu DNS.
Dans ce tutoriel, nous utilisons le service Quad9, c'est un service gratuit qui est très simple à utiliser sans configuration. D'autres services gratuits tels que ControlD vous permettent de configurer plusieurs catégories de requêtes à bloquer.
-
Sous Ressources, cliquez sur Règles et sur Gérer les règles.
-
Dans la page Gérer les règles, entrez les informations suivantes.
-
Condition de règle : Sélectionnez Aucune pour créer un client Satisfaire à tous, ce qui signifie que toutes les interrogations non résolues sur les vues privées ou par les règles précédentes seront détournées vers le transmetteur du résolveur et ne seront pas résolues par le résolveur public Internet OCI.
-
Point source : Sélectionnez le point d'extrémité du transmetteur créé dans la tâche 2.
-
Adresse IP de destination : Nous utilisons les serveurs DNS Quad9
9.9.9.9
.
-
-
Cliquez sur Enregistrer les modifications et attendez quelques minutes pour que le résolveur soit mis à jour.
Toutes vos interrogations d'instance sont envoyées au service de pare-feu DNS Quad9 et bloquées si certaines instances tentent de se connecter à une adresse IP malveillante.
Ou
-
-
Utiliser un service de pare-feu DNS payant
Si vous avez besoin de plus de contrôle, de fonctionnalités et de journalisation, le service gratuit n'est peut-être pas la solution pour votre cas. Les services payants offrent beaucoup plus de contrôle et de fonctionnalités que les services gratuits et peuvent vous permettre de détecter les instances qui effectuent des interrogations suspectes sur des noms d'hôte qu'elles ne devraient pas.
Dans ce tutoriel, nous utiliserons NextDNS, et il y a quelques étapes supplémentaires nécessaires pour le faire fonctionner.
Tout d'abord, vous avez besoin d'un compte, NextDNS offre un niveau gratuit avec jusqu'à 300K requêtes par mois, ce qui devrait être plus que suffisant pour tester le service. Une fois que vous avez le compte, connectez-vous et créez un nouveau profil pour votre VCN.
-
Cliquez sur Nouveau et entrez un nom.
-
Cliquez sur Paramètres et sélectionnez la région dans laquelle les journaux seront enregistrés. Vous pouvez choisir entre les États-Unis, l'Europe ou la Suisse.
-
Cliquez sur Sécurité et sélectionnez comment filtrer et bloquer les adresses IP malveillantes, à l'aide de l'intelligence artificielle, à l'aide de flux et d'autres options.
-
Cliquez sur Confidentialité et ajoutez la liste des adresses IP malveillantes connues, des trackers, des serveurs publicitaires, etc.
-
Vous pouvez également créer des listes de refus et d'autorisation dans les pages DenyList et AllowList.
La meilleure partie pour ce service est les capacités de journalisation et d'analyse. Cela nous a permis de trouver une extension de navigateur sur ordinateur portable faisant des dizaines de milliers de requêtes à un nom d'hôte très étrange, ce qui a entraîné la suppression de l'extension.
-
Maintenant, cliquez sur Configurer et nous pouvons voir qu'il existe différents points d'extrémité, IPv4, IPv6, DoT (DNS sur TLS) et DOH (DNS sur HTTP).
-
Dans ce tutoriel, nous utiliserons IPv4, et nous avons des adresses IP spécifiques pour leurs résolveurs, nous avons juste besoin de lier notre adresse IP, afin que NextDNS sache d'où proviennent les requêtes, afin qu'ils puissent les enregistrer par rapport à votre profil.
Pour cela, nous devons nous connecter à l'une des instances ayant accès à Internet (via NAT) et exécuter la commande suivante pour lier l'adresse IP au profil.
[opc@linux-lab ~]$ curl https://link-ip.nextdns.io/d34ff7/fd11c0xxxxx67cab 158.101.204.149[opc@linux-lab ~]$
Cliquez sur Afficher les options avancées, sur Adresse IP liée et obtenez le lien approprié pour votre profil.
Le script retournera l'adresse IP de la passerelle NAT OCI, utilisée par le résolveur DNS OCI pour effectuer toutes les interrogations.
Il suffit d'apporter une dernière modification à la règle de résolveur pour pointer vers l'adresse IP IPv4 du résolveur NextDNS.
-
Dans la page du résolveur de VCN, cliquez sur Règles et supprimez la règle que nous avons ajoutée précédemment, puis créez-en une nouvelle pointant vers l'adresse IP
45.90.28.43
.Une fois le résolveur DNS OCI mis à jour avec cette modification, toutes les instances internes qui effectuent des interrogations DNS sur ce VCN utiliseront le service de pare-feu NextDNS.
Créer une liste de refus
Nous allons créer une liste de refus et vérifier si elle fonctionne. Allez à la console NextDNS, sélectionnez le profil créé et cliquez sur DenyList. Ajoutez le domaine
malicious.site
et cliquez sur Entrée.Dans l'instance interne, essayez de résoudre l'adresse IP de ce domaine.
[opc@linux-lab ~]$ dig +short A malicious.site 0.0.0.0
Comme prévu, l'interrogation n'est résolue à aucune adresse IP et
0.0.0.0
est retourné, en plus de cela, l'interrogation a été journalisée.L'onglet Analyse commence à afficher des informations sur toutes les interrogations effectuées sur ce profil. Désormais, toutes les interrogations effectuées par des instances internes dans votre VCN utiliseront la règle de résolveur pour transmettre des interrogations au pare-feu DNS.
-
Notes :
Tous ces fournisseurs ont des réseaux anycast et des architectures hautement résilientes et évolutives, qui devraient soutenir la défaillance des serveurs, mais si vous voulez augmenter la résilience de votre propre architecture, vous devez mettre en oeuvre un équilibreur de charge de réseau dans OCI qui sera utilisé en tant que transmetteur sur la règle de résolveur et utiliser les différentes adresses IP fournies par les fournisseurs de DNS en tant que serveurs dorsaux de l'équilibreur de charge de réseau. Si l'une des adresses IP du fournisseur DNS tombe en panne, ce qui serait très inhabituel, l'équilibreur de charge de réseau bascule le trafic vers l'autre adresse IP.
N'oubliez pas que la liste de sécurité du sous-réseau où le transmetteur de point d'extrémité DNS privé est déployé doit permettre aux connexions sur le port UDP (User Datagram Protocol) et le port TCP (Transmission Control Protocol) 53 de recevoir des requêtes DNS.
Ce sous-réseau doit avoir une connectivité Internet au moyen d'une passerelle NAT. Assurez-vous que les listes de sécurité et les tables de routage sont correctement configurées pour le permettre.
Liens connexes
Confirmation
- Auteur - Carlos Jorge Santos (Ingénieur en nuage OCI - Spécialiste du domaine de réseau)
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.
Protect your Oracle Cloud Infrastructure Internal Network using a DNS Firewall
G16356-01
September 2024