Brevet FR2859549A1 — publié le 20050311

DIMENSIONNEMENT AUTOMATIQUE DE DONNEES DE TRADUCTION D'ADRESSE DE RESEAU Contexte de l'invention Les adresses IP sont utilisées depuis longtemps pour acheminer des communications entre des hôtes par le biais du réseau public, par exemple, l'Internet. Les adresses IP publiques sont des adresses qui peuvent être comprises et utilisées par des dispositifs de commutation dans le réseau public pour acheminer des informations entre des hôtes de communication. Des adresses IP privées, d'autre part, sont des adresses associées à des hôtes reliés à un réseau privé. Ces adresses IP privées permettent l'acheminement des informations dans le réseau privé mais elles ne sont pas utilisables pour l'acheminement à travers le réseau public, par exemple, pour faciliter la communication entre un hôte privé et un hôte externe qui réside dans le réseau public. Les hôtes privés sont généralement reliés à l'Internet par le biais d'un pare-feu qui sert, entre autres fonctions, à protéger les adresses de réseau privé contre l'exposition au réseau public. Pour faciliter la discussion, la figure 1 représente une pluralité d'hôtes privés 102, 104 et 106 représentant, par exemple, des ordinateurs et/ou autres dispositifs reliés entre eux dans un réseau privé 108. Chacun des hôtes privés 102, 104 et 106 comprend une adresse IP privée, représentée comme une adresse privée 10.0.1.2, 10.0.1.3 et 10.0.1.4 respectivement pour acheminer les informations dans le réseau privé 108. Le réseau privé 108 comprend un pare-feu 110, qui représente le dispositif destiné à implémenter la sécurité et contrôler l'accès entre les dispositifs associés au réseau privé 108 et un réseau public 112. La figure 1 représente en outre des hôtes publics 114 et 116, qui représentent dans cet exemple des dispositifs reliés au réseau public 112 et connus du réseau public 112 et d'autres dispositifs reliés au réseau public 112 (tels que des hôtes privés 102, 104 et 106 par le biais du pare-feu 110) par des adresses IP publiques respectives 200.10.1.1 et 200.10.1.2. Contrairement aux adresses IP privées associées aux hôtes privés 102, 104 et 106, chacune de ces adresses IP publiques peut être utilisée par le réseau public 112 pour acheminer des informations vers un quelconque autre dispositif qui est couplé au réseau public 112 et qui comprend une adresse IP publique. La communication en direction et en provenance d'un hôte privé, tel que l'hôte privé 102, 104 ou 106, peut être gouvernée par une politique de sécurité. Généralement parlant, une politique de sécurité dicte les restrictions d'accès et de services, le cas échéant, auxquelles un hôte privé est soumis. La liste d'accès est un moyen d'implémenter une politique de sécurité. La figure 2 représente un exemple d'une liste d'accès 202 dans laquelle l'entrée de liste d'accès n 1 permet un service Telnet entre l'hôte public 114 (adresse IP publique 200.10.1.1) et l'hôte privé 102 (adresse IP privée 10.0.1.2). L'entrée de liste d'accès n 2 permet un service HTTP entre l'hôte privé 104 (adresse IP privée 10.0.1.3) et l'hôte public 114 (adresse IP publique 200.10.1.1). L'entrée de liste d'accès n 3 implémente une politique générique, permettant à un quelconque hôte dans le réseau privé 108 de communiquer avec un quelconque hôte public relié au réseau public 112 pour un service FTP. Bien que seuls ces trois exemples soient représentés, une liste d'accès peut implémenter une quelconque politique de sécurité, qu'elle soit générique pour tous les hôtes privés ou spécifique d'un ou plusieurs hôtes privés, pour permettre l'accès à un quelconque hôte public ou ensemble d'hôtes publics pour un quelconque service ou ensemble de services. Comme cela est mentionné, des adresses IP privées ne sont pas utilisables pour acheminer les informations par le biais du réseau public. Par conséquent, une adresse IP privée d'hôte privé doit être traduite en une adresse IP publique, généralement par le pare-feu, afin que la communication ait lieu entre un hôte privé et un hôte public, c'est-àdire, un hôte relié au réseau public et connu du réseau public par une adresse IP publique. Une telle traduction est connue comme une traduction d'adresses réseau ou NAT. Généralement, un pare-feu est configuré avec des données de traduction d'adresses réseau pour réaliser la traduction d'adresse nécessaire pour permettre la communication entre un hôte privé et un hôte public, si une telle communication est permise par la politique ou les politiques de sécurité applicables. Dans l'art antérieur, les données de traduction d'adresse réseau sont configurées manuellement par l'administrateur. Lorsqu'un hôte privé est relié initialement au réseau privé et initialisé, une politique de sécurité peut être créée pour cet hôte privé ou cet hôte privé peut être soumis à une politique de sécurité générique existante. Si l'hôte privé est autorisé à communiquer avec un quelconque hôte public, l'administrateur peut dimensionner manuellement les données de traduction d'adresses réseau en sélectionnant une adresse IP publique dans l'ensemble d'adresses IP publiques disponibles et doit associer manuellement cette adresse IP publique à la nouvelle adresse IP privée de l'hôte privé de sorte qu'une traduction d'adresses réseau future peut être réalisée. L'association entre une adresse IP privée d'un hôte privé et une adresse IP publique à des fins de communication externe est généralement réalisée par l'administrateur 120 de la figure 1 par le biais de la création manuelle d'une ou plusieurs entrées dans une table de traduction d'adresses réseau, telle que la table de traduction d'adresses réseau 302 de la figure 3. Dans l'exemple de la figure 3, l'hôte privé 102 (adresse IP privée 10. 0.1.2) est associé à une adresse IP publique traduite 210.0.0.1, et l'hôte privé 104 (adresse IP privée 10.0.1.3) est associé à une adresse IP publique traduite 210.0.0.2. En consultant une table d'accès 202 de la figure 2 et la table de traduction d'adresses réseau 302 de la figure 3, le pare-feu 110 peut vérifier si un hôte privé est autorisé à accéder à un hôte public donné pour un service donné, et peut réaliser la traduction d'adresses réseau requise si un tel accès est permis. Il existe, cependant, des inconvénients associés à la technique de l'art antérieur de configuration de pare-feu, en particulier en ce qui concerne le dimensionnement des données de traduction d'adresses réseau. Par exemple, l'approche manuelle est sujette aux erreurs, par exemple, l'opérateur humain peut effectuer une erreur de saisie d'une adresse IP pendant la création d'une entrée dans la table de traduction d'adresses réseau, provoquant de ce fait une violation de sécurité. En outre, l'implication de l'administrateur humain dans le dimensionnement manuel de données de traduction d'adresses réseau implique inévitablement un retard, prolongeant de manière désavantageuse le temps requis pour amener un hôte privé à son statut opérationnel. Résumé de l'invention La présente invention concerne, dans un mode de réalisation, un procédé destiné à générer automatiquement des données de traduction d'adresses réseau (NAT) pour permettre à un hôte privé comprenant une adresse IP privée de communiquer avec un hôte public comprenant une première adresse IP publique. L'hôte privé est relié à un réseau privé. L'hôte public est relié à un réseau public. Le procédé comprend de prévoir un logiciel de dimensionnement de traduction d'adresses réseau automatisé, le logiciel, réagissant à un message initié par un parmi l'hôte privé et l'hôte public, consultant une politique de sécurité associée à l'hôte privé pour déterminer si la communication entre l'hôte privé et l'hôte public est autorisée. Le procédé comprend en outre de fournir automatiquement, à l'aide du logiciel et sans une intervention d'opérateur humain après la consultation, si la consultation indique que la communication entre l'hôte privé et l'hôte public est autorisée, dans une base de données une deuxième adresse IP publique. La deuxième adresse IP publique est utilisée comme une parmi une adresse IP source et une adresse IP de destination pour acheminer la communication entre l'hôte privé et l'hôte public à travers le réseau public. Dans un autre mode de réalisation, la présente invention concerne un article de fabrication comprenant un support de stockage de programme comprenant un code lisible par ordinateur intégré à l'intérieur de celuici. Le code lisible par ordinateur est configuré pour générer automatiquement des données de traduction d'adresses réseau (NAT) pour permettre à un hôte privé comprenant une adresse IP privée de communiquer avec un hôte public comprenant une première adresse IP publique. L'hôte privé est relié à un réseau privé. L'hôte public est relié à un réseau public. Il est compris un code lisible par ordinateur pour fournir un logiciel de dimensionnement de traduction d'adresses réseau automatisé. Le logiciel consulte, en réaction à un message initié par un parmi l'hôte privé et l'hôte public, une politique de sécurité associée à l'hôte privé pour déterminer si la communication entre l'hôte privé et l'hôte public est autorisée. Il est en outre compris un code lisible par ordinateur pour fournir automatiquement, dans une base de données utilisant le logiciel sans intervention humaine après la consultation, une deuxième adresse IP publique pour la traduction d'adresses entre l'adresse IP privée et la deuxième adresse IP publique. La deuxième adresse IP publique est utilisée comme une parmi une adresse IP source et une adresse IP de destination pour acheminer la communication entre l'hôte privé et l'hôte public à travers le réseau public, le dimensionnement automatique étant réalisé si la consultation indique que la communication entre l'hôte privé et l'hôte public est autorisée. Ces caractéristiques et d'autres de la présente invention sont décrites de manière plus détaillée ci-dessus dans la description détaillée de l'invention et conjointement aux figures suivantes. Brève description des dessins La présente invention est illustrée à titre d'exemple et non à titre de limitation, sur les figures des dessins en annexe et sur lesquelles des numéros de référence identiques désignent des éléments similaires et sur lesquelles: La figure 1 représente une pluralité d'hôtes privés représentant, par exemple, des ordinateurs et/ou d'autres dispositifs reliés entre eux dans un réseau privé pour faciliter la discussion. La figure 2 représente un exemple d'une liste d'accès. La figure 3 représente un exemple d'une table de traduction d'adresses réseau (NAT). La figure 4 illustre, selon un mode de réalisation de la présente invention, l'exemple de réseau de la figure 1, à l'exception que le parefeu est maintenant pourvu du pilote logiciel de dimensionnement de traduction d'adresses réseau automatique. La figure 5 illustre, selon un mode de réalisation de la présente invention, le procédé implémenté par le pilote logiciel de dimensionnement de traduction d'adresses réseau automatique. La figure 6 illustre, selon un mode de réalisation de la présente invention, les étapes suivies par le pilote logiciel de dimensionnement de traduction d'adresses réseau automatique lorsqu'un hôte privé est supprimé du réseau privé. Description détaillée des modes de réalisation préférés La présente invention est maintenant décrite en détail en référence à quelques modes de réalisation préférés de celle-ci comme cela est illustré sur les dessins en annexe. Dans la description suivante, de nombreux détails spécifiques sont décrits afin de fournir une compréhension précise de la présente invention. Il ressortira, cependant, pour l'homme du métier que la présente invention peut être mise en pratique sans certains de ou tous ces détails spécifiques. Dans d'autres exemples, des étapes et/ou des structures de procédé bien connues ne sont pas décrites en détail afin de ne pas obscurcir inutilement la présente invention. Dans un mode de réalisation, il est proposé un logiciel (code et/ou micrologiciel) avec le pare-feu pour configurer de manière automatique et dynamique les données de traduction d'adresses réseau réactives à des événements tels que l'ajout d'un hôte privé au réseau privé, la suppression d'un hôte privé du réseau privé et/ou le début d'une communication impliquant l'hôte privé. Dans un mode de réalisation, le pilote logiciel contrôle la liste d'accès pour vérifier la politique de sécurité concernant un hôte privé pour lequel la traduction d'adresses IP peut être requise et configure automatiquement la table de traduction d'adresses réseau en fonction de la politique de sécurité vérifiée. Une intelligence est intégrée dans le logiciel pour gérer les situations dans lesquelles plusieurs politiques s'appliquent à l'hôte privé en question, pour vérifier si une adresse IP publique dédiée est requise selon que la communication est entrante ou sortante et pour supprimer automatiquement une entrée de traduction d'adresses réseau lorsque l'hôte privé associé à cette entrée de traduction d'adresses réseau est supprimé du réseau privé. Les caractéristiques et avantages de la présente invention peuvent être mieux compris en référence aux figures et à la description qui suit. La figure 4 illustre, selon un mode de réalisation de la présente invention, l'exemple de réseau de la figure 1, à l'exception que le pare-feu 410 est maintenant pourvu d'un pilote logiciel de dimensionnement de traduction d'adresses réseau automatique 402. Contrairement à la figure 1, le dimensionnement des données de traduction d'adresses réseau au pare-feu destiné à être utilisé pour faciliter la communication en direction et en provenance des hôtes privés est maintenant exécuté automatiquement par le logiciel de dimensionnement de traduction d'adresses réseau automatique 402. Ainsi, des inconvénients associés à la technique de dimensionnement manuel sont éliminés de manière avantageuse. La figure 5 illustre, selon un mode de réalisation de la présente invention, le procédé implémenté par le pilote logiciel 402. Les étapes de la figure 5 sont généralement réalisées pendant le temps d'exécution lorsqu'un changement est apporté à la liste d'accès, par exemple, lorsqu'il existe un ajout ou une suppression d'un hôte privé ou lorsqu'il existe un changement de politique de sécurité qui affecte un ou plusieurs des hôtes privés. Dans un mode de réalisation, la liste d'accès peut être mise à jour automatiquement dans le pare-feu par un logiciel de découverte automatique, qui détecte automatiquement la topologie du réseau privé et/ou l'ajout/la suppression d'un dispositif du réseau privé, notamment l'identité du dispositif ajouté/supprimé. Dans un mode de réalisation, l'attribution d'une adresse IP publique se produit uniquement lorsqu'une communication est initiée (publique vers privée ou privée vers publique). De cette manière, l'ensemble d'adresses IP publiques disponible pour le réseau privé reste libre autant que possible et une adresse IP publique est attribuée uniquement lorsqu'une communication réelle est sur le point de se produire. A l'étape 502, la liste d'accès est consultée pour vérifier, pour un hôte privé, si la communication est autorisée. La communication peut être sortante (c'est-à-dire lancée par l'hôte privé pour communiquer avec un hôte public), entrante (c'est-à-dire lancée par l'hôte public pour communiquer avec l'hôte privé) ou privé à privé (c'est-à-dire depuis un hôte privé vers un autre hôte privé). Si la communication est sortante et est autorisée selon la liste d'accès, une adresse IP publique partagée est attribuée (étape 504) et le logiciel configure la table de traduction d'adresses réseau (506) pour permettre au pare-feu de traduire l'adresse IP privée de l'hôte privé en une adresse publique afin de permettre à la communication entre l'hôte privé et l'hôte public d'avoir lieu par le biais du réseau public. Il est à noter que dans ce cas, l'utilisation d'une adresse IP publique partagée est possible puisque l'hôte public est capable de vérifier, à partir de la communication lancée par l'hôte privé, l'adresse IP publique partagée à utiliser dans l'envoi d'informations en retour vers l'hôte privé. Si la communication est entrante et est autorisée selon la liste d'accès, une adresse IP publique dédiée est attribuée (étape 514) et le logiciel configure la table de traduction d'adresses réseau (étape 516) pour permettre au pare-feu de traduire l'adresse IP privée de l'hôte privé en une adresse publique afin de permettre à la communication entre l'hôte privé et l'hôte public d'avoir lieu par le biais du réseau public. Il est à noter que dans ce cas, une adresse IP publique dédiée est utilisée puisque l'hôte public, étant l'initiateur, connaît uniquement l'hôte privé par l'adresse IP publique dédiée. D'autres part, si la communication est privé à privé et autorisée selon la liste d'accès, aucune traduction n'est requise et ainsi aucune action n'est entreprise par rapport au dimensionnement de la table de traduction d'adresses réseau (étape 518). La figure 6 illustre, selon un mode de réalisation de la présente invention, les étapes suivies par le pilote logiciel 402 lorsqu'un hôte privé est supprimé du réseau privé. Comme cela est mentionné, la suppression d'un hôte privé du réseau privé peut être vérifiée automatiquement (602), par exemple, par un mécanisme de découverte automatique ou par le biais d'un autre mécanisme de notification. A l'étape 604, l'entrée de traduction d'adresses réseau associée à l'hôte privé supprimé est supprimée de la table de traduction d'adresses réseau. La présente invention est particulièrement bien adaptée pour gérer des politiques de sécurité génériques. Une politique de sécurité générique peut être définie comme une politique de sécurité qui s'applique à un hôte privé en fonction de facteurs autres que l'identité spécifique de l'hôte privé. Une entrée de liste d'accès n 3 sur la figure 2 est un tel exemple, dans lequel le facteur est le type de service (FTP dans ce cas). Ainsi, selon l'entrée de liste d'accès n 3, un quelconque hôte privé, quelle que soit son adresse IP privée spécifique, peut réaliser un service FTP avec un quelconque hôte public. Dans le cas d'une politique générique, le logiciel peut être configuré pour fournir la table de traduction d'adresses réseau pour l'hôte privé affecté uniquement lorsque cela est nécessaire. Contrairement à l'art antérieur dans lequel l'administrateur doit configurer manuellement une entrée de traduction d'adresses réseau pour chacun des hôtes privés affectés dès lors qu'il existe une politique générique, la présente invention élimine de manière avantageuse cette étape laborieuse. En ce qui concerne la politique générique de l'entrée de liste d'accès n 3 de la figure 2, par exemple, la création d'une telle politique signifie que l'administrateur, dans l'art antérieur, doit créer manuellement un grand nombre d'entrées de traduction d'adresses réseau pour permettre à chaque hôte privé relié au réseau privé d'utiliser le service FTP avec un hôte public. Avec la présente invention, l'attribution d'une adresse IP publique attribuée est réalisée uniquement lorsque le service FTP requis, soit par l'hôte privé ou par l'hôte public. L'efficacité est optimisée puisque l'attribution ne requiert pas l'implication humaine et par conséquent, ne souffre pas d'erreurs humaines induites. En outre, le dimensionnement de traduction d'adresses réseau implémenté par logiciel se produit automatiquement et à une vitesse d'ordinateur, ce qui est sensiblement plus rapide que ce qui peut être réalisé manuellement par un administrateur humain. En outre, les adresses IP publiques attribuées ne sont pas gaspillées puisque l'attribution peut se produire uniquement lorsque la communication est sur le point de commencer. Dans le cas d'une politique générique comme l'entrée de liste d'accès n 3 sur la figure 2, les 2859549 14 entrées de traduction d'adresses réseau sont générées automatiquement pour tous les dispositifs auxquels la politique générique s'applique dans le sous-réseau privé. Les entrées de traduction d'adresses IP sont de préférence générées avant que la communication ne soit sur le point de commencer, c'est-à-dire avant que la liste d'accès sur le pare-feu ne soit configurée. Il doit être noté que pendant l'étape d'attribution 504 et 514, le logiciel est assez intelligent pour vérifier si l'hôte privé s'est déjà vu attribuer une adresse IP publique, par exemple en consultant la table de traduction d'adresses réseau existante. Par exemple, il peut exister deux politiques de sécurité affectant un hôte privé unique. Dans ce cas, l'attribution peut se produire une seule fois, c'est-à-dire, le logiciel n'attribue pas deux adresses IP publiques différentes à l'hôte privé dans ce cas. Comme cela peut être apprécié de ce qui précède, la présente invention élimine de manière avantageuse les erreurs humaines potentielles induites associées à la technique de dimensionnement de traduction d'adresses réseau manuel. En outre, le dimensionnement automatique de données de traduction d'adresses réseau à une vitesse d'ordinateur en fonction, par exemple, d'un changement de politique de sécurité et/ou d'un changement de liste d'accès et/ou d'une notification provenant du mécanisme de découverte automatique ou provenant d'autres mécanismes de notification concernant l'ajout/la suppression d'un hôte privé, raccourcit sensiblement le temps requis pour mettre à jour les données de traduction d'adresses réseau pour un acheminement de communication précis. Alors que la présente invention a été décrite en termes de plusieurs modes de réalisation préférés, il existe des modifications, permutations et similaires qui tombent dans la portée de la présente invention. Il doit également être noté qu'il existe de nombreuses variantes d'implémentation des procédés et dispositifs de la présente invention. Il est, par conséquent, visé que les revendications suivantes soient interprétées comme comprenant toutes ces modifications, permutations et similaires selon la portée réelle de la présente invention. 16 REVENDICATIONS 1. Procédé destiné à générer automatiquement des données de traduction d'adresses réseau (NAT) pour permettre à un hôte privé (102) comprenant une adresse IP privée de communiquer avec un hôte public (114) comprenant une première adresse IP publique, ledit hôte privé étant relié à un réseau privé (108), ledit hôte public étant relié à un réseau public (112) , comprenant. fournir un logiciel de dimensionnement de traduction d'adresses réseau automatisé (402), ledit logiciel, en réaction à une communication initiée par un parmi ledit hôte privé (102) et ledit hôte public (114), consultant une politique de sécurité (502) associée audit hôte privé (102) pour déterminer si ladite communication entre ledit hôte privé (102) et ledit hôte public (114) est autorisée; et si ladite consultation indique que ladite communication entre ledit hôte privé et ledit hôte public est autorisée, dimensionner automatiquement, à l'aide dudit logiciel et sans intervention d'un opérateur humain après ladite consultation, dans une base de données une deuxième adresse IP publique (504/514) pour une traduction d'adresse entre ladite adresse IP privée et ladite deuxième adresse IP publique, ladite deuxième adresse IP publique étant utilisée comme une parmi une adresse IP source et une adresse IP de destination pour acheminer ladite communication entre ledit hôte privé (102) et ledit hôte public (114) à travers ledit réseau public (112). 2. Procédé selon la revendication 1, dans lequel ladite politique de sécurité est implémentée à l'aide d'une liste d'accès (202). 3. Procédé selon la revendication 2, dans lequel ladite deuxième adresse IP publique représente une adresse IP publique partagée (504) si ladite communication est initiée par ledit hôte privé. 4. Procédé selon la revendication 2, dans lequel ladite deuxième adresse IP publique représente une adresse IP publique dédiée (514) si ladite communication est initiée par ledit hôte public. 5. Procédé selon la revendication 1, dans lequel ladite base de données représente une table de traduction d'adresses réseau (NAT) (302). 6. Procédé selon la revendication 1, comprenant: la détection (602) d'une suppression dudit hôte privé dudit réseau privé ; et la suppression (604), à l'aide dudit logiciel, de ladite deuxième adresse IP publique de ladite base de données en réaction à ladite détection de ladite suppression dudit hôte privé. 7. Procédé selon la revendication 1, dans lequel ladite politique de sécurité représente une politique 30 de sécurité générique. 8. Procédé selon la revendication 7, comprenant en outre la génération automatique de données de traduction d'adresses réseau pour tous les hôtes privés affectés par ladite politique générique après que ladite politique générique est modifiée à l'aide dudit logiciel.