Bien qu'il soit recommandé aux développeurs d'utiliser les API INetFWAuthorizedApplication pour tous les autres scénarios, il est conseillé d'utiliser des API de port global dans le Pare-feu Windows pour les services qui écoutent des ports fixes. Dans la mesure où ces ports sont toujours ouverts, leur ouverture dynamique n’offrirait que peu d’avantages. En revanche, les utilisateurs ont la possibilité de personnaliser les paramètres du pare-feu pour ces ports fixes lorsque les interfaces API de port global sont utilisées.
Voici des exemples de services nécessitant des connexions entrantes :
-
Partage de fichiers et d'imprimantes
-
Architecture UPnP
-
Bureau à distance
Lorsqu'un service doit écouter un port fixe, il doit demander à l’utilisateur s’il souhaite permettre au service d'ouvrir des ports dans le pare-feu. De préférence, ceci doit se faire lors de l'installation du service.
Si l'utilisateur accepte, le service doit alors utiliser l'API INetFwOpenPort pour ajouter des règles au Pare-feu Windows pour le ou les ports fixes dont il a besoin. Ces règles doivent être activées.
Si l'utilisateur refuse, le service doit alors quand même utiliser l'API INetFwOpenPort pour ajouter des règles au Pare-feu Windows pour le ou les ports fixes dont il a besoin. En revanche, ces règles ne doivent pas être activées.
Lors de l'utilisation de l'API INetFwOpenPort pour ajouter une ouverture de port au Pare-feu Windows, les valeurs suivantes sont requises :
-
Protocole. Spécifie le protocole réseau utilisé par le service, TCP ou UDP.
-
Port. Numéro du port devant être ouvert.
-
Nom convivial. Description de l'ouverture du port qui sera visible dans l'interface utilisateur du Pare-feu Windows.
Pour plus d'informations sur l'API INetFwOpenPort, voir « InetFwOpenPort » dans le Kit de développement logiciel (SDK) de la plate-forme, sur le site Web MSDN à l'adresse http://go.microsoft.com/fwlink/?LinkId=35316 (en anglais).
Lorsqu'un service est désactivé, il doit quand c'est possible utiliser l'API INetFwOpenPort pour fermer les ports statiques qu'il a ouverts. Cela ne pose aucun problème lorsque les ports sont utilisés par un seul service. En revanche, si le service partage ces ports avec d'autres services, il doit fermer les ports uniquement s'il peut s'assurer qu'aucun autre service ne les utilise.
Une application doit être exécutée dans le contexte d'un utilisateur doté de droits d'administrateur pour pouvoir ouvrir des ports de manière statique dans le Pare-feu Windows.
Remarques |
|---|
Lorsqu'il ouvre des ports de manière statique via l'API INetFw, un service doit quand c'est possible se limiter au trafic provenant du sous-réseau local.
Les services doivent obtenir l'accord de l'utilisateur avant d'ouvrir des ports de manière statique dans le Pare-feu Windows. Un service ne doit jamais ouvrir de ports automatiquement sans en informer l'utilisateur. |