1 / 67

시스템 로그 분석

12. 시스템 로그 분석. 학습목표 로그의 중요성과 역할을 이해할 수 있다 . 운영체제별 로그의 종류와 용도를 이해할 수 있다 . 운영에 적절한 로그 정책을 수립할 수 있다 . 적절한 로그 정책을 적용할 수 있다 . 로그를 분석하고 이해할 수 있다 . 내용 로그에 대한 이해 윈도우의 로그 분석과 설정 리눅스 / 유닉스의 로그 분석과 설정. 로그에 대한 이해. 윈도우 이벤트 (Event) 라는 중앙 집중화된 로그 수집하여 저장 로그가 중앙 집중화되어 관리 용이

Télécharger la présentation

시스템 로그 분석

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 12 시스템 로그 분석

  2. 학습목표 • 로그의 중요성과 역할을 이해할 수 있다. • 운영체제별 로그의 종류와 용도를 이해할 수 있다. • 운영에 적절한 로그 정책을 수립할 수 있다. • 적절한 로그 정책을 적용할 수 있다. • 로그를 분석하고 이해할 수 있다. • 내용 • 로그에 대한 이해 • 윈도우의 로그 분석과 설정 • 리눅스/유닉스의 로그 분석과 설정

  3. 로그에 대한 이해 • 윈도우 • 이벤트(Event)라는 중앙 집중화된 로그 수집하여 저장 • 로그가 중앙 집중화되어 관리 용이 • 공격자가 한 로그만 삭제하면 되므로 위험, 로그에 대한 보안 수준 낮음 • 유닉스 • 로그를 여러 곳에 산발적으로 저장, 여러 곳에 저장된 유닉스 로그는 초보자가 찾기도 어려움 • 공격자도 로그를 모두 찾아 지우기 어려움 • AAA : Authentication(인증), Authorization(인가), Accounting • 인증 : 자신의 신원(identity)을 시스템에 증명하는 과정(아이디(id)와 패스워드 입력) • 아이디가 신원을 나타내고 정상 패스워드 입력하면 인증되는 방식 • 출입 통제 시스템에서 지문으로 신분을 확인까지가‘인증’ 이고 인식 시스템에 손가락을 대고 그 사람이 누구인지 확인하는 과정까지가‘인가’ • 인가 : 올바른 패스워드를 입력 시스템에 로그인 허락된 사용자라 판명되어 로그인 • Accounting : 시스템에 로그인한 후 시스템이 이에 대한 기록을 남기는 과정 • 인증과 인가, Accounting은 일반 운영체제뿐만 아니라 방화벽등 모든 시스템에 해당 • 책임 추적성(Accountability) : 추적에 대한 기록의 충실도 • 감사 추적(Audit Trail) :Accounting을 하여 남긴 로그 정보를 통한 추적 그 자체

  4. 윈도우의 로그 분석과 설정 • 해커에 대한 즉각적인 확인 • net session : 현재 로그인된 사용자 확인 • 자신의 시스템에 로그인한 시스템의 IP,계정, 클라이언트의 운영체제, 세션의수, 로그인한 후 경과한 시간 출력 • Psloggedon : 시스템에 현재 로그인한 세션을 알아보는 툴 • doskey /history 명령 : 명령 창에서 내린 명령 확인 • 로그 정책의 설정 • 윈도우 로그 정책 • [제어판]-[관리 도구]-[로컬 보안 정책] 메뉴 선택 [로컬 정책]-[감사 정책]에서 확인 • 유닉스에 비해 로깅에 시스템 자원이 많이 소모, 모든 정보 로깅 설정은 부적당 • 로깅 정보 확인 :[제어판]-[관리 도구]-[이벤트 뷰어]에서 확인

  5. 윈도우의 로그 분석과 설정 개체 액세스 감사 파일이나 디렉터리, 레지스트리 키, 프린터 같은 객체에 접근을 시도하거나 속성을 변경하려는 것 등을 탐지 TEST 임의의 디렉터리 생성 속성 창 [편집] 눌러 Users 그룹에 대해 읽기 및 실행, 폴더 내용 보기, 읽기 허용, 쓰기 거부설정 [그림 12-6] 디렉터리의 접근 권한 설정

  6. 윈도우의 로그 분석과 설정 [고급] 버튼 누름 [그림 12-7] 디렉터리의 [고급 보안 설정]-[사용 권한] 탭

  7. 윈도우의 로그 분석과 설정 [감사] 탭누름 [그림 12-8] 디렉터리의 [고급 보안 설정]-[감사] 탭

  8. 윈도우의 로그 분석과 설정 <편집> 버튼 누르면 실행 창에서 <추가> 버튼 눌러 항목별 성공, 실패 감사 여부 설정 [그림 12-9] 감사 항목 추가

  9. 윈도우의 로그 분석과 설정 접근 권한 설정한 디렉터리에서 파일 변경, 삭제, 생성 [그림 12-10] 이벤트 뷰어에 나타나는 개체 액세스 감사 로그

  10. 윈도우의 로그 분석과 설정 개체 액세스 이벤트에 대한 이벤트 ID [표 12-1] 주요 개체 액세스 감사 로그

  11. 윈도우의 로그 분석과 설정 4656 이벤트의 감사 실패와 감사 성공 (a) 감사 성공 (b) 감사 실패 [그림 12-11] 4656 이벤트의 감사 성공과 실패

  12. 윈도우의 로그 분석과 설정 [일반] 탭 상단의 상세 이벤트 로그 • 개체에 대한 핸들을 요청했습니다. • ➊ 주체: • 보안 ID: WIN-2F6YS1NM5GD\user • 계정 이름: user • 계정 도메인: WIN-2F6YS1NM5GD • 로그온 ID: 0xded13 • ➋ 개체: • 개체 서버: Security • 개체 유형: File • 개체 이름: C:\TEST\새 폴더 • 핸들 ID: 0x0 • ➌ 프로세스 정보: • 프로세스 ID: 0xfbc • 프로세스 이름: C:\Windows\explorer.exe • ➍ 액세스 요청 정보: • 트랜잭션 ID: {00000000-0000-0000-0000-000000000000} • 액세스: DELETE • READ_CONTROL • WRITE_DAC • SYNCHRONIZE • ReadData (또는 ListDirectory) • WriteData (또는 AddFile) • ReadEA • WriteEA • ReadAttributes • WriteAttributes • 액세스 마스크: 0x17019b • 액세스 확인에 사용된 권한: - • 제한된 SID 카운트: 0

  13. 윈도우의 로그 분석과 설정 주체(Subject)와 개체(Object)의 개념 주체는 어떤영향을 가하는 쪽이고, 개체는 영향을 받는 쪽 ➊ 주체(Subject) : 접근하는 쪽의 정보를 담고 있다. ➋ 개체(Object) : 접근되는 쪽의 정보를 담고 있다. ➌ 프로세스 정보(Process Information) : 접근 주체가 개체의 접근에 사용하는 프로세스 정보 ➍ 액세스 요청 정보(Access Request Information) : 접근하는 주체와 개체에 대한 권한 정보 계정 관리 감사 신규사용자/그룹추가, 기존사용자/그룹변경, 사용자의 활성화/비활성화, 계정패스워드변경감사 로컬 보안 설정에서 계정 관리 감사의 성공과 실패 모두에 대해 감사 설정 [그림 12-13] 이벤트 뷰어에 나타나는 계정 관리 감사 로그

  14. 윈도우의 로그 분석과 설정 4720 이벤트의 감사 성공 [그림 12-14] 4720 이벤트 감사 성공

  15. 윈도우의 로그 분석과 설정 계정 관리와 관계되는 이벤트ID [표 12-2] 주요 계정 관리 감사 로그

  16. 윈도우의 로그 분석과 설정 계정 로그온 이벤트 감사 계정 로그온 이벤트 감사는 도메인 계정 사용으로 생성 로그온 이벤트 감사는 로컬 계정 사용으로 생성 감사의 성공과 실패 로깅하도록 설정 [그림 12-15] 이벤트 뷰어에 나타나는 계정 로그온 이벤트 감사 로그 [표 12-3] 주요 계정 로그인 이벤트 감사 로그

  17. 윈도우의 로그 분석과 설정 권한 사용 감사 권한 설정 변경시, 관리자 권한이 필요한 작업 수행 시 로깅 공격자가 계정 생성하여 관리자 권한 부여, 이에 준하는 일 수행 시 로깅이 남음 권한 사용 감사의 성공과 실패 로깅하도록 설정 이벤트 뷰어에서 해당 이벤트 확인 [그림 12-17] 이벤트 뷰어에 나타나는 권한 사용 감사 로그 [표 12-5] 주요 권한 사용 감사 로그

  18. 윈도우의 로그 분석과 설정 로그온 이벤트 감사 계정 로그온 이벤트 감사와 비슷, 로컬 계정의 접근 시 생성되는 이벤트 감사한다는 점이 다름 [표 12-6] 주요 로그인 이벤트 감사 로그

  19. 윈도우의 로그 분석과 설정 디렉터리 서비스 액세스 감사 디렉터리 서비스 운영에 대한 부분 정책 변경 감사 사용자 권한 할당 정책, 감사 정책, 또는 신뢰 정책 변경 관련된 사항 로깅 [표 12-7] 주요 정책 변경 감사 로그

  20. 윈도우의 로그 분석과 설정 프로세스 추적 감사 프로세스 추적 감사 관련 이벤트 로그는 사용자나 응용 프로그램이 프로세스 시작,중지 시 발생 [표 12-8] 주요 프로세스 추적 감사 로그

  21. 윈도우의 로그 분석과 설정 시스템 이벤트 시스템의 시동과 종료, 보안 로그 삭제 등 시스템의 주요 사항에 대한 이벤트 [표 12-8] 주요 시스템 이벤트 로그

  22. 이벤트 로그의 백업 이벤트 로그 파일의 위치는 해당 이벤트의 [속성] 메뉴에서 확인 [그림 12-21] 백업하고자 하는 로그의 등록정보 선택 실습 12-1 윈도우 로그 관리하기 1

  23. 실습 12-1 윈도우 로그 관리하기 보안 로그는‘%SystemRoot%\System32\Winevt\Logs\Security.evtx’에 파일 저장 [그림 12-22] 로그에 대한 일반 설정 창

  24. 실습 12-1 윈도우 로그 관리하기 응용프로그램로그, 시스템로그도같은디렉터리에각각Application.evtx, System.evtx로 존재 [그림 12-23] 로그의 백업

  25. 원격시스템의 로그관리 원격지 로그 확인 관리자 권한 필요하므로 세션 연결시 관리자 권한의 프로세스 담당 ‘admin$’로 세션 생성 연결에는 관리자 그룹의 계정 필요 \\192.168.75.129\admin$를 입력, 관리자 그룹에 속하는 계정의 아이디, 패스워드 입력해 세션 생성 원격 시스템의 로그 수집 : MMC(Microsoft Management Console) 이용 [그림 12-24] admin$ 공유 세션 생성 [그림 12-25] mmc의 실행 실습 12-1 윈도우 로그 관리하기 2

  26. 실습 12-1 윈도우 로그 관리하기 MMC에서 새로운 작업 환경 만들기 위해 [콘솔]-[스냅인 추가/제거] 메뉴 선택 [그림 12-26] mmc에서 스냅인 추가/제거

  27. 실습 12-1 윈도우 로그 관리하기 [스냅인 추가/제거]의 왼쪽‘사용 가능한 스냅인’ 이벤트 뷰어 선택 <추가> 버튼 누름 오른쪽‘선택한 스냅인’에 해당스냅인 추가 <확인> 버튼 누름 [그림 12-27] 스냅인 추가 창

  28. 실습 12-1 윈도우 로그 관리하기 [컴퓨터 선택] 대화상자 실행 이벤트 로그를 읽어들일 시스템이 원격지에 있으므로 원격지 시스템의 IP나 시스템 이름 입력 <찾아보기> 버튼 눌러 네트워크에서 검색 [그림 12-28] 관리할 원격지의 시스템 선택 같이 원격지의 이벤트 뷰어를 실행할 수 있는 환경 완성 [그림 12-29] 원격 관리 목적으로 등록된 원격지의 시스템

  29. 시스템 시간 설정 윈도우는 자체적으로 동작하는 시간 동기화 서비스 있음 [제어판]-[관리도구]-[서비스]에 ‘Windows Time’ [그림 12-30] ‘Window Time’서비스 설정 관련 항목 윈도우는‘Windows Time’ 실행 않되면 이 서비스에 종속된 서비스 시작 않도록 강제 [그림 12-31] ‘Window Time’서비스 등록 정보 실습 12-1 윈도우 로그 관리하기 2

  30. 유닉스/리눅스의 로그 분석과 설정 로그 디렉터리 [표 12-9] 주요 유닉스 시스템의 로그 디렉터리 위치 utmp(x) 로그 utmp 데몬 : utmp(x) 파일에 로그 남기는 프로그램 utmp 데몬은 유닉스의 가장 기본적인 로깅을 제공하는 데몬(/etc/lib/utmpd) 현재 시스템에 로그인한 사용자의 상태 출력 utmp 데몬이 저장하는 로깅 정보의 형식은 /usr/include/utmp.h 파일에서 확인 utmp 데몬에 저장된 로그를 출력하는 명령 : w, who, users, whodo, finger 등 w 명령 : 현재 시스템에 로그인된 사용자 계정과 로그인 셸 종류,로그인 시간, 실행 중인 프로세스의 종류 확인 who 명령 : 접속한 시스템의 IP 확인 utmp 데몬 설정 :/etc/default/utmpd 파일에서 SCAN_PERIOD 값만 설정하면 됨

  31. 유닉스/리눅스의 로그 분석과 설정 wtmp(x) 로그 wtmp 데몬 : wtmp(x) 파일에 로그 남김,/usr/include/utmp.h 파일 구조체 사용 utmp 데몬과 비슷한 역할, 사용자들의 로그인, 로그아웃, 시스템 재부팅 정보 수록 last 명령 이용 확인 [그림 12-38] last 명령 실행을 통해 시스템에 로그인한 사용자의 최근 목록 확인 • telnet 192.168.75.129 25

  32. 유닉스/리눅스의 로그 분석과 설정 특정 항목만 확인하고 싶으면 last 명령 뒤에 해당 문자열만 추가 [그림 12-39] last reboot 명령 실행을 통해 시스템을 부팅/셧다운한 최근 기록 확인 • last reboot

  33. 유닉스/리눅스의 로그 분석과 설정 su 로그 su(switch user)는 권한 변경에 대한 로그 출력 형식 su 로그에 대한 설정 파일 : /etc/default/su • [날짜] [시간] [+(성공) or -(실패)] [터미널 종류] [권한 변경 전 계정 - 변경 후 계정]

  34. 유닉스/리눅스의 로그 분석과 설정 pacct 로그 시스템에 로그인한 모든 사용자가 수행한 프로그램에 대한 정보 저장하는 로그 pacct 로그도 utmp나 wtmp처럼 로깅 내용이 /usr/adm/pacct 파일에 텍스트가 아닌 바이너리 형태로 저장 로깅 내용 확인 위한 acctcom 명령 실행 [그림 12-43] acctcom 명령 실행 결과 • acctcom

  35. 유닉스/리눅스의 로그 분석과 설정 root 계정으로 vi 에디터 실행한 기록 출력하는 명령 [그림 12-44] acctcom을 이용해 root 계정이 vi 에디터를 실행한 내역 출력 • acctcom -u root -u vi

  36. 유닉스/리눅스의 로그 분석과 설정 lastcomm 명령 : 실행된 날짜 출력 [그림 12-45] ‘lastcomm’명령 실행 결과 • lastcomm

  37. 유닉스/리눅스의 로그 분석과 설정 lastcomm 명령 이용하면 실행한 명령과 S, F, D, X가 각 프로세스 간략한 상태 표시 • S : Superuser가 사용한 명령 • F : Fork 후에 사용된 명령 • D : Core를 덤프하고 종료된 명령 • X : Signal에 의해 종료된 명령

  38. 유닉스/리눅스의 로그 분석과 설정 .sh_history 또는 .bash_history 유닉스에서는 실행 명령에 대한 기록이 .sh_history, .csh_history, .bash_history 같이 ‘[셸의 종류]_history 파일’형식으로 각 계정의 홈 디렉터리에 저장

  39. 유닉스/리눅스의 로그 분석과 설정 syslog 시스템의 로그에 대한 정보 대부분을 수집하여 로깅 해당 로그의 종류와 로깅 수준은 /etc/syslog.conf 파일에서 확인 [그림 12-48] /etc/syslog.conf 파일에서 syslog 로깅 목록 확인 • vi /etc/syslog.conf

  40. 유닉스/리눅스의 로그 분석과 설정 ➊ *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages ‘모든 에러(*.err)와 커널의 디버그 시 남는 로그(kern.debug), 각 데몬의 동작에 대한 일반 정보(daemon.notice), 메일 서비스에 심각한 오류가 있는 경우 (mail.crit)에는 /var/adm/messages 파일에 해당 메시지를 저장하라’ ➋mail.debug ifde‘f( LOGHOST’, /var/log/syslog, @loghost) ‘메일에 대한 디버깅 정보(mail.debug)를 ‘LOGHOST’가 정의되어 있을 경우 (ifdefine) loghost 시스템의(@loghost) /var/log/syslog 파일에 저장하라’

  41. 유닉스/리눅스의 로그 분석과 설정 loginlog loginlog는 실패한 로그인 시도에 대한 로깅 수행 loginlog 파일에 실패한 로그인 기록이 저장되도록 설정 이 설정은 /etc/default/login 파일에 저장, 시스템 재부팅할 때 적용 [그림 12-51] /etc/default/login 파일의 설정사항 • vi /etc/default/login

  42. 유닉스/리눅스의 로그 분석과 설정 텔넷 등을 통해 로그인 시도 시 잘못된 계정과 패스워드로 로그인에 5번 실패 시 텔넷 재 실행 SYSLOG_FAILED_LOGINS는 5회 이상 잘못된 시도에 대해 loginlog 파일에 로깅 SYSLOG_FAILED_LOGINS 앞의 주석 표시(#) 제거하고 재부팅 원격에서 윈도우 이용 텔넷 접속 시도(5번 로그인을 시도하여 모두 실패하기) 5회 실패하면 연결 자동으로 끊김 [그림 12-52] 5회에 걸친 잘못된 로그인 시도

  43. 유닉스/리눅스의 로그 분석과 설정 생성한 /var/adm/loginlog 파일에 실패한 접속 시도가 로깅되어 있는지 확인 [그림 12-53] 잘못된 로그인 시도에 대한 loginlog 파일의 로그

  44. 유닉스/리눅스의 로그 분석과 설정 FTP 파일 전송 로그(Xferlog) FTP 이용한 로그인 : utmp 또는wtmp 로그 등을 통해 로깅 FTP 데몬이 동작할 때 파일 전송에 대한 로깅 수행 : FTP 서비스에 -l 옵션 추가해 시작 inetadm을 이용 FTP 서비스의 실행 옵션 확인 [그림 12-54] FTP 데몬 실행 옵션 확인 • inetadm -l svc:/network/ftp:default

  45. 유닉스/리눅스의 로그 분석과 설정 솔라리스 10에서 FTP는 기본적으로 -l 옵션 없이 실행 -l 옵션 추가 [그림 12-55] FTP 데몬에 대한 설정 내용 또한 /etc/ftpd/ftpaccess 파일 로그 기록에 대한 설정사항에 주석 표시(#)도 제거 [그림 12-56] /etc/ftpd/ftpaccess 파일의 내용 • inetadm -m svc:/network/ftp:default exec="/usr/sbin/in.ftpd -a -l" • vi /etc/ftpd/ftpaccess

  46. 유닉스/리눅스의 로그 분석과 설정 FTP를 통해 파일 몇 개를 주고받고, /var/log/xferlog 파일을 확인 [그림 12-57] /var/log/xferlog 파일의 내용 • cat /var/log/xferlog

  47. 유닉스/리눅스의 로그 분석과 설정 FTP를 통해 파일 몇 개를 주고받고, /var/log/xferlog 파일을 확인 ➊파일 크기 : 전송된 파일의 크기(바이트) ➋전송된 파일의 이름 ➌전송 방법 : a(ascii)는 텍스트 파일 전송, b(binary)는 바이너리 파일 전송 ➍특수 동작 : 파일 전송 이외에 행한 특수한 동작에 대한 정보를 담음 • C(Compress) : 파일의 압축 • U(Uncompress) : 파일의 압축 해제 • T(Tar) : Tar 등을 이용해 파일이 묶였음 • _ : 위의 동작 중 아무런 동작도 이루어지지 않았음 • Thu Feb 3 18:43:46 2011 1 192.168.1.1 861486/tmp/12-67-ftp1.bmpb_or wish • ➊ ➋ ➌ ➍ ➎ ➏ • ftp0*c 861486 0 • ➐ ➑ ➒ ➓

  48. 유닉스/리눅스의 로그 분석과 설정 ➎ 방향 • O(Outcomming) : 클라이언트가 서버에서 파일을 복사할 경우 • I(Incomming) : 클라이언트가 서버의 시스템에 파일을 복사할 경우 ➏ 접근 계정 • A(Anonymous) : 익명 계정 • G(Guest) : 패스워드가 설정된 Guest 계정 • R(Real) [사용자 계정] : 시스템에 존재하는 계정 ➐ 서비스 이름 : FTP에 대한 로깅 정보므로 당연히 FTP임 ➑ 인증 서버 사용 여부 • 0 : 인증 서버가 없는 경우 • 1 : RFC 931(Authentication Server)을 이용한 인증 수행 ➒ 인증 서버를 통한 사용자 인증 • 인증 서버를 사용하지 않으므로 *가 출력됨 ➓ 파일 전송 성공 여부 • C(Complete) : 파일 전송 성공 • I(Incomplete) : 파일 전송 중 실패, 또는 오류

  49. 유닉스/리눅스의 로그 분석과 설정 HTTPD Log(Access_log, Error_log) 웹 서비스에 의한 로그 : /usr/local/apache/logs 디렉터리에 Access_log, Error_log 같은 로그 파일로 남음

  50. 유닉스/리눅스의 로그 분석과 설정 시스템별 로그 상세 경로 [표 12-10] 시스템별 주요 로그 파일의 위치

More Related