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 Export 구성
- Digital Guardian 관리 콘솔에 로그인합니다.
- Workspace(워크스페이스) > Data Export(데이터 내보내기) > Create Export(내보내기 만들기)로 이동합니다.
- 데이터 소스 목록에서 데이터 소스로 알림 또는 이벤트를 선택합니다.
- 내보내기 유형으로 Syslog를 선택합니다.
유형 목록에서 UDP를 선택합니다. Bindplane 구성에 따라 TCP를 전송 프로토콜로 선택할 수도 있습니다.
서버 필드에 Bindplane 에이전트 IP 주소를 입력합니다.
포트 필드에
514
를 입력합니다. Bindplane 에이전트 구성에 따라 다른 포트를 입력할 수도 있습니다.심각도 수준 목록에서 심각도 수준을 선택합니다.
활성 여부 체크박스를 선택합니다.
다음을 클릭합니다.
사용 가능한 필드 목록에서 데이터 내보내기에 모두 알림 및 이벤트 필드를 추가합니다.
데이터 내보내기의 필드에 기준을 선택합니다.
다음을 클릭합니다.
기준에 대한 그룹을 선택합니다.
다음을 클릭합니다.
테스트 쿼리를 클릭합니다.
다음을 클릭합니다.
저장을 클릭합니다.
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 로 설정합니다. |
변경사항
2023-06-02
- 'dg_recipients.uad_mr' 필드의 매핑을 'src.user.email_addresses'에서 'network.email.to'로 변경했습니다.
2022-11-30
- 파서를 새로 만들었습니다.
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가의 답변을 받아 보세요.