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 수집 인증 파일 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 수집 에이전트로 이동합니다.
- 수집 인증 파일을 다운로드합니다. Bindplane이 설치될 시스템에 파일을 안전하게 저장합니다.
Google SecOps 고객 ID 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 프로필로 이동합니다.
- 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.
Bindplane 에이전트 설치
Windows 설치
- 명령 프롬프트 또는 PowerShell을 관리자로 엽니다.
다음 명령어를 실행합니다.
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux 설치
- 루트 또는 sudo 권한으로 터미널을 엽니다.
다음 명령어를 실행합니다.
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
추가 설치 리소스
추가 설치 옵션은 설치 가이드를 참고하세요.
Syslog를 수집하여 Google SecOps로 전송하도록 Bindplane 에이전트 구성
- 구성 파일에 액세스합니다.
config.yaml
파일을 찾습니다. 일반적으로 Linux에서는/etc/bindplane-agent/
디렉터리에 있고 Windows에서는 설치 디렉터리에 있습니다.- 텍스트 편집기 (예:
nano
,vi
, 메모장)를 사용하여 파일을 엽니다.
다음과 같이
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
인프라에 필요한 대로 포트와 IP 주소를 바꿉니다.
<customer_id>
를 실제 고객 ID로 바꿉니다.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 서버 객체 구성
- SmartConsole을 사용하여 관리 서버에 연결합니다.
- 게이트웨이 및 서버로 이동합니다.
- 객체 탐색기에서 새 > 호스트를 클릭합니다.
- 다음 구성 세부정보를 제공합니다.
- 이름: 고유한 이름을 입력합니다.
- IPv4 주소: Bindplane 에이전트 IP 주소를 입력합니다.
- 확인을 클릭합니다.
- 객체 탐색기에서 새로 만들기 > 서버 > 더보기 > Syslog를 클릭합니다.
- 다음 구성 세부정보를 제공합니다.
- 이름: 고유한 이름을 입력합니다.
- 호스트: 이전에 만든 호스트를 선택합니다.
- 포트: Bindplane 에이전트 포트 번호 (기본값
514
)를 입력합니다. - 버전: Syslog 프로토콜을 선택합니다.
- 확인을 클릭합니다.
보안 게이트웨이에서 구성된 Syslog 선택
- 보안 게이트웨이 객체를 더블클릭합니다.
- 로그를 클릭합니다.
- 다음 로그 서버에 로그 및 알림 전송 표에서 녹색 (+)를 클릭하고 이전에 구성한 Syslog Server 객체를 선택합니다.
- 확인을 클릭하고 정책을 설치합니다.
fwsyslog_enable 구성
- CLI를 사용하여 보안 게이트웨이 및 각 클러스터 구성원에 연결합니다.
- 전문가 모드로 전환합니다.
$FWDIR/boot/modules/fwkern.conf
파일을 수정합니다.vi $FWDIR/boot/modules/fwkern.conf
다음 줄을 추가합니다.
fwsyslog_enable=1
파일의 변경사항을 저장하고 편집기를 종료합니다.
보안 게이트웨이 / 각 클러스터 구성원을 재부팅합니다.
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 전문가로부터 답변을 받으세요.