NetScaler 로그 수집

다음에서 지원:

이 문서에서는 Google Security Operations 전달자를 사용하여 NetScaler 로그를 수집하는 방법을 설명합니다.

자세한 내용은 Google Security Operations에 데이터 수집 개요를 참조하세요.

수집 라벨은 원시 로그 데이터를 구조화된 UDM 형식으로 정규화하는 파서를 식별합니다. 이 문서의 정보는 CITRIX_NETSCALER 수집 라벨이 있는 파서에 적용됩니다.

NetScaler VPX 구성

NetScaler VPX를 구성하여 로그를 Google Security Operations 전달자에 전송하려면 다음을 수행하세요.

호스트 이름 구성 확인

  1. 관리자 사용자 인증 정보를 사용하여 NetScaler 웹 인터페이스에 로그인합니다.
  2. Configuration Settings를 선택합니다.
  3. 호스트 이름, DNS IP 주소, 시간대를 클릭합니다.
  4. 호스트 이름 필드가 비어 있으면 호스트 이름을 입력합니다. 공백은 포함하지 마세요. 이 필드가 이미 구성된 경우 별도의 조치가 필요하지 않습니다.
  5. DNS IP 주소 필드에서 로컬 DNS IP 주소가 지정되어 있는지 확인합니다.
  6. 시간대 필드에 시간대를 입력합니다.

감사 서버 만들기

  1. NetScaler 웹 인터페이스에서 구성 > 시스템 > 감사 > Syslog > 서버를 선택합니다.
  2. 다음 필드에 syslog 세부정보를 지정합니다.
    • 이름
    • 서버 유형
    • IP 주소
    • 포트
  3. 로그 수준맞춤으로 선택합니다.
  4. 구성에서 DEBUG 수준을 제외한 모든 체크박스를 선택합니다.
  5. 로그 기능 목록에서 LOCAL0을 선택합니다.
  6. 날짜 형식 목록에서 MMDDYYYY를 선택합니다.
  7. 시간대GMT로 선택합니다.
  8. 다음 체크박스를 선택 취소합니다.
    • TCP 로깅
    • ACL 로깅
    • 사용자 구성 가능 로그 메시지
    • AppFlow 로깅
    • 대규모 NAT 로깅
    • ALG 메시지 로깅
    • 구독자 로깅
    • DNS
    • SSL 가로채기
    • URL 필터링
    • 콘텐츠 검사 로깅
  9. 확인을 클릭하여 감사 서버를 만듭니다.

생성된 감사 정책을 서버에 바인딩

  1. NetScaler 웹 인터페이스에서 구성 > 시스템 > 감사 > Syslog를 선택합니다.
  2. 정책 탭을 클릭합니다.
  3. 이름 필드에 정책 이름을 입력합니다.
  4. 서버 목록에서 이전 섹션의 정책을 선택합니다.
  5. 만들기를 클릭합니다.
  6. 생성된 감사 정책을 마우스 오른쪽 버튼으로 클릭하고 작업 > 전역 바인딩을 선택합니다.
  7. 바인딩 추가를 클릭합니다.
  8. 정책 바인딩 창에서 다음을 수행합니다.
    1. 정책 선택 필드에 생성된 감사 정책을 입력합니다.
    2. 바인딩 세부정보 창의 우선순위 필드에 기본 우선순위인 120을 입력합니다.
    3. 결합을 클릭합니다.

NetScaler SDX 구성

NetScaler SDX를 구성하여 로그를 Google Security Operations 전달자에 전송하려면 다음을 수행하세요.

NetScaler SDX의 호스트 이름 구성 확인

  1. 관리자 사용자 인증 정보를 사용하여 NetScaler 웹 인터페이스에 로그인합니다.
  2. NetScaler 웹 인터페이스에서 시스템 > 시스템 설정을 선택합니다.
  3. 호스트 이름 필드가 비어 있으면 호스트 이름을 입력합니다. 공백은 포함하지 마세요. 이 필드가 이미 구성된 경우 별도의 조치가 필요하지 않습니다.
  4. 시간대 필드에서 UTC 또는 GMT를 선택합니다.

syslog 서버 구성

  1. NetScaler 웹 인터페이스에서 System > Notifications > Syslog servers를 선택합니다.
  2. 세부정보 창에서 추가를 클릭합니다.
  3. syslog 서버 만들기 창에서 다음 syslog 서버 매개변수의 값을 지정합니다.
    1. 이름 필드에 이름을 입력합니다.
    2. IP 주소 필드에 Google Security Operations 포워더 IP 주소를 입력합니다.
    3. 포트 필드에 포트 번호를 입력합니다.
    4. 로그 수준맞춤으로 선택합니다.
    5. 디버그를 제외한 모든 로그 수준을 선택합니다.
  4. 만들기를 클릭합니다.

syslog 매개변수 구성

  1. NetScaler 웹 인터페이스에서 System > Notifications > Syslog servers를 선택합니다.
  2. 세부정보 창에서 Syslog 매개변수를 클릭합니다.
  3. syslog 매개변수 구성 페이지에서 날짜 형식MMDDYYYY로 선택하고 시간대GMT로 선택합니다.
  4. 확인을 클릭합니다.

NetScaler 로그를 수집하도록 Google Security Operations 전달자 구성

  1. SIEM 설정 > 포워더를 선택합니다.
  2. 새 전달자 추가를 클릭합니다.
  3. 전달자 이름 필드에 전달자의 고유한 이름을 입력합니다.
  4. 제출을 클릭한 다음 확인을 클릭합니다. 전달자가 추가되고 수집기 구성 추가 창이 표시됩니다.
  5. 수집기 이름 필드에 수집기의 고유한 이름을 입력합니다.
  6. 로그 유형으로 Citrix NetScaler를 선택합니다.
  7. 수집기 유형 필드에서 Syslog를 선택합니다.
  8. 다음 필수 입력 매개변수를 구성합니다.
    • 프로토콜: 수집기가 syslog 데이터를 리슨하는 데 사용하는 연결 프로토콜을 지정합니다.
    • 주소: 수집기가 상주하고 syslog 데이터를 리슨하는 대상 IP 주소 또는 호스트 이름을 지정합니다.
    • 포트: 수집기가 상주하고 syslog 데이터를 리슨하는 대상 포트를 지정합니다.
  9. 제출을 클릭합니다.

Google Security Operations 전달자에 대한 자세한 내용은 Google Security Operations UI를 통해 전달자 구성 관리를 참고하세요.

전달자를 만들 때 문제가 발생하면 Google Security Operations 지원팀에 문의하세요.

필드 매핑 참조

이 파서는 키-값 형식의 Citrix Netscaler SYSLOG 로그를 처리하여 message 필드에서 JSON 형식 데이터를 추출하고, host.hostnameuser_agent.original와 같은 다른 필드의 정보를 삭제한 후 UDM을 보강합니다. 기본 메시지가 비어 있는 경우 원래 로그 메시지로 대체하여 처리합니다.

UDM 매핑 테이블

로그 필드 UDM 매핑 논리
AAA 거래 ID security_result.detection_fields[].value 'AAA trans id' 필드에서 추출한 값입니다.
액세스 security_result.action_details '액세스'가 '허용됨'이면 security_result.action을 ALLOW로 설정합니다. '액세스'가 '거부됨'이면 security_result.action을 차단으로 설정합니다.
applicationName principal.application 'applicationName' 필드에서 추출한 값입니다.
Browser_type network.http.user_agent 'Browser_type' 필드에서 추출한 값입니다.
ClientIP principal.ip, principal.asset.ip 'ClientIP' 필드에서 추출한 값입니다.
ClientPort principal.port 'ClientPort' 필드에서 추출된 값입니다.
client_cookie additional.fields[].value.string_value 'client_cookie' 필드에서 추출한 값입니다.
명령어 target.process.command_line '명령어' 필드에서 추출한 값입니다.
connectionId security_result.detection_fields[].value 'connectionId' 필드에서 추출한 값입니다.
대상 target.ip, target.asset.ip 'Destination' 필드에서 추출한 값입니다.
대상 target.ip, target.asset.ip 'Destination' 필드에서 추출한 값입니다.
device_serial_number target.asset_id target.asset_id이(가) 'device_serial_number:'로 설정됩니다.
기간 network.session_duration.seconds 길이가 초로 변환되어 매핑됩니다.
종료 시간 security_result.detection_fields[].value '종료 시간' 필드에서 추출한 값입니다.
Failure_reason metadata.description 'Failure_reason' 필드에서 추출한 값입니다.
flags additional.fields[].value.string_value 'flags' 필드에서 추출한 값입니다.
그룹 target.group.group_display_name '그룹' 필드에서 추출된 값입니다.
이유 metadata.description '이유' 필드에서 추출한 값입니다.
Remote_ip target.ip, target.asset.ip 'Remote_ip' 필드에서 추출한 값입니다.
ServerIP target.ip, target.asset.ip 'ServerIP' 필드에서 추출한 값입니다.
ServerPort target.port 'ServerPort' 필드에서 추출한 값입니다.
session_guid metadata.product_log_id 'session_guid' 필드에서 추출한 값입니다.
SessionId network.session_id 'SessionId' 필드에서 추출된 값입니다.
소스 principal.ip, principal.asset.ip '소스' 필드에서 추출한 값입니다.
시작 시간 security_result.detection_fields[].value '시작 시간' 필드에서 추출된 값입니다.
startTime security_result.detection_fields[].value 'startTime' 필드에서 추출한 값입니다.
상태 security_result.description '상태' 필드에서 추출한 값입니다.
Total_bytes_recv network.received_bytes 'Total_bytes_recv' 필드에서 추출한 값입니다.
Total_bytes_send network.sent_bytes 'Total_bytes_send' 필드에서 추출한 값입니다.
Total_bytes_wire_recv security_result.detection_fields[].value 'Total_bytes_wire_recv' 필드에서 추출한 값입니다.
Total_bytes_wire_send security_result.detection_fields[].value 'Total_bytes_wire_send' 필드에서 추출한 값입니다.
사용자 principal.user.userid '사용자' 필드에서 추출한 값입니다.
VserverServiceIP target.ip, target.asset.ip 'VserverServiceIP' 필드에서 추출한 값입니다.
VserverServicePort target.port 'VserverServicePort' 필드에서 추출한 값입니다. 'CITRIX'로 하드코딩됨 'NETSCALER'로 하드코딩됩니다. 'CITRIX_NETSCALER'로 하드코딩됩니다. product_event_type을 기반으로 파서에 의해 결정됩니다. 예: NETWORK_CONNECTION, USER_LOGIN, USER_LOGOUT, USER_STATS, STATUS_UPDATE, USER_UNCATEGORIZED, GENERIC_EVENT 로그 접두사에서 추출한 값입니다 (예: CONN_DELINK, CONN_TERMINATE, OTHERCONN_DELINK 등) 이벤트에 대한 간단한 설명입니다. '이유' 또는 'Failure_reason'과 같은 다른 필드에서 파생되기도 합니다. 로그 항목의 날짜 및 시간 필드에서 계산됩니다. 파서는 다양한 형식과 시간대를 처리합니다. 'username:domainname' 필드에서 콜론 뒤의 부분을 가져옵니다. metadata.product_event_type에 'TCP'가 있는 이벤트의 경우 TCP로 하드코딩됩니다. 로그인 및 명령이 성공한 경우 ALLOW로 설정하고, 로그인 실패 및 차단된 리소스 액세스의 경우 BLOCK으로 설정합니다. '상태', 'Failure_reason', 'Access'와 같은 필드에서 파생됩니다. 사용자 이름과 비밀번호가 인증에 사용되는 경우 USERNAME_PASSWORD로 설정됩니다 (특정 로그 메시지에서 추론됨). VPN 관련 로그인/로그아웃 이벤트의 경우 VPN으로 설정됩니다. 사용자 에이전트 파싱 라이브러리를 사용하여 network.http.user_agent 필드에서 파싱됩니다.

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