Sécurité

Découverte du pare-feu Windows

Steve Riley

 

Vue d'ensemble:

  • Protection entrante/sortante
  • La plateforme de filtrage Windows
  • L’interface de sécurité avancée
  • Profils de réseau

À l’époque paléo-informatique, personne ne songeait à installer des pare-feu sur des ordinateurs individuels. Quel en aurait été l’intérêt ? Internet était quasiment inconnu, TCP/IP n’existait pas encore et le routage par les protocoles LAN se restreignait à votre bâtiment ou campus. Les données importantes résidaient sur

le macroordinateur ou les serveurs de fichiers : les informations conservées sur les ordinateurs de bureau étaient rarement essentielles et le propre poids de l’ordinateur offrait une certaine part de sécurité physique décente. S’il existait une connexion Internet, des traducteurs de protocoles étaient sans doute prévus, ainsi qu’un routeur de filtrage de paquets (je veux dire « pare-feu »), probablement configuré avec trop de règles et d’exceptions.

Les environnements informatiques modernes ont beaucoup changé depuis cette lointaine époque. Tout est connecté à Internet (et passe maintenant par le protocole TCP/IP) et les périphériques portables sont dorénavant la norme. Votre employeur vous a probablement équipé d’un ordinateur portable, pas parce qu’il vous apprécie, mais parce qu’il souhaite obtenir davantage de vous : il s’attend à ce que vous soyez disponible à tout moment, dès que vous avez cinq minutes et que vous disposiez d’une connexion Wi-Fi. Il est vrai que les portables coûtent plus cher que les ordinateurs de bureau, mais il ne fait aucun doute que cet investissement est remboursé par la productivité. Vous voyez, c’est la portabilité qui les rend si séduisants, pour vous et pour vos adversaires.

Réfléchissez à ceci : sur le temps total de mise sous tension et de connexion de votre portable à un réseau, quel est le pourcentage du temps de connexion à votre réseau d’entreprise ? Si vous êtes comme moi, peut-être 20 pourcent maximum. Ceci signifie que mon portable est en sécurité dans les limites du réseau d’entreprise Microsoft, protégé par les défenses de périmètre du réseau face aux attaques de l’extérieur, 20 pourcent du temps seulement. Mais qu’en est-il des 80 pourcent du temps où mon portable est, dans des buts pratiques, connecté directement à Internet ? (Et je suis souvent connecté au réseau le plus dangereux du monde : le réseau local d’un hôtel, à une conférence sur la sécurité informatique !) Et les fois où je suis connecté au réseau de l’entreprise, qu’en est-il des menaces représentées par d’autres ordinateurs dans cet environnement ?

Les contrôles de sécurité évoluent pour suivre, parfois avec trop de retard, les menaces. Les virus étaient un problème touchant les clients parce que les gens s’échangeaient des disquettes, donc les programmes antivirus apparurent d’abord chez les clients. Ensuite, à mesure que le courrier électronique a pris son essor et que les logiciels malveillants se sont transformés en vers s’appuyant sur la distribution des messages électroniques, les programmes anti-malware ont évolué et sont apparus sur les passerelles de courrier électronique. Avec le développement du Web, les logiciels malveillants se sont transformés en chevaux de Troie et les logiciels anti-programme malveillant se sont penchés sur les serveurs proxy d’accès à Internet. Il s’agit là d’un parcours d’évolution bien compris que personne ne discute.

Appliquons à présent cette logique aux pare-feu. Si un pare-feu représentait une protection suffisante contre les menaces d’hier dans les limites de votre réseau, ce n’est plus le cas car les menaces sont maintenant différentes, elles sont plus sophistiquées et plus répandues. N’oublions pas non plus que les périphériques et les styles de travail ont également beaucoup évolué. Un grand nombre d’ordinateurs contiennent des informations sensibles enregistrées localement et ils passent beaucoup de temps loin du réseau de l’entreprise (c’est-à-dire, en dehors de ses limites). Par conséquent, le pare-feu doit se transformer en mécanisme de protection client individuel. Ne vous méprenez pas : les pare-feu de clients ne sont plus facultatifs. Pour protéger vos ordinateurs de votre propre réseau d’entreprise et d’Internet, des pare-feu de clients sont nécessaires.

Pare-feu de clients et comédie sécuritaire

Beaucoup de gens ne se sont pas rendu compte que la version initiale de Windows® XP incluait un pare-feu de client. Ceci n’est pas vraiment surprenant puisque le pare-feu était désactivé par défaut et qu’il fallait plusieurs clics de souris pour le débusquer. De sa façon plutôt furtive, le pare-feu apparaissait sans véritable indication de son but ou informations sur son utilisation. Mais il marchait. Si vous aviez activé ce pare-feu, vous auriez été à l’abri de Nimda, Slammer, Blaster, Sasser, Zotob et de tous les autres virus essayant de lancer un trafic non sollicité sur votre port réseau. Conscient de l’importance de la protection des clients, Windows XP Service Pack 2 (SP2) a activé le pare-feu par défaut, créé deux profils (Internet et réseau d’entreprise) et permis l’activation de la stratégie de groupe.

Malheureusement, deux obstacles ont ralenti l’adoption du pare-feu Windows XP SP2 : des problèmes d’applications et la comédie sécuritaire. Beaucoup de gens craignaient que le pare-feu n’empêche leurs applications de fonctionner correctement. Toutefois, ceci était rarement le cas en raison de la conception du pare-feu. Le pare-feu permettait à l’ensemble du trafic sortant de quitter votre ordinateur, mais il bloquait tout le trafic entrant ne répondant pas à une requête sortante précédente. La seule occasion à laquelle cette conception entravait le bon fonctionnement d’une application sur un client était si l’application créait un socket d’écoute et comptait recevoir des requêtes entrantes. Le pare-feu Windows XP permettait des configurations simples d’exceptions pour les programmes ou les ports (mais, malheureusement, pas par la stratégie de groupe).

La plus grande force de dissuasion était la comédie sécuritaire jouée par les fabricants d’autres pare-feu de clients. Certains croyaient que la conception du pare-feu Windows XP (en l’occurrence le fait de permettre à tout le trafic sortant de partir sans contraintes) était une fonctionnalité insuffisante pour un pare-feu de client. L’argument était qu’un pare-feu de client suffisant devait bloquer tout le trafic, entrant et sortant, à moins que l’utilisateur n’ait accordé une autorisation particulière.

Réfléchissons-y un moment. Deux scénarios émergent.

  • Si vous intervenez en tant qu’administrateur local et que vous êtes infecté par un logiciel malveillant, le logiciel malveillant désactivera simplement le pare-feu. Vous êtes « 0wn3d ».
  • Si vous n’intervenez pas en tant qu’administrateur local et que vous vous faites infecter par un logiciel malveillant, un pare-feu tiers fera apparaître une boîte de dialogue dans une langue étrangère mentionnant des ports et des adresses IP et une question très sérieuse : « Souhaitez-vous autoriser cette opération ? » Bien entendu, la seule réponse est affirmative. Et une fois que cette boîte de dialogue disparaît, votre sécurité part avec elle. Plus habituellement, le logiciel malveillant détourne simplement une session existante d’un programme que vous avez déjà autorisé et vous ne voyez même pas la boîte de dialogue. Vous êtes toujours « 0wn3d ».

Il existe un axiome de sécurité important que vous devez comprendre : la protection porte sur la ressource que vous souhaitez protéger, pas sur la chose face à laquelle vous essayez de la protéger. L’approche correcte consiste à exécuter le pare-feu Windows, simple quoiqu’efficace, sur chacun des ordinateurs de votre organisation, à protéger chaque ordinateur face à tous les autres ordinateurs du monde. Si vous essayez de bloquer des connexions sortantes depuis un ordinateur qui est déjà compromis, comment pouvez-vous être sûr que l’ordinateur fait vraiment ce que vous lui demandez ? Réponse : vous ne pouvez pas en être sûr. La protection sortante est de la comédie sécuritaire : c’est un truc qui donne seulement l’impression d’améliorer votre sécurité sans faire quoi que ce soit pour améliorer votre sécurité en fait. C’est pourquoi la protection sortante n’existait pas dans le pare-feu Windows XP et n’existe pas dans le pare-feu Windows Vista™. (Je reviendrai sur le contrôle sortant dans Windows Vista dans quelques instants.)

Quelles sont les nouveautés dans Windows Vista ?

La plateforme de filtrage Windows, qui fait partie de la nouvelle pile de réseau, est la base du pare-feu Windows Vista. À l’instar de Windows XP, Windows Vista bloque le trafic entrant par défaut. En fonction du profil utilisé par votre ordinateur, il peut y avoir des exceptions par défaut pour les services réseau (j’aborderai les profils plus tard). Vous pouvez, si vous le souhaitez, écrire des règles pour autoriser des connexions entrantes. Également comme Windows XP, Windows Vista autorise par défaut tout trafic sortant à partir de processus interactifs, mais il limite le trafic sortant depuis les services qui participent à la restriction de services. Et, là aussi, vous pouvez écrire des règles pour bloquer des connexions sortantes supplémentaires.

La grande différence entre Windows XP et Windows Vista est la nouvelle interface de sécurité avancée et la prise en charge de stratégie de groupe intégrale pour la configuration et les règles (voir la figure 1). L’ancienne interface utilisateur du panneau de configuration y est toujours et est quasiment inchangée sauf pour les paramètres de la journalisation et du protocole ICMP (Internet Control Message Protocol), qui se trouvent maintenant dans la nouvelle interface utilisateur. Cette nouvelle interface utilisateur, le composant logiciel enfichable MMC de sécurité avancée, offre toutes les nouvelles fonctionnalités et une grande flexibilité. Il existe également un nouveau contexte dans la commande Netsh, netsh advfirewall, qui vous permet d’écrire des ajouts et des suppressions de règles, de définir et d’afficher des stratégies globales et par profil et d’afficher l’état actif du pare-feu. Et pour vous les développeurs, FirewallAPI.dll et Netfw.H fournissent un contrôle de programmation sur tous les paramètres du pare-feu.

Figure 1 Pare-feu Windows avec sécurité avancée

Figure 1** Pare-feu Windows avec sécurité avancée **(Cliquer sur l'image pour l'agrandir)

La console MMC de sécurité avancée est gérée par des Assistants. Lorsque vous créez une règle, vous pouvez choisir un type parmi quatre : programme, port, prédéfini ou personnalisé. Ces types sont expliqués à la figure 2.

Figure 2 Quatre types de règles

Type Objectif
Programme Utilisée pour autoriser ou bloquer le trafic pour un programme particulier.
Port Utilisée pour autoriser ou bloquer le trafic sur des ports TCP ou UDP particuliers.
Prédéfini Utilise un groupe préexistant de règles pour activer des fonctionnalités Windows sur le réseau (telles que le partage de fichiers et d’imprimantes ou l’assistance à distance).
Personnalisé Expose tous les boutons, cadrans et commutateurs, de sorte que vous pouvez configurer des règles très spécifiques.

Nombreux sont les éléments que vous pouvez référencer lors de l’écriture de règles ; tous sont disponibles pour les règles locales et les règles appliqués par la stratégie de groupe. À savoir : Comptes et groupes d’utilisateurs et d’ordinateurs Active Directory®, adresses IP source et destination, ports TCP et UDP source et destination, numéros de protocole IP, programmes et services, types d’interfaces (câblé, sans fil ou à accès distant) et les types et codes ICMP.

Une fois configuré, le pare-feu traite les règles dans l’ordre suivant :

Restrictions de services Certains des services de Windows Vista se restreindront pour limiter la probabilité d’une autre attaque de style Blaster. Une des restrictions est une liste des ports requis par le service. Le pare-feu met ceci en application et empêche le service d’utiliser (ou d’être prié d’utiliser) un autre port.

Règles de sécurité de connexion La console MMC de sécurité avancée incorpore IPSec, ainsi que le pare-feu. Toutes les règles incluant des stratégies IPSec sont ensuite traitées.

Contournement authentifié Ces règles autorisent des ordinateurs authentifiés spécifiques à contourner d’autres règles.

Règles de blocage Ces règles bloquent explicitement le trafic entrant ou sortant spécifié.

Règles d’autorisation Ces règles autorisent explicitement le trafic entrant ou sortant spécifié.

Les règles de pare-feu sont stockées dans le registre, mais je ne vais pas vous dire où exactement. Bon, d’accord, vous les trouverez aux endroits suivants :

  • HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Defaults\FirewallPolicy\FirewallRule
  • HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules
  • HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\Static\System

Surtout ne modifiez pas les règles directement dans le registre. Si vous le faites, nous vous retrouverons et nous vendrons votre animal de compagnie sur eBay ! Bon, peut-être pas, mais la seule manière prise en charge de modifier des règles consiste à utiliser la console MMC de sécurité avancée.

Profils de réseau

Windows Vista définit trois profils de réseau : domaine, privé et public. Lorsque l’ordinateur est joint à un domaine et qu’il s’est connecté au domaine, l’ordinateur applique automatiquement le profil du domaine (vous n’avez jamais la possibilité de faire ce choix vous-même). Lorsque l’ordinateur est connecté à un réseau interne qui n’a pas de domaine (par exemple, un réseau domestique ou un réseau de petite entreprise), vous (ou un administrateur) devez appliquer le profil privé. Enfin, lorsque l’ordinateur est connecté directement à Internet, vous devez appliquer le profil public.

Comment Windows Vista détermine-t-il l’endroit où placer votre ordinateur ? Quand il existe une modification de réseau (par exemple, s’il reçoit une nouvelle adresse IP ou s’il voit une nouvelle passerelle par défaut ou s’il obtient une nouvelle interface), un service appelé Network Location Awareness (NLA) détecte la modification. Il génère un profil de réseau (qui inclut des informations sur les interfaces existantes, précise si l’ordinateur s’est authentifié auprès d’un contrôleur de domaine, donne l’adresse MAC de la passerelle, et ainsi de suite) et lui attribue un GUID. NLA notifie ensuite le pare-feu et le pare-feu applique la stratégie correspondante (il existe une stratégie définie pour chacun des trois profils).

S’il s’agit d’une nouvelle interface que l’ordinateur n’a jamais rencontrée auparavant et que NLA n’a pas choisi le profil de domaine, vous verrez apparaître une boîte de dialogue qui vous demande d’indiquer le genre de réseau auquel vous vous connectez. Mystérieusement, il y a trois choix : Domestique, Entreprise et Public. Vous pourriez penser qu’Entreprise signifie le profil du domaine, mais en fait ce n’est pas le cas. Souvenez-vous, vous ne voyez jamais le profil du domaine parce que NLA le sélectionne automatiquement lorsque l’ordinateur se connecte à un domaine. En réalité, Domestique et Entreprise correspondent au profil privé. Ils ont les mêmes fonctionnalités ; seules les icônes diffèrent. Remarque : vous devez être administrateur local, ou être capable de vous élever à un administrateur local, pour sélectionner le profil privé. Vous ne saurez pas surpris de savoir que Public correspond au profil public.

Dans Windows Vista, un profil de réseau s’applique à toutes les interfaces de l’ordinateur. Voici un récapitulatif de l’arborescence de décision NLA :

  1. Examinez tous les réseaux connectés.
  2. Une interface est-elle connectée à un réseau classé comme public ? Si c’est le cas, définissez le profil de l’ordinateur sur public et quittez.
  3. Une interface est-elle connectée à un réseau classé comme privé ? Si c’est le cas, définissez le profil de l’ordinateur sur privé et quittez.
  4. Toutes les interfaces voient-elles un contrôleur de domaine et l’ordinateur a-t-il réussi à se connecter ? Si c’est le cas, définissez le profil de l’ordinateur sur domaine et quittez.
  5. Sinon, définissez le profil de l’ordinateur sur public.

L’objectif est de sélectionner le profil le plus restrictif possible. Il existe cependant deux effets secondaires évidents. D’abord, si le port Ethernet de votre ordinateur est connecté à votre réseau d’entreprise et que sa carte de réseau sans fil est connectée au Starbucks d’en bas, l’ordinateur sélectionnera le profil public, pas le profil de domaine. Ensuite, si votre ordinateur est connecté directement à Internet (dans le profil public) ou s’il est connecté à votre réseau local domestique (dans le profil privé) et que vous effectuez une connexion VPN avec votre réseau d’entreprise, votre ordinateur restera dans le profil public ou privé.

Qu’est-ce que cela peut bien vouloir dire ? La stratégie du pare-feu pour le profil de domaine inclut des règles pour l’assistance à distance, l’administration à distance, le partage de fichiers et d’imprimantes, etc. Si vous vous appuyez sur ces règles afin d’accéder à un client à distance, vous n’y parviendrez pas si le client a choisi un autre profil. Mais ne désespérez pas : vous pouvez écrire des règles de pare-feu pour autoriser les connexions entrantes dont vous avez besoin, puis les appliquer uniquement à des connexions VPN. À présent, vous pouvez continuer à gérer vos clients sur le réseau VPN, même lorsqu’ils ne sont pas dans le profil de domaine.

Contrôle des connexions sortantes

J’ai dit plus haut que le formulaire typique de protection sortant dans les pare-feux de client était juste de la comédie sécuritaire. Cependant, une forme de contrôle sortant est très utile : le contrôle administratif de certains types de trafic que vous savez ne pas vouloir autoriser. Le pare-feu Windows Vista fait déjà ceci pour les restrictions de services. Le pare-feu permet à un service de communiquer uniquement sur les ports dont il dit avoir besoin et il bloque toutes les autres tentatives du service. Vous pouvez développer en écrivant des règles supplémentaires qui autorisent ou bloquent un trafic spécifique conformément à la stratégie de sécurité de votre organisation (voir la figure 3).

Figure 3 Assistant Nouvelle règle de trafic entrant

Figure 3** Assistant Nouvelle règle de trafic entrant **(Cliquer sur l'image pour l'agrandir)

Disons, par exemple, que vous souhaitez empêcher des utilisateurs d’exécuter un client de messagerie instantané particulier. Vous pouvez créer une règle (dans la stratégie de groupe, bien entendu) pour bloquer les connexions aux serveurs d’ouverture de session pour ce client.

Toutefois, cette approche a des limites pratiques. Par exemple, Windows Live™ Messenger (que vous connaissez peut-être sous le nom de MSN® Messenger) dispose d’une variété de serveurs qu’il peut utiliser pour se connecter et la liste ne cesse de changer. De plus, il se tournera vers le port 80/tcp si le port par défaut 1863/tcp est bloqué. Il serait trop compliqué de créer une règle pour empêcher Windows Live Messenger de se connecter à ses serveurs d’ouverture de session. Je mentionne ceci pour montrer que le contrôle administratif du trafic sortant peut être utile, mais qu’il ne peut pas remplacer les stratégies de restriction logicielle si vous devez maintenir un contrôle serré sur les logiciels que les utilisateurs sont autorisés à installer et exécuter.

Protéger votre ordinateur

Il n’y a plus de périmètre. Chaque ordinateur est dorénavant responsable de sa propre protection. Tout comme les logiciels anti-programme malveillant sont passés du client au périmètre, les pare-feu doivent passer du périmètre au client. Vous pouvez prendre des mesures immédiates en activant le pare-feu qui est déjà installé.

Que vos systèmes exécutent Windows XP ou que vous soyez déjà passé à Windows Vista, le pare-feu Windows est disponible pour tous vos clients et fournira la protection dont vous avez besoin pour améliorer la sécurité au sein de votre organisation (même lorsque vos employés mobiles sont à des milliers de kilomètres du bureau).

Où en apprendre plus

Steve Riley, stratège en sécurité dans le Trustworthy Computing Group de Microsoft et auteur pour TechNet Magazine, voyage dans le monde entier pour participer à des conférences et aider les clients à sécuriser leurs données. Son dernier ouvrage, consacré à la protection des réseaux Windows, est intitulé « Protect Your Windows Network » (Addison-Wesley, 2005). Vous pouvez le contacter à l’adresse steve.riley@microsoft.com.

© 2008 Microsoft Corporation et CMP Media, LLC. Tous droits réservés. Toute reproduction, totale ou partielle, est interdite sans autorisation préalable.