MQTT 브로커 감사 로그와 컴플라이언스 관리
MQTT 브로커의 감사 로그 수집·저장·검색 방식, 포맷과 보존 정책, 접근 제어 및 무결성 설계까지 포함한 컴플라이언스 요구사항과 구현 사례 모음
목차
개요
산업용 IoT와 엔터프라이즈 메시징 환경에서 MQTT 브로커의 감사 로그는 보안과 규정 준수의 핵심 증거다. 올바른 로그 수집과 보존이 없으면 사고 조사, 감사 대응, 규제 기관 제출에 문제가 생긴다. 이 글에서는 mqtt 감사 로그 설정부터 보관, 무결성 검증, 검색 및 모니터링까지 실무 관점에서 정리한다.
감사 로그의 목적과 핵심 요구사항
왜 감사 로그가 중요한가
감사 로그는 접속·발행·구독·권한 변경 등 중요한 이벤트를 기록해 시스템 행위를 추적 가능하게 만든다. 규제 요구에 따라 보존 기간을 준수하고, 변조 방지를 입증해야 할 때도 로그가 근거가 된다.
컴플라이언스 관점의 기본 요구사항
- 항목별 기록: 타임스탬프, 클라이언트 ID, 사용자, IP, 액션(PUBLISH/SUBSCRIBE/CONNECT/DISCONNECT), 토픽, QoS, 결과 코드
- 무결성 보장: 서명 또는 해시로 로그 변경 감지
- 보존 정책: 규정에 맞춘 보관 기간과 보관 매체
- 접근 통제: 로그 접근 권한과 감사 추적
- 검색성: 사고 대응을 위한 인덱싱과 쿼리 성능
브로커에서의 감사 로그 구성 요소
로그 항목 설계
효율적인 로그는 필요한 필드를 균형 있게 포함한다. 불필요한 페이로드까지 전부 저장하면 비용과 개인정보 이슈가 생길 수 있다. 따라서 페이로드는 크기만 기록하거나 샘플링을 고려한다.
포맷과 표준
JSON 라인은 가독성과 검색성을 제공한다. 예시 형태는 다음과 같다.
{
"timestamp": "2025-01-01T12:00:00Z",
"client_id": "device01",
"user": "iot_user",
"ip": "203.0.113.5",
"action": "PUBLISH",
"topic": "sensors/temp",
"qos": 1,
"payload_size": 128,
"result": "ACCEPTED"
}
실제 설정 예시
Mosquitto 기본 로깅
Mosquitto 같은 경량 브로커는 파일 로그를 통해 기본 감사 정보를 제공한다. 예시는 간단한 설정이다.
# mosquitto.conf
log_type all
log_dest file /var/log/mosquitto/mosquitto.log
connection_messages true
log_timestamp true
전문 브로커(예: EMQX)에서의 감사 로그 파이프라인
상용 브로커는 플러그인으로 JSON 포맷 전송, Kafka/Elasticsearch 적재 같은 파이프라인을 제공한다. 브로커에서 직접 외부 수집기로 전송하면 중앙 저장소와 연계해 검색성과 보존 관리를 통일할 수 있다.
저장·보존·무결성 전략
보존 정책 수립
규정에 따라 보존 기간이 다르므로 정책을 명확히 정한다. 예를 들어 금융 규제는 수년 단위 보존을 요구할 수 있으므로 비용과 암호화, 액세스 제어 계획을 포함해야 한다.
무결성 및 암호화
- 전송 중 암호화(TLS) 적용
- 저장 시 암호화(백엔드 스토리지 암호화)
- 로그 무결성 검증을 위해 주기적 해시 계산과 서명 사용
접근 제어와 감사 추적
로그 자체에 대한 접근 권한을 세분화하고, 누가 어떤 로그를 조회·내보냈는지에 대한 메타 로그를 남긴다. 이중 인증과 최소 권한 원칙을 적용하면 내부 유출 위험을 줄일 수 있다.
모니터링과 사고 대응
실시간 탐지 규칙을 준비해 비정상적인 연결 시도나 권한 위반을 빠르게 잡아낸다. SIEM과 연동하면 상관관계 분석으로 복합 징후를 포착하고 자동화된 알림으로 대응 시간을 단축할 수 있다.
운영 체크리스트
- 로그 항목이 규정 필수값을 모두 포함하는지 확인
- 로그 포맷이 일관되어 검색 쿼리 작성이 가능한지 검증
- 저장소 암호화 및 액세스 제어 정책 적용 여부 확인
- 무결성 검증 프로세스와 보존 삭제(데이터 삭제) 정책 수립
- 정기적인 감사 시나리오로 복구 및 증거 제출 절차 점검
마무리
mqtt 감사 로그 설정은 단순히 로그를 켜는 것을 넘는다. 포맷 설계, 안전한 전송·저장, 접근 통제, 무결성 검증, 그리고 검색과 보존 정책까지 포괄적으로 설계해야 컴플라이언스 요구사항을 만족할 수 있다. 단계별로 검토해 브로커 감사 기록 방법을 조직 표준에 맞춰 통합하면 감사와 규정 대응 능력이 향상된다.