목차/08. 타사 로그 가져오기 — Syslog·Windows·SNMP

08타사 로그 가져오기 — Syslog·Windows·SNMP타사 로그 가져오기 — Syslog·Windows·SNMP

Check Point만 로그를 만드는 것은 아닙니다. 라우터·스위치·서버·IDS 같은 타사 장비의 로그를 Check Point Log Server로 끌어와, Check Point 로그처럼 분석 하면 한곳에서 통합 관제가 됩니다. 이 장은 Log Server로 가져올 수 있는 세 가지 타사 로그 형식과 각각의 설정 절차를 빠짐없이 정리합니다. 가져올 수 있는 형식은 다음과 같습니다.

  • Syslog 메시지
  • Windows Event
  • SNMP Trap

핵심 원리는 한결같습니다. Log Server가 타사 로그 메시지를 Check Point 로그 형식으로 변환 하면, 그 로그는 SmartConsole에서 다른 Check Point 로그와 똑같이 조회·분석할 수 있고, SmartEvent 가 그 로그를 다시 보안 이벤트로 만들 수 있다는 것입니다. 즉 타사 장비라도 일단 Log Server에 들어오면 Check Point 생태계 안의 정식 로그로 취급됩니다.

Syslog 메시지 가져오기

많은 타사 장비가 syslog 형식으로 로그를 남깁니다. 그런데 syslog의 raw 데이터는 Check Point 로그 구조와 다르므로, Log Server는 syslog parser(파서)를 사용해 syslog 메시지를 Check Point 로그 형식으로 재구성 합니다. 변환을 거치고 나면 SmartEvent가 그 로그를 받아 보안 이벤트로 바꿀 수 있습니다.

기본(out-of-the-box)으로 지원되지 않는 제품·벤더의 syslog를 가져오려면 직접 syslog 파서를 정의해 Log Server에 설치 해야 합니다.

Syslog 파서 만들고 syslog 메시지 들여오기

기본 지원되지 않는 제품·벤더의 syslog를 가져오는 자세한 방법은 sk55020 에 있습니다. 큰 흐름은 다음 세 단계입니다.

  1. 샘플 syslog 메시지 몇 개를 Log Parsing Editor 로 들여옵니다.
  2. syslog 필드와 Check Point 로그 필드 사이의 매핑 을 정의합니다.
  3. 완성한 syslog 파서를 Log Server에 설치 합니다.

이렇게 syslog 메시지를 Log Server로 들여오고 나면, SmartConsole의 Logs & Events > Logs 탭에서 그 로그들을 볼 수 있습니다.

파서를 GUI 대신 손으로 짜는 방법은 Syslog 수동 파싱에서 따로 다룹니다.

들여온 syslog를 SmartEvent가 읽게 하기

syslog 메시지를 Log Server로 들여온 다음에는, 다른 Check Point 로그와 마찬가지로 SmartEvent Server(그리고 다른 OPSEC LEA 클라이언트)로 전달 할 수 있습니다. SmartEvent는 그 syslog 메시지를 보안 이벤트로 변환합니다. SmartEvent Server가 이 Log Server의 로그를 읽도록 설정하는 절차는 다음과 같습니다.

  1. SmartEvent가 해당 Log Server의 로그를 읽도록 구성합니다.
  2. SmartEvent 또는 SmartConsole의 이벤트 뷰에서 Product Name 필드로 필터링하는 쿼리를 만듭니다. Product Name 필드가 syslog 메시지에서 만들어진 이벤트를 고유하게 식별 해 주므로, 어떤 이벤트가 syslog에서 왔는지 구분할 수 있습니다.

Windows Event 가져오기

Windows 서버에서 발생하는 이벤트는 Check Point Windows Event Service 가 끌어옵니다. 이것은 WinEventToCPLog 라는 Windows 서비스 애플리케이션 으로, Windows 서버와 그 밖에 지정한 Windows 컴퓨터들에서 이벤트를 읽어 Check Point 로그로 변환한 다음, 그 데이터를 Check Point Log Server에 넣습니다. 그러면 Log Server가 이 데이터를 처리합니다.

여기서 중요한 구조적 특징이 있습니다. 이 프로세스는 Windows 컴퓨터에만 설치할 수 있지만, 반드시 Log Server가 도는 컴퓨터일 필요는 없 습니다. 다시 말해 Log Server가 다른 플랫폼에 설치돼 있어도 Windows 이벤트를 처리할 수 있고, 한 대의 중앙 WinEventToCPLog 서버가 여러 Windows 호스트의 이벤트를 모아 Check Point Log Server로 전달하는 구성이 가능합니다.

Windows Event Service의 동작 방식

Windows 이벤트를 Check Point 로그로 변환하는 전체 과정은 다음과 같습니다.

  1. Check Point Support Center 에서 Windows Event Service 에이전트인 WinEventToCPLog 를 내려받습니다.
  2. 이 서비스 에이전트를 Windows 서버에 설치합니다. 이때 관리자 계정의 사용자 이름과 암호가 필요 한데, 다음 둘 중 하나여야 합니다.
    • 대상(endpoint) 컴퓨터를 담당하는 도메인 관리자
    • 대상 컴퓨터의 로컬 관리자
  3. Windows 서버와 Management Server 사이에 SIC 를 생성합니다.
  4. 어느 컴퓨터들의 Windows 이벤트를 모을지 Windows 서버에서 설정합니다.

WinEventToCPLog의 관리자 권한

WinEventToCPLog 는 Microsoft API를 사용해 Windows 운영체제의 이벤트 파일을 읽습니다. 이 파일들은 사람이 직접 볼 때 Windows Event Viewer 로 확인합니다.

WinEventToCPLog는 로컬 컴퓨터의 이벤트 파일을 읽을 수 있고, 적절한 권한만 있으면 원격 컴퓨터의 로그 파일도 읽을 수 있습니다. 이 점이 바로 중앙 WinEventToCPLog 서버 한 대로 여러 Windows 호스트의 이벤트를 Check Point Log Server에 전달 할 수 있게 해 주는 핵심입니다.

원격 컴퓨터에 접근할 권한을 설정하려면 다음 명령으로 관리자 로그인과 암호를 지정합니다.

WinEventToCPLog -s

원격 컴퓨터의 파일에 접근하는 방법은 두 가지입니다.

방법설명
로컬 관리자 이름 맞추기원격 컴퓨터에 WinEventToCPLog에 등록된 이름과 같은 이름의 로컬 관리자 를 정의합니다.
도메인 관리자로 등록WinEventToCPLog에 등록한 관리자를 도메인의 관리자 로 정의합니다. 이 관리자는 도메인 안의 모든 컴퓨터에 접근 할 수 있습니다.

Windows 이벤트를 Log Server로 보내기

이제 Windows 이벤트를 실제로 Log Server로 보내는 설정을 합니다. 더 고급 Windows 이벤트 설정은 sk98861 을 참고하세요. 전체 과정은 OPSEC 객체 만들기 → Windows 서비스 구성 → 신뢰(trust) 확립 → Windows Audit Policy 설정 의 네 단계로 이어집니다.

1. Windows Event Service용 OPSEC 객체 만들기

SmartConsole에서 Windows Event Service를 위한 OPSEC Application 객체 를 만듭니다.

  1. Object Explorer 에서 New > Server > OPSEC Application > Application 을 클릭합니다. OPSEC Applications Properties 창이 열립니다.
  2. 로그 파일을 Log Server로 보내는 애플리케이션의 이름 을 입력합니다.
  3. New 를 클릭해 Host를 새로 만듭니다.
  4. 객체 이름과 함께 WinEventToCPLog가 실행되는 컴퓨터의 IP 주소 를 입력합니다.
  5. OK 를 클릭합니다.
  6. Client Entities 아래에서 ELA 를 선택 합니다.
  7. Communication 을 선택합니다.
  8. Activation Key 를 입력하고 확인란에 한 번 더 입력한 다음, 나중에 쓸 수 있게 이 키를 따로 기록 해 둡니다.
  9. Initialize 를 클릭합니다. 이때 시스템이 신뢰 상태를 Initialized but trust not established 로 보고해야 정상입니다.
  10. Close 를 클릭합니다.
  11. OK 를 클릭합니다.
  12. SmartConsole 세션을 Publish 합니다.

2. Windows 서비스 구성하기

Windows 호스트에서, Log Server로 로그를 보내도록 Windows 서비스를 구성합니다.

  1. Check Point Support Center에서 받은 WinEventToCPLog 패키지를 설치합니다.
  2. 설치가 끝나면 컴퓨터를 재시작 합니다.
  3. 명령 프롬프트 창을 열고 다음 위치로 이동합니다.
    • Windows 32비트:
     C:\Program Files\CheckPoint\WinEventToCPLog\R65\bin\
     
  • Windows 64비트:
     C:\Program Files (x86)\CheckPoint\WinEventToCPLog\R65\bin\
     
  1. 인증서를 받아 옵니다(pull).
    1. 다음을 실행합니다.
      windowEventToCPLog -pull_cert
      
  1. Management Server의 IP 주소 를 입력합니다.
    1. SmartConsole에서 Windows 이벤트용으로 만든 OPSEC Application 객체의 이름 을 입력합니다.
    2. 그 OPSEC 객체의 Activation Key 를 입력합니다.
  2. Check Point Windows Event Service 를 재시작합니다.

3. 신뢰(Trust) 확립하기

Security Management Server와 Windows 호스트 사이의 신뢰를 확립합니다.

  1. SmartConsole에서 Windows 이벤트용으로 만든 OPSEC Application을 편집합니다.
  2. Communication 을 선택합니다.
  3. 신뢰 상태가 Trust Established 인지 확인합니다.
  4. SmartConsole 세션을 Publish 합니다.

4. Windows Audit Policy 설정하기

Windows 이벤트를 보내는 모든 컴퓨터에서 Windows Audit Policy를 설정합니다.

  1. Start 메뉴에서 Settings > Control Panel 을 클릭합니다.
  2. Administrative Tools > Local Security Policy > Local Policies > Audit Policy 를 클릭합니다.
  3. Audit Logon Events 정책의 Security Setting이 Failure 로 설정돼 있는지 확인합니다. 아니라면 더블클릭해 Failure 를 선택합니다.
  4. 명령 프롬프트 창을 열고 다음 경로로 이동합니다.
    • Windows 32비트:
     C:\Program Files\CheckPoint\WinEventToCPLog\R65\bin\
     
  • Windows 64비트:
     C:\Program Files (x86)\CheckPoint\WinEventToCPLog\R65\bin\
     
  1. 다음 명령들을 실행합니다.
명령의미
windowEventToCPLog -l <ipaddr><ipaddr>Windows 이벤트를 받는 Log Server 의 IP 주소 입니다.
windowEventToCPLog -a <ipaddr><ipaddr>Windows 이벤트를 보내는 각 컴퓨터 의 IP 주소 입니다.
windowEventToCPLog -sWinEventToCPLog 서비스에 등록할 관리자 이름과 암호 를 입력하라는 프롬프트가 뜹니다.
   windowEventToCPLog -l <ipaddr>
   windowEventToCPLog -a <ipaddr>
   windowEventToCPLog -s
   

여기서 WinEventToCPLog 서비스를 실행하는 관리자는, 이 절차에서 정의한 IP 주소(즉 Windows 이벤트를 보내는 컴퓨터)의 로그에 접근해 읽을 권한 을 가지고 있어야 합니다. 6. WinEventToCPLog가 원격 컴퓨터의 Windows 이벤트를 읽도록 구성할 때는, 그 관리자로 로그인 합니다. 그래야 관리자가 원격 컴퓨터의 이벤트에 접근할 수 있습니다. 7. 원격 컴퓨터의 이벤트는 Microsoft Event Viewer 로 읽을 수 있습니다.

SNMP

SNMP(Simple Network Management Protocol)관리 데이터를 네트워크 장치와 주고받는 인터넷 표준 프로토콜 입니다. 주고받는 관리 데이터의 단위를 PDU(Protocol Data Unit) 라고 부릅니다. SNMP를 지원하는 장치는 agent 라 하는데, 이 agent들은 자기 자신에 대한 데이터를 MIB(Management Information Base) 에 담아 두었다가, 요청하는 쪽(SNMP requester)에게 다시 보냅니다.

Gaia의 SNMP 구성 자체는 이 가이드의 범위를 벗어납니다. 자세한 내용은 Gaia 가이드의 SNMP 또는 R82 Gaia Administration Guide의 System Management > SNMP 절을 참고하세요. 또한 모니터링 임계값을 SNMP trap으로 내보내는 방법은 트래픽·연결 모니터링에서, 로그를 외부 SIEM으로 보내는 방법은 Log Exporter — SIEM으로 로그 내보내기에서 다룹니다.