Qt GRPC Sicherheitshinweise
Wenn Sie Qt GRPC, sollten Sie Sicherheitsaspekte berücksichtigen, um Benutzer, Netzwerkverkehr und Hardware vor Bedrohungen zu schützen.
Hier sind einige Strategien, die Sie berücksichtigen sollten:
- Verwenden Sie beim Senden oder Empfangen von Daten eine Verschlüsselung. Verschlüsselte Daten bieten zusätzlichen Schutz vor Abhörversuchen und ähnlichen Angriffen. Qt Network bietet Unterstützung für TLS-Verschlüsselung, die verschiedene TLS-Backends und Verschlüsselungsalgorithmen nutzen kann. Weitere Informationen finden Sie unter „Secure Sockets Layer (SSL)-Klassen“.
- Verwenden Sie starke Authentifizierungs- und Autorisierungsmechanismen. Um unterschiedliche Benutzer auf verschiedenen Plattformen zu unterstützen, können Sie mehrere OAuth2- und OpenID-basierte Dienste nutzen. Qt bietet Unterstützung für diese APIs über das Modul „Qt Network -Autorisierung “.
- Validieren und verarbeiten Sie nicht vertrauenswürdige Daten sicher. Eingabefelder und andere eingehende Daten sind anfällig für Injektionsangriffe. Weitere Informationen finden Sie unter „Umgang mit nicht vertrauenswürdigen Daten“.
- Begrenzen Sie die maximale Größe eingehender Nachrichten. Standardmäßig lehnt „ QtGrpc “ eingehende Nachrichten ab, die größer als 4 MiB sind (gemäß der gRPC™ Spezifikation). Die Begrenzung gilt für die Nutzlast des dekodierten gRPC-Frames nach der Entschlüsselung auf Transportebene und einer eventuellen Dekomprimierung pro Nachricht. Sie können diesen Wert pro Kanal oder pro einzelnem RPC mithilfe von ` QGrpcChannelOptions::setMaximumReceiveMessageSize()` oder ` QGrpcCallOptions::setMaximumReceiveMessageSize()` erhöhen oder verringern. Der Wert wird wörtlich übernommen: Ein Wert von „
0“ akzeptiert nur leere Nachrichten (wie z. B. „google.protobuf.Empty“), und um größere Nachrichten zuzulassen, setzen Sie das Limit entsprechend – bis zum maximalen Wert des jeweiligen Transports. „ QGrpcHttp2Channel “ verwendet die Umgebungsvariable „QT_GRPC_MAXIMUM_RECEIVE_MESSAGE_SIZE“ als Fallback, wenn die Option nicht explizit gesetzt ist. Ist die Umgebungsvariable nicht gesetzt, wird der Standardwert verwendet. Siehe Environment variable fallbacks. - Verwenden Sie exponentielles Backoff, um die Anzahl der Wiederverbindungsversuche zu begrenzen. Wenn ein Server die Verbindung trennt, kann ein Client, der sich ohne Verzögerung erneut verbindet, lokale Dateideskriptoren, CPU-Leistung und Netzwerkbandbreite überlasten. Standardmäßig wendet „ QtGrpc “ ein exponentielles Backoff mit Jitter zwischen den Wiederverbindungsversuchen an, mit einem anfänglichen Intervall von 1 Sekunde, einem Multiplikator von 1,6 und einem Maximum von 120 Sekunden (entsprechend der „ gRPC “-Spezifikation). Der Backoff wird automatisch zurückgesetzt, sobald der Server die Verbindung bestätigt. „ QGrpcHttp2Channel “ liest das Anfangs- und das maximale Intervall sowie das Zeitlimit pro Verbindungsversuch aus den Umgebungsvariablen „
QT_GRPC_INITIAL_RECONNECT_BACKOFF_MS“, „QT_GRPC_MAXIMUM_RECONNECT_BACKOFF_MS“ und „QT_GRPC_CONNECT_TIMEOUT_MS“ aus. Sind diese nicht gesetzt, werden die Standardwerte verwendet. Siehe Environment variable fallbacks. - Begrenzen Sie die maximale Größe der eingehenden Metadaten. Standardmäßig wendet QtGrpc eine Begrenzung von 16 KiB an (entsprechend der „ gRPC “-Spezifikation). Die Begrenzung gilt für alle für einen RPC empfangenen Metadaten, einschließlich der vom Protokoll geforderten Metadaten. „ QGrpcHttp2Channel “ liest den Wert aus der Umgebungsvariablen „
QT_GRPC_MAXIMUM_METADATA_SIZE“ aus. Werte unter 4 KiB werden auf dieses Minimum angehoben (mit einer Warnung), und Werte über dem vom Transport unterstützten Maximum werden begrenzt. Ist die Umgebungsvariable nicht gesetzt, wird der Standardwert verwendet. Siehe Environment variable fallbacks. - Legen Sie Ratenbegrenzungen fest und überwachen Sie den Datenverkehr, um Missbrauch zu verhindern. „ Qt GRPC “ kann anfällig für Denial-of-Service-Angriffe sein; das Festlegen von Begrenzungen und gründliche Tests können dazu beitragen, das Risiko einer Datenverkehrsüberlastung zu verringern.
- Aktualisieren Sie Ihre Umgebung, um Sicherheitslücken zu beheben. Die Systemhardware sollte aktualisiert werden, um die neuesten Sicherheitsfunktionen und -korrekturen zu nutzen.
Weitere Informationen zur Verwendung von Qt GPRC finden Sie im Qt GRPC -Client-Handbuch.
Weitere Informationen zu Sicherheitsthemen finden Sie auf der Seite „Sicherheit in 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.