충돌하는 MQTT 클라이언트 - AWS IoT Device Defender

충돌하는 MQTT 클라이언트

여러 디바이스가 동일한 클라이언트 ID를 사용하여 연결됩니다.

이 점검은 CLI 및 API에서 CONFLICTING_CLIENT_IDS_CHECK와(과) 같이 나타납니다.

심각도: 높음

Details

동일한 클라이언트 ID를 사용한 다중 연결이 성립되어 이미 연결된 디바이스가 연결 해제되었습니다. MQTT 사양에서는 클라이언트 ID당 활성 연결 하나만 허용하므로, 다른 디바이스가 동일한 클라이언트 ID를 사용하여 연결할 경우 이전 디바이스의 연결이 종료됩니다.

온디맨드 감사의 일부로 이 점검을 수행하면 해당 점검에서는 감사 시작 전 31일 동안 클라이언트 ID가 연결에 사용된 방식을 확인합니다. 예정된 감사의 경우 이 점검은 감사가 실행된 마지막 시간부터 감사의 이 인스턴스가 시작된 시간까지의 데이터를 확인합니다. 점검된 시간 동안 이 상태를 완화하는 단계를 수행한 경우 문제가 지속되는지 여부를 확인하기 위해 연결/연결 해제가 발생한 시기를 기록해 둡니다.

이 점검에서 규정 미준수가 발견된 경우 다음 사유 코드가 반환됩니다.

  • DUPLICATE_CLIENT_ID_ACROSS_CONNECTIONS

또한 이 점검에서 반환되는 결과에는 연결에 사용된 클라이언트 ID, 보안 주체 ID 및 연결 해제 횟수가 포함됩니다. 가장 최근 결과가 먼저 나열됩니다.

이것이 중요한 이유

ID가 충돌하는 디바이스는 끊임없이 다시 연결되므로 메시지가 손실되거나 디바이스가 연결할 수 없는 상태가 됩니다.

이는 디바이스 또는 디바이스의 자격 증명이 손상되었으며 DDoS 공격일 수 있음을 나타낼 수 있습니다. 또한 계정에서 디바이스가 올바르게 구성되지 않거나 디바이스의 연결이 잘못되어 1분당 여러 번 다시 시도될 수 있습니다.

수정 방법

각 디바이스를 AWS IoT에서 고유한 사물로 등록하고 사물 이름을 연결할 클라이언트 ID로 사용합니다. 또는 MQTT를 통해 디바이스를 연결할 때 UUID를 클라이언트 ID로 사용합니다. 완화 작업을 사용하면 다음을 수행할 수 있습니다.

  • Amazon SNS 메시지에 대해 사용자 지정 응답을 구현하려면 PUBLISH_FINDINGS_TO_SNS 완화 작업을 적용합니다.

자세한 내용은 완화 작업 단원을 참조하세요.