Fortra Digital Guardian DLP 로그 수집
이 문서에서는 Bindplane 에이전트를 사용하여 Fortra Digital Guardian DLP 로그를 Google Security Operations에 수집하는 방법을 설명합니다. 파서 코드는 원시 JSON 형식 로그를 통합 데이터 모델 (UDM)로 변환합니다. 먼저 원시 JSON에서 필드를 추출하고 데이터 정리 및 정규화를 실행한 다음 추출된 필드를 해당 UDM 속성에 매핑하여 식별된 활동에 따라 특정 이벤트 유형으로 데이터를 보강합니다.
시작하기 전에
- Google Security Operations 인스턴스가 있는지 확인합니다.
- Windows 2016 이상 또는
systemd
가 설치된 Linux 호스트를 사용하고 있는지 확인합니다. - 프록시 뒤에서 실행하는 경우 방화벽 포트가 열려 있는지 확인합니다.
- Fortra Digital Guardian DLP에 대한 권한 액세스 권한이 있는지 확인합니다.
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: DIGITALGUARDIAN_DLP 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
Fortra Digital Guardian Syslog 내보내기 구성
- Digital Guardian Management Console에 로그인합니다.
- Workspace > 데이터 내보내기 > 내보내기 만들기로 이동합니다.
- 데이터 소스 목록에서 알림 또는 이벤트를 데이터 소스로 선택합니다.
- 내보내기 유형으로 Syslog를 선택합니다.
유형 목록에서 UDP를 선택합니다. Bindplane 구성에 따라 전송 프로토콜로 TCP를 선택할 수도 있습니다.
서버 필드에 Bindplane 에이전트 IP 주소를 입력합니다.
포트 필드에
514
을 입력합니다 (Bindplane 에이전트 구성에 따라 다른 포트를 제공할 수 있음).심각도 수준 목록에서 심각도 수준을 선택합니다.
Is Active(활성) 체크박스를 선택합니다.
다음을 클릭합니다.
사용 가능한 필드 목록에서 데이터 내보내기를 위한 모든 알림 및 이벤트 필드를 추가합니다.
데이터 내보내기의 필드에 대한 기준을 선택합니다.
다음을 클릭합니다.
기준으로 사용할 그룹을 선택합니다.
다음을 클릭합니다.
쿼리 테스트를 클릭합니다.
다음을 클릭합니다.
저장을 클릭합니다.
UDM 매핑 테이블
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
에이전트 버전 | observer.platform_version | 원시 로그 필드 Agent Version 에서 직접 매핑됩니다. |
애플리케이션 | principal.process.command_line | 비어 있지 않은 경우 원시 로그 필드 Application 에서 직접 매핑됩니다. |
명령줄 | target.process.command_line | 원시 로그 필드 Command Line 에서 직접 매핑됩니다. |
회사 이름 | principal.user.company_name | 원시 로그 필드 Company Name 에서 직접 매핑됩니다. |
컴퓨터 이름 | principal.hostname | 원시 로그 필드 Computer Name 에서 직접 매핑됩니다. |
DNS 호스트 이름 | target.asset.hostname | 원시 로그 필드 DNS Hostname 에서 직접 매핑됩니다. |
대상 드라이브 유형 | about.labels.value | 원시 로그 필드 Destination Drive Type 에서 직접 매핑됩니다. 해당 키는 Destination Drive Type 으로 설정됩니다. |
대상 파일 확장자 | target.file.mime_type | no extension 또는 [no extension] 가 아닌 경우 원시 로그 필드 Destination File Extension 에서 직접 매핑됩니다. |
대상 파일 경로 | target.file.full_path | 원시 로그 필드 Destination File Path 에서 직접 매핑됩니다. |
기기 GUID | src.resource.id | GUID: 접두사가 있는 원시 로그 필드 Device GUID 에서 매핑되었습니다. |
보낸 사람 | network.email.from | 비어 있지 않은 경우 원시 로그 필드 Email Sender 에서 직접 매핑됩니다. |
이메일 제목 | network.email.subject | Email Sender 가 비어 있지 않은 경우 원시 로그 필드 Email Subject 에서 직접 매핑됩니다. |
이벤트 표시 이름 | target.resource.type | 원시 로그 필드 Event Display Name 에서 직접 매핑됩니다. |
이벤트 시간 | metadata.event_timestamp.seconds | yyyy-MM-dd HH:mm:ss A 및 TIMESTAMP_ISO8601 형식을 사용하여 원시 로그 필드 Event Time 에서 타임스탬프로 변환되었습니다. |
파일 설명 | metadata.description | 원시 로그 필드 File Description 에서 직접 매핑됩니다. |
파일 크기 | about.labels.value | 원시 로그 필드 File Size 에서 직접 매핑됩니다. 해당 키는 File Size 으로 설정됩니다. |
파일 버전 | about.labels.value | 원시 로그 필드 File Version 에서 직접 매핑됩니다. 해당 키는 File Version 으로 설정됩니다. |
IP 주소 | principal.ip | Source IP Address 이 비어 있는 경우 원시 로그 필드 IP Address 에서 직접 매핑됩니다. |
로컬 포트 | principal.port | 비어 있지 않고 정수로 변환된 경우 원시 로그 필드 Local Port 에서 직접 매핑됩니다. |
MAC 주소 | target.mac | 비어 있지 않은 경우 원시 로그 필드 MAC Address 에서 직접 매핑됩니다. |
머신 ID | principal.asset.asset_id | MachineId: 접두사가 있는 원시 로그 필드 Machine ID 에서 매핑되었습니다. |
머신 유형 | principal.asset.category | 원시 로그 필드 Machine Type 에서 직접 매핑됩니다. |
MD5 해시 | target.process.file.md5 | 소문자로 변환한 후 원시 로그 필드 MD5 Hash 에서 직접 매핑됩니다. |
네트워크 방향 | network.direction | 원시 로그 필드 Network Direction 에서 매핑되었습니다. Inbound 이면 INBOUND 로 설정합니다. Outbound 이면 OUTBOUND 로 설정합니다. |
작업 유형 | security_result.action_details | 원시 로그 필드 Operation Type 에서 직접 매핑됩니다. |
상위 애플리케이션 | principal.process.parent_process.command_line | 비어 있지 않은 경우 원시 로그 필드 Parent Application 에서 직접 매핑됩니다. |
상위 MD5 해시 | target.process.parent_process.file.md5 | 16진수 문자열 패턴과 일치하는 경우 소문자로 변환한 후 원시 로그 필드 Parent MD5 Hash 에서 직접 매핑됩니다. |
프로세스 도메인 | target.administrative_domain | 원시 로그 필드 Process Domain 에서 직접 매핑됩니다. |
파일 확장자 처리 | target.process.file.mime_type | no extension 또는 [no extension] 가 아닌 경우 원시 로그 필드 Process File Extension 에서 직접 매핑됩니다. |
프로세스 경로 | target.process.file.full_path | 원시 로그 필드 Process Path 에서 직접 매핑됩니다. |
프로세스 PID | principal.process.pid | 문자열로 변환된 후 원시 로그 필드 Process PID 에서 직접 매핑됩니다. |
제품 이름 | metadata.product_name | 원시 로그 필드 Product Name 에서 직접 매핑됩니다. |
제품 버전 | metadata.product_version | 원시 로그 필드 Product Version 에서 직접 매핑됩니다. |
프로토콜 | network.application_protocol | HTTP 또는 HTTPS 이면 HTTPS 로 설정합니다. |
프린터 이름 | src.resource.name | 원시 로그 필드 Printer Name 에서 직접 매핑됩니다. |
원격 포트 | target.port | 비어 있지 않고 정수로 변환된 경우 원시 로그 필드 Remote Port 에서 직접 매핑됩니다. |
SHA1 해시 | target.process.file.sha1 | 소문자로 변환한 후 원시 로그 필드 SHA1 Hash 에서 직접 매핑됩니다. |
SHA256 해시 | target.process.file.sha256 | 소문자로 변환한 후 원시 로그 필드 SHA256 Hash 에서 직접 매핑됩니다. |
서명 발급자 | network.tls.server.certificate.issuer | 원시 로그 필드 Signature Issuer 에서 직접 매핑됩니다. |
서명 제목 | network.tls.server.certificate.subject | 원시 로그 필드 Signature Subject 에서 직접 매핑됩니다. |
소스 파일 확장자 | src.file.mime_type | no extension 또는 [no extension] 가 아닌 경우 원시 로그 필드 Source File Extension 에서 직접 매핑됩니다. |
소스 파일 경로 | src.file.full_path | 원시 로그 필드 Source File Path 에서 직접 매핑됩니다. |
소스 IP 주소 | principal.ip | 비어 있지 않은 경우 원시 로그 필드 Source IP Address 에서 직접 매핑됩니다. |
전체 크기 | about.labels.value | 원시 로그 필드 Total Size 에서 직접 매핑됩니다. 해당 키는 Total Size 으로 설정됩니다. |
URL 경로 | target.url | 원시 로그 필드 URL Path 에서 직접 매핑됩니다. |
고유 ID | metadata.product_log_id | 원시 로그 필드 Unique ID 에서 직접 매핑됩니다. |
사용자 | principal.user.userid | 원시 로그 필드 User 에서 직접 매핑됩니다. |
세부정보가 차단됨 | security_result.action | Yes 이면 BLOCK 로 설정합니다. No 이면 ALLOW 로 설정합니다. |
dg_dst_dev.dev_prdname | target.asset.hardware.model | 원시 로그 필드 dg_dst_dev.dev_prdname 에서 직접 매핑됩니다. |
dg_dst_dev.dev_sernum | target.asset.hardware.serial_number | 원시 로그 필드 dg_dst_dev.dev_sernum 에서 직접 매핑됩니다. |
dg_recipients.uad_mr | network.email.to | 이메일 주소 패턴과 일치하는 경우 원시 로그 필드 dg_recipients.uad_mr 에서 직접 매핑됩니다. |
dg_src_dev.dev_prdname | principal.asset.hardware.model | 원시 로그 필드 dg_src_dev.dev_prdname 에서 직접 매핑됩니다. |
dg_src_dev.dev_sernum | principal.asset.hardware.serial_number | 원시 로그 필드 dg_src_dev.dev_sernum 에서 직접 매핑됩니다. |
metadata.event_type | metadata.event_type | 처음에는 GENERIC_EVENT 로 설정합니다. 특정 조건에 따라 변경됨: ~ NETWORK_HTTP : 호스트 이름, HTTP/HTTPS 프로토콜, MAC 주소가 있는 경우 ~ FILE_COPY : 대상 및 소스 파일 경로가 있고 Operation Type 이 File Copy 인 경우 ~ FILE_MOVE : 대상 및 소스 파일 경로가 있고 Operation Type 이 File Move 인 경우 ~ FILE_UNCATEGORIZED : 대상 파일 경로, 프로세스 경로/명령줄이 있고 Operation Type 에 File 이 포함된 경우 ~ USER_LOGOUT : 사용자 ID가 있고 Operation Type 에 Logoff 이 포함된 경우 ~ USER_LOGIN : 사용자 ID가 있고 Operation Type 에 Logon 이 포함된 경우 ~ NETWORK_UNCATEGORIZED : 프로세스 경로/명령줄, 프로세스 ID, 아웃바운드 네트워크 방향, MAC 주소가 있는 경우 ~ SCAN_PROCESS : 프로세스 경로/명령줄과 프로세스 ID가 있는 경우 ~ PROCESS_UNCATEGORIZED : 프로세스 경로/명령줄이 있는 경우 |
metadata.log_type | metadata.log_type | DIGITALGUARDIAN_DLP 로 설정합니다. |
metadata.product_log_id | metadata.product_log_id | 원시 로그 필드 Unique ID 에서 직접 매핑됩니다. |
metadata.product_name | metadata.product_name | 원시 로그 필드 Product Name 에서 직접 매핑됩니다. |
metadata.product_version | metadata.product_version | 원시 로그 필드 Product Version 에서 직접 매핑됩니다. |
metadata.vendor_name | metadata.vendor_name | DigitalGuardian 로 설정합니다. |
network.application_protocol | network.application_protocol | Protocol 이 HTTP 또는 HTTPS 이면 HTTPS 로 설정합니다. |
network.direction | network.direction | 원시 로그 필드 Network Direction 에서 매핑되었습니다. Inbound 이면 INBOUND 로 설정합니다. Outbound 이면 OUTBOUND 로 설정합니다. |
network.email.from | network.email.from | 비어 있지 않은 경우 원시 로그 필드 Email Sender 에서 직접 매핑됩니다. |
network.email.subject | network.email.subject | Email Sender 가 비어 있지 않은 경우 원시 로그 필드 Email Subject 에서 직접 매핑됩니다. |
network.email.to | network.email.to | 이메일 주소 패턴과 일치하는 경우 원시 로그 필드 dg_recipients.uad_mr 에서 직접 매핑됩니다. |
network.tls.server.certificate.issuer | network.tls.server.certificate.issuer | 원시 로그 필드 Signature Issuer 에서 직접 매핑됩니다. |
network.tls.server.certificate.subject | network.tls.server.certificate.subject | 원시 로그 필드 Signature Subject 에서 직접 매핑됩니다. |
observer.platform_version | observer.platform_version | 원시 로그 필드 Agent Version 에서 직접 매핑됩니다. |
principal.asset.asset_id | principal.asset.asset_id | MachineId: 접두사가 있는 원시 로그 필드 Machine ID 에서 매핑되었습니다. |
principal.asset.category | principal.asset.category | 원시 로그 필드 Machine Type 에서 직접 매핑됩니다. |
principal.asset.hardware.model | principal.asset.hardware.model | 원시 로그 필드 dg_src_dev.dev_prdname 에서 직접 매핑됩니다. |
principal.asset.hardware.serial_number | principal.asset.hardware.serial_number | 원시 로그 필드 dg_src_dev.dev_sernum 에서 직접 매핑됩니다. |
principal.hostname | principal.hostname | 원시 로그 필드 Computer Name 에서 직접 매핑됩니다. |
principal.ip | principal.ip | 비어 있지 않은 경우 원시 로그 필드 Source IP Address 에서 직접 매핑됩니다. 비어 있지 않은 경우 IP Address 에서 매핑됩니다. |
principal.port | principal.port | 비어 있지 않고 정수로 변환된 경우 원시 로그 필드 Local Port 에서 직접 매핑됩니다. |
principal.process.command_line | principal.process.command_line | 비어 있지 않은 경우 원시 로그 필드 Application 에서 직접 매핑됩니다. |
principal.process.parent_process.command_line | principal.process.parent_process.command_line | 비어 있지 않은 경우 원시 로그 필드 Parent Application 에서 직접 매핑됩니다. |
principal.process.parent_process.file.md5 | principal.process.parent_process.file.md5 | 16진수 문자열 패턴과 일치하는 경우 소문자로 변환한 후 원시 로그 필드 Parent MD5 Hash 에서 직접 매핑됩니다. |
principal.process.pid | principal.process.pid | 문자열로 변환된 후 원시 로그 필드 Process PID 에서 직접 매핑됩니다. |
principal.user.company_name | principal.user.company_name | 원시 로그 필드 Company Name 에서 직접 매핑됩니다. |
principal.user.userid | principal.user.userid | 원시 로그 필드 User 에서 직접 매핑됩니다. |
security_result.action | security_result.action | Was Detail Blocked 이 Yes 이면 BLOCK 로 설정합니다. Was Detail Blocked 이 No 이면 ALLOW 로 설정합니다. |
security_result.action_details | security_result.action_details | 원시 로그 필드 Operation Type 에서 직접 매핑됩니다. |
src.file.full_path | src.file.full_path | 원시 로그 필드 Source File Path 에서 직접 매핑됩니다. |
src.file.mime_type | src.file.mime_type | no extension 또는 [no extension] 가 아닌 경우 원시 로그 필드 Source File Extension 에서 직접 매핑됩니다. |
src.resource.id | src.resource.id | GUID: 접두사가 있는 원시 로그 필드 Device GUID 에서 매핑되었습니다. |
src.resource.name | src.resource.name | 원시 로그 필드 Printer Name 에서 직접 매핑됩니다. |
target.administrative_domain | target.administrative_domain | 원시 로그 필드 Process Domain 에서 직접 매핑됩니다. |
target.asset.hardware.model | target.asset.hardware.model | 원시 로그 필드 dg_dst_dev.dev_prdname 에서 직접 매핑됩니다. |
target.asset.hardware.serial_number | target.asset.hardware.serial_number | 원시 로그 필드 dg_dst_dev.dev_sernum 에서 직접 매핑됩니다. |
target.asset.hostname | target.asset.hostname | 원시 로그 필드 DNS Hostname 에서 직접 매핑됩니다. |
target.asset.product_object_id | target.asset.product_object_id | 원시 로그 필드 Adapter Name 에서 직접 매핑됩니다. |
target.file.full_path | target.file.full_path | 원시 로그 필드 Destination File Path 에서 직접 매핑됩니다. |
target.file.mime_type | target.file.mime_type | no extension 또는 [no extension] 가 아닌 경우 원시 로그 필드 Destination File Extension 에서 직접 매핑됩니다. |
target.mac | target.mac | 비어 있지 않은 경우 원시 로그 필드 MAC Address 에서 직접 매핑됩니다. |
target.port | target.port | 비어 있지 않고 정수로 변환된 경우 원시 로그 필드 Remote Port 에서 직접 매핑됩니다. |
target.process.command_line | target.process.command_line | 원시 로그 필드 Command Line 에서 직접 매핑됩니다. |
target.process.file.full_path | target.process.file.full_path | 원시 로그 필드 Process Path 에서 직접 매핑됩니다. |
target.process.file.md5 | target.process.file.md5 | 소문자로 변환한 후 원시 로그 필드 MD5 Hash 에서 직접 매핑됩니다. |
target.process.file.mime_type | target.process.file.mime_type | no extension 또는 [no extension] 가 아닌 경우 원시 로그 필드 Process File Extension 에서 직접 매핑됩니다. |
target.process.file.sha1 | target.process.file.sha1 | 소문자로 변환한 후 원시 로그 필드 SHA1 Hash 에서 직접 매핑됩니다. |
target.process.file.sha256 | target.process.file.sha256 | 소문자로 변환한 후 원시 로그 필드 SHA256 Hash 에서 직접 매핑됩니다. |
target.process.parent_process.command_line | target.process.parent_process.command_line | 비어 있지 않은 경우 원시 로그 필드 Parent Application 에서 직접 매핑됩니다. |
target.process.parent_process.file.md5 | target.process.parent_process.file.md5 | 16진수 문자열 패턴과 일치하는 경우 소문자로 변환한 후 원시 로그 필드 Parent MD5 Hash 에서 직접 매핑됩니다. |
target.resource.type | target.resource.type | 원시 로그 필드 Event Display Name 에서 직접 매핑됩니다. |
target.url | target.url | 원시 로그 필드 URL Path 에서 직접 매핑됩니다. |
extensions.auth.type | extensions.auth.type | Operation Type 이 User Logoff 또는 User Logon 이면 AUTHTYPE_UNSPECIFIED 로 설정합니다. |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.