Cisco IronPort 로그 수집

다음에서 지원:

이 문서에서는 Bindplane을 사용하여 Cisco IronPort 로그를 Google Security Operations로 수집하는 방법을 설명합니다. 파서는 syslog 메시지에서 필드, 특히 AccessLogs_chron 이벤트와 관련된 필드를 추출합니다. grok 패턴을 사용하여 메시지를 파싱하고, 데이터 유형을 변환하고, 추출된 필드를 통합 데이터 모델 (UDM)에 매핑하여 정책 그룹 및 액세스 결정과 같은 다양한 Cisco Ironport 관련 필드를 처리합니다. 또한 기본적인 오류 처리를 실행하고 벤더 및 제품 이름과 같은 메타데이터 필드를 설정합니다.

시작하기 전에

다음 기본 요건이 충족되었는지 확인합니다.

  • Google SecOps 인스턴스
  • Windows 2016 이상 또는 systemd가 있는 Linux 호스트
  • 프록시 뒤에서 실행하는 경우 방화벽 포트가 열려 있는지 확인합니다.
  • Cisco IronPort 에 대한 액세스 권한 관리

Google SecOps 수집 인증 파일 가져오기

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

Google SecOps 고객 ID 가져오기

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

Bindplane 에이전트 설치

다음 안내에 따라 Windows 또는 Linux 운영체제에 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. 구성 파일에 액세스합니다.
    • config.yaml 파일을 찾습니다. 일반적으로 Linux의 /etc/bindplane-agent/ 디렉터리 또는 Windows의 설치 디렉터리에 있습니다.
    • 텍스트 편집기 (예: 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_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: 'CISCO_IRONPORT'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    

Bindplane 에이전트를 다시 시작하여 변경사항 적용

  • Linux에서 Bindplane 에이전트를 다시 시작하려면 다음 명령어를 실행합니다.

    sudo systemctl restart bindplane-agent
    
  • Windows에서 Bindplane 에이전트를 다시 시작하려면 서비스 콘솔을 사용하거나 다음 명령어를 입력하면 됩니다.

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Cisco IronPort에서 Syslog 구성

  1. Cisco IronPort 웹 UI에 로그인합니다.
  2. 시스템 관리 > 로그 구독 을 클릭합니다.
  3. 로그 구독 추가 를 클릭합니다.
  4. 다음 구성 세부정보를 제공합니다.
    • 로그 유형: 액세스 로그 또는 내보낼 다른 로그를 선택합니다.
    • 로그 스타일: Squid를 선택합니다.
    • 파일 이름: 기본적으로 제공되지 않는 경우 파일 이름을 제공합니다.
    • 검색 방법: Syslog 푸시 (기본 포트 514 사용)를 선택합니다.
    • 호스트 이름: Bindplane 에이전트 IP 주소를 입력합니다.
    • 프로토콜: UDP를 선택합니다.
    • 시설: local0 또는 syslog를 선택합니다.
  5. 제출 을 클릭합니다.

UDM 매핑 표

로그 필드 UDM 매핑 논리
AccessLogs_chron metadata.product_event_type 첫 번째 grok 파서에서 추출한 product_event 필드에서 직접 매핑됩니다.
acl_decision_tag security_result.detection_fields.key 값은 'ACL 결정 태그'입니다. 파서 논리는 로그에 acl_decision_tag가 있는 경우 이 값을 설정합니다.
acl_decision_tag security_result.detection_fields.value 두 번째 grok 파서에서 추출한 acl_decision_tag 필드에서 직접 매핑됩니다.
access_or_decryption_policy_group security_result.detection_fields.key 값은 'AccessOrDecryptionPolicyGroup'입니다. 파서 논리는 로그에 access_or_decryption_policy_group이 있는 경우 이 값을 설정합니다.
access_or_decryption_policy_group security_result.detection_fields.value 두 번째 grok 파서에서 추출한 access_or_decryption_policy_group 필드에서 직접 매핑됩니다.
authenticated_user principal.user.userid grok 및 gsub를 사용하여 authenticated_user 필드에서 추출하여 백슬래시와 따옴표를 삭제합니다.
cache_hierarchy_retrieval security_result.detection_fields.key 값은 '캐시 계층 구조 검색'입니다. 파서 논리는 로그에 cache_hierarchy_retrieval이 있는 경우 이 값을 설정합니다.
cache_hierarchy_retrieval security_result.detection_fields.value 두 번째 grok 파서에서 추출한 cache_hierarchy_retrieval 필드에서 직접 매핑됩니다.
data_security_policy_group security_result.detection_fields.key 값은 'DataSecurityPolicyGroup'입니다. 파서 논리는 로그에 data_security_policy_group이 있는 경우 이 값을 설정합니다.
data_security_policy_group security_result.detection_fields.value 두 번째 grok 파서에서 추출한 data_security_policy_group 필드에서 직접 매핑됩니다.
external_dlp_policy_group security_result.detection_fields.key 값은 'ExternalDlpPolicyGroup'입니다. 파서 논리는 로그에 external_dlp_policy_group이 있는 경우 이 값을 설정합니다.
external_dlp_policy_group security_result.detection_fields.value 두 번째 grok 파서에서 추출한 external_dlp_policy_group 필드에서 직접 매핑됩니다.
hostname principal.asset.hostname 첫 번째 grok 파서에서 추출한 hostname 필드에서 직접 매핑됩니다.
hostname principal.hostname 첫 번째 grok 파서에서 추출한 hostname 필드에서 직접 매핑됩니다.
http_method network.http.method 두 번째 grok 파서에서 추출한 http_method 필드에서 직접 매핑됩니다.
http_response_code network.http.response_code 두 번째 grok 파서에서 추출한 http_response_code 필드에서 직접 매핑되고 정수로 변환됩니다.
identity_policy_group security_result.detection_fields.key 값은 'IdentityPolicyGroup'입니다. 파서 논리는 로그에 identity_policy_group이 있는 경우 이 값을 설정합니다.
identity_policy_group security_result.detection_fields.value 두 번째 grok 파서에서 추출한 identity_policy_group 필드에서 직접 매핑됩니다. 날짜 필터가 처리한 후 timestamp 필드에서 복사됩니다. has_principal이 true이면 'STATUS_UPDATE'로 설정되고, 그렇지 않으면 'GENERIC_EVENT'로 설정됩니다. 상수 값: 'Cisco Ironport' 상수 값: 'Cisco'
outbound_malware_scanning_policy_group security_result.detection_fields.key 값은 'OutboundMalwareScanningPolicyGroupS'입니다. 파서 논리는 로그에 outbound_malware_scanning_policy_group이 있는 경우 이 값을 설정합니다.
outbound_malware_scanning_policy_group security_result.detection_fields.value 두 번째 grok 파서에서 추출한 outbound_malware_scanning_policy_group 필드에서 직접 매핑됩니다.
request_method_uri target.url 두 번째 grok 파서에서 추출한 request_method_uri 필드에서 직접 매핑됩니다.
result_code security_result.detection_fields.key 값은 '결과 코드'입니다. 파서 논리는 로그에 result_code가 있는 경우 이 값을 설정합니다.
result_code security_result.detection_fields.value 두 번째 grok 파서에서 추출한 result_code 필드에서 직접 매핑됩니다.
routing_policy_group security_result.detection_fields.key 값은 'RoutingPolicyGroup'입니다. 파서 논리는 로그에 routing_policy_group이 있는 경우 이 값을 설정합니다.
routing_policy_group security_result.detection_fields.value 두 번째 grok 파서에서 추출한 routing_policy_group 필드에서 직접 매핑됩니다.
severity security_result.severity severity 필드에서 매핑됩니다. 값이 '정보'이면 'INFORMATIONAL'로 설정됩니다.
source_ip principal.asset.ip 두 번째 grok 파서에서 추출한 source_ip 필드에서 직접 매핑됩니다.
source_ip principal.ip 두 번째 grok 파서에서 추출한 source_ip 필드에서 직접 매핑됩니다.
timestamp timestamp grok를 사용하여 message 필드에서 추출한 후 날짜 필터를 사용하여 파싱됩니다.
total_bytes network.sent_bytes 두 번째 grok 파서에서 추출한 total_bytes 필드에서 직접 매핑되고 부호 없는 정수로 변환됩니다. 비어 있지 않거나 '0'인 경우에만 매핑됩니다.

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