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 처리 인증 파일 가져오기

  1. Google SecOps 콘솔에 로그인합니다.
  2. SIEM 설정 > 수집 에이전트로 이동합니다.
  3. 처리 인증 파일을 다운로드합니다. Bindplane가 설치될 시스템에 파일을 안전하게 저장합니다.

Google SecOps 고객 ID 가져오기

  1. Google SecOps 콘솔에 로그인합니다.
  2. SIEM 설정 > 프로필로 이동합니다.
  3. 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.

Bindplane 에이전트 설치

Windows 설치

  1. 관리자 권한으로 명령 프롬프트 또는 PowerShell을 엽니다.
  2. 다음 명령어를 실행합니다.

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux 설치

  1. 루트 또는 sudo 권한으로 터미널을 엽니다.
  2. 다음 명령어를 실행합니다.

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

추가 설치 리소스

Syslog를 수집하고 Google SecOps로 전송하도록 Bindplane 에이전트 구성

  1. 구성 파일에 액세스합니다.

    1. config.yaml 파일을 찾습니다. 일반적으로 Linux의 /etc/bindplane-agent/ 디렉터리 또는 Windows의 설치 디렉터리에 있습니다.
    2. 텍스트 편집기 (예: nano, vi, 메모장)를 사용하여 파일을 엽니다.
  2. 다음과 같이 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
    
  3. 인프라에서 필요에 따라 포트와 IP 주소를 바꿉니다.

  4. <customer_id>를 실제 고객 ID로 바꿉니다.

  5. 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 구성

  1. Digital Guardian 관리 콘솔에 로그인합니다.
  2. Workspace(워크스페이스) > Data Export(데이터 내보내기) > Create Export(내보내기 만들기)로 이동합니다.
  3. 데이터 소스 목록에서 데이터 소스로 알림 또는 이벤트를 선택합니다.
  4. 내보내기 유형으로 Syslog를 선택합니다.
  5. 유형 목록에서 UDP를 선택합니다. Bindplane 구성에 따라 TCP를 전송 프로토콜로 선택할 수도 있습니다.

  6. 서버 필드에 Bindplane 에이전트 IP 주소를 입력합니다.

  7. 포트 필드에 514를 입력합니다. Bindplane 에이전트 구성에 따라 다른 포트를 입력할 수도 있습니다.

  8. 심각도 수준 목록에서 심각도 수준을 선택합니다.

  9. 활성 여부 체크박스를 선택합니다.

  10. 다음을 클릭합니다.

  11. 사용 가능한 필드 목록에서 데이터 내보내기에 모두 알림 및 이벤트 필드를 추가합니다.

  12. 데이터 내보내기의 필드에 기준을 선택합니다.

  13. 다음을 클릭합니다.

  14. 기준에 대한 그룹을 선택합니다.

  15. 다음을 클릭합니다.

  16. 테스트 쿼리를 클릭합니다.

  17. 다음을 클릭합니다.

  18. 저장을 클릭합니다.

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 ATIMESTAMP_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 TypeFile Copy인 경우
- FILE_MOVE: 대상 및 소스 파일 경로가 있고 Operation TypeFile Move인 경우
- FILE_UNCATEGORIZED: 대상 파일 경로, 프로세스 경로/명령줄이 있고 Operation TypeFile가 포함된 경우
- USER_LOGOUT: 사용자 ID가 있고 Operation TypeLogoff가 포함된 경우
- USER_LOGIN: 사용자 ID가 있고 Operation TypeLogon가 포함된 경우
- 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 ProtocolHTTP 또는 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 BlockedYes이면 BLOCK로 설정합니다. Was Detail BlockedNo이면 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 TypeUser Logoff 또는 User Logon이면 AUTHTYPE_UNSPECIFIED로 설정합니다.

변경사항

2023-06-02

  • 'dg_recipients.uad_mr' 필드의 매핑을 'src.user.email_addresses'에서 'network.email.to'로 변경했습니다.

2022-11-30

  • 파서를 새로 만들었습니다.

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가의 답변을 받아 보세요.