AWS IoT Device Defender 문제 해결 안내서
이 주제를 개선하도록 도와주세요.
일반
- Q: AWS IoT Device Defender 사용에 대한 사전 조건이 있습니까?
-
A: 디바이스 보고 지표를 사용하려면 먼저 AWS IoT가 연결된 디바이스 또는 디바이스 게이트웨이에 에이전트를 배포해야 합니다. 디바이스는 일관된 클라이언트 식별자 또는 사물 이름을 제공해야 합니다.
감사
- Q: 점검을 활성화했으며 내 감사에 장시간 "진행 중"이 표시되고 있습니다. 무언가 잘못되었습니까? 언제 결과가 나옵니까?
-
A: 점검이 활성화되었을 때 데이터 수집이 즉시 시작됩니다. 그러나, 계정에서 수집할 데이터(예: 인증서, 사물 또는 정책)의 양이 많은 경우 점검을 활성화한 후 점검 결과를 사용할 수 없는 경우가 있을 수 있습니다.
감지
- Q: AWS IoT Device Defender 보안 프로필 동작에 설정되어야 하는 임계값을 어떻게 알 수 있습니까?
-
A: 먼저 낮은 임계값으로 보안 프로필 동작을 생성하고 이 동작을 대표적인 디바이스로 구성된 사물 그룹에 연결합니다. AWS IoT Device Defender를 사용하여 현재 지표를 본 다음 사용 사례에 맞춰 디바이스 동작 임계값을 미세 조정할 수 있습니다.
- Q: 동작을 생성했지만, 예상과 달리 위반을 트리거하지 않습니다. 어떻게 해결해야 합니까?
-
A: 동작을 정의할 때 디바이스가 정상적으로 동작하는 방법을 지정해야 합니다. 예를 들어, 보안 카메라가 TCP 포트 8888에 있는 중앙 서버 하나에만 연결되는 경우 다른 연결이 수행될 것으로 기대되지 않습니다. 카메라가 다른 포트에서 연결될 경우 알림을 받기 위해 다음과 같이 동작을 정의합니다.
{ "name": "Listening TCP Ports", "metric": "aws:listening-tcp-ports", "criteria": { "comparisonOperator": "in-port-set", "value": { "ports": [ 8888 ] } } }카메라가 TCP 포트 443에 대해 TCP 연결을 수행하는 경우, 디바이스 동작이 위반되며 알림이 트리거됩니다.
- Q: 하나 이상의 동작이 위반되었습니다. 위반을 어떻게 지울 수 있습니까?
-
A: 동작 프로필에서 정의된 대로 디바이스가 예상된 동작을 반환하면 경보가 지워집니다. 디바이스에 대한 지표 데이터를 받을 때 동작 프로필이 평가됩니다. 디바이스가 2일 이상 지표를 게시하지 않으면 위반 이벤트가 자동으로
alarm-invalidated로 설정됩니다. - Q: 위반된 동작을 삭제했습니다만 알림을 어떻게 중지할 수 있습니까?
-
A: 동작을 삭제하면 해당 동작에 대한 향후 위반 및 알림이 모두 중지됩니다. 이전 알림은 알림 메커니즘에서 드레이닝해야 합니다. 동작을 삭제하면 해당 동작의 위반 기록이 계정의 다른 모든 위반과 동일한 기간 동안 유지됩니다.
디바이스 지표
- Q: 내 동작을 위반한 지표 보고서를 제출했지만 위반이 트리거되지 않습니다. 무엇이 문제인가요?
-
A: 다음 MQTT 주제를 구독하여 지표 보고서가 수락되었는지 확인하세요.
$aws/things/THING_NAME/defender/metrics/FORMAT/rejected $aws/things/THING_NAME/defender/metrics/FORMAT/acceptedTHING_NAME은 지표를 보고하는 사물의 이름이며,FORMAT은 사물이 제출하는 지표 보고서의 형식에 따라 "JSON" 또는 "CBOR"입니다.구독하면 제출한 각 지표 보고서의 주제에 대한 메시지를 받아야 합니다.
rejected메시지는 지표 보고서를 구분 분석하는 동안 문제가 있음을 나타냅니다. 지표 보고서의 오류를 해결하는 데 도움이 되도록 메시지 페이로드에 오류 메시지가 포함됩니다.accepted메시지는 지표 보고서가 제대로 구문 분석되었음을 나타냅니다. - Q: 내 지표 보고서에 빈 지표를 전송하면 어떻게 됩니까?
-
A: 포트 또는 IP 주소의 비어 있는 목록은 항상 해당 동작을 따르고 있다고 간주됩니다. 해당 동작이 위반되는 경우 위반이 지워집니다.
- Q: 내 디바이스 지표 보고서에 AWS IoT 레지스트리에 없는 디바이스에 대한 메시지가 포함된 이유는 무엇입니까?
-
하나 이상의 보안 프로필이 모든 사물 또는 등록되지 않은 모든 사물에 연결된 경우 AWS IoT Device Defender에는 등록되지 않은 사물의 지표가 포함됩니다. 등록되지 않은 사물에서 지표를 제외할 경우 모든 디바이스 대신 등록된 모든 디바이스에 프로필을 연결할 수 있습니다.
- Q: 등록되지 않은 모든 디바이스 또는 모든 디바이스에 보안 프로필을 적용했는데도 하나 이상의 등록되지 않은 디바이스의 메시지가 보이지 않습니다. 해결하려면 어떻게 해야 합니까?
-
지원되는 형식 중 하나를 사용하여 올바른 지표 보고서를 제출하는지 확인하세요. 자세한 내용은 디바이스 지표 문서 사양 섹션을 참조하세요. 등록되지 않은 디바이스가 일관된 클라이언트 식별자 또는 사물 이름을 사용하고 있는지 확인하세요. 사물 이름에 제어 문자가 포함되어 있거나 사물 이름이 UTF-8로 인코딩된 문자 128바이트보다 긴 경우 디바이스에서 보고된 메시지는 거부됩니다.
- Q: 등록되지 않은 디바이스가 레지스트리에 추가되거나 등록된 디바이스가 등록 취소되면 어떻게 됩니까?
-
A: 디바이스가 레지스트리에 추가되거나 레지스트리에서 제거되는 경우 다음과 같습니다.
-
디바이스에서 위반에 대한 지표를 계속 게시하는 경우 디바이스에 대한 두 개의 별도 위반(등록된 사물 이름으로 위반, 등록되지 않은 자격 증명으로 위반 )이 표시됩니다. 이전 자격 증명에 대한 활성 위반은 2일 후에 나타나지 않지만 최대 14일 동안 위반 기록에서 확인할 수 있습니다.
-
- Q: 내 디바이스 지표 보고서의 보고서 ID 필드에 어떤 값을 입력해야 합니까?
-
A: 각 지표 보고서에 대한 고유한 값을 사용하며 이 값은 양의 정수로 표현되어야 합니다. 일반적인 관행은 Unix epoch 타임스탬프
를 사용하는 것입니다. - Q: AWS IoT Device Defender 지표에 대한 전용 MQTT 연결을 생성해야 합니까?
-
A: 별도의 MQTT 연결은 필요하지 않습니다.
- Q: 디바이스 지표를 게시하기 위해 연결할 때 어떤 클라이언트 ID를 사용해야 합니까?
-
AWS IoT 레지스트리에 있는 디바이스(사물)의 경우 등록된 사물 이름을 사용합니다. AWS IoT 레지스트리에 없는 디바이스의 경우 AWS IoT에 연결할 때 일관된 식별자를 사용합니다. 이 관행은 위반을 사물 이름과 일치시키는 데 도움이 됩니다.
- Q: 다른 클라이언트 ID의 디바이스에 대한 지표를 게시할 수 있습니까?
-
다른 사물을 대신하여 지표를 게시할 수 있습니다. 해당 디바이스에 대한 AWS IoT Device Defender 예약된 주제에 지표를 게시하면 됩니다. 예를 들어
Thing-1은Thing-2를 대신하여 자체적으로 지표를 게시하려고 합니다.Thing-1은 자체 지표를 수집하여 MQTT 주제에 게시합니다.$aws/things/Thing-1/defender/metrics/json그런 다음
Thing-1은Thing-2에서 지표를 가져오고 해당 지표를 MQTT 주제에 게시합니다.$aws/things/Thing-2/defender/metrics/json - Q: 내 계정에 보안 프로필과 동작을 얼마나 보유할 수 있습니까?
-
A: AWS IoT Device Defender 엔드포인트 및 할당량을 참조하세요.
- Q: 알림 대상에 대한 원형 대상 역할은 어떤 형태입니까?
-
A: AWS IoT Device Defender가 알림 대상(SNS 주제)에 알림을 게시할 수 있는 역할에는 다음과 같은 2개의 사물이 필요합니다.
-
iot.amazonaws.com을 신뢰할 수 있는 개체로 지정하는 신뢰 관계
-
지정된 SNS 주제에 게시할 수 있는 AWS IoT 권한을 부여하는 연결된 정책 예:
-
알림 게시에 사용되는 SNS 주제가 암호화된 주제인 경우 SNS 주제 게시 권한과 함께 두 가지 추가 권한을 AWS IoT에 부여해야 합니다. 예:
-
- Q: 사용자 정의 지표 유형
number가 포함된 내 지표 보고서 제출이 오류 메시지Malformed metrics report와 함께 실패합니다. 무엇이 문제인가요? -
A:
number유형은 단일 지표 값만 입력으로 사용하지만 DeviceMetrics 보고서에서 지표 값을 제출할 때에는 단일 값을 가진 배열로 전달해야 합니다. 지표 값을 배열로 제출하는지 확인합니다.오류 페이로드:
{"header":{"report_id":12334567,"version":"1.0"},"metrics":{"network_stats":{"bytes_in":30680,"bytes_out":10652,"packets_in":113,"packets_out":118}},"custom_metrics":{"my_custom_metric":{"number":0}}}오류 메시지:
{"thingName":"myThing","status":"REJECTED","statusDetails":{"ErrorCode":"InvalidPayload","ErrorMessage":"Malformed metrics report"},"timestamp":1635802047699}오류 없는 페이로드:
{"header":{"report_id":12334567,"version":"1.0"},"metrics":{"network_stats":{"bytes_in":30680,"bytes_out":10652,"packets_in":113,"packets_out":118}},"custom_metrics":{"my_custom_metric":[{"number":0}]}}응답:
{"thingName":"myThing","12334567":1635800375,"status":"ACCEPTED","timestamp":1635801636023}