(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+를 사용.
'📋3-2 > 📌정보보안' 카테고리의 다른 글
[정보 보안] 정보 보안 개론 2장 08. 모바일 보안 (0) | 2021.10.16 |
---|---|
[정보 보안] 정보 보안 개론 2장 07. 취약점 관리 (0) | 2021.10.16 |
[정보 보안] 정보 보안 개론 2장 05. 권한 관리 (0) | 2021.10.11 |
[정보 보안] 정보 보안 개론 2장 04. 접근 제어 (0) | 2021.10.11 |
[정보 보안] 정보 보안 개론 2장 03. 세션 관리 (0) | 2021.10.11 |
댓글