Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

gRPC Security

devsecops

Définition

gRPC Security couvre les pratiques de sécurisation de gRPC (Google Remote Procedure Call), un framework open source de RPC haute performance développé par Google utilisant Protocol Buffers comme format de sérialisation et HTTP/2 comme protocole de transport. gRPC est largement adopté dans les architectures de microservices pour les communications service-à-service. Ses caractéristiques techniques spécifiques introduisent des vecteurs de sécurité distincts de ceux des APIs REST classiques. La sécurité du transport en gRPC s'appuie sur TLS (HTTPS/HTTP2), obligatoire pour les communications en production. Le support natif de mTLS (Mutual TLS) dans les bibliothèques gRPC facilite l'authentification service-à-service sans couche applicative supplémentaire — une caractéristique que les service meshes comme Istio exploitent pour implémenter mTLS transparent entre les microservices gRPC. L'authentification dans gRPC se fait typiquement via les Metadata (équivalents des headers HTTP) : les tokens JWT ou OAuth2 sont transmis comme metadata "authorization: Bearer token". gRPC supporte les "call credentials" (credentials per-call) et les "channel credentials" (credentials pour toute une connexion), permettant des niveaux de granularité différents selon les cas d'usage. Les vulnérabilités spécifiques à gRPC incluent : la désérialisation des Protocol Buffers (des champs malformés peuvent causer des paniques ou des comportements inattendus dans les parsers), les streaming RPC (les streams bidirectionnels ouvrent des vecteurs d'attaque spécifiques comme les stream exhaustion attacks), l'absence de rate limiting natif (gRPC n'implémente pas de rate limiting par défaut, nécessitant une couche externe ou l'utilisation d'interceptors), et les reflection attacks (gRPC Server Reflection permet à des clients non autorisés de cartographier les services disponibles). Les outils de test de sécurité gRPC incluent grpc-tools (CLI pour tester les services), Evans (gRPC client interactif), et des extensions Burp Suite/OWASP ZAP pour l'inspection du trafic gRPC (nécessitant une configuration spéciale du proxy pour HTTP/2).

TLS et mTLS pour les communications gRPC

En production, gRPC doit toujours utiliser TLS : les bibliothèques gRPC supportent TransportCredentials permettant de configurer le certificat serveur (TLS one-way) ou les certificats client+serveur (mTLS). Dans Kubernetes avec Istio, le mode STRICT mTLS active automatiquement l'authentification mutuelle pour toutes les communications gRPC entre pods du mesh, sans modification des applications. La configuration des suites de chiffrement doit exclure les algorithmes faibles (RC4, DES, MD5, SHA1).

Authentification et autorisation en gRPC

L'authentification gRPC utilise les Metadata comme headers HTTP : les clients ajoutent authorization: Bearer {token} à chaque appel. Des interceptors côté serveur (UnaryInterceptor, StreamInterceptor) vérifient le token à chaque requête et rejettent les appels non autorisés avec le code status.UNAUTHENTICATED. L'autorisation fine par méthode gRPC se fait via OPA (policy middleware en Go/Java) ou des attributs de requête transmis dans le token JWT.

Désactiver gRPC Server Reflection en production

gRPC Server Reflection (reflection.Register(server)) expose la liste de tous les services et méthodes disponibles à tout client capable de se connecter, facilitant la découverte non autorisée de l'API interne. En production, désactiver la reflection ou la restreindre aux adresses de management est essentiel. Les outils comme gRPC Health Checking Protocol peuvent être exposés indépendamment pour les health checks d'infrastructure sans exposer le schéma complet de l'API.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis