Qt GRPC 보안 관련 고려 사항

다음과 같이 사용하는 경우 Qt GRPC, 위협으로부터 사용자, 네트워크 트래픽 및 하드웨어를 보호하기 위해 보안 측면을 고려하십시오.

다음은 고려해야 할 몇 가지 전략입니다:

  • 데이터를 송수신할 때는 암호화를 사용하십시오. 암호화된 데이터는 도청 및 이와 유사한 공격에 대한 추가적인 보호 기능을 제공합니다. Qt Network 는 다양한 TLS 백엔드 및 암호 체계를 사용할 수 있는 TLS 암호화 기능을 지원합니다. 자세한 내용은 Secure Sockets Layer (SSL) 클래스를 참조하십시오.
  • 강력한 인증 및 권한 부여 메커니즘을 사용하십시오. 다양한 플랫폼의 서로 다른 사용자를 수용하기 위해 여러 OAuth2 및 OpenID 기반 서비스를 사용할 수 있습니다. Qt는 ‘Qt Network ’ 권한 부여 모듈을 통해 이러한 API를 지원합니다.
  • 신뢰할 수 없는 데이터를 안전하게 검증하고 처리하십시오. 입력 필드 및 기타 수신 데이터는 주입 공격에 취약합니다. 자세한 내용은 ‘신뢰할 수 없는 데이터 처리’를 참조하십시오.
  • 수신 메시지의 최대 크기를 제한하십시오. 기본적으로 QtGrpc 는 4 MiB보다 큰 수신 메시지를 거부합니다( gRPC™ 사양에 따름). 이 제한은 전송 계층 암호 해독 및 메시지별 압축 해제 후 디코딩된 gRPC 프레임 페이로드에 적용됩니다. QGrpcChannelOptions::setMaximumReceiveMessageSize() 또는 QGrpcCallOptions::setMaximumReceiveMessageSize()을 사용하여 채널별 또는 개별 RPC별로 이 제한을 높이거나 낮출 수 있습니다. 이 값은 그대로 적용됩니다. 즉, 0 값을 설정하면 빈 메시지(예: google.protobuf.Empty)만 허용되며, 더 큰 메시지를 허용하려면 전송 계층 자체의 최대값 범위 내에서 한도를 적절히 설정해야 합니다. QGrpcHttp2Channel 는 옵션이 명시적으로 설정되지 않았을 때 QT_GRPC_MAXIMUM_RECEIVE_MESSAGE_SIZE 환경 변수를 대체값으로 사용합니다. 환경 변수가 설정되지 않은 경우 기본값이 사용됩니다. Environment variable fallbacks 를 참조하십시오.
  • 재연결 시도를 제한하려면 지수적 백오프를 사용하십시오. 서버가 연결을 끊었을 때, 지체 없이 재연결하는 클라이언트는 로컬 파일 디스크립터, CPU 및 네트워크 대역폭을 모두 소진시킬 수 있습니다. 기본적으로 ` QtGrpc `는 재연결 시도 간에 지터(jitter)를 적용한 지수적 백오프를 사용하며, 초기 간격은 1초, 승수는 1.6, 최대값은 120초입니다( gRPC 사양과 일치). 서버가 연결을 확인하면 백오프가 자동으로 재설정됩니다. ` QGrpcHttp2Channel `는 ` QT_GRPC_INITIAL_RECONNECT_BACKOFF_MS`, ` QT_GRPC_MAXIMUM_RECONNECT_BACKOFF_MS`, ` QT_GRPC_CONNECT_TIMEOUT_MS ` 환경 변수에서 초기 및 최대 간격과 시도당 연결 시간 제한을 읽습니다. 이러한 변수가 설정되지 않은 경우 기본값이 사용됩니다. Environment variable fallbacks 를 참조하십시오.
  • 수신 메타데이터의 최대 크기를 제한합니다. 기본적으로 QtGrpc 는 16 KiB 제한을 적용합니다( gRPC 사양과 일치). 이 제한은 프로토콜에서 요구하는 메타데이터를 포함하여 RPC에 대해 수신되는 모든 메타데이터에 적용됩니다. QGrpcHttp2Channel 는 QT_GRPC_MAXIMUM_METADATA_SIZE 환경 변수에서 이 값을 읽습니다. 4 KiB 미만의 값은 해당 최소값으로 조정되며(경고와 함께), 전송 방식이 지원하는 최대값을 초과하는 값은 제한됩니다. 환경 변수가 설정되지 않은 경우 기본값이 사용됩니다. Environment variable fallbacks 를 참조하십시오.
  • 오용을 방지하기 위해 속도 제한을 설정하고 트래픽을 모니터링하십시오. Qt GRPC 는 서비스 거부(DoS) 공격에 취약할 수 있으며, 제한을 설정하고 철저한 테스트를 수행하면 트래픽 과부하 위험을 줄이는 데 도움이 됩니다.
  • 보안 취약점을 해결하기 위해 환경을 업데이트하십시오. 시스템 하드웨어를 업데이트하여 최신 보안 기능과 수정 사항을 적용해야 합니다.

Qt GPRC 사용에 대한 자세한 내용은 Qt GRPC 클라이언트 가이드를 참조하십시오.

기타 보안 관련 주제에 대해서는 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.