목차/09. Log Exporter — SIEM으로 로그 내보내기

09Log Exporter — SIEM으로 로그 내보내기Log Exporter — SIEM으로 로그 내보내기

회사가 Splunk·QRadar·ArcSight 같은 별도의 SIEM을 쓴다면, Check Point 로그를 그쪽으로 흘려보내야 합니다. Log Exporter 가 그 다리로, Management Server나 Log Server에서 syslog 프로토콜로 로그를 표준 형식으로 바꿔 외부로 보내는, 쉽고 안전한 방법 입니다. 이 장은 그 동작 원리와 설정의 큰 줄기를 정리합니다. 명령 옵션·SIEM별 세부는 워낙 방대하니(p.223~277) 개념을 잡은 뒤 원문과 sk122323을 함께 보세요.

무엇을 지원하나

Log Exporter는 폭넓게 받쳐 줍니다 — syslog agent를 돌릴 수 있는 여러 SIEM, TCP/UDP 위의 syslog, 여러 형식(Syslog·CEF·LEEF·JSON 등), TLS 1.2 기반 상호 인증, Security 로그·Audit 로그 또는 둘 다, 로그 필터링, 그리고 SmartView의 해당 로그 카드 링크와 첨부(Forensics·Threat Emulation 리포트 등)까지 내보내기 입니다. Splunk용 Check Point App도 내부적으로 Log Exporter를 써서 로그를 보냅니다.

어떻게 동작하나 — E-T-L

Log Exporter는 Log Server에서 도는 멀티스레드 데몬 서비스 로, 각 로그를 읽어 원하는 형식·매핑으로 바꿔 대상 서버로 보냅니다. 내부 절차는 E-T-L 입니다 — Extract(들어오는 로그를 읽음) → Transform(설정대로 변형) → Export(대상 서버로 전송) 입니다. Multi-Domain 환경에서는 도메인마다 자기 Log Exporter 데몬 을, 대상이 여럿이면 대상마다 데몬 을 따로 둡니다.

특히 똑똑한 점은 끊김 대응입니다 — 3rd party 서버와 끊기면 내보내기를 멈추고 마지막 위치를 기억했다가, 다시 연결되면 그 지점부터 자동으로 이어 갑니다. 또 온라인·오프라인(밀린) 로그를 병렬로 보내되, 대상 서버가 느리면 오프라인 전송 속도를 늦춰 실시간 로그를 우선 합니다. R81.20부터는 내보내기 속도를 CPView로 모니터링할 수 있습니다.

SmartConsole에서 설정하기 (R81 이상)

R81부터는 SmartConsole에서 직접 Log Exporter를 만들어 Log Server에 연결합니다. 큰 흐름은 이렇습니다.

먼저 Log Exporter/SIEM 객체 를 만듭니다(Objects > More object types > Server > Log Exporter/SIEM). General 페이지에서 Export를 Enabled 로 켜고, 대상 서버 IP/FQDN·포트·프로토콜(UDP 기본 또는 TCP) 을 넣습니다. Data Manipulation 페이지에서 형식(Syslog 기본·CEF·LEEF·Generic·Splunk·LogRhythm·Json) 을 고르는데, 기본적으로 갱신 로그는 직전 로그와 달라진 부분만 담으므로, 매번 전체 데이터를 보내려면 Aggregate log updates before export 를 켭니다. Attachments 페이지에서는 SmartView의 로그 상세·첨부 링크나 Attachment ID를 함께 보낼지 를 고릅니다(첨부는 기본적으로 포함되지 않음).

그다음 Management Server / 전용 Log Server / SmartEvent Server 객체의 Logs > Export 에서 방금 만든 객체를 추가 하고, Install database 로 적용합니다. 업그레이드 후에는 반드시 Install database를 다시 한 번 돌려야 하며, Multi-Domain에서 Global Domain에 설정했다면 해당 Domain Management Server에 접속해 설치합니다.

CLI에서 설정하기 — cp_log_export

GUI 대신 Expert 모드 CLI로도 다룹니다. 핵심 명령이 cp_log_export 입니다. 새 대상을 만드는 기본 꼴은 이렇습니다.

cp_log_export add name <설정 이름> [domain-server {mds | all}] \
  target-server <대상 IP/호스트명> target-port <포트> \
  protocol {tcp | udp} \
  format {cef | generic | json | leef | logrhythm | rsa | splunk | syslog} [--apply-now]

이름에는 Latin 문자·숫자·-·_·. 만 쓰고 문자로 시작 해야 하며, 이 명령이 $EXPORTERDIR/targets/ 아래에 그 이름의 대상 디렉터리를 만듭니다. Multi-Domain에서는 domain-server 가 필수 인데, mds 는 메인 MDS 레벨의 audit 로그만, all 은 모든 도메인의 audit 로그를 내보냅니다. 이후 cp_log_export set ... 으로 값을 바꾸고, cp_log_export restart name <이름> 으로 설정을 반영 합니다. 자세한 옵션·예시·고급 파라미터는 원문(p.228~)과 sk를 보세요.

TLS·SIEM별 설정·예전 방식에서 전환

전송을 암호화하려면 TLS 를 구성합니다 — TLS 1.2 기반 상호 인증 으로, 인증서를 두고 대상과 안전하게 주고받습니다(syslog 자체는 평문이므로 외부로 보낼 때 권장). 원문에는 Splunk·QRadar·ArcSight·RSA·LogRhythm 등 주요 SIEM별 권장 형식과 설정(p.266~) 이 정리돼 있으니, 쓰는 제품에 맞춰 따르면 됩니다.

예전 방식을 쓰던 환경을 위한 전환 안내도 있습니다 — LEA(Log Export API)에서 Log Exporter로, 그리고 CPLogToSyslog 에서 Log Exporter로 옮기는 절차입니다. 요지는 R82에서는 Log Exporter가 표준 경로이므로, 구식 LEA·CPLogToSyslog 대신 Log Exporter로 통일 하는 것입니다(비표준 LEA 포트 같은 옛 설정은 시작하기 참고). 그 밖에 부록(Appendix, p.273~)에 추가 형식·매핑 참고가 담겨 있습니다.

밀리초 단위 시각으로 내보내는 특수 옵션은 밀리초 단위 로그에서, 첨부를 자동으로 가져오는 API는 로그 API와 첨부 파일 API에서 이어집니다.