본문 바로가기
📋3-2/📌정보보안

[정보 보안] 정보 보안 개론 2장 06. 로그 관리

by 빛나고요 2021. 10. 12.
BIG

(1) AAA(Authentication, Authorization, Accounting): 시스템 사용자가 로그인한 후 명령을 내리는 과정에 대한 시스템의 동작으로 로그가 수행되는 대상. 일반 운영체제뿐 아니라 방화벽이나 침입 탐지 시스템과 같이 로그를 남기는 모든 시스템에 존재함.

 

Authentication(인증): 자신의 신원을 시스템에 증명하는 과정으로 아이디와 패스워드를 입력하거나 지문으로 신분을 확인하고 인증하는 것

Authorization(인가): 지문이나 패스워드 등을 통해 로그인이 허락된 사용자로 판명되어 로그인하는 과정으로 신원이 확인되어 인증받은 사람이 출입문에 들어가도록 허락되는 것

Accounting: 로그인했을 때 시스템이 이에 대한 기록을 남기는 활동으로 객체나 파일에 접근한 기록들이나 정보

 

(2) 책임 추적성(accountability): 추적에 대한 기록의 충실도를 말하며 충실도가 높은 시스템일수록 로그가 충실하게 남아있다고 생각할 수 있음

 

(3) 감사 추적(audit trail): 보안과 관련하여 시간대별 이벤트 이벤트를 기록한 로그를 말함

 

[1] 운영체제의 로그 관리

1) 윈도우와 유닉스의 로그 체계

윈도우 - 이벤트라고 불리는 중앙 집중화된 형태로 로그를 수집하여 저장
- 한 로그만 삭제하면 되기 때문에 위험도가 높음
유닉스 - 로그를 여러 곳에 산발적으로 저장
- 초보자가 찾기 어렵고 공격자도 로그를 찾아서 삭제하기 어려움

 

(1) 윈도우의 로그

: 윈도우의 감사 정책(audit policy, 로깅 정책)은 기본적으로 수행하지 않게 설정되어 있으므로 필요시 수행하도록 설정해야 하며, 설정 시 '성공'과 '실패'에 따라 선택적으로 로깅을 수행할 수 있음. 로깅 정책을 적용하면 [이벤트 뷰어]에서 로깅 정보를 확인할 수 있음

 

1) 이벤트 뷰어에 표시되는 항목

 

항목 설명
종류 - 성공 감사와 실패 감사가 있음
- 성공 감사: 어떤 시도가 성공했을 때 남기는 로그
- 실패 감사: 어떤 시도가 실패했을 때 남기는 로그
날짜, 시간 로그를 남긴 날짜와 시간
원본, 범주 로그와 관계있는 영역
이벤트 - 윈도우에서는 각 로그별로 고유한 번호를 부여함.
- 로그를 붆석할 때 이 번호를 알고 있으면 빠르고 효과적인 분석 가능
사용자 관련 로그를 발생시킨 사용자
컴퓨터 관련 로그를 발생시킨 컴퓨터

 

2) 윈도우의 로그 종류(윈도우가 제공하는 감사 정책에서 아래 사항을 로깅)

로그 설명
개체 액세스 감사 특정 파일이나 디렉터리, 레지스트리 키, 프린터 등과 같은 객체에 대해 접근을 시도하거나 속성 변경 등을 탐지 
계정 관리 감사 신규 사용자·그룹 추가, 기존 사용자·그룹 변경, 사용자 활성화·비활성화, 계정 패스워드 변경 등을 감사
계정 로그인 이벤트 감사 - 로그온 이벤트 감사와 마찬가지로 계정의 로그인에 대한 사항을 로그로 남김
- 이 둘의 차이점은 전자는 도메인 계정을 사용할 때 생성되고 후자는 로컬 계정을 사용할 때 생성
권한 사용 감사 권한 설정 변경이나 관리자 권한이 필요한 작업을 수행할 때 로깅
로그인 이벤트 감사 - 로컬 계정의 접근 시 생성되는 이벤트를 감사하는 것
- 계정 로그온 이벤트 감사에 비해 다양한 종류의 이벤트 확인 가능
디렉터리 서비스 액세스 감사 시스템 액세스 제어 목록(SACL)이 지정되어 있는 액티브 디렉터리 개체에 접근하는 사용자에 대한 감사 로그 제공
정책 변경 감사 사용자 권한 할당 정책, 감사 정책, 신뢰 정책의 변경과 관련된 사항을 로깅
프로세스 추적 감사 사용자 또는 응용 프로그램이 프로세스를 시작하거나 중지할 때 해당 이벤트 발생
시스템 이벤트 시스템의 시작과 종료, 보안 로그 삭제 등 시스템의 주요한 사항에 대한 이벤트를 남김

 

(2) 유닉스의 로그

: 윈도우와 달리 유닉스(리눅스) 시스템의 로그는 중앙 집중 처리 방식이 아닌 분산되어 생성

 

1) 시스템 마다 다른 로그의 저장 위치

  • /usr/adm(초기 유닉스): 데이터베이스 객체에 권한 부여
  • /var/adm(최근 유닉스): 솔라리스, HP-US 10.x 이후, IBM AIX
  • /var/log: FreeBSD, 솔라리스(/var/adm과 나누어 저장), 리눅스, 일반적인 리눅스에서 로그가 존재함
  • /var/run: 일부 리눅스

 

2) 유닉스의 로그 종류

로그 설명
utmp 현재 로그인한 사용자의 아이디, 사용자 프로세스, 실행 레벨, 로그인 종류 등을 기록함
wtmp 사용자 로그인 · 로그아웃 시간, IP와 세션 지속 시간, 시스템 종료 · 시작 시간을 기록
secure(sulog) 원격지 접속 로그와 su(switch user), 사용자 생성 등과 같이 보안에 직접적으로 연관된 로그 저장
history 명령 창에서 실행한 명령을 기록함
syslog 시스템 운영과 관련한 전반적인 로그

 

[2] 데이터베이스의 로그 관리

: 데이터베이스는 특성상 많은 데이터를 요청하는 일이 빈번하기 때문에 로그인 이외에는 데이터베이스 접근 및 데이터 처리 로그를 남기지 않음. 그러나 그 로그들은 데이터 유출과 직접적인 관련이 있기에 시스템 성능이 수용할 수 있는 범위 내에서 적절하게 로깅 정책을 적용해야 함

 

(1) MS-SQL의 로그

: MS-SQL은 일반 로그인 감사, C2 감사 추적 등을 설정할 수 있으며 감사 수준은 기본 설정인 'Failed logins only(실패한 로그인)에 한정함

 

* C2 감사 추적: 데이터베이스가 생성 · 삭제 · 변경되는지에 대한 자세한 정보를 로그로 남기는 것으로 빈번한 접속이 있는 경우 대량의 로그를 생성할 수 있음. 시스템에 무리를 줄 수 있기 때문에 사용을 권고하지 않음.

 

 

(2) MySQL 로그

1) MySQL 로그의 종류

로그 설명
Error 로그 - 확장자 .err의 파일로 데이터 디렉터리에 생성
- MySQL의 구동과 모니터링, 쿼리 에러에 관련된 메시지를 포함한 것으로 별다른 설정 없이 기본적으로 남는 로그
General 로그 MySQL에서 실행되는 전체 쿼리를 저장
Slow Query 로그 요청되는 전체 쿼리를 저장하는 General 로그와 달리, Slow Query 로그는 쿼리가 정상 완료된 시간(실행된 시간)을 입력하기 때문에 실행 도중 에러가 발생한 쿼리에 대해서는 로그를 남기지 않음 
Binary 로그 & Relay 로그 - Binary 로그는 데이터베이스 변경(테이블 생성, 삭제 등) 및 테이블 변경(insert, update, delete 등) 사항들이 기록되는 바이너리 형태의 파일로 MySQL의 복제를 구성하거나 특정 시점을 복구할 때 사용
-일반적으로 Binary 로그는 마스터에서, Relay 로그는 슬레이브에서 생성되며 포맷과 내용은 동일함

* General 로그의 현재 설정 확인 방법

show variables like 'general%';

 

(3) 오라클의 로그

1) 오라클 감사 로그 활성화

$ORACLE_HOME/dbs/init.ora 파일(오라클 파라미터 파일)의 AUDIT_TRAIL 값을 DB 또는 TRUE로 지정

AUDIT_TRAIL 설정 값

설정 값 의미
NONE 또는 FALSE 데이터베이스 감사 비활성화
DB 또는 TRUE 데이터베이스 감사 활성화
OS 감사 로그를 OS 상의 파일로 저장

 

2) 오라클의 데이터베이스 감사 종류와 예

① 문장 감사(statement auditing)

: 지정된 문장을 실행했을 때 기록을 남김

 

② 권한 감사(privilege auditing)

: 특정한 권한을 사용했을 때 기록을 남김

 

③ 객체 감사(object auditing)

: 특정 객체에 대한 작업을 했을 때 기록을 남김

 

3) 오라클의 주요 감사 뷰

: 각각 감사는 감사 뷰를 통해서 확인할 수 있음

성명
dba_stmt_audit_opts 문장 감사의 옵션을 확인
dba_priv_audit_opts 권한 감사의 옵션을 확인
dba_obj_audit_opts 객체 감사의 옵션을 확인
dba_audit_trail 데이터베이스의 모든 감사 로그를 출력
dba_audit_object 데이터베이스의 객체와 관련된 모든 감사 로그 출력
user_audit_object 현재 사용자의 객체와 관련된 모든 감사 로그 출력
dba_audit_session 사용자의 로그인 · 로그오프에 대한 감사 로그 출력
dba_audit_statement 문장 감사 로그 출력
dba_audit_object 객체 감사 로그 출력

 

(4) 데이터베이스 모니터링

: 네트워크 트래픽을 모니터링할 수 있는 태핑(tapping) 장비(네트워크 상의 전기적인 신호를 똑같이 복제하는 장비)를 네트워크에 설치하고 네트워크 패킷 중 데이터베이스 질의문을 확인하여 이를 로그로 남김. 데이터베이스의 성능에 영향을 미치지 않으면서 잘못된 접근 시도와 질의문 입력을 모두 모니터링할 수 있음

 

[3] 응용 프로그램의 로그 관리

(1) IIS 웹 서버의 로그

: 로그는 IIS 웹 서버의 기본 설정이면서 널리 이용되는 'W3C 확장 로그 파일 형식'으로 설정되어 있음. NCSA, IIS, 사용자 지정 방식 로그 파일 형식 사용 가능.

 

1) 디렉토리에 남은 실제 로그의 형태

정보보안개론(한빛아카데미, 양대일)

2012-06-03 08:53:12 날짜와 시간
192.168.137.128 서버 IP
GET/XSS/GetCookie.asp?cookie=ASPSESSIO… HTTP 접근 방법과 접근 URL
80 서버 포트
192.168.137.1 클라이언트 IP
Mozilla/5.0+(compatible;+MSIE+9.0;+Windows… 클라이언트의 웹 브라우저
200(OK) 실행 결과 코드
0 서버에서 클라이언트로 전송한 데이터의 크기
0 클라이언트에서 서버로 전송한 데이터의 크기
225밀리세컨드 처리 소요 시간

 

(2) 아파치 웹 서버의 로그

: 아파치 웹 서버에 대한 기본 접근 로그는 access_log에 남으며, 형식은 combined로 지정. httpd.conf 파일에서 combined 형식의 LogFormat 확인 가능

 

1) combined 형식 로그에 사용되는 항목

항목 설명
%a 클라이언트의 IP 주소
%A 서버의 IP 주소
%b 헤더 정보를 제외하고 전송된 데이터의 크기를 전송된 데이터의 크기가 0이면 '-'로 표시함
%c - 응답이 완료되었을 때의 연결 상태
- X: 응답이 완료되기 전에 연결이 끊김
- -: 응답이 보낸 후 연결이 끊김
- +: 응답을 보낸 후에도 연결이 지속됨
%{Header}e 환경 변수 헤더의 내용
%f 요청된 파일 이름
%h 클라이언트의 도메인 또는 IP 주소
%H 요청 프로토콜의 종류
%I inetd를 사용하고 있을 때 클라이언트의 로그인명
%m 요청 방식
%p 서버가 요청을 받아들이는 포트 번호
%P 요청을 처리하는 자식 프로세스의 아이디
%q 질의에 사용된 문자
%r HTTP 접근 방법과 접근 URL
%s HTTP 실행 결과 코드
%{format}t 웹 서버에 작업을 요구한 시간
%T 웹 서버가 요청을 처리한 데 소요된 시간(초)
%u 클라이언트의 사용자
%U 요청된 URL 사용자
%v 요청을 처리하는 서버의 이름
%i 클라이언트의 웹 브라우저

 

2) access_log

정보보안개론(한빛아카데미, 양대일)

192.168.137.1 클라이언트 IP(%h)
- 클라이언트 로그인명(%l)
- 클라이언트 사용자명(%u)
[06/JUN/2017:05:48:28 +0900] 날짜와 시간(%t)
GET/HTTP/1.1 HTTP 접근 방법과 접근 URL(%r)
403 Forbidden 실행 결과 코드(%s)
4609바이트 서버에서 클라이언트로 전송한 데이터의 크기(%b)
Mozilla/5.0 (compatible; MSIE 9.0; Windows… 클라이언트의 웹 브라우저(%i)

 

[4] 네트워크 장비의 로그 관리

(1) 네트워크 장비의 로그 3가지

 

1) 네트워크 보안 시스템의 로그

: 침입 차단 시스템, 침입 탐지 시스템, 침입 방지 시스템 등 다양한 보안 시스템의 확인 가능, 다양한 보안 시스템의 로그는 통합 로그 관리 시스템에 의해 수집 · 관리되기도 함.

 

2) 네트워크 관리 시스템의 로그

: 네트워크 트래픽 모니터링 시스템과 네트워크 관리 시스템의 로그 참고 가능

 

3) 네트워크 장비 인증 시스템의 로그

: 대규모 네트워크를 운영하는 곳에서는 라우터나 스위치의 인증을 일원화하기 위해 인증 서버로 TACACS+를 사용. 

댓글