채울 UTMP

다운로드 0
업데이트 2026. 5. 27.

설치 매뉴얼

개요

채울 UTMP 앱은 채울 UTMP(uToken combo 관리시스템)의 MariaDB 데이터베이스를 JDBC 폴링 방식으로 조회해 시스템 로그, 제어 로그, 신청서 로그, 매체 로그, 정책 로그를 수집합니다.

적용 범위

Note
소나 4.0 이상, MariaDB 10.x 이상에서 동작합니다.

요구 사항

항목요구사항비고
DB 계정/권한수집 대상 뷰에 대한 SELECT 권한을 가진 읽기 전용 계정권한 부족 시 수집 실패
발급 필요 자격증명DB 계정·암호채울 UTMP DB 관리자에게 요청
네트워크 허용TCP/3306 (소나 수집 노드 → 채울 UTMP DB 서버, Outbound)방화벽 정책 반영 필요

채울 UTMP 설정

Note
아래에서 설명하는 테이블명, 쿼리 등은 모두 예시입니다. 운영DB에 맞는 정보로 설정하세요.

단계 1: DB 계정·권한 준비

수집에 사용할 읽기 전용 DB 계정을 준비하고, 아래 뷰에 대한 SELECT 권한을 부여합니다.

뷰 이름수집 내용
vw_LOG시스템 로그 (관리자 접속, 설정변경, 배포 등)
vw_APPLY신청서 로그 (장치차단해제, 매체반출/반입 신청 등)
vw_CONTROL제어 로그 (장치허용/차단, 쓰기허용/차단 등)
vw_MEDIA매체 로그 (등록, 반출, 반입, 사용중지 등)
vw_POLICY정책 로그 (정책생성, 변경, 할당 등)
Caution
뷰가 참조하는 원본 테이블(LOG, LOG_APPLY, LOG_CONTROL, LOG_MEDIA, LOG_POLICY)의 LOG_IDX 컬럼에 인덱스가 없으면 폴링 쿼리가 풀스캔으로 동작해 운영 DB에 성능 영향을 줄 수 있습니다. 사전에 인덱스 유무를 확인하세요.

로그프레소 수집 설정

단계 1: DB 접속 프로파일 추가

시스템 > 접속 프로파일에서 추가를 클릭하고 아래 값을 입력합니다.

구분항목설정
필수이름접속 프로파일을 식별할 고유한 이름
필수식별자로그프레소 쿼리 등에서 사용할 접속 프로파일의 고유 식별자
필수유형데이터베이스 선택
필수데이터베이스 유형MariaDB 선택
필수호스트채울 UTMP DB 서버 IP 주소
필수포트 번호3306 (기본값)
필수데이터베이스 이름연결할 데이터베이스명 입력
필수계정단계 1에서 준비한 읽기 전용 계정
필수암호계정 암호
선택읽기 전용선택 권장

모든 입력이 완료되면 접속 테스트를 클릭해 연결을 확인한 후 저장합니다.

채울 UTMP DB 접속 프로파일 추가

단계 2: 수집기 추가

수집 > 수집기에서 추가를 클릭합니다. 아래 5종 수집 모델에 대해 각각 수집기를 등록합니다.

채울 UTMP 수집기 추가

Note
기본 설치되는 대시보드 및 데이터셋은 이름이 `DLP_CHAEWOOL_UTMP_{type}`으로 시작하는 테이블을 참조합니다. 테이블 이름 입력 시 이 형식을 따르세요.

공통 설정 항목은 아래와 같습니다.

구분항목설정
필수이름수집기를 식별할 고유한 이름 입력
필수주기60
필수적재 위치/수집 위치로그프레소 플랫폼 구성에 따라 적합한 노드 선택
필수JDBC 프로파일단계1에서 등록한 접속 프로파일 식별자 입력
필수조건절where LOG_IDX > ?
필수첫번째 기준 열LOG_IDX
필수첫번째 기준 열 초기 값 타입integer

수집 모델별 개별 설정은 아래를 참고합니다.


채울 UTMP LOG

구분항목설정
필수수집 모델채울 UTMP LOG
필수테이블DLP_CHAEWOOL_UTMP_LOG
필수SQL아래 참조
select
    LOG_IDX as id,
    case
        when LOG_ID=101 then '관리자 접속'
        when LOG_ID=106 then '설정변경'
        when LOG_ID=111 then '백업'
        when LOG_ID=116 then '연동'
        when LOG_ID=121 then '사용자 관리'
        when LOG_ID=126 then '파일배포'
        when LOG_ID=131 then '에이전트'
        when LOG_ID=136 then '시스템'
        else LOG_ID end as log_category,
    case
        when LOG_TYPE=0 then 'LOW'
        when LOG_TYPE=1 then 'MEDIUM'
        when LOG_TYPE=2 then 'MEDIUM'
        when LOG_TYPE=3 then 'HIGH'
        end as risk,
    IP_ADDR as host_ip,
    IP_HEX as host_ip_hex,
    MAC_ADDR as host_mac,
    KEYWORD as keyword,
    LOG_MSG as msg,
    LOG_DESC as description,
    case when DEL_FL='N' then false else true end as is_deleted,
    USER_ID as user,
    USER_NM as user_name,
    DEPT_ID as dept_code,
    DEPT_NM as dept_name,
    CREATE_DT as event_time,
    CREATE_ID as creator,
    LOGHASH as loghash,
    LOGHASH_DT as loghash_time,
    case when LOGHASH_ERR_FL='N' then false else true end as is_loghash_error,
    LOGHASH_ERR_DT as loghash_error_time,
    case when ERR_REPORT_FL='N' then false else true end as is_error_reported
from vw_LOG
$where
order by LOG_IDX
limit 10000

채울 UTMP APPLY

구분항목설정
필수수집 모델채울 UTMP APPLY
필수테이블DLP_CHAEWOOL_UTMP_APPLY
필수SQL아래 참조
select 
    LOG_IDX as id, 
    case
        when LOG_ID=901 then '장치차단해제'
        when LOG_ID=921 then '사용자등록'
        when LOG_ID=922 then '사용자 비밀번호 초기화'
        when LOG_ID=941 then '매체등록'
        when LOG_ID=942 then '매체폐기'
        when LOG_ID=943 then '매체반출'
        when LOG_ID=944 then '매체반입'
        when LOG_ID=945 then '매체 비밀번호 초기화'
        when LOG_ID=946 then '매체분실'
        when LOG_ID=951 then '일반USB반출'
        when LOG_ID=956 then '타기관 보안USB 사용'
        else LOG_ID end as log_category, 
    case
        when LOG_TYPE=0 then 'LOW'
        when LOG_TYPE=1 then 'MEDIUM'
        when LOG_TYPE=2 then 'MEDIUM'
        when LOG_TYPE=3 then 'HIGH'
        else LOG_TYPE end as risk, 
    CONTROL_TYPE as control_type,
    CONTROL_DT as control_time,
    IP_ADDR as host_ip, 
    IP_HEX as host_ip_hex, 
    MAC_ADDR as host_mac, 
    NODE_ID as host_id,
    KEYWORD as keyword,
    LOG_MSG as msg, 
    LOG_DESC as description, 
    case when DEL_FL='N' then false else true end as is_deleted, 
    CREATE_DT as event_time, 
    CREATE_ID as creator, 
    APPLY_IDX as apply_idx,
    USER_ID as user, 
    USER_NM as user_name, 
    USER_DEPT_ID as user_dept_code, 
    USER_DEPT_NM as user_dept_name, 
    MANAGER_ID as manager,
    MANAGER_NM as manager_name,
    MANAGER_DEPT_ID as manager_dept_code,
    MANAGER_DEPT_NM as manager_dept_name,
    CONFIRM_ID as approver_id,
    CONFIRM_NM as approver_name,
    MEDIA_DT as media_time,
    MEDIA_NM as media_name,
    MEDIA_SERIAL as media_serial,
    case
        when MEDIA_TYPE=0 then '보안USB메모리'
        when MEDIA_TYPE=1 then 'USB메모리'
        when MEDIA_TYPE=2 then 'CD'
        when MEDIA_TYPE=3 then 'DVD'
        when MEDIA_TYPE=4 then 'FDD'
        when MEDIA_TYPE=10 then '이동형PC'
        when MEDIA_TYPE=13 then 'HDD Key'
        when MEDIA_TYPE=14 then '기타'
        else MEDIA_TYPE end as media_type,
    case
        when MEDIA_LEVEL=0 then '일반'
        when MEDIA_LEVEL=10 then '인증'
        when MEDIA_LEVEL=20 then '비밀II'
        when MEDIA_LEVEL=21 then '비밀III'
        when MEDIA_LEVEL=22 then '대외비'
        else MEDIA_LEVEL end as media_level,
    case
        when MEDIA_CLASS=0 then '개인용'
        when MEDIA_CLASS=1 then '업무용'
        else MEDIA_CLASS end as media_class,
    OVERLAPPING_HASH as overlapping_hash,
    OVERLAPPING_CNT as overlapping_count,
    OVERLAPPING_ST_DT as overlapping_start_time,
    OVERLAPPING_ED_DT as overlapping_finish_time,
    LOGHASH as loghash, 
    LOGHASH_DT as loghash_time,  
    case when LOGHASH_ERR_FL='N' then false else true end as is_loghash_error, 
    LOGHASH_ERR_DT as loghash_error_time, 
    case when ERR_REPORT_FL='N' then false else true end as is_error_reported
from vw_APPLY
$where
order by LOG_IDX
limit 10000

채울 UTMP CONTROL

구분항목설정
필수수집 모델채울 UTMP CONTROL
필수테이블DLP_CHAEWOOL_UTMP_CONTROL
필수SQL아래 참조
select 
    LOG_IDX as id, 
    case 
        when LOG_ID=701 then '사용자 등록'
        when LOG_ID=706 then '비밀번호변경'
        when LOG_ID=711 then '사용자 인증'
        when LOG_ID=716 then '쓰기허용'
        when LOG_ID=721 then '쓰기차단'
        when LOG_ID=726 then '읽기허용'
        when LOG_ID=731 then '읽기차단'
        when LOG_ID=736 then '장치허용'
        when LOG_ID=741 then '장치차단'
        when LOG_ID=746 then '제어정책'
        when LOG_ID=751 then '매체승인'
        when LOG_ID=756 then '일반USB반출'
        when LOG_ID=761 then '무결성검사'
        when LOG_ID=766 then '자체시험'
        else LOG_ID end as log_category, 
    case
        when LOG_TYPE=0 then 'LOW'
        when LOG_TYPE=1 then 'MEDIUM'
        when LOG_TYPE=2 then 'MEDIUM'
        when LOG_TYPE=3 then 'HIGH'
        else LOG_TYPE end as risk, 
    CONTROL_DT as control_time,
    NODE_ID as host_id,
    IP_ADDR as host_ip,
    IP_HEX as host_ip_hex,
    MAC_ADDR as host_mac,
    KEYWORD as keyword, 
    LOG_MSG as msg, 
    LOG_DESC as description, 
    DEVICE_NAME as device_name,
    DEVICE_INFO2 as device_info,
    case when DEL_FL='N' then false else true end as is_deleted, 
    APPLY_IDX as apply_idx,
    USER_ID as user, 
    USER_NM as user_name, 
    USER_DEPT_ID as user_dept_code, 
    USER_DEPT_NM as user_dept_name, 
    CREATE_DT as event_time, 
    CREATE_ID as creator, 
    OVERLAPPING_HASH as overlapping_hash,
    OVERLAPPING_CNT as overlapping_count,
    OVERLAPPING_ST_DT as overlapping_start_time,
    OVERLAPPING_ED_DT as overlapping_finish_time,
    LOGHASH as loghash, 
    LOGHASH_DT as loghash_time, 
    case when LOGHASH_ERR_FL='N' then false else true end as is_loghash_error, 
    LOGHASH_ERR_DT as loghash_error_time, 
    case when ERR_REPORT_FL='N' then false else true end as is_error_reported
from vw_CONTROL
$where
order by LOG_IDX
limit 10000

채울 UTMP MEDIA

구분항목설정
필수수집 모델채울 UTMP MEDIA
필수테이블DLP_CHAEWOOL_UTMP_MEDIA
필수SQL아래 참조
select 
    LOG_IDX as id, 
    case
        when LOG_ID=301 then '등록'
        when LOG_ID=306 then '폐기'
        when LOG_ID=311 then '반출'
        when LOG_ID=312 then '반출확인'
        when LOG_ID=316 then '반입'
        when LOG_ID=321 then '변경'
        when LOG_ID=326 then '인증'
        when LOG_ID=331 then '미반입'
        when LOG_ID=336 then '파일복사'
        when LOG_ID=341 then '사본저장'
        when LOG_ID=346 then '점검'
        when LOG_ID=351 then '사용중지'
        when LOG_ID=356 then '반납'
        when LOG_ID=361 then '무결성검사'
        when LOG_ID=366 then '자체시험'
        else LOG_ID end as log_category, 
    case
        when LOG_TYPE=0 then 'LOW'
        when LOG_TYPE=1 then 'MEDIUM'
        when LOG_TYPE=2 then 'MEDIUM'
        when LOG_TYPE=3 then 'HIGH'
        else LOG_TYPE end as risk, 
    IP_ADDR as host_ip,
    IP_HEX as host_ip_hex,
    KEYWORD as keyword, 
    LOG_MSG as msg, 
    LOG_DESC as description, 
    CREATE_DT as event_time, 
    CREATE_ID as creator, 
    MEDIA_DT as media_time,
    MEDIA_NM as media_name,
    MEDIA_SERIAL as media_serial,
    case
        when MEDIA_TYPE=0 then '보안USB메모리'
        when MEDIA_TYPE=1 then 'USB메모리'
        when MEDIA_TYPE=2 then 'CD'
        when MEDIA_TYPE=3 then 'DVD'
        when MEDIA_TYPE=4 then 'FDD'
        when MEDIA_TYPE=10 then '이동형PC'
        when MEDIA_TYPE=13 then 'HDD Key'
        when MEDIA_TYPE=14 then '기타'
        else MEDIA_TYPE end as media_type,
    case
        when MEDIA_LEVEL=0 then '일반'
        when MEDIA_LEVEL=10 then '인증'
        when MEDIA_LEVEL=20 then '비밀II'
        when MEDIA_LEVEL=21 then '비밀III'
        when MEDIA_LEVEL=22 then '대외비'
        else MEDIA_LEVEL end as media_level,
    case
        when MEDIA_CLASS=0 then '개인용'
        when MEDIA_CLASS=1 then '업무용'
        else MEDIA_CLASS end as media_class,
    USER_ID as user, 
    USER_NM as user_name, 
    USER_DEPT_ID as user_dept_code, 
    USER_DEPT_NM as user_dept_name, 
    MANAGER_ID as manager,
    MANAGER_NM as manager_name,
    MANAGER_DEPT_ID as manager_dept_code,
    MANAGER_DEPT_NM as manager_dept_name,
    case when MIGRATION_FL = 0 then false else true end as is_migrated,
    case when DEL_FL='N' then false else true end as is_deleted, 
    LOGHASH as loghash, 
    LOGHASH_DT as loghash_time, 
    case when LOGHASH_ERR_FL='N' then false else true end as is_loghash_error, 
    LOGHASH_ERR_DT as loghash_error_time, 
    case when ERR_REPORT_FL='N' then false else true end as is_error_reported
from vw_MEDIA
$where
order by LOG_IDX
limit 10000

채울 UTMP POLICY

구분항목설정
필수수집 모델채울 UTMP POLICY
필수테이블DLP_CHAEWOOL_UTMP_POLICY
필수SQL아래 참조
select 
    LOG_IDX as id, 
    case
        when LOG_ID=501 then '정책생성'
        when LOG_ID=506 then '정책변경'
        when LOG_ID=511 then '정책삭제'
        when LOG_ID=516 then '정책할당'
        else LOG_ID end as log_category,
    case
        when LOG_TYPE=0 then 'LOW'
        when LOG_TYPE=1 then 'MEDIUM'
        when LOG_TYPE=2 then 'MEDIUM'
        when LOG_TYPE=3 then 'HIGH'
        else LOG_TYPE end as risk, 
    IP_ADDR as host_ip,
    IP_HEX as host_ip_hex,
    MAC_ADDR as host_mac,
    KEYWORD as keyword, 
    LOG_MSG as msg, 
    LOG_DESC as description,
    case when DEL_FL='N' then false else true end as is_deleted, 
    USER_ID as user, 
    USER_NM as user_name, 
    USER_DEPT_ID as user_dept_code, 
    USER_DEPT_NM as user_dept_name, 
    CREATE_DT as event_time, 
    CREATE_ID as creator, 
    LOGHASH as loghash, 
    LOGHASH_DT as loghash_time, 
    case when LOGHASH_ERR_FL='N' then false else true end as is_loghash_error, 
    LOGHASH_ERR_DT as loghash_error_time, 
    case when ERR_REPORT_FL='N' then false else true end as is_error_reported
from vw_POLICY
$where
order by LOG_IDX
limit 10000

참고 자료