<53495320C1A4BAB8BAB8C8A3C0FCB9AEB0A120B1B3C0B020C0DAB7E120627920532E532E472E687770>



Similar documents
2-11Àå

리눅스보안관리.PDF

ħÇØ»ç°í¹æÁö±â¼ú°³¹ß

PowerPoint 프레젠테이션

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

1217 WebTrafMon II

Microsoft PowerPoint - comp_prac_081223_2.pptx

6주차.key

Microsoft Word - Solaris_rpc_ypupdated.doc

Sun Java System Messaging Server 63 64

Network seminar.key

Backup Exec

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Sena Device Server Serial/IP TM Version


소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

SMB_ICMP_UDP(huichang).PDF

[03] 로그관련명령어 # lastlog /var/log/lastlog 파일의내용을보여주는명령어 /etc/passwd 파일에선언되어있는게정중로그인이되는계정만접근한흔적이남아야한다. 사용자명 포트 ~ 로부터 최근정보 root pts/ 금 10월

01Àå

untitled

FreeBSD Handbook

MySQL-Ch10

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

untitled

PCServerMgmt7

ÀÎÅÍ³Ý ÁøÈï¿ø 5¿ù

Sena Technologies, Inc. HelloDevice Super 1.1.0


LN_5_Rootfs

Subnet Address Internet Network G Network Network class B networ

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

*****

본 해설서는 정보통신망 이용촉진 및 정보보호 등에 관한 법률 (이하 법 이라 한다) 제28조제1항과 같은 법 시행령 제15조제6항에 근거한 개인정보의 기술적 관리적 보호조치 기준 이 개정 고시( )됨에 따라 - 동 기준의 각 조항별 주안점과 구체적인 사례를

Remote UI Guide

TCP.IP.ppt

untitled

휠세미나3 ver0.4

LXR 설치 및 사용법.doc

1 Live CD(USB) 란? 1.1 Live CD(USB) 란? LiveCD(USB) 란 CD( 또는 USB) 를하드디스크로인식하여해당매체를기반으로동작하는운영체제를말한다. 즉 CD에설치된운영체제이다. 이는자신의 PC의하드디스크에설치된내용은 CD에그대로복사하였다고생각

침입방지솔루션도입검토보고서


슬라이드 제목 없음

Specialist for Information Security

제20회_해킹방지워크샵_(이재석)

ESP1ºÎ-04

<4D F736F F D20B3BBBACEC7D8C5B7B4EBC8B820BAB8B0EDBCAD2E646F6378>

hd1300_k_v1r2_Final_.PDF

untitled

Solaris Express Developer Edition

CLX8380_KR.book

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Microsoft Word - UG-BetaDraft_KO_TT-OK.doc

< B3E2C1A632C8B8BFF6B5E531B1DE42C7FC2E687770>

chapter4

ÀÎÅÍ³Ý ÁøÈï¿ø 3¿ù ÀúÇØ»ó

Microsoft PowerPoint - chap9 [호환 모드]

포렌식특강발표자료

PowerPoint 프레젠테이션

자바-11장N'1-502

vm-웨어-01장

V5000_1.xx_CG_KO_ doc

PowerPoint 프레젠테이션

1. GigE Camera Interface를 위한 최소 PC 사양 CPU : Intel Core 2 Duo, 2.4GHz이상 RAM : 2GB 이상 LANcard : Intel PRO/1000xT 이상 VGA : PCI x 16, VRAM DDR2 RAM 256MB

Gentoo linux 설치기록

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

05Àå

UDP Flooding Attack 공격과 방어

wp1_ hwp

운영체제실습_명령어

*

다. 최신 버전의 rpm 패키지 버전을 다운로드해 다음과 같이 설 치한다. 단 debuginfo의 rpm 패키지는 설치할 필요가 없다. 하기 위한 옵션이고, init는 저장소를 초기화하기 위한 cvs 명령 어이다. - 새로 설치한 경우 : rpm -ivh cvs* -

chapter1,2.doc

ESET Endpoint Security

<4D F736F F F696E74202D E20C0CEC5CDB3DD20C0C0BFEB20B9D720BCADBAF1BDBA20B1E2BCFA E >

PowerPoint 프레젠테이션

PowerPoint Presentation

Mango220 Android How to compile and Transfer image to Target

6강.hwp

ARMBOOT 1

R50_51_kor_ch1

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

10X56_NWG_KOR.indd

망고100 보드로 놀아보자-4

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

bn2019_2

KISA-GD

ETL_project_best_practice1.ppt

PowerPoint 프레젠테이션

StruxureWare Data Center Expert 7.2.x 의 새 기능 StruxureWare Data Center Expert 7.2.x 릴리스에서 사용할 수 있는 새 기능에 대해 자세히 알아보십시오. 웹 클라이언트 시작 화면: StruxureWare Cen

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

Microsoft PowerPoint - User Manual pptx

untitled

Learn Raspberry Pi with Linux by Peter Membrey, David Hows Original English language edition published by Apress, Inc. Copyright c 2013 by Apress. Kor

2008

CPX-E-EC_BES_C_ _ k1

Chap06(Interprocess Communication).PDF

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

PowerPoint 프레젠테이션

해킹 대응 경진대회

Transcription:

<세종대학교 정보보호 동아리 S.S.G> SIS 정보보호 전문가 이론 학습 및 문제 풀이 세종대학교 정보보호 동아리 S.S.G security.sejong.ac.kr together2010@gmail.com puresoul

본 자료는 세종대학교 정보보호 동아리 S.S.G의 신입생 기초 교양 교육과 더불어 SIS 정보보호 전문가를 준비하시는 모든 분들에게 조금이나마 도움이 되고자 제작되었습니다. 본 교재의 원본은 www.sis.or.kr의 이론학습과 실력 테스트를 기본으로 만들어졌습니다. 현재는 많은 부분에 있어 www.sis.or.kr에 의존하고 있지만 한 해 한 해 지날수록 그 버전을 높여감으로써 부족한 부분을 메우고, 잘된 부분은 더욱 발전 시켜나갈 예정입니다. 저희의 부족한 실력으로 감히 이와 같은 자료를 만든다는 것 자체가 많은 모험이고 큰 도전이지만 절대 조급해 지지 않고 한 걸음 한 걸음 나아가겠습니다. 본 자료를 가지고 공부하시는 모든분들게 조금이나마 도움이 되었으면 하는 바람입니다. S.S.G (Sejong Security Guard)는 세종대학교 컴퓨터 공학과 송상훈 교수님의 지도를 받고 있는 정보보호 동아리로서, 2000년 3월 처음 창설되어 올해도 8년째를 맞이하고 있습니다. S.S.G는 모든 동아리원들이 보안에 대한 굳은 결의로 최선의 노력을 다하고 있으며, 보안 공부에 대한 열의만은 세계 어디에도 뒤지지 않을 정도의 열의를 가지고 있습니다. S.S.G는 세종대학교 율곡관 605호에 위치하고 있으며, 자유로운 분위기 아래 각자 자신의 분야에 최선의 노력을 다하고 있습니다. 완벽한 보안이란 절대로 이룰 수 없다고 우리 모두가 공감하고 있는 현실이지만, 저희 S.S.G는 그 완벽에 조금이나마 더 가까워질 수 있도록 연구에 매진하고 있습니다. 보안이 나 하나만 잘 해서는 이루어 질 수 없는 일이기에 우리의 연구를 연구에만 한정하지 않고 정보공개, 세미나 개최 등을 통해서 보안 마인드 확산에 조금이나마 기여 하려고 노력하고 있습니다.

[목차] 제 1장. 시스템 보안 제 1절. 유닉스 시스템 보안 chapter 1. 유닉스 시스템 개요 ----------------------------------- 12 chapter 2. 유닉스 시스템 관리 ----------------------------------- 15 chapter 3. 유닉스 시스템 보안 ----------------------------------- 24 제 2절. 윈도우 시스템 보안 chapter 1. 윈도우 시스템 개요 ----------------------------------- 41 chapter 2. 윈도우 시스템 관리 ----------------------------------- 44 chapter 3. 윈도우 시스템 보안 ----------------------------------- 49 제 3절. 데이터 베이스 보안 chapter 1. 데이터 베이스 개요 ----------------------------------- 52 chapter 2. 데이터 베이스 보안 ----------------------------------- 54 제 4절. 시스템 보안 문제 풀이 chapter 1. 종합 문제 ---------------------------------------------- 56 3

제 2장. 네트워크 보안 제 1절. 네트워크 이해 chapter 1. 네트워크 개요 ----------------------------------------------------- 98 chapter 2. 네트워크 토폴로지 ------------------------------------------------ 99 chapter 3. OSI 참조 모델 ----------------------------------------------------- 101 제 2절. 침입 차단 시스템 chapter 1. 침입 차단 시스템 개요 ------------------------------------------- 112 chapter 2. 침입 차단 시스템 보안 정책 ------------------------------------- 114 제 3절. 침임 탐지 시스템 chapter 1. 침입 탐지 시스템의 개요 ----------------------------------------- 115 chapter 2. 침입 탐지 시스템 보안 정책 ------------------------------------- 117 chapter 3. 침입탐지 시스템 한계성 및 고려 사항 -------------------------- 118 제 4절. 가상 사설망 chapter 1. 가상 사설망 개요 ----------------------------------------------- 120 chapter 2. 가상 사설망 기술 ----------------------------------------------- 121 제 4절. 인터넷 서비스 보안 chapter 1. WEB 보안 ------------------------------------------------------- 123 chapter 2. FTP 보안 -------------------------------------------------------- 124 chapter 3. Telnet 보안 ----------------------------------------------------- 126 chapter 4. E-mail 보안 ----------------------------------------------------- 127 chapter 5. DNS 보안 ------------------------------------------------------- 130 제 5절. 네트워크 보안 문제 풀이 chapter 1. 종합 문제 ------------------------------------------------------ 132 4

제 3장. 정보보호 개론 제 1절. 정보보호 개념 chapter 1. 정보보호 개요 ----------------------------------------- 183 chapter 2. 정보보호 목표 ----------------------------------------- 183 chapter 3. 정보보호 위협 및 대책 ------------------------------- 184 chapter 4. 정보보호 시스템 평가 기준 및 제도 ----------------- 185 제 2절. 정보보호 관리 chapter 1. 정보보호관리 개요 ------------------------------------ 191 chapter 2. 정보보호관리 과정 ------------------------------------ 191 chapter 3. 정보보호관리 체계 ------------------------------------ 195 제 3절. 정보보호 법률 및 윤리 chapter 1. 정보보호 법률 ----------------------------------------- 201 chapter 2. 정보보호 윤리 ----------------------------------------- 207 제 4절. 정보보호 개론 문제 풀이 chapter 1. 종합 문제 ---------------------------------------------- 210 5

제 4장. 암호학 제 1절. 암호 개론 chapter 1. 암호 개론 ---------------------------------------------- 237 chapter 2. 암호 알고리즘 ----------------------------------------- 239 제 2절. 암호 응용 프로토콜 chapter 1. 영지식 증명 프로토콜 --------------------------------- 247 chapter 2. 전자 화폐 프로토콜 ----------------------------------- 247 chapter 3. SET(전자 지불 프로토콜) ------------------------------ 248 chapter 4. 동전 던지기 프로토콜(Coin Flipping) ---------------- 250 chapter 5. 전자 투표 프로토콜 ----------------------------------- 250 제 3절. 암호 응용 기술 chapter 1. PKI ----------------------------------------------------- 251 chapter 2. 전자서명 ----------------------------------------------- 253 chapter 3. 전자봉투 ----------------------------------------------- 254 chapter 4. DRM 과 워터마킹 ------------------------------------- 254 chapter 5. PMI ----------------------------------------------------- 256 제 4절. 암호학 문제 풀이 chapter 1. 종합 문제 ---------------------------------------------- 258 6

제 5장. 사용자 인증 및 접근 통제 제 1절. 사용자 인증 chapter 1. 사용자 인증 개요 -------------------------------------- 275 chapter 2. 사용자 인증 기술 -------------------------------------- 276 제 2절. 접근 통제 chapter 1. 접근 통제 개요 ---------------------------------------- 282 chapter 2. 접근 통제 모델 ---------------------------------------- 283 chapter 3. 접근 통제 시스템 -------------------------------------- 284 제 3절. 사용자 인증 및 접근 통제 문제 풀이 chapter 1. 종합 문제 ---------------------------------------------- 286 7

제 6장. 물리적 보안 및 환경 통제 제 1절. 물리적 보안 chapter 1. 물리적 보안 개요 -------------------------------------- 302 chapter 2. 물리적 보안 위협 -------------------------------------- 302 chapter 3. 기타 물리적 보안 방식 -------------------------------- 303 제 2절. 환경적 통제 방법 chapter 1. 환경 문제 ---------------------------------------------- 304 chapter 2. 시설 관리 ---------------------------------------------- 304 chapter 3. 관리 통제 ---------------------------------------------- 305 chapter 4. 접근 통제 ---------------------------------------------- 306 제 3절. 물리적 보안 및 환경 통제 문제 풀이 chapter 1. 종합 문제 ---------------------------------------------- 307 8

제 7장. 업무 지속성과 재난 복구 제 1절. 업무 지속성 계획 chapter 1. 업무 지속성 계획 개요 ------------------------------- 320 chapter 2. 업무 지속성 계획 관리 ------------------------------- 321 제 2절. 재난 복구 계획 chapter 1. 재난 복구 계획 개요 ---------------------------------- 323 chapter 2. 재난 복구 대책 ---------------------------------------- 324 제 3절. 업무 지속성과 재난 복구 문제 풀이 chapter 1. 종합 문제 ---------------------------------------------- 329 9

제 8장. 침해 사고 대응 제 1절. 취약점 이해 및 점검 chapter 1. 취약성 개념 -------------------------------------------- 341 chapter 2. 취약성 분석 -------------------------------------------- 341 chapter 3. 취약성 점검 -------------------------------------------- 342 제 2절. 공격 유형 이해 및 분석 chapter 1. 공격 기법 분류 ---------------------------------------- 345 chapter 2. 해킹 공격 절차 ---------------------------------------- 352 chapter 3. 해킹 공격 기술 ---------------------------------------- 353 제 3절. 악성 프로그램 이해 및 대응 chapter 1. 악성 프로그램 개념 ----------------------------------- 353 chapter 2. 악성 프로그램 유형 ----------------------------------- 353 제 4절. 침해 사고 및 대응 chapter 1. 침해 사고 분석 ---------------------------------------- 361 chapter 2. 침해 사고 대응 ---------------------------------------- 362 제 5절. 침해 사고 대응 문제 풀이 chapter 1. 종합 문제 ---------------------------------------------- 368 10

제 1장. 시스템 보안 제 1절. 유닉스 시스템 보안 chapter 1. 유닉스 시스템 개요 chapter 2. 유닉스 시스템 관리 chapter 3. 유닉스 시스템 보안 제 2절. 윈도우 시스템 보안 chapter 1. 윈도우 시스템 개요 chapter 2. 윈도우 시스템 관리 chapter 3. 윈도우 시스템 보안 제 3절. 데이터 베이스 보안 chapter 1. 데이터 베이스 개요 chapter 2. 데이터 베이스 보안 제 4절. 시스템 보안 문제 풀이 chapter 1. 종합 문제 11

제 1 절. 유닉스 시스템 보안 chapter 1. 유닉스 시스템 개요 가. 유닉스 시스템 역사 유닉스 시스템은 1960년대 후반에 AT&T사의 Bell 연구소에서 개발한 Multics라는 이름을 가진 운영 체제에서 그 뿌리를 찾을 수 있다. 그 후 본격적으로 유닉스 시스템의 개발에 착수한 사람은 Ken Thompson으로 DEC사의 PDP-7용 OS를 Assembly로 개발하여 초기 유닉스 시스템 발전의 기초를 만 들었으며, 1973년 Dennis Ritchie가 이식성이 뛰어난 C언어로 유닉스 시스템을 재작성함으로써 본격적 인 유닉스 시대의 장을 만들게 되었다. 나. 유닉스 시스템 핵심 구조 유닉스 시스템은 크게 커널, 쉘, 파일시스템 3가지 핵심 구조로 구성되며 다음 [표 4-1]은 유닉스 시스템의 핵심 구조에 대한 간단한 설명이다. 12

(1) 커널(Kernel) 사용자 프로그램들은 경우에 따라 시스템의 하드웨어나 소프트웨어의 자원을 액세스하게 되는데 커널 은 이러한 사용자 프로그램을 관리하는 부분을 말한다. 커널은 크게 프로세스, 메모리, 입출력(I/O) 그 리고 파일 관리의 네 부분으로 나누어 생각할 수 있으며 이러한 서브시스템은 각기 독립적으로 사용자 프로그램에 의해서 의도되는 서비스를 올바르게 제공하기 위해서 상호 협동적으로 작동하게 된다. 또 한 커널은 쉘과 상호 연관되어 있어서 쉘에서 지시한 작업을 수행하고 결과물을 돌려보낸다. (2) 쉘(Shell) 쉘은 유닉스 시스템과 사용자 사이의 인터페이스를 제공하는 것을 말한다. 즉, 사용자가 문자열들을 입력하면 그것을 해석하여 그에 따르는 명령어를 찾아서 커널에 알맞은 작업을 요청하게 된다. 쉘은 종류에 따라 전통적으로 Bourne 쉘, C 쉘, Korn 쉘 등으로 구분된다. o Bourne 쉘(/bin/sh, $): AT&T의 유닉스 환경을 위해 개발되었으며, 대부분의 유닉스에서 제공하는 기본 쉘이다. 빠른 수행과 최소한의 자원만을 요구하는 것이 특징이다. o C 쉘(/bin/csh, %): 사용법이 C 언어와 유사하며, Korn 쉘, Bourne 쉘과 기본적으로 유사한 특성을 가지고 있으나 대형 시스템을 목표로 설계되었기 때문에 명령어의 용어와 문법적 구조는 다르다. o Korn 쉘(/bin/ksh, $) : 벨 연구소의 David Korn에 의해 제작되었으며, Bourne 쉘을 포함하며, aliasing, history, command line editing 같은 특성이 추가되었다. (3) 파일 시스템(File System) 유닉스의 최상위 레벨의 디렉터리인 root는 / 로 시작하여 하위에 다음과 같은 디렉터리 계층구조를 이룬다. /dev : 디바이스 파일을 주로 포함하는 디렉터리 /etc : 시스템 관리를 위한 파일을 포함하는 디렉터리(passwd, hosts, rc 등의 파일 포함) /sbin : Standalone binary 파일을 포함하는 디렉터리(시스템의 시작에 필요한 init, mount, sh 등) /tmp : 임시 디렉터리 /bin : 시스템 바이너리 파일을 포함하는 디렉터리 /lib : 시스템 라이브러리 파일을 포함하는 디렉터리(유틸리티, 패키지 등 포함) /var : 계정 정보와 계정 관리 및 시스템 통계 등에 관한 디렉터리 /usr : 각종 실행 프로그램이나 온라인 매뉴얼 등을 포함하는 디렉터리 13

다. 유닉스 시스템 부팅 절차와 실행 단계 (1) 유닉스 시스템 부팅 절차 o 시스템 초기화 o Bootstrap disk에 있는 첫 블록을 옮겨 그 코드(code)를 실행 o Bootstrap loader는 유닉스 파일을 찾아서 메모리에 옮겨, 처리하여 수행 o 유닉스 파일은 몇몇 하드웨어 인터페이스를 초기화 o 초기화 작업이 끝난 후에 프로세스 0을 수행 o 프로세스 0을 만들어 초기화한 후 시스템은 프로세스 0을 복제함으로써 프로세스 1을 생성 o 앞 단계까지 성공적으로 수행한 경우, 정상적인 스케줄링 수행 o init 프로세스인 프로세스 1이 수행이 되면 exec system call을 하게 되는데 이 시스템콜은 프로세스 1의 code 명령에 파일 /etc/init를 읽어 들임 o getty 프로세스는 다음과 같이 처리됨 - communication line connection, exec login o login 프로세스 - 사용자 ID/패스워드 검증, 쉘 실행 (2) 유닉스 시스템 실행 단계 System V 계열의 유닉스 시스템은 실행 단계(Run Level)별로 다음 [표 4-2]와 같은 단계를 포함하며, init 명령어를 통하여 사용자가 통제할 수 있다. 14

chapter 2. 유닉스 시스템 관리 가. 유닉스 시스템 로그 관리 다음 [표 4-3]은 유닉스 시스템에서의 중요 로그 파일을 설명한 것이다. (1) syslog 로깅 주체(facility) syslog 로깅 주체(facility)는 로그 정보를 요청한 프로그램 종류로 구분되며, syslog 로깅 주체별 로그 대상 사건은 다음 [표 4-4]와 같다. 15

(2)syslog 레벨 syslog 레벨(level)은 심각성(severity) 레벨을 의미하는데 다음 [표 4-5]와 같은 단계로 구분 지을 수 있 다. 심각성 레벨은 심각도에 따라 emerg > alert > crit > err > warn > notice > info > debug 순이다. 16

(3) syslog 설정 구문(/etc/syslog.conf) 주의할 점은 mark를 제외한 나머지 레벨은 *.alert, *.debug 등과 같이 facility를 와일드카드(wild card, *)를 사용하여 나타낼 수 있지만, mark의 경우에는 와일드카드를 사용할 수 없다는 것이다. 다음 [표 4-6]은 /etc/syslog.conf 설정 구문에 대한 설명이다. 17

나. 유닉스 시스템 백업 및 복구 보안 침입자에 의해 시스템의 데이터가 변조되거나 파괴되었을 때, 가장 안전하고 정확한 복구 방법은 백업 및 복구대책이다. (1) 백업 대책 o 백업 대상 분류 : 전체, 중요 파일, 로그파일 등 기준에 의하여 백업 대상을 지정하는 것 o 백업 주기 : 현재 수행하고 있는 백업의 주기는 일/주/월 단위 및 수시 백업으로 분류 o 백업 종류 : 다음 [표 4-7]과 같다 (2) 복구 대책(침해사고 또는 장애 등에 대한 복구 대책) o 복구 우선순위: 본질적 업무 기능(30분 이내), 중요 업무 기능(24시간 이내), 부가 업무 기능(48시간 이내) 등으로 분류 o 목표 복구 수준: 특정 백업 시점, 전일 백업 시점의 데이터로 복구 - 특정 백업시점(I), 전일백업 시점(D) o 목표 복구 시간: 30분 이내, 3시간 이내, 24시간 이내, 48시간 이내로 분류 18

(3) 백업과 복구 유닉스 명령어 #ufsdump options : 백업 0-9 : 0: full dump, 1~9: incremental backup u : /etc/dumpdates에 write, incremental backup 가능하도록 처리 f : device 장치 명시, 디폴트는 tape v : view # ufsrestore : 복구 (4) 불필요한 서비스의 제거 시스템 운영에서 불필요한 서비스 제거를 위하여 다음 절차를 수행한다. o #netstat -an 을 통하여 현재 사용, 준비하고 있는 서비스 포트를 확인한다. Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 210.205.14.100:80 0.0.0.0:* LISTEN tcp 0 0 210.205.14.100:8080 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 명령어의 실행 결과에서 LISTEN으로 응답하는 포트는 외부사용자가 접속할 수 있는 경로를 제공하는 서비스 포트로서, 현재 사용 중임을 의미한다. 따라서 반드시 사용 유무를 확인하여 제거해야 한다. o #netstat -an 의 처리 결과 LISTEN 상태인 서비스 포트의 내용을 /etc/services 파일의 내용과 비교 하여 서비스 포트의 내용을 참조한다. 그리고 /etc/inetd.conf 파일에서 해당 서비스 항목의 첫 라인에 주석 처리한다.(#을 해당 라인에 삽입) 19

[stkim@insert stkim]$ more /etc/inetd.conf # Version: @(#)/etc/inetd.conf 3.10 05/27/93 # # Echo, discard, daytime, and chargen are used primarily for testing. #echo stream tcp nowait root internal #echo dgram udp wait root internal #discard stream tcp nowait root internal #discard dgram udp wait root internal #daytime stream tcp nowait root internal #daytime dgram udp wait root internal #chargen stream tcp nowait root internal #chargen dgram udp wait root internal #time stream tcp nowait root internal # These are standard services. # 첫 라인에 #이 삽입되면 주석으로 인식되어 해당 서비스 포트의 사용을 제거함 ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd # Shell, login, exec, comsat and talk are BSD protocols. #shell stream tcp nowait root /usr/sbin/tcpd in.rshd #login stream tcp nowait root /usr/sbin/tcpd in.rlogind #exec stream tcp nowait root /usr/sbin/tcpd in.rexecd #comsat dgram udp wait root /usr/sbin/tcpd in.comsat o ps ef grep inetd 의 명령어를 사용하여 현재 사용 중인 서비스 포트들을 총괄적으로 관리하는 인터넷 슈퍼 데몬의 프로세스 ID를 확인한다. [stkim@insert stkim]$ ps ef grep inetd root 318 1 0 14:01? 00:00:00 inetd o kill HUP 318(inetd s Process ID) 인터넷 슈퍼 데몬을 재수행하여 /etc/inetd.conf 파일에서 사용을 금지하도록 설정한 서비스 포트의 상태를 재인식하도록 명령한다. o netstat an 명령어를 사용하여 해당 서비스 포트에 대한 결과값이 나타나지 않았다면 조치가 완료된 것이다. 20

다음 [표 4-8]은 유닉스 시스템에서 일반적으로 정의된 서비스를 정리한 것이다. 21

(5) 유닉스 시스템 프로세스 관리 'ps' 명령은 유닉스 시스템에서 현재 구동 중인 프로세스를 확인하는 명령으로 'kill' 명령을 통해 강제 적으로 구동 중인 프로세스를 정지할 수 있다. o 관련 명령어 - ps ef : 프로세스 확인 명령 - kill PID, killall PID : 프로세스 정지 명령 - kill -15 PID : default signal 제거 - kill -9 PID : 프로세스 강제 제거 - pgrep lf sendmail : 프로세스 실행 확인 명령 - pkill sendmail : 프로세스 정지 명령 라. 유닉스 배치 작업(at, cron) (1) at 설정 #at 1045 10시 15분에 특정한 job(shell_script_file)을 수행하도록 처리한다. #/var/spool/cron/crontabs 파일을 수정하여 주기적으로 job을 수행하도록 한다. 명령어는 full path을 지정해야 한다. (2) cron 설정 crontab 파일 구문(syntax)은 minute hour day_of_month month weekday command"이다. o crontab 파일 구문- minute(분) : 0 ~ 59 - hour(시) : 0 ~ 23 - day_of_month (일) : 1 ~ 31 - month(월) : 1 ~ 12 - weekday(요일) : 일요일부터 토요일까지를 나타내는 0 ~ 6 - command(명령) : 실행 명령 예를 들어, 0 0 * * 0 /bin/myjob.sh 은 매월 일요일 0시 0분에 /bin/myjob.sh 명령어를 실행하라는 뜻이다. 22

마. 유닉스 시스템 패키지/패치 관리 (1) 유닉스 시스템 패키지 관리 유닉스 시스템에서의 소프트웨어를 패키지라고 말하며, 이것을 설치하는 것을 패키지를 설치한다. 라고 한다. 다음은 패키지 관련 명령어이다. o pkginfo -d /cdrom/~ : 시스템에 설치된 패키지 정보를 확인한다. -d 옵션을 사용하여 서브 디렉터리의 패키지 정보를 볼 수 있다. o pkgadd -d /cdrom/~ : /cdrom/~ 디렉터리에 존재하는 소프트웨어를 설치한다. o pkgadd -d /cdrom/~ -s /pkg : -s 옵션은 저장할 곳을 지정하는 옵션이다. o pkgrm pkg_name : 패키지를 삭제한다. o pkgchk pkg_nameo pkginfo 등 (2) 유닉스 시스템 패치 관리 다음과 같은 절차로 패치를 설치한다. o ftp sunsolve.sun.com에서 다운받는다. - /pub/patches : patch 파일, readme 파일을 다운받는다. o /usr/bin/unzip./xxxx.zip : 압축을 푼다. o zcat/gzcat : 압축을 푼다.- zcat xxx.tar.z tar -xvf - >> 결과: xxx - gzcat o patchadd 명령어를 이용하여 패치 설치(필요한 경우 삭제) - patchadd xxxx : 패치 설치 o 설치된 패치 삭제(불필요한 경우 삭제) - patchrm xxxx : 설치된 패치 삭제 23

chapter 3. 유닉스 시스템 보안 가. 유닉스 시스템 계정 보안 (1) 기본 개요 패스워드는 사용자가 기억하기 용이하게 작성하되, 타인이 유추하기 어렵게 작성해야한다. (2) 작성 규칙 패스워드는 반드시 숫자와 문자가 조합된 6자리 이상으로 규정하며, 일련번호, 주민등록번호, 계정과 유사 등 유추 가능한 패스워드의 사용을 금지한다. (3) 패스워드 부여 절차 o 신규계정 생성 시 보안 관리자가 초기 패스워드를 일괄 부여하며 사용자가 최초 로그인 시 변경하도록 규정한다. o 패스워드 분실, 변경, 재발급은 정의된 절차와 규정에 따라 보안 관리한다. (4) 패스워드 관리 o 정보보호 정책의 패스워드 관리지침 준수 o 계정 및 패스워드 유출로 인한 보안 침해사고의 궁극적인 책임은 개인에게 있음을 인식 o 쉽게 유추할 수 없는 패스워드 설정 o 주기적인 패스워드 변경 규정의 준수 다음 [표 4-9]는 유닉스 시스템 계정 설정과 관련된 파일이다. 24

나. 쉘 보안 (1) 쉘 종류 및 특징 쉘은 사용자와 운영체체 커널 사이에 위치하는 명령어 해석기를 말한다. o C 쉘(Berkeley 유닉스 C 쉘):.cshrc 파일에 사용자가 필요로 하는 환경 변수를 저장하여 사용자가 로그인할 때 지정한 명령들을 자동으로 수행케 함으로써, 사용자의 작업 환경을 편리하게 지정할 수 있다. o Bourne 쉘:.profile 파일에 환경 변수를 저장함으로써, 사용자의 작업 환경을 편리하게 한다..profile 파일은 C 쉘의.cshrc 파일과 같은 역할을 한다. o Korn 쉘:.kshrc 또는.profile 파일에 환경 변수를 저장하여 사용자의 작업 환경을 편리하게 한다. C 쉘과 TC 쉘의 기능을 모두 제공하며, 쉘 스크립트 언어는 Bourne 쉘과 비슷하다. (2) 쉘의 환경 파일 파일명이. 으로 시작하기 때문에 숨김 파일/도트 파일(ls 명령에 나타나지 않음), 초기화 파일/선행 파일(사용자 로그인 시 먼저 실행), 환경파일(사용자의 환경설정이 정의되어 있음)로 불린다. 다음은 환경파일에 대한 설명이다. o.login: 특정 쉘에 관계없는 초기 사용자환경을 지정하여 로그인할 때 지정한 명령들을 자동으로 수행 o.logout: 시스템 접속을 종료하기 전에 마지막으로 수행될 내용 지정 파일 o.forward: 자신에게 온 전자우편을 다른 곳으로 그대로 전송하기 위한 파일 o.gopher: Gopher에서 사용하는 디렉터리 o.history: 쉘을 사용할 때 수행한 명령어의 일부를 저장하는 파일 o.ncrecent: ncftp 사용할 때 최근에 접속한 곳의 주소 및 위치 저장 파일 o.newsrc: USENET News Group 이용 시 그룹 환경 저장 파일 o.plan: finger용으로 자신의 정보나 계획을 적어 외부에 공개하는 파일 o.rhosts: rlogin을 이용하여 시스템에 접속할 때 암호를 묻지 않고 자동으로 접속할 수 있는 서버 및 사용자를 지정하는 파일 25

아래 [표 4-10]은 각 쉘에 따른 환경 파일을 정리한 것이다. 아래 [표 4-11]은 환경 파일에서의 변수 설정에 대한 설명이다. 26

다. 유닉스 파일 시스템 보안 (1) 파일 시스템 개요 o 유닉스 파일 시스템은 유닉스 커널 프로그램과 프로그램 실행에 필요한 시스템 파일 및 사용자 데이터 파일로 구성됨 o 개인 저장장소를 제공하고 정보를 여러 사용자가 사용, 공유할 수 있는 수단을 제공 o 여러 가지 정보를 저장하는 기본적인 구조 o 디스크 공간에 독립된 공간 구축 가능 o 독립된 파일 시스템은 다른 파일 시스템으로부터 독립적으로 존재 다음 [표 4-12]는 파일 시스템 종류에 대한 설명이다. 27

다음 [표 4-13]은 파일 시스템 구조에 대한 설명이다. (2) umask를 이용한 파일권한 설정 새롭게 생성되는 파일이나 디렉터리는 디폴트 권한으로 생성된다. 이러한 디폴트 권한은 umask 값에 의해서 결정되는데, 이 권한은 부모 프로세스나 로그인 쉘에 의해 상속받는다. 따라서 umask 값이 안전하지 않은 권한으로 설정된 경우, 허가되지 않은 사용자에게까지 파일이나 프 로세스에 접근이 허락되어 보안 상 큰 위협 요소가 될 수 있다. 시스템의 기본값으로 umask는 시스템 환경파일인 /etc/profile 파일에 022로 설정되어 있다. 보안을 강화하기 위하여 시스템 환경파일 (/etc/profile)과 각 사용자별 홈 디렉터리 내 환경파일($HOME/.profile)에 umask값을 027 또는 077 로 변경하는 것을 권장한다. 28

umask 값의 변경에 따라 새롭게 생성되는 파일의 권한은 소유자(owner), 그룹(group), 다른 사용자 (others)별로 아래 [표 4-14]와 같이 적용된다. (3) 특수 권한(setuid, setgid)파일의 관리 SUID(Set UID), SGID(Set GID)은 실행 파일이 슈퍼유저(root)나 다른 상위 사용자의 권한으로 수행될 수 있도록 규정한 특별한 파일권한 설정 비트이다. 또한 상위 권한으로 실행되는 특징 때문에 시스템 해킹의 주요 수단으로 악용되며, 프로그램 파일에 버그가 존재할 경우 불법 권한 획득에 이용될 수 있 는 심각한 보안 위협이 될 수 있다. 즉 일반 사용자가 SUID, SGID 설정을 통해 특정 슈퍼 유저의 권한 을 위임받아 특정 명령을 실행시킬 수 있다. o setuid: 실행 파일에 사용됨(예, /etc/passwd)o setgid: 같은 project에 실행 권한을 주기 위해서 setgid 사용(예, sys) o sticky bit: 디렉터리에 인가된 사용자만 쓰기(write) 가능하도록 하기 위해서 디렉터리 자체에 설정 (예, /var/tmp - 모든 사용자가 사용 가능하지만, 삭제는 파일의 소유자만 가능함(root는 예외)) 다음 [표 4-15]는 특수권한 파일의 설정 및 검색과 관련된 명령이다. find / -perm 7000 -print : suid, sgid, sticky 비트가 모두 설정된 파일을 검사 find / -perm 6000 -print : suid, sgid가 설정된 파일을 검사 29

(라) 보안 관리에 사용되는 주요 명령어 다음 [표 4-16]은 보안 관리와 관련된 주요 명령어에 대해 정리한 것이다. 30

(마) 보안 관리를 위한 중요 유닉스 파일과 명령어 보안 관리를 위한 중요 대상 파일은 네트워크 설정 관련, 신뢰관계 설정 관련, 배치작업 관련, 감사추 적(로깅) 관련 항목으로 구분하여 중요 파일을 기술한다. 다음 [표 4-17]은 네트워크 설정과 관련된 파일이다. 다음 [표 4-18]은 신뢰관계 설정과 관련된 파일이다. 31

다음 [표 4-19]는 배치작업 설정과 관련된 파일이다. 다음 [표 4-20]은 로그 파일에 대해 정리한 것이다. (바) 보안 강화 도구 보안 강화 도구 중 대부분은 사용 목적에 따라 보안 관리자를 위한 보안강화 도구로 사용되거나 공격 자에 의한 침입 도구로 사용될 수 있다. 보안 도구에 대한 자세한 사항은 8장의 침해사고 대응 에서 소개한 도구의 설명을 참조하고 여기에서는 정보보호관리에 사용되는 보안 강화 도구의 사용 목적에 따른 분류 기준을 이해하도록 한다. 32

다음 [표 4-21]은 보안 강화 도구를 사용목적에 따라 분류하여 정리한 것이다. (1) TCP Wrapper TCP Wrapper는 인터넷 슈퍼데몬인 inetd 데몬에 의해 구동되는 네트워크 서비스(예를 들어 ftp, telnet, rlogin, rsh, exec, tftp, talk, systat, finger 등)들에 대한 접근 통제와 사용된 서비스별 로그를 기 록할 수 있는 보안강화 도구이다. TCP Wrapper는 시스템에 존재하는 소프트웨어나 설정 파일을 바꿀 필요가 없으며 클라이언트와 서버 응용 프로그램 사이의 실질적인 통신에 부하를 주지 않는다. TCP Wrapper는 /etc/inetd.conf에 정의되고 inetd 데몬에 의해 통제되는 네트워크 서비스를 통제하기 위하여 inetd 데몬과 네트워크 서비스데몬(in.telnetd, in.ftpd, in.rlogind 등) 사이에 tcpd 데몬을 구동하 여 네트워크 서비스의 사용에 대한 접근 제어와 로그 기록 기능을 한다. o 접근 제어 - TCP Wrapper의 접근제어는 /etc/hosts.allow 파일과 /etc/hosts.deny 파일에 의하여 이루어진다. 접근 제어에 사용되는 두 파일 중에서 tcpd가 먼저 검색하는 것은 hosts.allow 파일이다. 그러므로 hosts.allow 파일에 접근을 허가하는 호스트를 적어두고, hosts.deny 파일에는 ALL을 적어두면 허가된 호스트만이 시스템에 원격으로 접근할 수 있다. o 로그 기록- TCP Wrapper(tcpd)는 syslog 데몬을 사용하며 telnet, ftp, rexec,,rsh, rlogin, tftp, talk 등에 대한 접근 로그를 기록하며 기본적으로 /var/log/syslog 파일에 저장된다. 다른 파일로 변경하려면 /etc/syslog.conf 파일에서 설정을 수정하면 된다. 33

(2) CGI Wrapper TCP_Wrapper가 유닉스 서버의 네트워크 서비스(예, Telnet, rlogin, ftp 등)에 대한 접근 통제를 위한 보안도구라면 CGI Wrapper는 웹서비스의 CGI를 보호하는 웹서버 보안강화 도구이다. CGI Wrapper는 웹서버의 자식 프로세스들이 모두 nobody 권한으로 실행되었을 때 발생하는 문제점을 보완하기 위하여 만들어진 것이다. CGI Wrapper는 CGI 프로그램이 위치한 디렉터리의 소유자 권한으 로 CGI 프로그램을 실행시킨다. 따라서 모든 CGI가 nobody로 실행되는 것이 아니며, 모든 CGI는 CGI 프로그램 자신의 소유로 실행이 되는 것이다. 그리고 CGI Wrapper는 실행시킬 CGI 프로그램이 위치한 디렉터리 소유자와 CGI 프로그 램의 소유자를 비교하여 같을 때에만 실행시키며, 다를 때에는 실행시키지 않도록 동작함으로써 CGI에 서 발생되는 취약성을 보완한다. 34

(사) OS 별 주요 유닉스 명령어 다음 [표 4-22]에서 [표 4-27]은 OS 별로 주요 유닉스 명령어를 비교한 것이다. 35

36

37

38

39

40

제 2절. 윈도우시스템 보안 chapter 1. 윈도우 시스템 개요 가. 윈도우 시스템 구조 윈도우 시스템은 모듈식 구조를 사용한다. 모듈식 구조는 윈도우에 포함되어 있는 각 컴포넌트와 모듈 이 설계상의 목적인 각 기능에 대해서 단독적으로 책임을 진다는 것이다. 또한 하나의 모듈은 다른 모 듈이 수행하는 기능을 결코 반복하지 않는다. 이러한 모듈식 구조는 새로운 구성 요소의 추가로 인한 확장성이 쉽다는 장점이 있다. 나. 윈도우 모드 (1) 윈도우 사용자 모드 윈도우 사용자 모드는 사용자들의 어플리케이션과 서브시스템들이 실행되는 공간이다. 사용자 모드의 어플리케이션은 하드웨어 자원으로부터 분리되고 어플리케이션이 접근할 수 있는 메모리 공간을 제한 받게 된다. 이러한 이유로 커널 모드로부터 어플리케이션을 격리시킴으로써 어플리케이션이 시스템을 파괴할 가능성을 줄이고 권한 없는 사용자들이 접근하지 못하도록 하는 것이다. o 사용자 모드의 주요 서브시스템윈도우 서브시스템은 부팅 시 윈도우로부터 만들어지는 사용자의 모든 프로세스이며 이것은 한번 만들어지면 지속적으로 응용프로그램 프로세스와또 다른 서브 시스템에 보내진 메시지에 의해 실행된다. 다음 [표 4-28]은 사용자 모두의 주요 서브시스템에 대해 정리한 것이다. 이러한 로그온 프로세스는 데이터를 보호하고 불의의 사고를 막기 위해서 사용자를 제한하기 위해 사 용된다. 이러한 보안 서브시스템(Security Subsystem)은 윈도우에 접근하려는 사용자에게 사용 인증을 할 수 있도록 한다. 41

(2) 윈도우 커널 모드 윈도우 운영체제는 흔히 선점형(Preemptive) 멀티태스킹 운영체제라 하는데 이것은 여러 프로그램을 실행시켜서 작업하고 있지만 실제 프로세서는 한 번에 한 가지 작업을 실행시킨다는 것이다. 이렇게 하나의 프로세서가 여러 개의 작업을 동시에 수행하기 위해서는 이러한 작업들 간에 스케줄을 처리하 기 위한 것이 존재해야 하고 이러한 역할을 하는 것이 바로 커널(Ntoskrnl.exe)이다. 커널은 메모리를 할당하고 출력(I/O) 장치와 통신하기 때문이다. 다음 [표 4-29]는 윈도우 커널 모드의 서브시스템에 대한 설명이다. 42

다. 윈도우 파일 시스템 다음 [표 4-30]에서와 같이 윈도우 파일 시스템은 크게 FAT과 NTFS 로 구분할 수 있다. 라. 윈도우 시스템 시작 및 복구 한 시스템에 여러 운영체제를 설치하게 되면 이중 부팅이 가능하게 되는데 항상 가장 늦게 설치한 운 영체제가 기본 운영체제가 된다. 운영체제의 변경 방법에는 'c:\boot.ini'를 직접 편집하는 방법과 [시작] - [제어판] [시스템]의 [고급] 탭 내 [시작 및 복구]창에서 변경하는 방법이 있다. 43

chapter 2. 윈도우 시스템 관리 가. 윈도우 시스템 계정/그룹 관리 (1) 내장된 사용자 계정 내장된(builtin) 계정이란 관리자가 계정을 만들지 않더라도 자동으로 윈도우2000 서버 설치와 함께 만 들어진 계정들을 말한다(표 4-31 참고). 일반적으로 Administrator, Guest 등과 같은 계정은 모든 시스템에 공통으로 존재하기 때문에 공격 자들에게 노출되어 있다. 이 문제는 보안 상 큰 위협이 될 수 있으므로 이러한 계정을 다른 사람이 사 용하지 못하게 이름을 바꾸거나 암호를 복잡하게 사용해야 한다. 44

(2) 윈도우 그룹 그룹(Group)이란 파일이나 자원의 접근 권한을 동일하게 가지는 사용자들의 모임을 말한다. 사용자 계 정을 그룹의 멤버로 만들면 그 사용자는 그룹에게 부여된 모든 허용 권한을 상속받게 된다. 그룹에는 글로벌 그룹과 로컬 그룹이 있다. 글로벌 그룹(Global Group)은 현 도메인의 사용자 계정을 업무 기능 또는 지리적인 위치 별로 묶어주 는 데 사용되며 로컬 그룹(Local Group)은 사용자들에게 네트워크 자원에 접근할 수 있는 권한을 부여 하기 위해 쓰인다. 다음 [표 4-32]는 윈도우 그룹을 분류한 표이다. 45

내장된 그룹의 속성은 내장된 글로벌 그룹, 글로벌 로컬 그룹, 로컬 그룹에 따라 다음 [표 4-33]과 같 은 내장된 그룹의 속성을 가진다 내장된 도메인 로컬 그룹은 [표 4-34]와 같이 구분될 수 있다. 46

내장된 로컬 그룹은 [표 4-35]와 같이 구분될 수 있다. 나. 윈도우 로그 관리 윈도우 서버에서의 로그 관리는 이벤트 뷰어 라는 관리 도구를 사용하여 관리하며, 응용프로그램 로 그, 보안로그, 시스템 로그의 3가지 로그를 기본 로그로 한다. 그리고 도메인 컨트롤러로 구성된 윈도 우 서버는 '디렉터리 서비스 로그'와 '파일복제 서비스 로그'가 추가되며, DNS 서버로 구성된 윈도우 시스템에서는 'DNS 서버 로그'가 추가된다. 이벤트 뷰어에서 관리하는 이벤트 로그파일(.evt)로 저장된 로그는 기록된 각 이벤트의 이진 데이터 형 식으로 보관된다. 47

다음 [표 4-36]은 윈도우 기본 로그에 대한 설명이다. 다. 윈도우 시스템 환경 변수 설정 시스템에서 특정 명령어를 실행할 때 그 실행 명령이 저장된 경로를 지정하지 않더라도 자동으로 그 경로를 찾을 수 있도록 드라이브 경로 또는 파일 이름과 같은 정보를 포함하고 있다. 환경변수 설정은 윈도우 화면에서 [시작] [제어판] [시스템]의 [고급]탭 내 [환경 변수]창에서 설정을 변경할 수 있다. 환경변수는 [표 4-37]과 같이 크게 사용자 환경변수와 시스템 환경변수로 나뉠 수 있다. 48

chapter 3. 윈도우 시스템 보안 가. 윈도우 파일 시스템 보안 NTFS는 NT File System 의 약자로, NT에서 사용하는 파일 시스템을 의미한다. 만약 FAT32로 사용하고 있다면 보안 상 NTFS로 변환해서 사용하는 것을 권장한다. (1) FAT32를 NTFS로 변환하기 o 윈도우 파티션의 파일 시스템을 FAT32로 사용 중이라면 NTFS로 변환하기 위해 우선 윈도우 시스템을 부팅하고 명령어 프롬프트 창을 띄어 다음과 같이 입력한다. - C: 드라이브에는 윈도우2000이 설치되어 있다고 가정 하에 다음 명령을 입력한다. - C:> CONVERT C: /FS:NTFS- 만약 멀티 부팅을 사용하는 경우 FAT32로 된 D: 드라이브에 Windows OS가 설치되어 있다면 다음 명령을 입력한다. - C:> CONVERT D: /FS:NTFS 주의 : FAT32에서 NTFS변환은 되지만 NTFS에서 FAT32로 변환은 되지 않는다. (2) 파일 시스템의 암호화 NTFS 5.0 파일 시스템은 디스크 상의 파일 시스템을 읽고 쓸 때 자동으로 암호화하고 해독한다. NTFS 를 사용하는 경우 접근을 허가해준 사람만이 사용자 계정과 패스워드를 통해 접근이 가능하다. 윈도우98에서는 폴더 공유를 통해 접근 제어를 할 수 있었지만 윈도우2000에서는 폴더뿐만 아니라 파 일 단위로도 암호화가 가능하다. 즉, 같은 폴더 안의 파일이라도 허가되지 않은 파일은 아무나 열 수 없다. 폴더에 암호화를 하면 그 폴더 안에 들어가는 파일들은 모두 암호화 된다. 이렇게 암호화된 폴더 나 파일들은 복사, 이동을 해도 암호화된 속성이 없어지지 않는다. 또 파일 단위로 감사가 가능하다. 즉, 어떤 사람이 어떤 요일 몇 시 몇 분에 파일을 열어보고 어떤 사람이 파일을 열려다 실패했는지 알 수 있다. (3) 공유 폴더 보안 o 공유 폴더 보안은 윈도우NT에도 있었다. 예를 들어 폴더 이름 뒤에 '$'을 붙여 공유를 해놓았다고 보자. 이름을 O2man$이라 하면 이 폴더는 숨김 속성이 되어 보이지 않게 된다. 이 폴더에 접근하기 위해서는 Windows 주소창 란에 \\O2man$와 같이 입력해 주어야 볼 수 있다. 반드시 디렉터리 이름 뒤에 $를 입력해 주어야 볼수 있다. 그리고 여기서 알아두어야 할 것은 공유한 폴더를 복사한 경우 복사된 공유 설정이 없어지지만 복 사 원본 폴더의 공유 설정은 계속 유지된다. 49

o 위처럼 한 후 파일을 %system roo%\inetpub\ftproot%에 놓고, ftp://(해당 ip주소나 도메인)에 접속하면 감쪽같이 없어진 것을 확인할 수가 있다. o 자신의 컴퓨터에서 숨김 파일을 보고 싶으면, [도구]내-[폴더 옵션]의 [보기]탭에서 '숨김 파일 및 폴더 표시'를 체크하면 된다. (4) 윈도우에서의 Quota 설정 윈도우에서의 사용자 디스크 할당량 제한은 NTFS 파일 시스템에서만 사용이 가능하며 FAT, FAT32 파 일 시스템에서는 지원되지 않으며, 디렉터리 단위가 아닌 파티션 단위로 쿼터가 적용된다. 사용자는 파 티션 전체 디스크 사이즈가 보이는 게 아닌 쿼터가 적용된 사이즈만 보이게 된다. 디스크 할당량 설정 은 관리자 권한을 가진 사용자만이 설정할 수 있으며 모든 사용자에게 동일한 조건을 줄 수도 있으며 각각의 사용자마다 다르게 지정할 수도 있다. 할당량 제한은 설정 후 사용자가 로그인 하는 시점부터 적용된다. 나. 윈도우 시스템 취약성 (1) NetBIOS를 통한 스푸핑 NetBIOS 이름은 NetBIOS 인터페이스를 사용하는 시스템 환경에서 NetBIOS 자원을 식별하는데 사용된 다. 예를 들어 \\ 이것이 바로 NetBIOS에서의 표현식이다. MS 윈도우 네트워크의 NetBIOS 이름은 서비스 도중 스푸핑이 가능하다. NetBIOS는 Network Basic Input/Output System 의 약자이며 DOS를 운영체제로 사용하는 IBM PC용 고급 프로그래밍 인터페이스로서, LAN 상에서 서버와 클라이언트 간의 통신에 주로 사용된다. 일반적 으로 NetBIOS는 UNC를 사용하여 \\computer\shares 로 표현된다. 윈도우 2000부터는 NetBEUI를 사용하지 않고 TCP/IP 프로토콜 하나만 사용한다. o NetBIOS를 통한 연결 : - \\IP주소\공유이름 : 이 명령을 사용하면 NetBIOS 이름 확인을 구성하지 않아도 된다. - \\도메인\공유이름 : 이 명령을 사용하면 DNS를 통해 정식 도메인 이름(FQDN)을 사용하여 컴퓨터에 연결할 수 있다. NetBIOS에서 스푸핑(Spoofing)이란 마치 자신이 특정 한 컴퓨터인 양 가정하는 것으로 LAN 환경에서 당연한 것이지만, NetBIOS 인터페이스는 원격에서 스푸핑이 일어날 수 없는 것으로 알려져 왔었는데 스푸핑이 실제로 원격에서 일 어나는 것이 확인되어 문제가 되고 있다. 50

이 취약성을 차단하기 위해서는 윈도우 2000에 최신 한글 서비스 팩을 설치 해주면 된다. 스푸핑에서 문제가 되는 서버는 윈도우 NT/2000 모두가 해당되며 가급적 인터넷을 통해 137 포트를 열어 놓지 않는 것이 최선의 보안 방법이다. 51

제 3절. 데이터 베이스 보안 chapter 1. 데이터베이스 개요 가. 데이터베이스 데이터베이스는 사람들이 관심을 가지고 있는 데이터를 모아둔 것이다. 일상생활에서 자주 접할 수 있 는 데이터베이스의 예로는 은행의 고객 자료의 데이터베이스나 학교에서 학생 자료 데이터베이스, 도 서관에서의 도서 데이터베이스 등이 있다. 이러한 예에서 보는 것처럼 하나의 데이터베이스에는 서로 관련된 데이터들이 컴퓨터가 처리할 수 있는 형태로 저장되어 있으며 이렇게 저장된 데이터는 사용자 의 물음에 대해 대답할 수 있어야만 의미를 가질 수 있다. 도서관 데이터베이스를 예로 든다면, 데이터베이스에는 현재 도서관에 있는 책들에 대한 데이터 즉 작 가, 출판년도, 도서명 등등의 데이터들이 저장되어 있으며 사용자는 자신이 찾고자 하는 책에 관한 정 보를 데이터베이스로부터 추출해낼 수 있다. 즉, 데이터베이스는 데이터를 보관하고 사용자에 물음에 대답하는 시스템이다. 데이터베이스에 저장된 데이터는 끊임없이 변화한다. 예를 들어 도서관의 경우 새로운 책이 들어올 때 마다 새로운 도서에 대한 데이터가 저장되어야 하고 책이 대출되었을 때나 반납되었을 때 대출과 반납 에 대한 정보가 저장되어야 한다. 데이터베이스는 이러한 외부의 변화에 맞추어 적절히 저장된 데이터 를 변경시킬 수 있어야 하며, 즉 데이터베이스는 새로운 데이터를 저장하거나 기존의 데이터를 삭제, 변경시키는 작업을 저장된 데이터가 일관성을 유지하도록 관리되어야 한다. 나. 데이터베이스 관리시스템 데이터베이스를 생성하고, 관리하며, 데이터로부터 사용자의 물음에 대한 대답을 추출하는 프로그램의 집합을 데이터베이스 관리시스템(DBMS, Database Management System)이라 한다. 데이터베이스 관리 시스템의 첫 번째 목표는 바로 데이터를 저장하고 이 데이터로부터 유용한 정보를 얻어내기 위한 효율 적이면서도 편리한 방법을 사용자에게 주는데 있다. 데이터베이스 관리 시스템이 데이터를 관리하기 위해서는 저장할 데이터의 구조를 정의해야 하며, 이 렇게 정의된 구조에 따라 효율적으로 데이터를 저장해야 한다. 또한 이렇게 저장된 데이터로부터 좀 더 빠르게 정보를 추출할 수 있기 위한 방법들을 제공해야 한다. 실제로 데이터를 관리하는 데 있어서는 여러 문제점이 발생하게 된다. 예를 들어 학사 관리 데이터베 이스에서 학생의 출생년도가 1800인 데이터가 있다거나 또는 학생의 소속 학과가 실제로 존재하지 않 는 학과로 되어있는 경우, 또한 학번이 같은 사람이 둘 이상 있는 것과 같이 잘못된 데이터가 데이터 베이스에 저장될 경우 이로부터 얻은 정보는 아무런 의미가 없게 된다. 이와 같은 잘못된 데이터가 데 이터베이스에 저장되는 것을 막는 것 또한 데이터베이스가 해야 할 일들 중 하나이다. 보통의 경우에 데이터베이스는 동시에 여러 사람들이 사용하게 되며, 이렇게 하나에 데이터베이스가 동시에 여러 장소에서 사용될 경우, 한명의 사용자가 사용할 때와는 다른 문제점을 발생시킬 수도 있 다. 데이터베이스를 효율적으로 사용하기 위해서는 이처럼 동시에 데이터베이스에 접근하는 것을 가능 하도록 해야 하며, 이때에 발생할 수 있는 문제를 데이터베이스 관리 시스템이 해결해야 한다. 52

다. 개체-관계 모델 데이터베이스를 설계하는 과정에서 가장 먼저 해야 할 일은 사용자가 관심이 있는 데이터는 무엇이며 그 데이터로부터 얻고자 하는 정보는 무엇인지에 관해 조사하는 것이다. 이러한 과정을 사용자의 요구 분석이라고 하는데 이 단계에서는 사용자가 요구하는 실세계의 데이터를 분명하고 이해하기 쉽게 나타 내어 다음 단계에서 사용자의 요구에 맞는 데이터베이스를 만들 수 있도록 해야 한다. 이렇게 현실세계의 수많은 데이터 중에서 관심의 대상이 되는 데이터만을 추려내어 추상적 형태로 나 타내는 것을 데이터 모델링이라고 한다. 언어가 가지고 있는 모호성 때문에 보통의 언어보다 좀 더 형 식화되고 다이어그램 등을 사용하여 표현하게 되는데 이를 개체-관계 모델이라 한다. 라. 관계형 데이터베이스 관계형 데이터베이스는 모든 데이터들을 테이블과 같은 형태로 나타내어 저장하는 데이터베이스이다. 일상생활에서 데이터를 정리하여 표현할 때 흔히 표와 같은 방법을 사용하게 되는데, 관계형 데이터베 이스는 이 '표'의 개념을 사용해서 데이터를 구성하는 방법을 사용하고 있다. 예를 들어 고객들의 주소와 전화번호를 정리할 때 표, 즉 테이블을 사용한다면, 첫 번째 열은 이름, 두 번째 열은 주소, 세 번째 열은 전화번호를 써서 나타낼 수 있다. 개체-관계 모델에서 정의한 데이터들을 실제로 관계형 데이터베이스를 사용하여 저장하기 위해서는 개 체-관계 모델을 테이블로 변환시키는 과정이 필요하다. 즉 개체-관계 모델은 실제 데이터베이스와는 상관없이 저장하고자 하는 데이터를 정의한 것이며, 테이블은 데이터를 관계형 데이터베이스에서 실제 로 표현하는 방법이다. 관계형 데이터베이스에서는 단순히 데이터를 테이블의 형태로 나타낼 뿐만 아 니라 저장된 데이터로부터 원하는 정보를 추출할 수 있는 방법을 정의하고 있다. 53

chapter 2. 데이터베이스 보안 가. 데이터베이스 보안 정의 데이터베이스 보안은 데이터베이스에 저장되어 있는 데이터에 대하여 인가되지 않은 접근, 의도적인 데이터의 변경이나 파괴 및 데이터의 일관성을 저해하는 우발적인 사고 등으로부터 데이터 혹은 데이 터베이스를 보호하는 것이다. 나. 데이터베이스 보안 위협 요소 아래 [표 4-38]은 데이터베이스 보안의 위협 요소에 대한 설명이다. 54

다. 데이터베이스 보안 요구 사항 아래 [표 4-39]는 데이터베이스의 안전한 보안을 위해 필요한 보안 요구 사항이다. 라. 데이터베이스 보안 구현 데이터베이스 보안은 접근 통제(Access Control)를 통해서 이루어진다. 데이터베이스에 대한 접근 통제 란 정당한 권한을 부여 받은 사용자에게만 데이터를 이용할 수 있게 하는 것으로 아래 [표 4-40]과 같 이 크게 사용자 인증(Authentication)과 권한 부여(Authorization) 과정으로 구성되며 데이터 기밀성을 위해 암호화(Encryption)과정이 같이 수행된다. 55

제 1장. 시스템 보안 연습 문제 56

1. 소프트웨어 클러스터는 저가의 서버들을 여러 개 연결하여 대형 컴퓨터의 성능을 내는 기술을 말하며, 개별 노드의 장애를 극복한 중단 없는 서비스와 노드 의 추가에 따른 성능 확장을 가능하게 해준다. 소프트 웨어 클러스터 구성에 대하여 올바른 설명은? 1 소프트웨어 패키지의 논리적 집합 구성 2 소프트웨어 패키지의 물리적 집합 구성 3 소프트웨어 패키지의 물리적 분산구성 4 소프트웨어 패키지로 구성한 논리적 분산 구성 2. 유닉스의 쉘 종류에는 Bourne 쉘(sh), C 쉘(csh), Korn 쉘(ksh), Bash(bash) 등이 있는데, 이에 대한 설명 으로 옳지 않은 것은?(OS는 Solaris7을 기준으로 한다.) 1 csh, bash 등 쉘의 종류에 따라.histroy.bash_history 등으로 사용자별 사용 명령어를 로깅한다. 2 사용자 쉘을 지정하지 않으면 기본적으로 /bin/sh 이 지정된다. 3 사용자와 커널의 인터페이스 역할을 한다. 4 /etc/passwd 두 번째 필드로 사용자 로그인 쉘을 지정한다. 3. 다음은 AIX 4.3 관리자 화면인 SMIT이다. 계정에 관 한 정책을 설정하는 메뉴는? 4. System V 계열의 각 실행단계의 설명이 옳지 않은 것은? 1 실행단계 0 : 전원 꺼짐 상태-컴퓨터를 꺼도 안전한 상태 2 실행단계 1 : 시스템 관리 상태 3 실행단계 S : PROM 감사 단계 4 실행단계 2 : 다중 사용자 모드 5. 다음은 파일에 대한 정보를 알 수 있는 명령들이다. 설명이 틀린 것은? 1 find : 파일 hierarchy를 검색한다. 2 whereis : 이진파일과 맨(man)페이지도 검색한다. 3 which : 전체디렉터리에서 실행 가능한 파일을 검색한다. 4 file : 파일 타입을 볼 수 있다. 6. 유닉스 시스템에서 각 사용자가 로그인할 때마다 시스템에 의해 자동으로 실행되어야 하는 내용(예: PATH 변수, 프롬프트 지정 등)을 정의해 놓는 파일은 무엇인가? 1 /etc/profile 2 /etc/passwd 3 /etc/aliases 4 /etc/resolv.conf 7. 유닉스 시스템에서 아래와 같이 명령어를 실행했을 때 ( )에 나오는 결과는? $ umask 022 $ touch hello $ ls -l hello ( ) 1 kisa other 0 Jul 24 14:40 hello 1 -rw-rw-rw- 3 -rw-r--r-- 2 -r-x--x--x 4 -rw------- 8. 다음 유닉스 명령어는 시스템 사용자에 대한 정보 를 얻기에 적당하다. 해당 명령어와 기능이 짝지어진 것 중 올바르지 않은 것은? 1 소프트웨어 라이센스 관리 2 시스템 기억장치 관리 3 보안 및 사용자 4 응용프로그램 1 who, w - 사용자 및 사용자의 컴퓨터 확인 2 last - 사용자들의 로그인/로그아웃 일시 기록 확인 3 lastcomm - 사용자들의 시스템 명령 및 프로세스 기록 확인 4 traceroute - 네트워크 현재 접속 현황 확인 57

9. 유닉스 서버의 관리자가 매번 서버 부팅 시 실행시 키기 위한 스크립트 S99bootjob 을 작성하였다. 이 스 크립트를 저장할 위치로 적당한 디렉터리는? (단, 부팅 시 run level은 full multiuser mode이다) 1 /etc/rc.d/rc3.d 2 /etc/init.d 3 /etc/cron.d 4 /etc/xinetd.d 10. 솔라리스에서 /etc/default 디렉터리는 디폴트 환경 이 지정된 곳이다. 이 디렉터리에 속한 login 파일의 내용이 다음과 같을 때, 아래 설명 중 틀린 것은? # cat /etc/default/login CONSOLE=/dev/console PASSREQ=YES UMASK=022 SYSLOG=YES 1 원격에서 root 계정으로 로그인이 가능하다. 2 사용자 로그인시 패스워드를 요구한다. 3 umask가 022로 설정되어 있다. 4 모든 root 로그인과 중복된 로그인 실패를 로그에 남긴다. 11. 유닉스 시스템 부팅 시, 시스템의 실행 레벨(Run Level)과 초기화에 필요한 프로세스들을 지정해 놓는 파일은 무엇인가? 1 /etc/inetd.conf 2 /etc/rc.local 3 /etc/inittab 4 /etc/fstab 13. 유닉스 시스템 환경에서 커널은 운영체제의 핵심 부분으로 시스템의 전반적인 업무를 수행하므로 커널 을 안전하게 관리하는 것과 커널 자체의 보안이 깨지 지 않도록 하는 것은 상당히 중요한 문제이다. 다음은 여러 유닉스 시스템에서 커널 재구성을 위한 방법을 설명하고 있다. 이에 대한 설명으로 옳지 않은 것은? 1 HP-UX 유닉스 시스템에서는 SAM을 이용하거나 명 령어 집합을 통해 커널을 재생성할 수 있다. 2 Solaris 유닉스 시스템에서는 ndd를 사용하거나, system 파일을 수정하여 커널을 재구성할 수 있다. 3 AIX 유닉스 시스템에서는 SMIT을 이용해서 커널을 재구성할 수 있다. 4 Linux 시스템은 공개 운용체제이므로 해당 사이트 에서 최신 커널을 다운로드 받아 별도의 재구성 없이 설치만 해주면 된다. 14. 유닉스 시스템에서 history는 상당히 중요하게 쓰 인다. 일반적으로 공격자가 시스템에 접속을 하면 이 러한 history파일을 없애는 것이 보통인데, 실수로 history 파일을 삭제하지 않았거나 혹은 시스템 관리의 목적으로 전에 실행시켰던 명령어들을 다시 불러낼 수 있도록 하기 위해 history 사용을 위한 설정을 각 쉘에 서 한다. 각 쉘에 따른 history size에 대한 설정으로 옳지 않은 것은? 1 csh계열 : set history = 100 2 ksh계열 : export HISTSIZE = 100 3 bash계열 : export HISTSIZE = 100 4 sh계열 : set savehist = 100 12. 유닉스 시스템 환경에서 쉘이나 프로그램의 실행 환경을 지정하는 숨김 파일에 대한 설명으로 틀린 것 은? 1.login은 특정 쉘에 관계없는 초기 환경을 지정하여 login할 때 자동으로 수행하는 파일이다. 2.forward는 자신에게 온 전자우편을 다른 곳으로 그대로 전송하기 위한 파일이다. 3.history는 쉘을 사용할 때 수행한 명령어의 일부를 저장하는 파일이다. 4.rhosts는 시스템 접속 시 암호대신 서명 파일을 사 용해서 접속할 수 있는 사용자를 지정하는 파일이 다. 15. pwconv 명령은 password 파일과 shadow 파일의 동기화를 수행하는 명령이다. 다음 중 pwconv 명령의 설명 중 틀린 것은? 1 password 파일을 수정 후에 pwconv 명령을 수행 한다. 2 password과 shadow 파일을 일치시킨다. 3 shadow 파일에는 없고 password 파일에만 존재하 는 내용을 shadow 파일에 갱신한다. 4 password 파일에는 없고 shadow 파일에만 존재하 는 내용을 password 파일에 갱신한다. 58

16. SunOS에서 보안 패치를 하려면 기존의 패치가 있 는 디렉터리의 정보를 참조해야 한다. 다음 보기 중 디렉터리 정보가 모여 있는 곳은? 1 /var/spool/package 2 /var/spool/patch 3 /var/adm/patch 4 /var/sadm/patch 17. 사용자 계정 관리 지침에 대한 설명 중 옳지 않은 것은? 1 서버 관리자 : SUPER USER로 서버의 모든 권한을 갖고 1개만 존재 2 SYSTEM APPLICATION 관리자 : 각 SYSTEM 관리자 로서 권한을 갖고, SUPER USER의 일부 권한을 허 용 3 APPLICATION 개발자 : APPLICATION 개발을 위한 사용자로서 이 계정은 개발 종료 시 사용자 등록, 폐기 절차에 따라 폐기 4 일반 사용자 : NFS, FTP 등 사용자로서 서버 자원 에 대한 접근 불허 18. 아래 그림은 HP-UX의 관리자 화면이다. 이 관리자 tool을 활용하여 접근 제어를 할 수 있는데 PAM 데몬 개념을 제공한다. 이 관리자 도구의 이름은? 20. PAM(Pluggable Authentication Modules)은 프로그 램이 사용자 인증을 필요로 하면, 적절한 인증방법에 대한 함수를 포함하는 라이브러리를 제공한다. 다음 중 SunOS의 PAM 데몬에 대한 설명으로 적절하지 않 은 것은? 1 Login, FTP, Telnet 등의 일반적인 서비스 인증 부 분에 접근제어 설정을 할 수 있다. 2 PAM 데몬을 활용하여 su(switch user)의 접근제어 설정을 할 수 있다. 3 PAM.conf를 활용하여 환경 설정을 할 수 있다. 4 일반 계정도 인증 방식을 쉽게 변경시킬 수 있다. 21. 유닉스 시스템의 세 가지 핵심 컴포넌트는 무엇인 가? 1 Kernel, Shell, File System 2 Directories, Sub-directories, Files 3 PROM, Kernel, Shell 4 Ethernet, NFS, NIS+ 22. Solaris 7 시스템에서 커널은 시스템의 자원(CPU, Memory,...)을 관리하며 시스템이 원활히 돌아갈 수 있도록 제어해준다. 커널을 Customize하는데 사용되는 파일은? 1 /etc/kernel 2 /etc/system 3 /dev 4 /etc/hosts 23. 리눅스 시스템의 보안성을 높이기 위해 시스템 관 리자는 OS설치 시 불필요한 서비스에 대한 제거를 통 해 한층 강화된 서비스를 제공할 수 있다. 이에 대한 방법으로 옳지 않은 것은? 1 smit 2 sam 3 admin 4 admintool 19. 일반적으로 유닉스 시스템 설치 시 기본적으로 외 부에서 접근 및 제어가 가능하다. 서버 시스템에서 원 격으로 접속할 수 있는 서비스를 제공하는 데몬은? 1 RPC 2 Telnet 3 TCP 4 NetBios 1 리눅스 시스템을 설치하기 전 우선적으로 어떤 서 비스를 시스템에서 제공할 것인지 정해야 한다. 2 OS 설치 시 설치하고 싶은 서버 S/W목록을 만들 어서, 필요한 패키지만 개별적으로 선택한 후 설치 한다. 3 때때로 선택한 패키지 설치 시 선행 필수 패키지 (prerequisite)를 설치해야 할 필요가 있다. 4 설치된 패키지를 삭제할 때 연관성이 있는 선행 필 수 패키지가 자동 삭제되므로 따로 삭제하지 않아 도 된다. 59

24. 리눅스 시스템은 커널 보안을 위해 많은 변수를 설정할 수 있도록 제공하고 있다. 커널 변수 설정은 /etc/sysctl.conf에서 추가할 수 있다고 한다. 아래 보기 중 커널 변수에 대한 설명으로 맞지 않는 것은? 1 net.ipv4.tcp_syncookies는 소켓에서 SYN을 받아들 이는 용량이 한계에 다다르면 syncookie를 보낸다. 2 net.ipv4.tcp_max_syn_backlog는 SYN플래그 가진 패킷에 대한, 최대한 대기시킬 수 있는 패킷의 수 이다. 3 net.ipv4.icmp_echo_ignore_all은 모든 ICMP ECHO 요청을 무시하는 것으로 시스템 초기 구축 시 설 정한다. 4 net.ipv4.icmp_echo_broadcats는 브로드캐스트 또는 멀티캐스트 ICMP 요청을 무시한다. 25. 리눅스 시스템 설치 후 관리자는 /etc/lilo.conf 파 일을 열어 lilo보안 설정을 했다고 한다. 아래 내용은 lilo.conf파일의 내용을 보여주고 있다. 아래에서 보여 주는 lilo.conf 파일 내용에 대한 설명으로 맞지 않는 것은? # vi /etc/lilo.conf boot = /dev/haa map = /boot/map install = /boot/boot.b time-out=00 prompt Default = linux restricted password= image=/boot/vmlinuz-2.2.14-12 label=linux initrd=/boot/initrd-2.2.14-12.img root=/dev/hda6 read-only 1 시스템 부팅 시 linux single로 암호 없이 루트로 로그인하지 못하게 time-out, restricted등을 추가 설정한다. 2 /etc/lilo.conf 파일에 패스워드를 설정하면 암호화 되므로 사용자가 파일을 읽더라도 암호를 알 수 없다. 3 /etc/lilo.conf 파일 안에 변경된 설정값을 시스템에 반영하기 위해서는 /sbin/lilo -v명령을 실행해야 한 다. 4 리눅스 파일시스템이 ext2라면 chattr명령을 사용해 서 lilo.conf 파일을 수정할 수 없도록 설정할 수 있다. 26. df 명령으로 본 할당된 파일시스템 사용률이 90% 에 다다른 디렉터리가 있다. 파일시스템 설정변경을 고려하지 않아도 되는 이 static 디렉터리는 다음 중 어느 것인가? 1 /var 2 /tmp 3 /home 4 /sbin 27. 유닉스에서는 일정시간 간격으로 동일한 작업을 반복해서 수행하게 하는 cron 기능을 제공한다. cron 에 대한 설명으로 틀린 것은? 1 매일 지정한 시간 또는 매주 지정한 요일에 동일 작업을 반복하는 것이 가능하다. 2 각 사용자별로 cron에서 실행시키고자 하는 내용을 설정할 수 있다. 3 설정된 내용을 조회하거나 새로운 내용 추가 시 cron'명령을 사용한다. 4 특정 사용자가 cron 기능을 사용하지 못하도록 제 한할 수 있다. 28. 아래 명령의 실행결과를 보고 맞는 설명을 고르 면? [root@sis]# crontab -l 0 0 * * 0 /bin/test.sh [root@sis]# 1 위의 명령(crontab -l)은 crontab을 설정하기 위한 명령이다. 2 위 명령의 실행 결과 /bin/test.sh 명령이 생성된다. 3 본 시스템은 매주 일요일 0시 0분에 /bin/test.sh을 실행한다. 4 crontab 명령은 root 만이 실행할 수 있다. 29. 유닉스 시스템에서 여러 가지 명령어 중 현재 로 딩 된 쉘을 점검하여 적절한 서비스를 제공하는지에 대한 서비스 제어를 할 수 있다. 현재 로딩 된 쉘 종 류를 보는 명령어는? 1 df 2 ls 3 ps 4 find 30. Solaris 7 시스템에서 현재 설치된 패키지 중 필요 없는 패키지를 제거하는 명령어로 옳은 것은? 1 admintool 2 pkgtool 3 pkgadd 4 pkgrm 60

31. 서버의 보안 관리를 통해서 보다 안전하게 서비스 가 유지될 수 있도록 해야 한다. 다음 서버의 보안관 리 내용을 기술한 것 중 올바르지 않은 것은? 1 계정에 대한 패스워드는 사용자 계정관리 지침을 만들어 지침에 준한 설정을 한다. 2 RPC 등 일반적으로 취약성이 알려진 네트워크 프 로토콜은 무조건 삭제한다. 3 서버는 물리적인 보안문제를 선결한 후 가동을 원 칙으로 한다. 4 슈퍼유저의 권한은 보안 관리자/서버운영자로 제한 되며 ID, 패스워드는 극히 제한된 사용자에 의해 관리된다. 32. Solaris Sparc 시스템 운영 중 다운 시 cdrom으로 부팅하는 올바른 방법은? 1 boot -s cdrom 2 boot -S cdrom 3 ok> boot cdrom 4 ok> cdrom boot 건 sync 명령어를 사용해야 한다. 3 sync 명령은 sync 서브루틴을 수행하는데 시스템이 정지한 경우, 파일시스템이 무결하도록 sync 명령 을 수행한다. 4 sync 명령은 수정한 inode, 연기된 블록 입출력, 읽 기-쓰기 맵핑된 파일을 포함한 모든 기록되지 않은 시스템 버퍼를 디스크에 기록한다. 36. AIX 유닉스 시스템에서 superblock에 대한 설명으 로 옳지 않은 것은? 1 /etc/filesystems에서 superblock에 대한 정보를 찾 을 수 있다. 2 superblock은 logical volume의 4096 byte offset에 위치하며, 크기는 4096bytes이다. 3 superblock 정보를 보기 위해서는 dumpfs 명령어 를 사용한다. 4 superblock이 손상(corrupt)되었을 때 조치 방법으 로 fsck 명령을 사용한다. 33. 시스템의 적절한 설정은 침해사고 대응을 위한 가 장 중요한 부분이다. Solaris Sparc Machine에서 시스 템 설정을 초기화하는 EEPROM 상태에서의 명령어는? 1 set-default 2 ok> set-default 3 boot-cdrom 4 boot-single 34. 시스템에 관한 보안은 관리자들이 주기적인 점검 이 필요하다. 다음 중 호스트 관련 보안 설정에 관한 설명 중 옳지 않은 것은? 1 PATH 환경변수 설정 2 관리자의 startup 파일 접근 권한 3 cron, at 관련 파일 접근 권한 4 suid 관련 위험성이 있으므로 모든 setuid 설정 파 일 접근 제한 35. AIX 유닉스 시스템을 배우려는 초보 사용자는 상 급관리자가 시스템을 rebooting하기 전 쉘 상에서 몇 번의 sync, sync, sync 명령을 타이핑하는 것을 보았다. 여기서 쓰인 sync 명령어에 대한 설명으로 옳지 않은 것은? 1 파일시스템은 write할 때, 일단 memory cache에 write하고, 어떤 조건이 되면 disk에 write한다는 것 이 기본전제가 된다. 2 memory 안에 cache되어있는 파일시스템 write 정 보를, disk로 내리기 위해서 sync 명령을 사용하고 시스템 종료 혹은 부팅명령어와는 상관없이 무조 37. 유닉스 시스템에서 lost+found 디렉터리에 대한 설명으로 옳지 않은 것은? 1 디스크 오류나 부정확한 시스템 종료에 의해 파일 들이 잃어버린 상태가 될 수 있는 파일을 의미한 다. 2 시스템이 부팅될 때 fsck가 실행이 되어 이런 파일 들을 찾아내어 lost+found 디렉터리에 저장한다. 3 디스크 파티션에는 lost+found 디렉터리가 있으며, lost+found는 모든 디렉터리에 존재한다. 4 잃어버린 파일들의 디렉터리로 어떤 디렉터리에도 속하지 않은 디스크 장소를 가리키는 파일을 의미 한다. 38. 솔라리스와 AIX 유닉스 시스템의 파일 시스템 정 보, 디바이스 정보, 테이프 드라이브 위치, 현재 사용 자 기록에 대한 위치를 비교한 것이다. 이 중에서 옳 지 않은 것은? 1 aix : /etc/filesystems, solaris : /etc/vfstab 2 aix : /dev, solaris : /device 3 aix : /dev/rmt/0, solaris : /dev/rmt/0 4 aix : /etc/utmp, solaris : /var/adm/utmpx 61

39. 커널 영역에는 보안과 관련된 몇 개의 블록 디바 이스와 문자 디바이스가 있는데 만약 이 디바이스에 의해 발생되는 숫자를 조합하거나 예측할 수 있을 경 우 보안상 큰 취약성이 존재할 수 있다. 이와 관련된 내용이 아닌 것은? 1 랜덤 데이터를 발생시키는 디바이스는 /dev/random과 /dev/urandom이다. 2 /dev/random과 /dev/urandom은 안전한 난수 발생 기능이 필수적인 PGP 열쇠의 제작, SSH 수하 도전 용 등에 사용된다. 3 "head -c 6 /dev/random mmencode" 명령어를 사용해서 무작위로 안전한 패스워드를 만들 수 있 다. 4 /dev/random과 /dev/urandom은 공격자가 발생된 숫자들의 조합을 미리 알고 있을 경우 그 다음의 나올 숫자를 쉽게 알아낼 수 있다. 40. PAM(Pluggable Authentication Module)은 login, ftp, telnet 등의 일반적인 서버에 대한 인증 부분을 효 율적이고 보다 쉽게 관리하기 위해 고안되었다. PAM 이 할 수 있는 것이 아닌 것은? 1 특정한 사용자가 특정한 시간에 특정한 장소에서만 로그인 할 수 있도록 제한 설정을 할 수 있다. 2 사용자들이 쓸 수 있는 시스템 자원(프로세스 수, 메모리의 양 등)을 제한하여 로컬 서비스 거부공격 (local DoS)을 어느 정도 막을 수 있다. 3 다른 서버들과 안전한 통신을 할 수 있도록 VPN(Virtual private Network)을 지원한다. 4 패스워드 암호화에 DES(Data Encryption Standard) 를 사용하지 않기 때문에 크랙이나 부르트 포스 공격(brute force attack)에 보다 강하다. 41. 각 시스템의 환경설정을 적절히 함으로써 침해사 고의 위험을 예방할 수 있다. 다음 중 OS별 환경설정 파일/디렉터리가 적절히 연결되지 않은 것은? 1 Sun : /etc/inittab 2 HP : /sbin/init.d, /sbin/rcn.d 3 AIX : /etc/rc.*, /etc/inittab 4 Linux : /etc/rc.d/vfstab 42. Solaris 7 시스템에서 다음 초기화 파일 중 Korn, Bourne 쉘에 공통으로 적용되는 파일은? 1 $HOME/.profile 2 $HOME/.kshrc 3 /etc/profile 4 /etc/.login 43. HP-UX에서 일정 시간 미사용 시 자동 로그아웃이 가능하게 설정할 수 있는데, 어떤 파일에 아래와 같은 환경변수 내용을 추가하면 된다. 해당파일 이름은? TMOUT=1800; export TMOUT 1 /etc/passwd 3 /etc/shadow 2 /etc/profile 4 /etc/hosts 44. 다음 파일 목록의 설명이 잘못된 것을 고르면? -r-sr-xr-x root home 2048 Dec 4 10:20 /etc/passwd 1 이 파일은 실행 파일이다. 2 이 파일의 소유자는 읽거나 실행시킬 수 있다. 3 이 파일에는 setgid가 설정되어 있다. 4 이 파일은 수행 중에 일반 사용자가 root 권한을 가질 수 있다. 45. 리눅스 시스템에서 PAM(Pluggable Authentication Module:장착식 인증 모듈)은 사용자를 인증하기 위한 유연한 메커니즘으로 사용된다. 아래 내용은 rlogin 어 플리케이션에 대한 PAM 설정 파일의 내용이다. 현재 4개의 module-type이 있는데, 이에 대한 설명으로 옳 지 않은 것은? [root@linux]# more /etc/pam.d/rlogin auth required auth sufficient /lib/security/pam_securetty.so /lib/security/pam_rhosts_auth.so auth required /lib/security/pam_pwdb.so shadow nullok auth required /lib/security/pam_nologin.so account required /lib/security/pam_pwdb.so password required /lib/security/pam_cracklib.so password required /lib/security/pam_pwdb.so shadow nullok use_authok session required /lib/security/pam_pwdb.so 1 session: refreshing, session, tokens 등 세션 관리 를 처리하는 모듈 2 auth: 실제 인증을 수행하는 모듈로, 사용자에게 패스워드를 입력하거나 기타 자신임을 입증하도록 요구 3 password: 사용자가 요구한 서비스에 접근할 때 사용되는 패스워드를 유지 4 account: 사용자 인증 과정의 계정을 핸들링 하는 모듈로, 사용자 접근 방식이 가이드라인에 맞는지 점검 62

46. lastcomm 명령은 사용자 별로 실행한 command 로그를 볼 수 있는 명령이다. 이러한 로그 기록을 보 기 위해선 파일 하나를 생성해야 한다. 파일 이름은 무엇인가? 1 startup 2 wtmp 3 xferlog 4 pacct rung ttyp0 xxx.146.44.117 Thu Dec 9 20:47-20:57 (00:10) moof ttyp2 98AE63EE.ipt.aol Thu Dec 9 19:24-19:30 (00:06) moof ttyp2 98AE63EE.ipt.aol Thu Dec 9 19:23-19:24 (00:00) shinsh ftp ppp-ts1-port4.sa Sun Nov 7 00:13-00:15 (00:02) hspark pts/2 147.46.76.171 Sat Nov 6 13:56-14:01 (00:05) moksoon ftp ts7-70t-18.idire Sat Nov 6 13:26-13:30 (00:03) 47. 유닉스 서버에서 시스템 로그 데몬(syslogd)이 남 기는 로그 파일의 위치를 수정하려고 한다. 다음 중 어느 파일에서 설정해 주어야 하는가? 1 who 3 w 2 last 4 lastcomm 1 /etc/inetd.conf 2 /etc/syslog.conf 3 /var/log/messages 4 /var/log/syslog 48. su 명령을 통해서 한 사용자가 다른 사용자로 전 환한 내역을 보려고 할 때, 어떤 로그 파일을 점검해 야 하는가? 1 wtmp 2 utmp 3 lastlog 4 sulog 49. 유닉스 시스템에서 로깅은 syslog를 이용해서 처리 가 되며, syslog 데몬은 다양한 로컬 클라이언트와 원 격 클라이언트의 로그 메시지를 기록 유지하는 점에 서 보안상 상당히 중요하게 관리되어야 한다. syslog에 대한 설명으로 옳지 않은 것은? 1 로그메시지에서 출처 코드는 어떤 하위 시스템으로 부터 메시지가 왔는지를 알려주며, 우선순위 코드 는 메시지가 얼마나 중요한지를 알려준다. 2 출처 코드와 우선순위 코드에 기초한 메시지로 무 엇을 해야 하는지는 /etc/syslog.conf 파일에서 제 어한다. 3 출처 코드와 우선순위 코드에 의해 메시지를 분리 한다면 각각의 로그 파일들은 좀 더 일관성을 가 질 수 있지만 관리해야할 파일이 많아진다. 4 syslog를 이용한 원격 로깅은 TCP통신으로 100% 신뢰할 수 있는 로깅시스템이다. 51. utmp 로그는 현재 로그인한 사용자가 무엇을 하 는지를 볼 수 있는 바이너리 로그이다. 다음과 같이 현재 로그인한 계정의 접근 내역을 보여주는 명령어 는? 9:11pm up 6 days, 5:01, 5 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT chief pts/0 172.16.2.26 Mon10am 7:20m 0.19s 0.04s telnet xxx.xxx.150.39 hcjung pts/1 hcjung.kisa.or.k 5:59pm 0.00s 0.11s 0.01s w root pts/3 - Thu 3pm 5days 0.02s 0.02s -sh jys pts/6 172.16.2.159 Thu 7pm 5days 0.15s 0.04s sh./vetescan xxx.125.110.21 1 who 2 last 3 w 4 lastcomm 52. pacct 로그는 사용자 로그인에서부터 로그아웃까 지 사용한 명령어를 기록한다. 다음과 같은 접근 내역 을 보여주는 명령어는? lpd F root 0.08 secs Mon Sep 19 15:06 date hacker ttyp7 0.02 secs Mon Sep 19 15:06 sh cenda ttyp3 0.05 secs Mon Sep 19 15:04 calculus D mtdog ttyq8 0.95 secs Mon Sep 19 15:09 more X urd ttypf 0.14 secs Mon Sep 19 15:03 mail S root ttyp0 0.95 secs Mon Sep 19 15:03 1 w 2 last 3 lastcomm 4 pacctcomm 50. wtmp(x) 로그는 계정의 접근 내역, 계정에 대한 정보, 시스템 리부팅을 볼 수 있는 바이너리 로그이다. 다음과 같이 계정의 최종 접근 내역의 내용을 보여주 는 명령어는? 63

53. linux 7.0의 로그 파일 중 보안인증 관련 메시지 및 TCP Wrapper의 메시지 등 아래와 같은 로그를 가 지는 로그 파일은? Apr 19 23:23:35 unsecure in.telnetd[645]: connect from 172.16.2.14 Apr 19 23:23:41 unsecure login: LOGIN ON 2 BY hcjung FROM hcjung Apr 20 23:24:29 unsecure in.telnetd[1218]: refused connect from bluebird.a3sc.or.kr Apr 20 23:25:27 unsecure in.telnetd[1219]: connect from 172.16.2.161 1 access_log 2 system log 3 secure 4 pacct 54. 다음은 ProFTPD을 사용한 파일의 송수신 내역을 보여주는 로그기록이다. 해당 로그 파일은? Sat Apr 21 00:53:44 2001 1 sis.or.kr 14859 /tmp/statdx2.c a _ i r root ftp 1 root c Sat Apr 21 00:54:09 2001 1 sis.or.kr 821 /etc/passwd a _ o r root ftp 1 root c 1 sulog 2 utmp 3 xferlog 4 access_log 56. syslog에서 나타나는 경고 수준을 위험한 순서대로 나열했다. 다음 중 즉시 조치를 요하는 심각한 에러가 발생한 경우는 어떤 수준부터인가? emerg > alert > crit > err > warn > notice > info > debu (중요도순서) 1 emerg 2 alert 3 err 4 warn 57. Solaris 7 시스템에서 Cron 데몬은 관리자의 설정 에 따라 주기적으로 /etc/crontab과 유저가 정의한 crontabs 파일 안의 명령을 실행하는 명령어이다. Cron 데몬이 구동되어 로그가 저장되는 곳은? 1 /var/spool/cron/log 2 /var/cron/log 3 /var/adm/cron 4 /var/adm/messages 58. Solaris 7 시스템의 su(switch User)를 사용하여 접 근한 모든 사용자의 리스트를 볼 수 있는 sulog의 위 치는? 1 /var/adm/wtmp 2 /var/adm/lastlog 3 /var/adm/sulog 4 /var/spool/sulog 55. 시스템 콘솔에 출력되는 메시지를 기록하며, syslog facility에 의해서 설정된 로그 정보도 기록되는 로그 파일 중 아래와 같은 로그를 포함하는 로그파일 은? Dec 4 16:23:54 sample su: 'su root' failed for master on /dev/pts/1 Dec 4 17:14:30 sample rsh[10103]: connection from bad port Dec 4 17:24:39 sample su: 'su root' failed for master on /dev/pts/2 Dec 4 17:24:48 sample last message repeated 1 time Dec 5 11:39:29 sample su: 'su root' failed for master on /dev/pts/1 1 access_log 2 system log 3 messages 4 pacct 59. 리눅스 시스템에서 xferlog는 ftp 데몬을 통하여 송수신되는 모든 파일에 대한 기록을 제공한다. 이와 같은 로그가 존재할 경우 이를 바탕으로 크래커가 시 스템에 들어와서 무슨 작업을 했는지 분석을 할 수 있 다. 또한 파일이 존재할 경우 파일의 내용을 확인하여 백도어나 트로이 목마 프로그램이 수행되었는지 확인 할 수 있다. 아래 내용은 xferlog의 일부분이다. xferlog 형식에 대한 내용으로 맞지 않는 것은? Sun May 13 2001 0 KISA-172.16.3.21 254 ========1======2=======3=======4 /home/kisa/.xinitrc b - o kisa ftp 0 * ======5==========6====7=====8= 1 1번은 전송한 시간과 날짜를 나타내며 2 2번은 전송을 위한 총 시간을 나타낸다. 3 3번은 remote hostname을 나타내며, 4 4번은 파일의 총 크기를 나타낸다. 5 5번은 전송된 파일의 이름을 나타내며, 6 6번은 파일압축상태를 뜻한다. 64

60. 유닉스 시스템에서 제공하는 프로세스 어카운팅은 공격자의 행위를 알아내기에는 대단히 어려운 점이 많 다. 아래 보기의 내용은 acct/pacct 이외에 공격자가 한 행위를 알아내기 위해서 history 파일의 일부분을 보여주고 있다. 아래 내용에 대한 설명으로 옳지 않은 것은? cd / ls strings core more ls *al core strings core ftp localftp ls *al core telnet xxx.xxx.xxx.xxx pwd exit ls su - uname -a exit id telnet xxx.xxx.xxx.xxx exit ls id pwd uname -a man cue 1 history는 수행 명령을 기록하는 파일로서, csh, bash 등 쉘에 따라.history,.bash_history에 기록된 다. 2 피해시스템 분석 시 불법 사용자 계정이나 root의 history파일을 분석해서, 공격자의 수행 명령을 알 수 있다. 3 acct와 pacct 파일의 차이점은 명령어의 argument 나 디렉터리 위치까지 기록이 가능하다는 것이다. 4 위의 내용을 볼 때 침입자는 Linux의 cue 취약성을 이용해 /에.rhosts 파일을 링크시키려 했다. 62. 리눅스 시스템에서 syslog.conf 파일은 syslogd 기 본 설정 파일로 로깅을 위한 규칙을 정의한다. 이 파 일에서 쓰이는 메시지 종류에는 여러 가지가 있는데 아래 보기 중 메시지 종류에 대한 설명으로 맞지 않은 것은? 1 auth : FTP나 로그인 등 다양한 서비스에서의 사용자 인증 메시지 2 cron : 일정에 맞추어 한번만 작업을 수행할 수 있도록 하는 cron 시스템의 메시지 3 daemon : 추가적 시스템 데몬 메시지 4 kern : 시스템 커널 메시지 63. 최근 크래커에 의해 유닉스 시스템에 접근한 사실 을 확인하고 실행되었던 모든 명령어를 기본적으로 보 여주는 lastcomm이라는 명령어를 사용하여 분석에 들 어갔다. 아래 내용은 lastcomm 명령 실행 시 보여줬던 내용의 일부분이다. 아래 내용에 대한 설명으로 맞지 않은 것은? #lastcomm lpd F root 0.08 secs Mon Sep 19 15:06 date root ttyq7 0.02 secs Mon Sep 19 15:06 sh root 0.05 secs Mon Sep 19 15:04 calculus D kisa1 ttyq8 0.95 secs Mon Sep 19 15:09 more X kisa2 ttypf 0.14 secs Mon Sep 19 15:03 mail S root ttyp0 0.95 secs Mon Sep 19 15:03 =1====2=================3====================== ============4= 1 1은 process를 행한 명령어로써, lpd와 sh에 tty가 없는 것은 root가 실행했기 때문이다. 2 2는 flag이며, lpd는 F로 fork후에 사용된 명령이 고, D flag는 core를 덤프하고 종료된 명령이다. 3 3은 사용자 ID, tty, CPU time을 보여주고 있다. 4 4는 명령을 실행한 시간을 나타내고 있다. 61. System V 계열의 유닉스 시스템에선 접속 실패한 로그에 대해 기록하는 파일을 기본적으로 제공하지 않 는다. 실패한 로그 기록을 위해 만들어야 하는 파일 은? 1 /var/adm/loginlog 2 /var/log/btmp 3 /var/log/secure 4 /var/adm/lastlog 64. AIX 유닉스 시스템에서 서버에 누가 들어왔는지에 대한 로그인 정보를 가지는 로그에 대한 설명 중 옳지 않은 것은? 1 last 명령어는 telnet으로 들어왔는지, ftp로 들어왔 는지, 어떤 IP주소로 들어왔는지에 대한 정보를 알 수 있다. 2 lastcomm 명령어를 실행했을 때 특정 ID에 대한 명령어 로그 기록을 보여준다. 65

3 lastcomm 명령어를 실행할 수 있도록 해주기 위해 선 '/usr/sbin/acct/startup'를 실행해 enable을 시켜 주어야 한다. 4 lastcomm명령과 관련된 로그 파일의 위치는 /var/adm/wtmpx이다. 65. 유닉스 시스템에서 사용되는 로그 파일에는 발생 되는 모든 이벤트가 기록되므로 시스템을 관리하거나 점검하는 데 있어 로그 파일의 분석은 필수 조건으로 볼 수 있다. 이러한 로그의 종류도 다양해서 시스템 로그, 네트워크 로그, 기타로 분류될 수 있다. 아래 보 기 중에 성격이 다른 로그로 볼 수 있는 것은? 1 http 2 xferlog 3 samba-log 4 sulog 66. 유닉스 시스템은 사용자의 로그인/로그아웃 정보 뿐만 아니라 모든 사용자에 의해 실행된 모든 단일 명 령어를 기록으로 남기며 이를 프로세스 accounting이 라고 한다. 또한 프로세스 accounting은 /var/adm/acct 또는 /var/adm/pacct 파일에 기록된다. 이에 대한 설 명으로 옳지 않은 것은? 1 acct 및 pacct 파일은 사용자가 직접 읽을 수 있는 text 형태로 사용자가 수행한 단일명령어의 정보를 기록하고 있다. 2 acct 또는 pacct 파일 내용은 직접 보지 않고 lastcomm이나 acctcom 명령어에 의하여 확인이 가능하다. 3 acct/pacct 파일은 사용자별로 사용한 명령어를 구 분하는데 유용하게 사용될 수 있지만, 사용된 명령 어의 argument와 그 명령어가 시스템 내 어느 파 일시스템의 어느 디렉터리에서 실행되었는지는 기 록하지 않는다. 4 acctcom명령어는 System V 계열에서 제공되는 명 령어로 Linux에는 포함되어 있지 않다. 67. 아래의 상황을 부적절하게 설명하고 있는 것은? # vi /etc/passwd root:x:0:1:super-user:/:/usr/local/bin/bash daemon:x:1:1::/: bin:x:2:2::/usr/bin: sys:x:3:3::/: adm:x:4:4:admin:/var/adm: lp:x:71:8:line Printer Admin:/usr/spool/lp: uucp:x:5:5:uucp Admin:/usr/lib/uucp: listen:x:37:4:network Admin:/usr/net/nls: nobody:x:60001:60001:nobody:/: noaccess:x:60002:60002:no Access User:/: nobody4:x:65534:65534:sunos 4.x Nobody:/: informix:x:105:1::/export/informix:/bin/false sis:x:0:1::/home/sis:/bin/sh radioon:x:2101:1::/usr1/radioon:/usr/local/bin/bash imkoma:x:2102:1::/usr1/imkoma:/usr/local/bin/bash # 1 해커가 sis라는 일반 계정을 만들어 백도어로 사용 하고 있는 것으로 판단된다. 2 해커는 /etc/default/login의 #CONSOLE=/dev/console과 같이 설정하여 Remote에서 root 권한으로 로그인할 수 있도록 설정했을 가능성이 크다. 3 shadow 파일을 사용하지 않으므로 일반 계정을 가 지고 있는 사용자라면 크랙 프로그램을 이용하여 쉽게 root 권한을 얻을 가능성이 크다. 4 해커는 /etc/rc3 파일에 echo `sis:x:0:1::/home/sis:/bin/sh` >>/etc/passwd echo `sis::::::::` >>/etc/shadow 백도어를 설정하였을 가능성이 크다. 66

68. 갑자기 서버에 과부하가 걸리고 있는 것 같아 시 스템의 프로세스 상황을 살펴보니 아래와 같이 Senmail 프로세스가 많이 떠 있는 것을 확인하였다. 설명으로 옳은 것은? [root@www /root]# ps -aux grep sendmail root 3425 0.0 0.2 2472 1256? S Aug10 0:10 sendmail: accepti root 20818 0.0 0.2 2596 1520? S 01:07 0:00 sendmail: server root 24572 0.0 0.3 2728 1684? S 01:32 0:00 sendmail: sevrer root 24970 0.0 0.2 2596 1524? S 01:34 0:00 sendmail: server root 25811 0.0 0.2 2596 1524? S 01:38 0:00 sendmail: server root 13455 0.0 0.2 2472 1256? S Aug11 0:10 sendmail: accepti root 23766 0.0 0.2 2344 1520? S 01:07 0:00 sendmail: server root 47932 0.0 0.2 2432 1524? S 01:34 0:00 sendmail: server root 98793 0.0 0.2 2342 1524? S 01:38 0:00 sendmail: server [root@www /root]# netstat -na grep :25 tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN tcp 0 0 5.5.5.5:38799 1.xxx.xxx.xxx:25 TIME_WAIT tcp 0 0 5.5.5.5:43634 2.xxx.xxx.xxx:25 ESTABLISHED tcp 0 0 5.5.5.5:43891 2.xxx.xxx.xxx:25 ESTABLISHED tcp 0 0 5.5.5.5:7478 1.xxx.xxx.xxx:25 ESTABLISHED tcp 0 0 5.5.5.5:1234 3.xxx.xxx.xxx:25 ESTABLISHED tcp 0 0 5.5.5.5:2152 4.xxx.xxx.xxx:25 ESTABLISHED tcp 0 0 5.5.5.5:3645 1.xxx.xxx.xxx:25 ESTABLISHED tcp 0 0 5.5.5.5:3601 2.xxx.xxxx.xxx:25 ESTABLISHED 1 위의 상황으로 보아 외부에서 평상시보다 많은 메 일이 들어오는 것으로 보아 누군가 메일 폭탄을 보내고 있는 것으로 판단된다. 2 평상시보다 많은 메일이 관리하는 서버에서 외부로 나가는 것으로 판단되므로 메일 릴레이 오픈되어 있는지 확인하여야 한다. 3 메일 용량이 모자라 외부에서 들어오는 메일을 처 리 못하는 것으로 판단되므로 메일 용량을 늘릴 필요가 있는 것으로 판단된다. 4 5.5.5.5 에서 스팸 메일이 들어오는 것으로 판단되 므로 메일서버의 원활한 운영을 위하여 서버에서 차단하는 것이 바람직하다. 70. 다음 파일에 대한 설명이 잘못된 것을 고르면? -rwxr-sr-x 2 root sys 1024 Dec 4 10:20 /bin/sh 1 이 파일은 소유자는 root의 권한으로 실행되는 파일이다. 2 이 파일은 setgid가 걸려있으며 실행파일이다. 3 이 파일은 모든 사용자가 실행 가능하다. 4 이 파일은 모든 사용자가 수정할 수 있다 71. 관리자의 잘못된 파일 권한 설정은 외부 비인가자 의 시스템 공격 대상으로 가장 빈번히 사용되는 취약 성이다. 다음의 사용자 접근 관리 퍼미션 설정 중 잘 못된 것은? 1 사용자별 Home Directory Perm: 700 Owner: each user 2 사용자별 $HOME/.profile Perm: 755 Owner: each user 3 사용자별 $HOME/.login Perm: 700 Owner: each user 4 사용자별 $HOME/.sh_history Perm: 600 Owner: each user 72. 관리자의 잘못된 파일권한 설정은 침해사고 시 공 격 대상으로 가장 빈번히 사용되는 취약성이다. 사용 자 접근 관리 퍼미션 설정 중 잘못된 것은? 1 관리자 권한의 startup file /.cshrc, /.login, /.profile file Perm 600 2 /etc/utmp perm: 644, Owner: root 3 /etc/tmp perm: 644, Owner: root 4 /etc/syslog.pid perm: 644, Owner: root 69. fsck 명령어는 파일 시스템 무결성 검사 프로그램 이다. 명령어가 체크하지 않는 것은? 73. 루트 파일 시스템 사용률이 100%일 때 점검 사항 으로 타당하지 않은 것은? 1 Inode Format 3 Bad Sector 2 Directory Size 4 Link Count 1 /tmp 파일 안에 대용량의 파일이 존재한다면 이를 지우고 재부팅한다. 2 /dev 장치 파일에 쓰려고 시도하거나 올바르지 않 은 장치 이름을 사용할 때 큰 파일이 생길 수 있 다. 3 쿼터를 부여한 사용자 디렉터리에 큰 파일들이 존 재하는지 살펴본다. 4 /var이 루트 파티션에 있을 때 /var/adm 안의 큰 관리용 파일을 살펴본다. 67

74. 유닉스 시스템에서 암호화 파일 시스템이 아닌 것은? 1 CFS 2 NTFS 3 SFS 4 VS3FS 75. 유닉스 시스템에서 사용하는 inode에 대한 설명 중 옳지 않은 것은? 1 유닉스의 파일 시스템 내에 있는 개개의(디렉터리 포함) 파일을 관리하기 위한 데이터 구조를 의미한 다. 2 모든 파일은 하나 혹은 여러 개의 inode를 갖는다. 3 inode는 파일의 형, 접근 보호모드, 식별자, 크기, 파일 실체의 주소, 작성 시간, 최종 접근 시간 등 특정한 파일에 관한 정보를 갖는다. 4 파일의 실체의 주소로서 파일의 선두 부분의 블록 번지를 일부 직접 갖고, 나머지의 블록 번지는 간 접 블록 번지로 가진다. 76. AIX 유닉스 시스템 관리자는 시스템에 설치된 데 이터베이스 작업을 하고 난 후, 눈에 띄게 늘어난 core 파일을 보고 어찌해야 할지를 모르고 있다. core 파일에 대한 설명으로 옳지 않은 것은? 1 core가 / 에 자리 잡고 있다면, find / -name 'core' -exec rm -i {} \;, 혹은 cp /dev/null /core 명령을 사용해 지울 수 있다. 2 core file은 시스템이 core dump를 만났을 때 core file을 만들어 내고 debug 혹은 원인 분석에 사용 될 수 있다. 3 core dump는 시스템이 메모리 주소 충돌, 비정상 적인 명령 수행, 버스 에러 등으로 인하여 발생할 수 있다. 4 core file은 사이즈만 큰 의미 없는 쓰레기 파일이 므로 core file이 생성하면 자동적으로 지우도록 설 정해두어야 한다. 77. 아래 보기는 리눅스 시스템 환경에서 파일 시스템 보안에 대한 설명을 얘기한 것이다. 내용 중 옳지 않 다고 생각되는 것은? 1 /etc/rc.d/rcn.d 파일은 시스템 시작 시 실행되는 서 버프로그램들을 지정하는 곳으로서 사용하지 않는 서 버 프로그램은 부팅 시 실행하지 않도록 해야 한다. 2 보호되어야만 하는 파일을 실수로 지우거나 덮어쓰 기가 되는 경우가 없도록 하기 위해서 immutable bit 를 사용할 수 있다. 3 /etc/exports 파일을 통해 모든 host에 대해 NFS 마운트를 허용해서는 안 된다. 4 시스템 관리 목적으로.rhosts 파일을 만들어 사용 해도 상관없다. 78. 리눅스 시스템에서 적용하는 보안 설정에 관한 설 명 중 옳지 않은 것은? 1 /etc/ftpusers 파일은 ftpd 데몬을 통해서 접속할 수 없는 계정들을 나열하는 파일로, root, bin, sys와 같은 계정으로 ftp 접속을 허용해서는 안 된다. 2 /etc/passwd 파일에서 bin, nobody 등 shell을 사용 하지 않는 특수 계정에 대해서는 로그인 shell을 지정하는 부분에 /bin/false 혹은 /dev/null을 사용 한다. 3 /etc/issue 파일에 시스템 버전 정보가 적혀 있으므 로 접속 사용자들에게 시스템에 대한 정보를 보여 주는 데 좋은 역할을 한다. 4 Tripwire 등의 무결성(integrity) 검사 도구를 사용하 는 것은 해킹에 의한 파일 변조를 탐지해내는 좋 은 방법으로 사용될 수 있다. 79. 아래는 유닉스 계열의 파일 시스템 보안에 대하여 설명한 것이다. 옳지 못한 것은? 1 SUID, SGID, Sticky bit 설정은 파일의 실행과 관련 이 있으므로 해당 파일에 실행 권한이 있을 때만 의미가 있다. 2 SUID가 설정된 파일을 실행하는 경우에는 잠시 동 안 그 파일의 소유자의 권한을 가지게 된다. 3 SUID, SGID, Sticky bit 의 설정 시 대문자 S, T (예:-rwSr--r--)인 경우는 파일에 실행 권한이 없는 상태이다. 4 SUID가 설정된 파일을 실행하면 EUID(Effective UID)와 Real UID가 모두 변한다. 68