Check Point SmartDefense 로그 수집

다음에서 지원:

이 문서에서는 Bindplane을 사용하여 Check Point SmartDefense 로그를 Google Security Operations로 수집하는 방법을 설명합니다. 파서는 SYSLOG 형식의 Check Point SmartDefense 로그에서 필드를 추출하고, 데이터 변환 및 매핑을 실행하고, 보안 분석을 위해 출력을 Google SecOps 통합 데이터 모델 (UDM)로 구조화합니다.

시작하기 전에

다음 기본 요건이 충족되었는지 확인합니다.

  • Google SecOps 인스턴스
  • Windows 2016 이상 또는 systemd가 설치된 Linux 호스트
  • 프록시 뒤에서 실행하는 경우 방화벽 포트가 열려 있음
  • Check Point SmartConsole 및 관리 서버에 대한 권한 액세스

Google SecOps 수집 인증 파일 가져오기

  1. Google SecOps 콘솔에 로그인합니다.
  2. SIEM 설정 > 수집 에이전트로 이동합니다.
  3. 수집 인증 파일을 다운로드합니다. Bindplane이 설치될 시스템에 파일을 안전하게 저장합니다.

Google SecOps 고객 ID 가져오기

  1. Google SecOps 콘솔에 로그인합니다.
  2. SIEM 설정 > 프로필로 이동합니다.
  3. 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.

Bindplane 에이전트 설치

Windows 설치

  1. 명령 프롬프트 또는 PowerShell을 관리자로 엽니다.
  2. 다음 명령어를 실행합니다.

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux 설치

  1. 루트 또는 sudo 권한으로 터미널을 엽니다.
  2. 다음 명령어를 실행합니다.

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

추가 설치 리소스

추가 설치 옵션은 설치 가이드를 참고하세요.

Syslog를 수집하여 Google SecOps로 전송하도록 Bindplane 에이전트 구성

  1. 구성 파일에 액세스합니다.
    • config.yaml 파일을 찾습니다. 일반적으로 Linux에서는 /etc/bindplane-agent/ 디렉터리에 있고 Windows에서는 설치 디렉터리에 있습니다.
    • 텍스트 편집기 (예: nano, vi, 메모장)를 사용하여 파일을 엽니다.
  2. 다음과 같이 config.yaml 파일을 수정합니다.

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: 'CHECKPOINT_SMARTDEFENSE'
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 인프라에 필요한 대로 포트와 IP 주소를 바꿉니다.

  4. <customer_id>를 실제 고객 ID로 바꿉니다.

  5. Google SecOps 수집 인증 파일 가져오기 섹션에서 인증 파일이 저장된 경로로 /path/to/ingestion-authentication-file.json를 업데이트합니다.

Bindplane 에이전트를 다시 시작하여 변경사항 적용

  • Linux에서 Bindplane 에이전트를 다시 시작하려면 다음 명령어를 실행합니다.

    sudo systemctl restart bindplane-agent
    
  • Windows에서 Bindplane 에이전트를 다시 시작하려면 서비스 콘솔을 사용하거나 다음 명령어를 입력하면 됩니다.

    net stop BindPlaneAgent && net start BindPlaneAgent
    

SmartConsole에서 Syslog 서버 객체 구성

  1. SmartConsole을 사용하여 관리 서버에 연결합니다.
  2. 게이트웨이 및 서버로 이동합니다.
  3. 객체 탐색기에서 > 호스트를 클릭합니다.
  4. 다음 구성 세부정보를 제공합니다.
    • 이름: 고유한 이름을 입력합니다.
    • IPv4 주소: Bindplane 에이전트 IP 주소를 입력합니다.
  5. 확인을 클릭합니다.
  6. 객체 탐색기에서 새로 만들기 > 서버 > 더보기 > Syslog를 클릭합니다.
  7. 다음 구성 세부정보를 제공합니다.
    • 이름: 고유한 이름을 입력합니다.
    • 호스트: 이전에 만든 호스트를 선택합니다.
    • 포트: Bindplane 에이전트 포트 번호 (기본값 514)를 입력합니다.
    • 버전: Syslog 프로토콜을 선택합니다.
  8. 확인을 클릭합니다.

보안 게이트웨이에서 구성된 Syslog 선택

  1. 보안 게이트웨이 객체를 더블클릭합니다.
  2. 로그를 클릭합니다.
  3. 다음 로그 서버에 로그 및 알림 전송 표에서 녹색 (+)를 클릭하고 이전에 구성한 Syslog Server 객체를 선택합니다.
  4. 확인을 클릭하고 정책을 설치합니다.

fwsyslog_enable 구성

  1. CLI를 사용하여 보안 게이트웨이 및 각 클러스터 구성원에 연결합니다.
  2. 전문가 모드로 전환합니다.
  3. $FWDIR/boot/modules/fwkern.conf 파일을 수정합니다.

    vi $FWDIR/boot/modules/fwkern.conf
    
  4. 다음 줄을 추가합니다.

    fwsyslog_enable=1
    
  5. 파일의 변경사항을 저장하고 편집기를 종료합니다.

  6. 보안 게이트웨이 / 각 클러스터 구성원을 재부팅합니다.

UDM 매핑 테이블

로그 필드 UDM 매핑 논리
act read_only_udm.security_result.action 원시 로그의 act 필드 값입니다.
additional_info read_only_udm.security_result.description 원시 로그의 additional_info 필드 값입니다.
관리자 read_only_udm.target.user.user_display_name 원시 로그의 administrator 필드 값입니다.
댓글 read_only_udm.additional.fields.value.string_value 원시 로그의 comment 필드 값입니다. 키는 comment로 하드 코딩됩니다.
deviceDirection read_only_udm.network.direction deviceDirection=1이면 OUTBOUND이고 그렇지 않으면 INBOUND입니다.
ifname read_only_udm.additional.fields.value.string_value 원시 로그의 ifname 필드 값입니다. 키는 ifname로 하드 코딩됩니다.
loguid read_only_udm.metadata.product_log_id 원시 로그의 loguid 필드 값입니다.
log_sys_message read_only_udm.metadata.description 원시 로그의 log_sys_message 필드 값입니다.
msg read_only_udm.metadata.description 원시 로그의 msg 필드 값입니다.
작업 read_only_udm.security_result.action_details 원시 로그의 operation 필드 값입니다.
origin read_only_udm.intermediary.ip 원시 로그의 origin 필드 값입니다.
originsicname read_only_udm.additional.fields.value.string_value 원시 로그의 originsicname 필드 값입니다. 키는 originsicname로 하드 코딩됩니다.
outcome read_only_udm.security_result.outcomes.value 원시 로그의 outcome 필드 값입니다. 키는 outcome로 하드 코딩됩니다.
제품 read_only_udm.metadata.product_name 원시 로그의 product 필드 값입니다.
rt read_only_udm.metadata.event_timestamp.seconds 원시 로그의 rt 필드 값으로, 초로 변환됩니다.
sendtotrackerasadvancedauditlog read_only_udm.additional.fields.value.string_value 원시 로그의 sendtotrackerasadvancedauditlog 필드 값입니다. 키는 sendtotrackerasadvancedauditlog로 하드 코딩됩니다.
sequencenum read_only_udm.additional.fields.value.string_value 원시 로그의 sequencenum 필드 값입니다. 키는 sequencenum로 하드 코딩됩니다.
session_uid read_only_udm.additional.fields.value.string_value 원시 로그의 session_uid 필드 값입니다. 키는 session_uid로 하드 코딩됩니다.
sntdom read_only_udm.principal.administrative_domain 원시 로그의 sntdom 필드 값입니다.
src read_only_udm.principal.ip 원시 로그의 src 필드 값입니다.
subject read_only_udm.security_result.summary 원시 로그의 subject 필드 값입니다.
update_service read_only_udm.additional.fields.value.string_value 원시 로그의 update_service 필드 값입니다. 키는 update_service로 하드 코딩됩니다.
version read_only_udm.additional.fields.value.string_value 원시 로그의 version 필드 값입니다. 키는 version로 하드 코딩됩니다.
해당 사항 없음 read_only_udm.metadata.event_type host 필드가 원시 로그에 있으면 STATUS_UPDATE입니다. operation 필드가 Log Out와 같으면 USER_LOGOUT입니다. operation 필드가 Log In와 같으면 USER_LOGIN입니다. 그 외의 경우에는 GENERIC_EVENT입니다.
해당 사항 없음 read_only_udm.metadata.vendor_name 하드코딩된 값: Check Point
해당 사항 없음 read_only_udm.metadata.product_version 하드코딩된 값: Check Point
해당 사항 없음 read_only_udm.metadata.product_event_type 하드코딩된 값: [Log] - Log
해당 사항 없음 read_only_udm.metadata.log_type 하드코딩된 값: CHECKPOINT_FIREWALL
해당 사항 없음 read_only_udm.principal.hostname 원시 로그의 host 필드 값입니다.
해당 사항 없음 read_only_udm.principal.asset.hostname 원시 로그의 host 필드 값입니다.
해당 사항 없음 read_only_udm.extensions.auth.type operation 필드가 Log Out 또는 Log In와 같은 경우 AUTHTYPE_UNSPECIFIED
해당 사항 없음 read_only_udm.extensions.auth.mechanism operation 필드가 Log Out 또는 Log In와 같은 경우 MECHANISM_UNSPECIFIED

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.