Aruba ClearPass 로그 수집

다음에서 지원:

이 문서에서는 Bindplane을 사용하여 Aruba ClearPass 로그를 수집하는 방법을 설명합니다. 파서는 불필요한 필드를 삭제하고 메시지 형식을 표준화하여 수신 로그를 정리하고 구조화하려고 시도합니다. 그런 다음 로그가 CEF 형식을 따르는지 아니면 다른 구조를 따르는지에 따라 코드는 grok 패턴, 키-값 추출, 조건부 논리를 조합하여 관련 필드를 통합 데이터 모델 (UDM)에 매핑하고 궁극적으로 각 이벤트를 특정 보안 이벤트 유형으로 분류합니다.

시작하기 전에

  • Google Security Operations 인스턴스가 있는지 확인합니다.
  • Windows 2016 이상 또는 systemd가 설치된 Linux 호스트를 사용하고 있는지 확인합니다.
  • 프록시 뒤에서 실행하는 경우 방화벽 포트가 열려 있는지 확인합니다.
  • Aruba ClearPass에 대한 권한 액세스 권한이 있는지 확인합니다.

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: CLEARPASS
                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
    

Aruba ClearPass syslog 서버 구성

  1. ClearPass Policy Manager 콘솔에 로그인합니다.
  2. 관리 > 외부 서버 > Syslog 타겟을 선택합니다.
  3. 추가를 클릭합니다.
  4. 표시되는 syslog 타겟 추가 창에서 다음 세부정보를 지정합니다.
    • 호스트 주소: Bindplane IP 주소를 입력합니다.
    • 서버 포트: Bindplane 포트 번호를 입력합니다.
    • 프로토콜: UDP를 선택합니다 (Bindplane 구성에 따라 TCP를 선택할 수도 있음).
  5. 저장을 클릭합니다.

syslog 내보내기 필터 구성

  1. 관리 > 외부 서버 > Syslog 내보내기 필터로 이동합니다.
  2. 추가를 클릭합니다.
  3. 표시되는 Syslog 필터 추가 창의 일반 탭에서 다음을 지정합니다.
    • 이름: 내보내기 템플릿 항목의 표에 따라 syslog 내보내기 필터 이름을 입력합니다.
    • 템플릿 내보내기: 템플릿 항목 내보내기의 표에 따라 적절한 내보내기 템플릿을 선택합니다.
    • 이벤트 형식 유형 내보내기: 표준을 선택합니다.
    • Syslog servers: Bindplane IP 주소를 선택합니다.
  4. 내보내기 템플릿 목록에서 세션 또는 통계 내보내기 템플릿을 선택하면 필터 및 열 탭이 사용 설정됩니다. 다음 단계를 완료합니다.
    • 필터 및 열 탭을 클릭합니다.
    • 데이터 필터: 기본값인 모든 요청이 선택되어 있는지 확인합니다.
    • 열 선택: 내보내기 템플릿 항목의 표에 따라 사전 정의된 필드 그룹을 선택합니다.
    • 선택한 열: 자동으로 채워진 필드가 템플릿 항목 내보내기의 표와 일치하는지 확인합니다.
    • 요약 탭을 클릭합니다.
    • 저장을 클릭합니다.
  5. 내보내기 템플릿 목록에서 시스템 이벤트감사 기록 내보내기 템플릿을 선택하면 필터 및 열 탭이 사용 설정되지 않습니다. 요약 탭으로 이동하여 저장을 클릭합니다.
  6. 내보내기 템플릿 항목 요약의 표에 있는 세부정보를 기반으로 모든 세션, 통계, 감사 기록, 시스템 이벤트 내보내기 템플릿에 대해 단계를 반복하여 syslog 내보내기 필터를 추가합니다.

템플릿 항목 내보내기

다음 표에서는 각 내보내기 템플릿에 대해 구성해야 하는 항목을 설명합니다. '선택한 열'에 나열된 기본 필드는 이벤트 파싱에 지원됩니다. '선택한 열'(기본값) 아래 표에 언급된 모든 필드가 동일한 순서로 있는지 확인합니다. 필터의 대소문자를 구분하는 이름을 비롯하여 표에 제공된 대로 정확하게 syslog 내보내기 필터 템플릿을 만들어야 합니다.

Syslog 내보내기 필터 이름 (대소문자 구분) 템플릿 내보내기 사전 정의된 필드 그룹 선택한 열 (기본값)
ACPPM_radauth 통계 로그 반경 인증 Auth.Username
Auth.Host-MAC-Address
Auth.Protocol
Auth.NAS-IP-Address
CppmNode.CPPM-Node
Auth.Login-Status
Auth.Service
Auth.Source
Auth.Roles
Auth.Enforcement-Profiles
ACPPM_radfailedauth 통계 로그 Radius 인증 실패 Auth.Username
Auth.Host-MAC-Address
Auth.NAS-IP-Address
CppmNode.CPPM-Node
Auth.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_radacct 통계 로그 RADIUS 회계 Radius.Username
Radius.Calling-Station-Id
Radius.Framed-IP-Address
Radius.NAS-IP-Address
Radius.Start-Time
Radius.End-Time
Radius.Duration
Radius.Input-bytes
Radius.Output-bytes
ACPPM_tacauth 통계 로그 tacacs 인증 tacacs.Username
tacacs.Remote-Address
tacacs.Request-Type
tacacs.NAS-IP-Address
tacacs.Service
tacacs.Auth-Source
tacacs.Roles
tacacs.Enforcement-Profiles
tacacs.Privilege-Level
ACPPM_tacfailedauth 통계 로그 tacacs 인증 실패 tacacs.Username
tacacs.Remote-Address
tacacs.Request-Type
tacacs.NAS-IP-Address
tacacs.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_webauth 통계 로그 WEBAUTH Auth.Username
Auth.Host-MAC-Address
Auth.Host-IP-Address
Auth.Protocol
Auth.System-Posture-Token
CppmNode.CPPM-Node
Auth.Login-Status
Auth.Service
Auth.Source
Auth.Roles
Auth.Enforcement-Profiles
ACPPM_webfailedauth 통계 로그 WEBAUTH 인증 실패 Auth.Username
Auth.Host-MAC-Address
Auth.Host-IP-Address
Auth.Protocol
Auth.System-Posture-Token
CppmNode.CPPM-Node
Auth.Login-Status
Auth.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_appauth 통계 로그 애플리케이션 인증 Auth.Username
Auth.Host-IP-Address
Auth.Protocol
CppmNode.CPPM-Node
Auth.Login-Status
Auth.Service
Auth.Source
Auth.Roles
Auth.Enforcement-Profiles
ACPPM_failedappauth 통계 로그 애플리케이션 인증 실패 Auth.Username
Auth.Host-IP-Address
Auth.Protocol
CppmNode.CPPM-Node
Auth.Login-Status
Auth.Service
CppmErrorCode.Error-Code-Details
CppmAlert.Alerts
ACPPM_endpoints 통계 로그 엔드포인트 Endpoint.MAC-Address
Endpoint.MAC-Vendor
Endpoint.IP-Address
Endpoint.Username
Endpoint.Device-Category
Endpoint.Device-Family
Endpoint.Device-Name
Endpoint.Conflict
Endpoint.Status
Endpoint.Added-At
Endpoint.Updated-At
ACPPM_cpguest 통계 로그 Clearpass Guest Guest.Username
Guest.MAC-Address
Guest.Visitor-Name
Guest.Visitor-Company
Guest.Role-Name
Guest.Enabled
Guest.Created-At
Guest.Starts-At
Guest.Expires-At
ACPPM_onbenroll 통계 로그 온보드 등록 OnboardEnrollment.Username
OnboardEnrollment.Device-Name
OnboardEnrollment.MAC-Address
OnboardEnrollment.Device-Product
OnboardEnrollment.Device-Version
OnboardEnrollment.Added-At
OnboardEnrollment.Updated-At
ACPPM_onbcert 통계 로그 온보드 인증서 OnboardCert.Username
OnboardCert.Mac-Address
OnboardCert.Subject
OnboardCert.Issuer
OnboardCert.Valid-From
OnboardCert.Valid-To
OnboardCert.Revoked-At
ACPPM_onboscp 통계 로그 온보딩 OCSP OnboardOCSP.Remote-Address
OnboardOCSP.Response-Status-Name
OnboardOCSP.Timestamp
ACPPM_cpsysevent 통계 로그 Clearpass 시스템 이벤트 CppmNode.CPPM-Node
CppmSystemEvent.Source
CppmSystemEvent.Level
CppmSystemEvent.Category
CppmSystemEvent.Action
CppmSystemEvent.Timestamp
ACPPM_cpconfaudit 통계 로그 Clearpass 구성 감사 CppmConfigAudit.Name
CppmConfigAudit.Action
CppmConfigAudit.Category
CppmConfigAudit.Updated-By
CppmConfigAudit.Updated-At
ACPPM_possummary 통계 로그 자세 요약 Endpoint.MAC-Address
Endpoint.IP-Address
Endpoint.Hostname
Endpoint.Usermame
Endpoint.System-Agent-Type
Endpoint.System-Agent-Version
Endpoint.System-Client-OS
Endpoint.System-Posture-Token
Endpoint.Posture-Healthy
Endpoint.Posture-Unhealthy
ACPPM_posfwsummary 통계 로그 자세 방화벽 요약 Endpoint.MAC-Address
Endpoint.IP-Address
Endpoint.Hostname
Endpoint.Usermame
Endpoint.System-Agent-Type
Endpoint.System-Agent-Version
Endpoint.System-Client-OS
Endpoint.System-Posture-Token
Endpoint.Firewall-APT
Endpoint.Firewall-Input
Endpoint.Firewall-Output
ACPPM_poavsummary 통계 로그 자세 바이러스 백신 요약 Endpoint.MAC-Address
Endpoint.IP-Address
Endpoint.Hostname
Endpoint.Usermame
Endpoint.System-Agent-Type
Endpoint.System-Agent-Version
Endpoint.System-Client-OS
Endpoint.System-Posture-Token
Endpoint.Antivirus-APT
Endpoint.Antivirus-Input
Endpoint.Antivirus-Output
ACPPM_posassummary 통계 로그 자세 스파이웨어 방지 요약 Endpoint.MAC-Address
Endpoint.IP-Address
Endpoint.Hostname
Endpoint.Usermame
Endpoint.System-Agent-Type
Endpoint.System-Agent-Version
Endpoint.System-Client-OS
Endpoint.System-Posture-Token
Endpoint.Antispyware-APT
Endpoint.Antispyware-Input
Endpoint.Antispyware-Output
ACPPM_posdskencrpsummary 통계 로그 자세 DiskEncryption 요약 Endpoint.MAC-Address
Endpoint.IP-Address
Endpoint.Hostname
Endpoint.Usermame
Endpoint.System-Agent-Type
Endpoint.System-Agent-Version
Endpoint.System-Client-OS
Endpoint.System-Posture-Token
Endpoint.DiskEncryption-APT
Endpoint.DiskEncryption-Input
Endpoint.DiskEncryption-Output
ACPPM_loggedusers 세션 로그 로그인 사용자 Common.Username
Common.Service
Common.Roles
Common.Host-MAC-Address
RADIUS.Acct-Framed-IP-Address
Common.NAS-IP-Address
Common.Request-Timestamp
ACPPM_failedauth 세션 로그 인증 실패 Common.Username
Common.Service
Common.Roles
RADIUS.Auth-Source
RADIUS.Auth-Method
Common.System-Posture-Token
Common.Enforcement-Profiles
Common.Host-MAC-Address
Common.NAS-IP-Address
Common.Error-Code
Common.Alerts
Common.Request-Timestamp
ACPPM_radacctsession 세션 로그 RADIUS 회계 RADIUS.Acct-Username
RADIUS.Acct-NAS-IP-Address
RADIUS.Acct-NAS-Port
RADIUS.Acct-NAS-Port-Type
RADIUS.Acct-Calling-Station-Id
RADIUS.Acct-Framed-IP-Address
RADIUS.Acct-Session-Id
RADIUS.Acct-Session-Time
RADIUS.Acct-Output-Pkts
RADIUS.Acct-Input-Pkts
RADIUS.Acct-Output-Octets
RADIUS.Acct-Input.Octets
RADIUS.Acct-Service-Name
RADIUS.Acct-Timestamp
ACPPM_tacadmin 세션 로그 tacacs+ 관리 Common.Username
Common.Service
tacacs.Remote-Address
tacacs.Privilege.Level
Common.Request-Timestamp
ACPPM_tacacct 세션 로그 tacacs+ Accounting Common.Username
Common.Service
tacacs.Remote-Address
tacacs.Acct-Flags
tacacs.Privilege.Level
Common.Request-Timestamp
ACPPM_webauthsession 세션 로그 웹 인증 Common.Username
Common.Host-MAC-Address
WEBAUTH.Host-IP-Address
Common.Roles
Common.System-Posture-Token
Common.Enforcement-Profiles
Common.Request-Timestamp
ACPPM_guestacc 세션 로그 게스트 액세스 Common.Username
RADIUS.Auth-Method
Common.Host-MAC-Address
Common.Roles
Common.System-Posture-Token
Common.Enforcement-Profiles
Common.Request-Timestamp
ACPPM_auditrecords 감사 기록 해당 없음 해당 없음
ACPPM_systemevents 시스템 이벤트 해당 없음 해당 없음

UDM 매핑 테이블

로그 필드 UDM 매핑 논리
작업 security_result.action 값이 'ALLOW' 또는 'BLOCK'인 경우 'Action' 필드에서 매핑됩니다.
Auth.Enforcement-Profiles security_result.detection_fields.value 값이 'Auth.Enforcement-Profiles' 필드에서 매핑됨
Auth.Host-MAC-Address principal.mac 콜론으로 구분된 MAC 주소 형식으로 변환한 후 'Auth.Host-MAC-Address' 필드에서 값이 매핑됩니다.
Auth.Login-Status security_result.detection_fields.value 값은 'Auth.Login-Status' 필드에서 매핑됩니다.
Auth.NAS-IP-Address target.ip 값이 'Auth.NAS-IP-Address' 필드에서 매핑됩니다.
Auth.Protocol intermediary.application 값이 'Auth.Protocol' 필드에서 매핑됩니다.
Auth.Service security_result.detection_fields.value 값이 'Auth.Service' 필드에서 매핑됨
Auth.Source principal.hostname 선행 영숫자 및 공백을 삭제한 후 'Auth.Source' 필드에서 값이 매핑됩니다.
Auth.Username principal.user.user_display_name 값이 'Auth.Username' 필드에서 매핑됨
카테고리 metadata.event_type 값이 'Logged in'이면 UDM 필드가 'USER_LOGIN'으로 설정됩니다. 값이 'Logged out'이면 UDM 필드가 'USER_LOGOUT'으로 설정됩니다.
Common.Alerts security_result.description 값은 'Common.Alerts' 필드에서 매핑됩니다.
Common.Enforcement-Profiles security_result.detection_fields.value 값이 'Common.Enforcement-Profiles' 필드에서 매핑됨
Common.Login-Status security_result.detection_fields.value 값이 'Common.Login-Status' 필드에서 매핑됨
Common.NAS-IP-Address target.ip 값이 'Common.NAS-IP-Address' 필드에서 매핑됩니다.
Common.Roles principal.user.group_identifiers 값이 'Common.Roles' 필드에서 매핑됨
Common.Service security_result.detection_fields.value 값이 'Common.Service' 필드에서 매핑됨
Common.Username principal.user.userid 값이 'Common.Username' 필드에서 매핑됨
구성요소 intermediary.application 값은 '구성요소' 필드에서 매핑됩니다.
설명 metadata.description 줄바꿈 문자를 파이프 기호로 바꾼 후 '설명' 필드에서 값이 매핑됩니다. '설명' 필드에 '사용자', '주소', '역할'이 포함된 경우 키-값 쌍으로 파싱되고 해당 UDM 필드에 매핑됩니다. '설명' 필드에 '연결할 수 없음'이 포함된 경우 대상 호스트 이름이 추출되어 'target.hostname'에 매핑됩니다.
EntityName principal.hostname 값은 'EntityName' 필드에서 매핑됩니다.
InterIP target.ip 값이 'InterIP' 필드에서 매핑됨
수준 security_result.severity 값이 'ERROR' 또는 'FATAL'인 경우 UDM 필드가 'HIGH'로 설정됩니다. 값이 'WARN'이면 UDM 필드가 'MEDIUM'으로 설정됩니다. 값이 'INFO' 또는 'DEBUG'인 경우 UDM 필드가 'LOW'로 설정됩니다.
LogNumber metadata.product_log_id 값이 'LogNumber' 필드에서 매핑됨
RADIUS.Acct-Framed-IP-Address principal.ip 값이 'RADIUS.Acct-Framed-IP-Address' 필드에서 매핑됩니다.
타임스탬프 metadata.event_timestamp 값을 UTC로 변환하고 타임스탬프로 파싱한 후 'Timestamp' 필드에서 매핑됩니다.
사용자 principal.user.userid 값이 '사용자' 필드에서 매핑됨
agent_ip principal.ip, principal.asset.ip 값이 'agent_ip' 필드에서 매핑됨
커뮤니티 additional.fields.value.string_value 값이 'community' 필드에서 매핑됨
descr metadata.description 값이 'descr' 필드에서 매핑됨
기업 additional.fields.value.string_value 값은 'enterprise' 필드에서 매핑됩니다.
eventDescription metadata.description 따옴표를 삭제한 후 'eventDescription' 필드에서 값이 매핑됩니다.
generic_num additional.fields.value.string_value 값은 'generic_num' 필드에서 매핑됩니다.
prin_mac principal.mac 콜론으로 구분된 MAC 주소 형식으로 변환한 후 'prin_mac' 필드에서 값이 매핑됩니다.
prin_port principal.port 값이 'prin_port' 필드에서 매핑되고 정수로 변환됩니다.
specificTrap_name additional.fields.value.string_value 값은 'specificTrap_name' 필드에서 매핑됩니다.
specificTrap_num additional.fields.value.string_value 값이 'specificTrap_num' 필드에서 매핑됨
uptime additional.fields.value.string_value 값은 'uptime' 필드에서 매핑됩니다.
version metadata.product_version 값이 'version' 필드에서 매핑됨
extensions.auth.type 값이 'SSO'로 설정됩니다.
metadata.event_type 값은 다양한 로그 필드와 파서 로직을 기반으로 결정됩니다. 자세한 내용은 파서 코드를 참고하세요.
metadata.log_type 값은 'CLEARPASS'로 설정됩니다.
metadata.product_name 값은 'ClearPass'로 설정됩니다.
metadata.vendor_name 값은 'ArubaNetworks'로 설정됩니다.

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