SIEM · 보안관제 › A. SIEM 구조와 로그 수집 · 38/50편
학습 단계: 저장·파이프라인
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Wazuh 4.x 올인원 / Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
로그에는 계정명·IP·명령·때로는 민감 정보가 담겨 있습니다. 전송 구간이 평문이면 도청·위조가 가능하고, 인증이 없으면 가짜 로그 주입이 가능합니다. 구간별로 암호화와 인증 방식을 확인합니다.
구간별 보호 방식
agent ↔ manager : client.keys 기반 암호화 통신(1514)
등록 시 비밀번호·인증서 검증(006편)
manager ↔ indexer : Filebeat → HTTPS(TLS) + 인증서
dashboard ↔ indexer: TLS
장비 → syslog : 기본 평문(UDP/TCP 514) → TLS syslog(6514) 권장
관리자 → dashboard : HTTPS(443)
점검 포인트
· 평문 구간이 어디인가
· 인증서 만료일
· 기본(데모) 인증서·기본 비밀번호를 운영에 쓰고 있지 않은가
핵심: SIEM은 가장 민감한 데이터가 모이는 곳 — 전송·접근 보안이 곧 SIEM 보안
설치 스크립트가 만든 인증서와 초기 비밀번호를 그대로 운영에 쓰는 경우가 많습니다. 학습 환경은 괜찮지만, 운영에서는 교체 절차를 반드시 거쳐야 합니다.
| 확인 | 명령 | 포인트 |
|---|---|---|
| 인증서 만료 | openssl x509 -enddate -noout -in <cert> | 남은 기간 |
| 인덱서 TLS | openssl s_client -connect localhost:9200 | 인증서 체인 |
| syslog 평문 | tcpdump -A port 514 | 내용 노출 |
| 기본 계정 | 대시보드 계정 목록 | admin 초기 비밀번호 |
# 인증서 만료일 일괄 확인 (실습 예시)
for c in /etc/wazuh-indexer/certs/*.pem /etc/filebeat/certs/*.pem /etc/wazuh-dashboard/certs/*.pem; do
[ -f "$c" ] && grep -q 'BEGIN CERTIFICATE' "$c" && echo "$c $(openssl x509 -enddate -noout -in "$c")"
done 2>/dev/null
# 평문 syslog 노출 확인(실습망)
sudo timeout 10 tcpdump -nn -A -i any udp port 514 2>/dev/null | head -5
indexer.pem notAfter=Oct 7 00:00:00 2036 GMT
syslog: 장비→수집서버 6514/TLS 사용, 514 트래픽 없음
인증서 만료까지 충분한 기간이 남아 있고, 장비 로그가 TLS로 전송되며 평문 514 트래픽이 없으면 정상입니다.
filebeat.pem notAfter=Oct 21 00:00:00 2026 GMT (12일 남음)
tcpdump 514: "... user=admin password=..." (장비 로그에 평문 노출)
전송 보안 점검 흐름입니다(가상의 예시).
[구간 목록] agent·filebeat·dashboard·syslog
↓
[암호화] 구간별 TLS·암호화 여부
↓
[인증] 인증서 검증·등록 비밀번호·allowed-ips
↓
[만료] 인증서 만료일 → 갱신 일정
↓
[민감 정보] 로그 본문 마스킹 필요 여부
| 위험 | 조치 |
|---|---|
| 평문 구간 | TLS 전환 |
| 만료 임박 | 갱신·자동 알림 |
| 기본 인증서·비밀번호 | 교체 |
로그 본문에 비밀번호가 찍히는 것은 전송 보안 이전의 문제입니다. 해당 장비·앱 설정을 바꾸고, 이미 수집된 데이터의 접근 권한도 점검해야 합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,siem_a,">
<rule id="110370" level="10">
<decoded_as>json</decoded_as>
<field name="check">^cert_expiry$</field>
<field name="days_left" type="pcre2">^([0-9]|[12][0-9])$</field>
<description>SIEM 구성요소 인증서 만료 30일 미만</description>
</rule>
</group>
인증서 만료일을 점검하는 스크립트 결과를 받아 30일 미만이면 경보하는 예시입니다. 만료는 예고 없는 수집 중단을 만들기 때문에 사전 경보가 중요합니다.
| 구간 | 보호 |
|---|---|
| agent↔manager | client.keys 암호화 |
| manager↔indexer | TLS |
| syslog | TLS(6514) 권장 |
| 관리 | 만료·기본값 교체 |
| 면접 포인트 | "SIEM은 가장 민감한 데이터가 모이는 곳 — 평문 구간과 인증서 만료가 가장 흔한 구멍" |
다음 편 039. SIEM·로그 수집 — 로그 무결성과 중앙 수집의 가치 에서는 공격자가 로컬 로그를 지워도 중앙에 이미 수집된 로그가 남는 원리, 수집 지연이 만드는 공백, 중앙 로그의 증거 보존 방법을 다룹니다.
이전 편: 037. SIEM·로그 수집 — 수집 파이프라인 장애와 백프레셔
📚 시리즈 전체 보기: SIEM · 보안관제