Absolute Secure Endpoint 로그 수집
이 문서에서는 Bindplane을 사용하여 Absolute Secure Endpoint (이전 명칭: Absolute Data & Device Security) 로그를 Google Security Operations로 수집하는 방법을 설명합니다. 파서는 SIEM 커넥터 로그에서 필드를 추출합니다(SYSLOG + KV(CEF) 형식). grok 패턴을 사용하여 필드를 식별하고 추출한 다음 kv_pair 또는 cef 데이터의 존재 여부에 따라 조건부 로직을 사용하여 추출된 필드를 UDM 스키마에 매핑합니다. 식별된 필드와 값에 따라 특정 매핑과 변환이 적용되어 상태 하트비트와 보안 이벤트 데이터를 모두 처리합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- Bindplane 에이전트를 실행하는 systemd가 있는 Windows 2016 이상 또는 Linux 호스트
- Absolute SIEM 커넥터 서비스를 호스팅하는 Windows Server (2012 이상)
- SIEM 커넥터를 호스팅하는 Windows 서버에 Microsoft .NET Framework 4.0 이상이 설치되어 있어야 합니다.
- SIEM 통합이 사용 설정된 Absolute Secure Endpoint 콘솔에 대한 액세스 권한
- 프록시 뒤에서 실행하는 경우 BindPlane 에이전트 요구사항에 따라 방화벽 포트가 열려 있는지 확인합니다.
Google SecOps 수집 인증 파일 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 수집 에이전트로 이동합니다.
- 수집 인증 파일을 다운로드합니다. Bindplane이 설치될 시스템에 파일을 안전하게 저장합니다.
Google SecOps 고객 ID 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 프로필로 이동합니다.
- 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.
Bindplane 에이전트 설치
다음 안내에 따라 Windows 또는 Linux 운영체제에 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_file_path: '/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 log_type: 'ABSOLUTE' raw_log_field: body ingestion_labels: 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-agentWindows에서 Bindplane 에이전트를 다시 시작하려면 서비스 콘솔을 사용하거나 다음 명령어를 입력하면 됩니다.
net stop BindPlaneAgent && net start BindPlaneAgent
Windows Server에 Absolute SIEM 커넥터 설치
Absolute SIEM 커넥터는 Absolute Monitoring Center에서 알림 이벤트 데이터를 가져와 CEF 형식으로 syslog를 사용하여 전달하는 Windows 서비스입니다. SIEM 커넥터는 MSI 설치 프로그램으로 제공되며 Absolute Customer Center를 통해 Absolute Data & Device Security (DDS) Professional 및 Premium 고객에게 무료 다운로드로 제공됩니다.
https://cc.absolute.com/에서 Absolute Secure Endpoint Console에 로그인합니다.- 고객 센터 또는 다운로드 섹션으로 이동합니다.
- Absolute SIEM Connector MSI 설치 프로그램을 다운로드합니다.
- 설치 프로그램을 Windows Server로 전송합니다.
- Windows Server에서 관리자 권한으로 설치 프로그램을 실행합니다.
- 설치 마법사에 따라 설치를 완료합니다.
- 설치 디렉터리 (일반적으로
C:\Program Files\Absolute Software\Absolute SIEM Connector)를 확인합니다.
Absolute Secure Endpoint Console에서 SIEM 통합 사용 설정
SIEM 커넥터가 이벤트를 가져오려면 먼저 Absolute Secure Endpoint Console에서 SIEM 통합을 사용 설정해야 합니다.
https://cc.absolute.com/에서 Absolute Secure Endpoint Console에 로그인합니다.- 설정 또는 관리 섹션으로 이동합니다.
- SIEM 통합 설정을 찾습니다.
- SIEM 통합 사용 설정을 클릭하거나 SIEM 통합 설정을 사용으로 전환합니다.
- SIEM으로 전달할 이벤트 유형을 선택합니다.
- 또는 모든 이벤트 유형을 선택하여 사용 가능한 모든 로그를 전달합니다.
- 저장 또는 적용을 클릭하여 구성을 저장합니다.
Absolute SIEM 커넥터 구성
SIEM 커넥터를 설치하고 콘솔에서 SIEM 통합을 사용 설정한 후 BindPlane 에이전트로 이벤트를 전송하도록 커넥터를 구성합니다.
- Absolute SIEM 커넥터가 설치된 Windows Server에서 Absolute SIEM 커넥터 구성 도구를 엽니다.
- 시작 메뉴의 Absolute Software 또는 설치 디렉터리에서 확인할 수 있습니다.
- 다음 구성 세부정보를 제공합니다.
- Syslog 서버 호스트: Bindplane 에이전트의 IP 주소 또는 호스트 이름을 입력합니다.
- 시스템로그 서버 포트:
514(또는 Bindplane에서 구성된 포트)을 입력합니다. - 프로토콜: 실제 Bindplane 구성에 따라 UDP 또는 TCP를 선택합니다.
- 형식: CEF (Common Event Format)가 선택되어 있는지 확인합니다.
- 업데이트 간격: 커넥터가 Absolute에서 이벤트를 가져오는 빈도를 설정합니다 (최소 2분, 최대 1440분/24시간, 기본값은 60분).
- 시간대: 시스템 전반의 일관성을 위해 이벤트는 UTC 시간대로 전송됩니다.
- 저장을 클릭합니다.
- Absolute SIEM Connector 서비스를 시작하거나 다시 시작합니다.
- 서비스 (services.msc)를 엽니다.
- Absolute SIEM Connector 서비스를 찾습니다.
- 시작 또는 다시 시작을 클릭합니다.
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 논리 |
|---|---|---|
actorID |
principal.user.product_object_id |
원시 로그의 actorID 값이 이 UDM 필드에 매핑됩니다. |
actorName |
principal.hostname |
actorType이 'Device'인 경우 actorName 값이 이 UDM 필드에 매핑됩니다. |
actorName |
principal.user.userid |
actorType이 'User'인 경우 actorName 값이 이 UDM 필드에 매핑됩니다. |
actorType |
principal.user.attribute.roles.name |
actorType 값이 이 UDM 필드에 매핑됩니다. |
Alert ID |
security_result.threat_id |
원시 로그의 Alert ID 값이 이 UDM 필드에 매핑됩니다. |
Alert Name |
security_result.threat_name |
원시 로그의 Alert Name 값이 이 UDM 필드에 매핑됩니다. |
Alert Time |
metadata.event_timestamp |
원시 로그의 Alert Time 값이 파싱되어 이 UDM 필드에 매핑됩니다. date 필드가 없거나 잘못된 경우 대체로 사용됩니다. |
cef |
metadata.product_event_type |
CEF 문자열에서 추출된 eventType 필드가 이 UDM 필드에 매핑됩니다. |
cef |
principal.hostname |
CEF 문자열에서 추출된 objectName 필드가 이 UDM 필드에 매핑됩니다. |
cef |
principal.resource.product_object_id |
CEF 문자열에서 추출된 objectID 필드가 이 UDM 필드에 매핑됩니다. |
cef |
principal.user.product_object_id |
CEF 문자열에서 추출된 actorID 필드가 이 UDM 필드에 매핑됩니다. |
cef |
principal.user.userid |
CEF 문자열에서 추출된 actorName 필드는 actorType이 'User'인 경우 이 UDM 필드에 매핑됩니다. |
cef |
security_result.summary |
CEF 문자열에서 추출된 verb 필드가 이 UDM 필드에 매핑됩니다. |
cef |
target.labels.key |
파서는 값을 'objectProperties'로 설정합니다. |
cef |
target.labels.value |
CEF 문자열에서 추출된 objectProperties 필드가 이 UDM 필드에 매핑됩니다. |
Computer Name |
principal.hostname |
원시 로그의 Computer Name 값이 이 UDM 필드에 매핑됩니다. |
Condition |
security_result.description |
원시 로그의 Condition 값이 이 UDM 필드에 매핑됩니다. |
date |
metadata.event_timestamp |
원시 로그의 date 값이 파싱되어 이 UDM 필드에 매핑됩니다. |
datetime |
timestamp.seconds |
datetime 필드에서 추출된 epoch 초는 timestamp.seconds 필드를 채우는 데 사용됩니다. |
dvc_ip |
intermediary.ip |
원시 로그의 dvc_ip 값이 이 UDM 필드에 매핑됩니다. |
device_product |
metadata.product_name |
값은 'ABSOLUTE_PLATFORM'으로 설정됩니다. |
device_vendor |
metadata.vendor_name |
값은 'ABSOLUTE'로 설정됩니다. |
device_version |
metadata.product_version |
원시 로그의 device_version 값이 이 UDM 필드에 매핑됩니다. |
ESN |
security_result.detection_fields.key |
파서는 값을 'ESN'으로 설정합니다. |
ESN |
security_result.detection_fields.value |
kv_pair 필드에서 추출된 ESN 값이 이 UDM 필드에 매핑됩니다. |
event_class |
metadata.product_event_type |
eventType이 없는 경우 원시 로그의 event_class 값이 이 UDM 필드에 매핑됩니다. |
eventType |
metadata.product_event_type |
원시 로그의 eventType 값이 이 UDM 필드에 매핑됩니다. |
hostname |
intermediary.hostname |
원시 로그의 hostname 값이 이 UDM 필드에 매핑됩니다. |
is_alert |
is_alert |
값이 'true'로 설정되고 불리언으로 변환됩니다. |
is_significant |
is_significant |
값이 'true'로 설정되고 불리언으로 변환됩니다. |
kv_pair |
metadata.event_type |
kv_pair가 있으면 metadata.event_type이 'STATUS_HEARTBEAT'로 설정됩니다. |
kv_pair |
principal.asset.asset_id |
kv_pair 필드에서 추출된 Serial Number 값은 'serialNumber: |
log_type |
metadata.log_type |
값은 'ABSOLUTE'로 설정됩니다. |
objectID |
principal.resource.product_object_id |
원시 로그의 objectID 값이 이 UDM 필드에 매핑됩니다. |
objectName |
principal.hostname |
원시 로그의 objectName 값이 이 UDM 필드에 매핑됩니다. |
objectProperties |
target.labels.key |
파서는 값을 'objectProperties'로 설정합니다. |
objectProperties |
target.labels.value |
원시 로그의 objectProperties 값이 이 UDM 필드에 매핑됩니다. |
objectType |
principal.resource.resource_type |
objectType이 'Device'인 경우 대문자 ('DEVICE')로 변환되어 이 UDM 필드에 매핑됩니다. |
pid |
about.process.pid |
원시 로그의 pid 값이 이 UDM 필드에 매핑됩니다. |
Serial Number |
principal.asset.asset_id |
원시 로그의 Serial Number 값이 'serialNumber: |
verb |
security_result.summary |
원시 로그의 verb 값이 이 UDM 필드에 매핑됩니다. |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.