CyberArk EPM 로그 수집
다음에서 지원:
Google SecOps
SIEM
이 파서 코드는 CyberArk EPM 로그 데이터를 통합 데이터 모델 (UDM)로 변환합니다. 로그의 각 이벤트를 반복하고, 관련 필드를 해당 UDM 필드에 매핑하고, 'exposedUsers'와 같은 특정 데이터 구조를 처리하고, 정적 공급업체 및 제품 정보로 출력을 보강합니다.
시작하기 전에
- Google Security Operations 인스턴스가 있는지 확인합니다.
- Windows 2016 이상 또는 systemd가 있는 Linux 호스트를 사용하고 있는지 확인합니다.
- 프록시 뒤에서 실행하는 경우 방화벽 포트가 열려 있는지 확인합니다.
- EPM Server Management Console에 대한 권한이 있는지 확인합니다.
Google SecOps 처리 인증 파일 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 수집 에이전트로 이동합니다.
- 처리 인증 파일을 다운로드합니다.
Google SecOps 고객 ID 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 프로필로 이동합니다.
- 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.
BindPlane 에이전트 설치
- Windows 설치의 경우 다음 스크립트를 실행합니다.
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Linux 설치의 경우 다음 스크립트를 실행합니다.
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- 추가 설치 옵션은 이 설치 가이드에서 확인할 수 있습니다.
Syslog를 수집하고 Google SecOps로 전송하도록 BindPlane 에이전트 구성
- BindPlane이 설치된 머신에 액세스합니다.
다음과 같이
config.yaml
파일을 수정합니다.receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: Cyberark_EPM raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
BindPlane 에이전트를 다시 시작하여 변경사항을 적용합니다.
sudo systemctl restart bindplane
EPM에서 서드 파티 이벤트 전달 구성
- EPM 서버 관리 콘솔에 로그인합니다.
- 고급 > 서버 구성으로 이동합니다.
- Event Listeners(이벤트 리스너) 섹션에서 Third-party Listeners(서드 파티 리스너) 설정을 찾습니다.
- 서드 파티 리스너를 활성화하려면 값을 사용으로 설정합니다.
- 다음 세부정보를 제공하여 Syslog 리스너를 구성합니다.
- 시스템로그 서버 IP: 시스템로그 서버 (Bindplane)의 IP 주소를 입력합니다.
- 시스템로그 포트: syslog 서버 (Bindplane)의 포트 번호를 지정합니다.
- 프로토콜: syslog 서버에 구성된 프로토콜 (TCP 또는 UDP)을 선택합니다.
- 형식: 로그 형식으로 Syslog를 선택합니다.
- 저장을 클릭합니다.
UDM 매핑 표
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
agentId | principal.asset.asset_id | 'agentId:'를 agentId 필드의 값과 연결합니다. |
computerName | principal.hostname | computerName 필드를 직접 매핑합니다. |
displayName | metadata.description | displayName 필드를 직접 매핑합니다. |
eventType | metadata.product_event_type | eventType 필드를 직접 매핑합니다. |
exposedUsers.[].accountName | target.user.attribute.labels | 키가 'accountName_[index]'이고 값이 exposedUsers.[index].accountName인 라벨을 만듭니다. |
exposedUsers.[].domain | target.user.attribute.labels | 'domain_[index]' 키와 exposedUsers.[index].domain의 값으로 라벨을 만듭니다. |
exposedUsers.[].username | target.user.attribute.labels | 키가 'username_[index]'이고 값이 exposedUsers.[index].username인 라벨을 만듭니다. |
filePath | target.file.full_path | filePath 필드를 직접 매핑합니다. |
해시 | target.file.sha1 | 해시 필드를 직접 매핑합니다. |
operatingSystemType | principal.platform | operatingSystemType 필드가 'Windows'인 경우 'Windows'를 'WINDOWS'로 매핑합니다. |
policyName | security_result.rule_name | policyName 필드를 직접 매핑합니다. |
processCommandLine | target.process.command_line | processCommandLine 필드를 직접 매핑합니다. |
게시자 | additional.fields | 게시자 필드에서 키가 '게시자'이고 string_value가 있는 필드를 만듭니다. |
sourceProcessCommandLine | target.process.parent_process.command_line | sourceProcessCommandLine 필드를 직접 매핑합니다. |
sourceProcessHash | target.process.parent_process.file.sha1 | sourceProcessHash 필드를 직접 매핑합니다. |
sourceProcessSigner | additional.fields | sourceProcessSigner 필드에서 키가 'sourceProcessSigner'이고 string_value가 있는 필드를 만듭니다. |
threatProtectionAction | security_result.action_details | threatProtectionAction 필드를 직접 매핑합니다. |
metadata.event_timestamp | 이벤트 타임스탬프를 로그 항목의 create_time으로 설정합니다. | |
metadata.event_type | 'STATUS_UPDATE'로 하드코딩됩니다. | |
metadata.log_type | 'CYBERARK_EPM'으로 하드코딩되었습니다. | |
metadata.product_name | 'EPM'으로 하드코딩되었습니다. | |
metadata.vendor_name | 'CYBERARK'로 하드코딩되었습니다. | |
security_result.alert_state | 'ALERTING'으로 하드코딩됩니다. | |
userName | principal.user.userid | userName 필드를 직접 매핑합니다. |
변경사항
2023-08-22
- 새로 생성된 파서