Firewalls
Choisissez votre firewall
Il existe trois principaux types de firewalls : « stateless », « stateful » et « next-generation ».
Les firewalls « stateless » et « stateful » inspectent tous deux les headers des paquets avant de prendre une décision ; dès lors, ils examinent uniquement l’adresse IP et le port, la source et la destination. En outre, le firewall « statefull » stocke des informations concernant les connexions actives. Lorsqu'une connexion est ouverte, le firewall recherche et met à jour son enregistrement d'état interne à mesure que de nouveaux paquets sont inspectés. Cela lui permet de détecter des anomalies. Par exemple, une réponse DNS sans demande correspondante.
C'est pourquoi nous recommandons toujours d’utiliser un firewall « stateful » et non un « stateless ».
En revanche, un Next-Generation Firewall (NGFW) peut inspecter la totalité des paquets. Les capacités de traitement et donc le prix sont bien sûr plus élevés. Mais il s'agit de la meilleure technologie firewall actuellement disponible sur le marché.
Système
En règle générale, nous entendons réduire autant que possible la surface d'attaque de nos systèmes, et tout ce qui reste accessible doit être étroitement contrôlé.
Nous nous concentrerons tout d'abord sur la configuration et la maintenance du firewall proprement dit. À ce titre, nous devons insister sur l'utilisation de comptes nominatifs, idéalement authentifiés à l’aide d’un directory service grâce au protocole LDAP, avec une authentification multi-facteurs et un certificat valide pour une bonne sécurité.
Apprenez-en plus en lisant notre papier à propos du Multi-Factor Authentication : https://www.cert.be/fr/paper/mieux-proteger-les-comptes-grace-lauthentification-multifacteur
Le compte de service utilisé pour interroger l'active directory doit avoir le moins d’accès possible.
Tous les comptes nominatifs doivent respecter le principe du « moins d’accès possible ». À titre d’exemple, un analyste doit seulement avoir un accès en mode lecture, alors qu'un administrateur peut avoir un accès en mode lecture et écriture. Idéalement, ces paramètres doivent être configurés à l’aide de groupes de rôles dans le directory service pour éviter d'avoir différents droits de configuration. Les informations d'identification de l'administrateur local doivent être conservées en lieu sûr et ne jamais être utilisées, à moins qu'il n'y ait pas d'autre solution.
La liste des comptes ayant accès au firewall doit être mise à jour au fil des arrivées et départs de collaborateurs, ainsi que des changements de fonction. Cette liste doit être revue au moins une fois par an.
En termes de configuration du réseau, il faut absolument consacrer une interface physique du firewall à l'accès de l’administration dans le VLAN de l’administration. Il faut veiller à désactiver les interfaces réseau qui ne sont pas utilisées, toujours dans l’idée de réduire la surface d'attaque. Il
est également important que le firewall dispose de routes statiques pour tous les réseaux internes qui ne sont pas directement connectés au firewall, afin d'éviter toute usurpation du DNS et d'éventuelles attaques par spoofing.
Politique de filtrage
Lorsque vous configurez votre politique de filtrage, nous vous recommandons d'utiliser des règles explicites. Cela signifie que vous devez écrire tout ce que vous voulez faire, dans un ordre logique, sans tenir compte de règles implicites qui pourraient être intégrées dans le firewall. En outre, cette méthode facilite la compréhension et l’application des règles pour vous et les futurs administrateurs. Elle permet aussi d'affiner plus facilement les paramètres spécifiques d'une règle, par exemple choisir de ne pas enregistrer un trafic bruyant bien connu.
Appliquez aussi le principe du « least privilege » : ouvrez seulement les ports nécessaires au bon fonctionnement du business et des travailleurs, mais sans plus. Ne refusez pas non plus catégoriquement d’ouvrir tout nouveau port, mais agissez plutôt en « bon père de famille ».
Tout ce que la politique de filtrage n’autorise pas explicitement doit également être explicitement bloqué. C'est pourquoi, à la fin de votre configuration, vous devez absolument définir une règle finale de blocage et d’enregistrement.
Afin d'examiner de plus près l'ordre logique des règles, qui les rend plus efficaces, plus faciles à lire et à appliquer, nous les diviserons en trois types :
- La protection du firewall :
- autoriser et enregistrer les flux vers le firewall (typiquement pour l’administration), et les flux émis par le firewall (typiquement pour les mises à jour) ;
- bloquer tout flux réseau à destination du firewall. Cette règle devrait évidemment être enregistrée, et nous devrions nous assurer qu’elle couvre chaque interface du firewall.
- Les règles du business :
- autoriser tous les flux du réseau business de la manière la plus précise possible et les enregistrer.
- Les règles en matière de bruit :
- si nécessaire, désactiver l'enregistrement des bruits connus.
- Le blocage final :
- bloquer et enregistrer tout ce qui n'est pas autorisé précédemment. Dans certaines configurations, ce blocage peut également être placé au début. Cela bloquera tout, sauf ce qui sera autorisé après mais, dans ce cas, il enregistrera tout le trafic. Mais l'idée reste la même.
Voici, un exemple d’aperçu succinct de ce à quoi cela doit ressembler :
Source | Destination | Destination service | Action |
Allowed flows to the firewall |
[ADMIN_NET] | admin_interface | HTTPS | Allow + log |
[DISTANT_OFFICE] | external_interface | IPSEC | Allow + log |
Allowed flows from the firewall |
internal_interface | [UPDATE_SERVERS] | HTTPS | Allow + log |
external_interface | [DISTANT_OFFICE] | IPSEC | Allow + log |
Firewall protection |
any | [ALL_INTERFACES] | any | Block + log |
Allowed business traffic |
proxy | internet | HTTPS | Allow + log |
[USERS_NET] | [ADDS_SERVERS] | AD | Allow + log |
[MAIL_SERVERS] | internet | SMTP | Allow + log |
Noise rules |
[USERS_NET] | users_net_broadcast | SMB_BROADCASTS | Block |
Final block |
any | any | any | Block + log |
Forward Proxies
Nous voulons garder le contrôle des connexions Internet sortantes pour détecter le trafic « Command & Control (C2) » ou les canaux cachés et bloquer l'accès aux malwares ou aux sites Internet malveillants. C’est le rôle du proxy.
Position et cryptage
Le proxy doit disposer de capacités suffisantes pour décrypter et analyser le trafic. À cette fin, le serveur proxy agit en tant que passerelle entre l'utilisateur et le serveur de destination, traitant toutes les demandes et réponses au nom de l'utilisateur. Cette position permet au proxy de lire le contenu de chaque connexion et d'appliquer le filtrage souhaité.
Le proxy doit également assurer une connexion sécurisée entre lui et les autres acteurs impliqués. Il utilise idéalement TLS 1.3, tout en veillant à ne jamais autoriser la rétrogradation des méthodes de cryptage. Cela signifie que nous voulons utiliser des proxies explicites plutôt que des proxies « bump-in-the-wire » (ou transparents), qui ne fonctionnent plus efficacement avec le trafic crypté.
En outre, le proxy doit disposer de toutes les capacités modernes d'analyse des protocoles : HTTPv3, QUIC, DoT, DoH, DoQ, media streaming, etc.
Nous voulons être en mesure de capter la télémesure du réseau pour identifier les anomalies (très utile pour la détection d’exfiltrations), et les captures du réseau (PCAP) pour rechercher les menaces ultérieurement. L'enregistrement du « HTTP header » est également intéressant pour identifier les fuites de données. Ce n'est pas l'objet du présent document, mais si vous souhaitez obtenir davantage d'informations ou connaître les méthodes de mise en œuvre, vous pouvez consulter l'article suivant : https://cqr.company/web-vulnerabilities/information-leakage-via-http-headers/.
Authentification de l'utilisateur
Cette fonction détermine la manière dont les appareils des utilisateurs sont validés lorsqu'ils accèdent à Internet. L'authentification par proxy doit être activée pour pouvoir créer de nouvelles règles pour les utilisateurs ou les groupes.
Il existe deux méthodes d’identification d’un utilisateur : à l’aide de l'adresse IP de son appareil ou d’un nom d'utilisateur et un mot de passe. Si la deuxième option est clairement la meilleure, elle ne pourra être appliquée à chaque composant de votre réseau, comme les serveurs. Nous établirons alors une liste d'hôtes sources et de destinations autorisés en fonction des besoins techniques (mise à jour des serveurs). En effet, pour les cyberpirates, l’accès des serveurs à Internet est le moyen le plus facile pour exfiltrer des données. Tout accès non authentifié ou non autorisé doit être bloqué.
Grâce à l'authentification des utilisateurs, le proxy doit être en mesure de détecter les administrateurs locaux ou de domaine, les comptes autorisés ou les comptes de service et ainsi de bloquer leur accès à Internet.
Configuration des hôtes
Dans le cas d'un proxy explicite, nous utilisons généralement un fichier Proxy Auto-Configuration (PAC) ou Web Proxy Auto-Discovery (WPAD) qui décrit à l'hôte client comment il doit accéder aux ressources en fonction de son URL, de son nom d'hôte ou de son IP. Ce fichier doit être stocké de manière à ce que les utilisateurs (non externes) puissent y accéder facilement et rapidement ; seuls les utilisateurs autorisés appropriés peuvent le modifier. Ce fichier permet aussi de configurer certaines connexions en contournant le proxy (DIRECT), mais les risques que cela comporte doivent être soigneusement pris en compte.
Configuration du proxy
En termes de politique, le proxy doit être configuré pour :
- restreindre les executables, libraries, scripts, installers ou toute autre application à une liste préapprouvée ;
- restreindre les capacités de téléchargement des types de fichiers non approuvés ;
- bloquer les contenus actifs ou impossibles à scanner, comme les macros ou les fichiers cryptés ;
- profiter de la catégorisation des sites Internet, généralement fournie par le fournisseur, pour autoriser uniquement l'accès aux sites Internet en fonction des besoins du rôle de l'utilisateur. Étant donné que les sites de logiciels malveillants changent régulièrement, il serait judicieux de bloquer les nouveaux sites ou les sites non classés ;
- détecter et bloquer les logiciels malveillants via l'heuristique, la réputation et la signature.
Network Access Control (NAC)
Si l'on veut réduire les risques qu'un appareil malveillant soit physiquement connecté au réseau, une solution est d’implémenter un Network Access Control (NAC). Il permet en effet de vérifier les niveaux d'autorisation et d'accès de chaque appareil ou utilisateur avant qu'il ne se connecte au réseau. L'appareil ou l'utilisateur qui se connecte est d'abord placé dans un VLAN distinct et, si l'authentification et l'autorisation sont validées, il est alors connecté au réseau principal.
Bien que la mise en œuvre de ces solutions n’est pas l’objet du présent document, voici néanmoins quelques recommandations de base :
- l'authentification MAC peut être facilement contournée en usurpant l’adresse MAC ; il est dès lors préférable d'utiliser en priorité l'authentification 802.1x ;
- certains appareils comme les imprimantes ne supportent généralement pas le protocole 802.1x, ils doivent être placés sur un autre réseau ;
- comme un cyberpirate peut placer un hub et utiliser le mode d’authentification d'un appareil légitime pour s'introduire sur le réseau, il est préférable de réduire le délai de réauthentification des appareils ;
- tous les ports réseau inutilisés doivent être désactivés ;
- les informations comme les adresses IP ou MAC doivent être étroitement contrôlées parce que, si elles sont visibles, les cyberpirates ont plus de facilités à mener une attaque ;
- il faut apprendre aux employés à poser des questions et à informer les personnes compétentes s'ils sont témoins de la connexion de nouveaux appareils nouveaux ou d’appareils suspects ;
- le NAC permet de surveiller un certain nombre d'éléments qui peuvent être révélateurs d'une attaque :
- un lien qui passe inhabituellement de « up » à « down »
- modifications de la vitesse du réseau et du duplex
- modifications de la taille de l’écran
- changements dans les TTL
Un NAC peut authentifier l'utilisateur, tout en validant la configuration de sécurité de l'hôte client pour voir si elle satisfait aux politiques de sécurité. Par exemple, un antivirus à jour, etc.
Virtual Private Networks (VPN)
Les VPN sont utilisés pour connecter par Internet des hôtes ou des réseaux séparés, le tout de manière sécurisée et confidentielle.
Il existe de nombreux types de VPN, nous nous concentrerons ici sur les deux principaux, à savoir les solutions VPN IPsec et SSL. La principale différence se situe au niveau du protocole : IPSec est intégré dans TCP/IP, tandis que SSL/TLS est une couche supplémentaire à TCP/IP.
Quelle que soit la technologie VPN choisie, il est primordial de respecter les mesures de sécurité d’usage en fonction de ce qui est disponible : authentification appropriée, contrôle d'accès approprié et logging appropriée. Ces mesures ne sont pas l’objet du présent document et seront abordées dans d'autres publications.
IPsec
Les VPN IPsec sont composés de trois protocoles principaux : Internet Key Exchange (IKE), Authentication Header (AH) et Encapsulating Security Payload (ESP).
- IKE est d'abord utilisé pour l'authentification des deux parties par un échange de clés et crée ainsi ce que l'on appelle une « association de sécurité » entre deux appareils. IKE prend en charge les Pre-Shared Keys (PSK) et l'authentification par certificat. Pour une meilleure sécurité, nous devrions utiliser des certificats signés par une autorité de certification fiable.
- AH permet aux deux parties de la communication de s'assurer que les paquets n'ont pas été altérés en cours de transit. À la source, le résultat du calcul, appelé Integrity Check Value (ICV), est placé dans un en-tête spécial. Le destinataire effectue le même calcul et compare son résultat à la valeur ICV pour authentifier l'intégrité du paquet. AH ne fournit aucune encryption.
- ESP est responsable du cryptage du message, réalise à l’aide des clés symétriques échangées précédemment.
Si vous utilisez un concentrateur VPN, nous vous recommandons d'activer Dead Peer Detection (DPD). Il s'agit d'un mécanisme qui permet aux deux parties d'un tunnel IPsec de détecter si l'autre partie n'est plus joignable et de supprimer l'association de sécurité IKE.
Pour aller plus loin, il est possible de disposer d'une référence actualisée et de pointe pour tout ce qui concerne les mécanismes de cryptage dans le NIST Special Publication 800-77.
SSL VPN
Les SSL VPN fonctionnent en grande partie de la même manière que les autres technologies SSL/TLS, comme HTTPS. Concrètement, cela signifie que le tunnel est établi en quatre étapes, à savoir la poignée de main initiale, l'authentification du serveur, la négociation du chiffrement et l'échange de clés. Les données sont ensuite acheminées dans le tunnel créé pour les terminaux ou les réseaux pour lesquels il a été configuré, avec les mécanismes de cryptage et les clés qui ont été négociés.
Comme il s'agit d'une norme très répandue, la mise en œuvre et la maintenance de ces tunnels sont très faciles.
Cependant, n'oubliez pas de choisir un certificat de taille raisonnable (RSA 2048 bits pour un certificat Let's Encrypt est plus que suffisant). Ce merveilleux outil de la Fondation Mozilla devrait vous être d'une grande aide : https://ssl-config.mozilla.org/
Il vous évite de faire des erreurs lorsque vous avez besoin d'une configuration SSL pour un service que vous ne connaissez pas très bien.
Voici les recommandations minimales habituelles pour utiliser des algorithmes de cryptage dans les SSL VPN au moment de la publication :
Setting | Recommendation |
Cipher | AES-GCM, AES-CTR, AES-CBC, AES-CCM (128, 192, 256-bit keys) |
Handshake | RSA, DSA, ECDSA with 128-bit security strength : minimum RSA or DSA with 3072-bit key or ECDSA with 256-bit key |
Hash authentication | HMAC-SHA256, HMAC-SHA384, HMAC-SHA512 |
Perfect Forward Secrecy (PFS) | DH14 to DH21 |
Source: ANSSI - Agence Nationale de la Sécurité des Systèmes d’Information. (2020, January 1). Guide des mécanismes cryptographiques. ANSSI. https://www.ssi.gouv.fr/uploads/2021/03/anssi-guide-mecanismes_crypto-2.04.pdf
Surveillance du trafic
IDS/IPS
Les IDS (Intrusion Detection Solution) et les IPS (Intrusion Protection Solution) sont des solutions qui permettent de détecter et éventuellement de bloquer toute menace sur le réseau. Vous trouverez plus de détails dans l'un de nos prochains articles.
WAF
Les WAF (Web Application Firewalls) sont des dispositifs placés devant un serveur Internet qui protègent les services Internet contre les attaques au niveau applicatif. Cette technologie sera abordée dans un autre article.