Qt GRPC Considérations relatives à la sécurité

Si vous utilisez Qt GRPC, tenez compte des aspects liés à la sécurité afin de protéger les utilisateurs, le trafic réseau et le matériel contre les menaces.

Voici quelques stratégies à envisager :

  • Utilisez le chiffrement lors de l'envoi ou de la réception de données. Les données chiffrées offrent une protection supplémentaire contre les écoutes clandestines et autres attaques similaires. Qt Network prend en charge le chiffrement TLS, qui peut utiliser différents backends et algorithmes de chiffrement TLS. Pour plus d’informations, consultez la section Classes Secure Sockets Layer (SSL).
  • Utilisez des mécanismes d’authentification et d’autorisation robustes. Pour prendre en charge différents utilisateurs sur différentes plateformes, vous pouvez choisir d’utiliser plusieurs services basés sur OAuth2 et OpenID. Qt prend en charge ces API via le Qt Network Authorization module.
  • Validez et traitez les données non fiables en toute sécurité. Les champs de saisie et autres données entrantes sont vulnérables aux attaques par injection. Pour plus d’informations, consultez la section Gestion des données non fiables.
  • Limitez la taille maximale des messages entrants. Par défaut, QtGrpc rejette les messages entrants dont la taille dépasse 4 Mio (conformément à la gRPC™ spécification). Cette limite s’applique à la charge utile décodée de la trame gRPC après le déchiffrement au niveau du transport et toute décompression par message. Vous pouvez l’augmenter ou la réduire par canal ou par RPC individuel à l’aide de ` QGrpcChannelOptions::setMaximumReceiveMessageSize()` ou ` QGrpcCallOptions::setMaximumReceiveMessageSize()`. La valeur est utilisée telle quelle : une valeur de 0 n’accepte que les messages vides (tels que google.protobuf.Empty), et pour autoriser des messages plus volumineux, vous devez définir la limite en conséquence, jusqu’à la limite maximale propre au transport. QGrpcHttp2Channel utilise la variable d’environnement QT_GRPC_MAXIMUM_RECEIVE_MESSAGE_SIZE comme solution de secours lorsque l’option n’est pas définie explicitement. Si la variable d’environnement n’est pas définie, la valeur par défaut est utilisée. Voir Environment variable fallbacks.
  • Utilisez le recul exponentiel pour limiter les tentatives de reconnexion. Lorsqu’un serveur interrompt la connexion, un client qui se reconnecte sans délai peut épuiser les descripteurs de fichiers locaux, les ressources du processeur et la bande passante réseau. Par défaut, ` QtGrpc ` applique un recul exponentiel avec une variation entre les tentatives de reconnexion, avec un intervalle initial de 1 seconde, un multiplicateur de 1,6 et un maximum de 120 secondes (conformément à la spécification gRPC ). Le délai de réessai se réinitialise automatiquement lorsque le serveur accuse réception de la connexion. QGrpcHttp2Channel lit les intervalles initial et maximal, ainsi que le délai d’expiration par tentative de connexion, à partir des variables d’environnement QT_GRPC_INITIAL_RECONNECT_BACKOFF_MS, QT_GRPC_MAXIMUM_RECONNECT_BACKOFF_MS et QT_GRPC_CONNECT_TIMEOUT_MS. Si celles-ci ne sont pas définies, les valeurs par défaut sont utilisées. Voir Environment variable fallbacks.
  • Limitez la taille maximale des métadonnées entrantes. Par défaut, QtGrpc applique une limite de 16 Ko (conforme à la spécification gRPC ). Cette limite s'applique à l'ensemble des métadonnées reçues pour un appel RPC, y compris celles requises par le protocole. QGrpcHttp2Channel la lit à partir de la variable d'environnement QT_GRPC_MAXIMUM_METADATA_SIZE. Les valeurs inférieures à 4 KiB sont augmentées jusqu'à ce minimum (avec un avertissement), et les valeurs supérieures au maximum pris en charge par le transport sont plafonnées. Si la variable d'environnement n'est pas définie, la valeur par défaut est utilisée. Voir Environment variable fallbacks.
  • Définissez des limites de débit et surveillez le trafic pour prévenir toute utilisation abusive. Qt GRPC peut être vulnérable aux attaques par déni de service ; la mise en place de limites et la réalisation de tests approfondis peuvent contribuer à réduire le risque de surcharge du trafic.
  • Mettez à jour votre environnement pour corriger les failles de sécurité. Le matériel du système doit être mis à jour afin de bénéficier des dernières fonctionnalités de sécurité et correctifs.

Pour plus d’informations sur l’utilisation de Qt GPRC, consultez le Guide du clientQt GRPC .

Pour d'autres sujets liés à la sécurité, consultez la page Sécurité dans Qt.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.