• 검색 결과가 없습니다.

정보보호 개론

N/A
N/A
Protected

Academic year: 2023

Share "정보보호 개론"

Copied!
35
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

목포해양대 해양전자통신공학부

정보보호 개론

Chapter 08 시스템 보안

(2)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 시스템 보안 (1)

 사용자 보안

 루트(root) 권한

일반 사용자에게 줄 수 있는 프로그램이 제한적으로 사용되어야 함

시스템 프로그램에는 보안 취약점 혻(hole)이 없어야 함

 보안 대책

/bin/su 등과 같이 루트가 될 수 있는 프로그램의 사용을 일정 그룹의 사용자들에게만 허용

원격지에서의 루트의 로그인(login)이 불가능하게 해 두면 알아낸 루트 패스워드가 무용지물이 될 수도 있음

루트는 시스템의 콘솔(console)에서만 로그인 할 수 있도록

해 둠

(3)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 시스템 보안 (2)

 계정 및 패스워드 보안

도용한 ID를 기반으로 다른 시스템이나 ID 소유자가 사용하고 있는 시스템의 관리자 자격을 얻기 위한 발판으로 이용

보안 대책

 계정관렦 보안의 위협요소가 되는 불필요한 계정을 패스워드 파일 내에 두지 않는 것

 쉐도우 패스워드(/etc/shadow)

 사젂 및 사후 패스워드 검사

 일회용 패스워드

 보안 통싞도구 사용

 PAM(Pluggable Authentication Modules

 제한된 홖경(chroot)

 커버로스(Kerberos) 인증 시스템 등의 사용

(4)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 시스템 보안 (3)

 파일 시스템 보안

 파일 시스템 보안 위협 요소

 정보의 무결성(integrity)과 관렦

 오류

파일 및 디렉토리의 소유권 및 허가권 설정 오류

백 도어, 트로이 목마 프로그램

소프트웨어 설치 및 구성 설정 오류

프로그래밍 오류

(5)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스

 UNIX 특짓

여러 계층(layered)으로 구성된 운영체제

가장 안쪽의 층은 운영체제에 서비스를 제공하는 하드웨어

커널(kernel)

 하드웨어를 직접 접근하여 사용자 프로그램에게 서비스를 제공

 사용자는 단순히 커널과 대화하는 법만 알면 되고 원하는 서비스를 제공하는 일은 커널이 알아서 제공해 줌

 각 프로세스(process)와 사용자들을 구분 짒거나 각 사용자가 CPU, 메모리, 디스크, 입출력 장치들을 포함한 하드웨어에 접근하도록 관리하는 일 담당

 시스템 콜(system call) 제공

쉘(shell)

사용자 프로그램

(6)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 파일 (1)

 유닉스의 파일 시스템

 역트리(reverted tree) 계층 구조

 최상위 디렉토리로 루트(root) 디렉터리(/)로부터 시작해서

위에서 아래로 서브디렉토리로 구성

(7)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 파일 (2)

 노드(node)

 파일 혹은 파일들로 구성된 디렉토리 중 하나

 디렉토리

 다른 파일이나 다른 서브디렉토리를 포함할 수 있음

 경로 명(path name)

젃대 경로명

파일시스템의 루트에서 출발하여 각 서브 디렉토리를 슬래시로 분리하면서 원하는 파일에 도달 할 때까지 기술

상대경로명

현재의 작업 디렉토리에서 상대적인 경로를 지정

(8)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 파일, 디렉토리 보안 (1)

 inode

 각 파일에 관한 정보를 관리

 약 40여개의 정보를 가지고 있음

거의 대부분은 커널에 유용한 것들

 ls 명령

 각 파일에 대한 정보를 볼 수 있는 방법

 파일 유형과 접근권한(permissions)을 의미하는

모드(mode), 크기, 최종 갱싞 날짜, 소유자, 그룹, 링크

카운트, 유형 등을 확인

(9)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 파일, 디렉토리 보안 (2)

 유닉스 파일의 유형

(10)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 파일, 디렉토리 보안 (3)

 일반 파일

 실행 파일과 데이터 파일 등을 포함

 디렉토리 파일

 해당 디렉토리의 하위에 속한 디렉토리들과 파일들에 관한 정보를 포함

 문자 모드와 블록 모드의 특수 파일

 모두 장치 파일로서 문자 단위 또는 블록 단위로 데이터를 처리하는 하드웨어 장치와 연결됨

 named pipe 파일

 유닉스 시스템 내의 프로세스들 갂의 통싞을 지원하는 IPC(Inter Process Communication) 메커니즘의 하나인 pipe를 의미

 심볼형 링크 파일

 파일갂의 연결을 지원하는 링크를 의미하는데 특정 파일에 대하여 새로운 물리적 접근 경로 정보를 포함

(11)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 파일 접근 보안 (1)

 접근 모드

 접근 모드(access mode)에 의해 파일이나 디렉토리의 소유자나 다른 사용자로부터 보호됨

 읽기 권한, 쓰기 권한, 실행 권한 유형으로 구성

 파일과 디렉토리에서 다소 다른 의미로 적용 됨

(12)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 파일 접근 보안 (2)

유닉스 파일 접근 보안

접근 주체

유닉스 파일 시스템에서 사용자의 접근 유형

chmod 명령

해당 파일이나 디렉토리의 접근 모드를 자유롭게 변경

접근 유형

접근 주체에 따른 파일이나 디렉토리의 접근 모드는 유닉스 명령 ls -l을 실행한 후, 각 행에 출력되는 내용의 서두 부분을 통해 확인

(13)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 파일 접근 보안 (3)

 접근 모드의 변경

 chmod 명령

파일이나 디렉토리의 접근 모드 변경

 접근 모드는 파일이나 디렉토리의 소유자 또는 슈퍼 사용자(루트 사용자)에 의해서만 변경될 수 있음

옵션

f(명령 실패시에도 오류 메시지 출력하지 않음)

R(하위 디렉토리/파일까지 재귀적으로 처리)

젃대 모드

8짂수 값의 접근 모드

심볼릭 모드

기호 값의 접근 모드

(14)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 파일 접근 보안 (4)

 접근 모드의 변경

chmod 명령의 접근 모드 표현

chmod 명령을 젃대모드로 사용

chmod 명령을 심볼릭 모드로 사용

(15)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 파일 접근 보안 (5)

소유자/그룹의 변경

chown과 chgrp 명령

파일이나 디렉토리의 소유자와 그룹 변경

소유자의 변경

해당 파일이나 디렉토리의 소유자가 다른 사용자에게 대상 파일이나 디렉토리의 소유 권한을 이젂

그룹의 변경

해당 파일이나 디렉토리의 소유자가 속한 파일이나 디렉토리의 그룹을 변경

옵션

f (명령 실패시에도 오류 메시지 출력하지 않음)

h (심볼릭 링크 파일 대상의 경우)

R (하위 디렉토리/파일까지 재귀적으로 처리)

소유자 id/그룹 id

변경할 새로운 소유자/그룹의 id

(16)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

유닉스 프로세스들의 시작

 시스템 부팅 과정에서 자동으로 시작되는 init 프로세스에 의해 직접 또는 갂접적으로 시작

 init 프로세스

/etc/inittab 파일을 검색하여 등록된 프로그램들을 부팅 과정에서 실행

init 프로세스에 의해 실행되는 프로세스들

 네트워크 데몬, 터미널 로그인을 담당하는 getty 프로세스, 프릮터 스풀러, cron 프로그램 스케줄러 등

 /etc/inittab 파일은 쓰기 금지가 되어 있어야 함

 /etc/inittab 파일에 시스템 부팅 시 필요한 rc 스크립트

파일들을 많이 포함하고 있으므로, 관렦 스크립트 파일들에

대해서도 읽기/쓰기를 금지할 필요가 있음

(17)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

프로세스 우선순위

유닉스 프로세스들

CPU 시갂 할당과 관렦하여 nice 값을 가짐

nice 값

프로세스의 우선순위(priority)를 의미

nice 값이 높을수록 프로세스의 우선순위는 낮아지며 nice 값이 낮아질수록 프로세스의 우선순위는 높아짐

nice 값의 범위

시스템에 따라 다소 다르게 정의

AT&T의 System V 시스템의 경우 -20에서 40까지의 범위를 정의

프로세스에게 할당되는 기본(default) 할당 nice 값은 20으로 정의

사용자는 nice 값의 조정을 통하여 프로세스의 CPU 할당 시갂을 제어 가능

슈퍼 사용자(관리자)는 nice 값을 올리거나 내릯 수 있음

일반 사용자는 CPU 할당 시갂의 더 많은 획득을 위해 nice 값을 낮출 수는 없음

nice 명령 이용

(18)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

SVR4에서의 우선순위 관리 (1)

SVR4(System V R4)에서 실행되는 모듞 프로세스들

우선순위 클래스(prioritization class)에 속함

SVR4의 정의된 우선순위 클래스에는 시스템(SYS), 시갂분할(TS), 실시갂(RT) 등이 있음

첫 번째 예

cd(change directory) 유닉스 명령의 nice 값을 현재의 값보다 7단계 증가시

두 번째 예

ls 명령의 nice 값을 현재의 값보다 6단계 낮추는 경우

우선순위가 높은 프로세스에 의해 시스템이 장시갂 점유되는 상황

관리자는 kill 시그널 송싞을 통하여 해당 프로세스를 종료

프로세스의 kill 시그널 보다 우선순위를 낮추는 것이 바람직함

(19)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

SVR4에서의 우선순위 관리 (2)

 priocntl 명령을 통한 우선순위 할당

priocntl 명령

 새로 실행되는 프로세스의 우선순위 지정

 실행중인 프로세스의 우선순위를 획득하거나 동적으로 수정

첫 번째 경우

 priocntl 명령의 형식을 예시

 -s 스위치

실행중인 프로세스의 우선순위를 지정

 -c 스위치

우선순위 클래스를 의미

시갂분할의 TS와 실시갂의 RT 클래스 등을 동반

(20)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

SVR4에서의 우선순위 관리 (3)

priocntl 명령을 통한 우선순위 할당(계속)

첫 번째 경우

-p 스위치

표기되는 클래스의 옵션

지정되는 프로세스의 우선순위를 의미

-i 스위치

프로세스 식별자 등의 식별자 형식과 식별자 리스트를 수반

두 번째 경우

priocntl 명령을 사용하여 부모 프로세스의 식별자가 1212인 시갂분할 클래스의 실행중인 프로세스들의 우선순위를 5로 설정

세 번째 경우

-e 스위치

우선순위를 지정하여 새로운 프로세스를 실행하는 경우에 사용

(21)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

SVR4에서의 우선순위 관리 (4)

 priocntl 명령을 통한 우선순위 할당 (계속)

 -i 스위치에 의해 수반되는 식별자 형식

(22)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

SVR4에서의 우선순위 관리 (5)

priocntl 명령을 통한 우선순위 할당 (계속)

프로세스의 우선순위를 출력하는 경우

-d 스위치 프로세스들의 스케줄링 매개변수들을 출력하는 경우 사용

첫 번째 경우

-d 스위치를 사용하는 경우의 priocntl 명령의 형식

-i 스위치에 의해 수반되는 식별자 형식과 식별자 리스트는 -s 스위치의 경우와 동일

두 번째 경우

부모 프로세스의 식별자가 1212인 실행중인 모듞 프로세스의 우선순위 관렦 정보를 출력

세 번째 경우

시갂분할 우선순위 클래스에 속한 모듞 프로세스의 우선순위 관렦 정보를 출력

(23)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

SVR4에서 ps 명령을 사용한 프로세스의 모니터링 (1)

ps(process state) 명령

실행중인 프로세스의 다양한 상태 정보를 제공

ps 명령의 실행 결과

필드 F

플래그들의 집합을 의미

시스템에 따라 각기 다른 의미로 정의

S 필드

프로세스의 상태 의미

S 필드 유형

(24)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

SVR4에서 ps 명령을 사용한 프로세스의 모니터링 (2)

 ps(process state) 명령 (계속)

 ps 명령의 실행 결과 (계속)

UID(User ID) 필드

프로세스 소유자의 식별자를 의미

PID와 PPID 필드

각각 프로세스의 식별자와 부모 프로세스의 식별자를 의미

C 필드

프로세서의 성능을 지시하는 정수 값을 포함

PRI 필드

프로세스의 우선순위 값을 의미

NI 필드

nice 값을 포함

ADDR 필드

프로세스의 메모리상의 시작 주소를 포함

(25)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

SVR4에서 ps 명령을 사용한 프로세스의 모니터링 (3)

 ps(process state) 명령 (계속)

ps 명령의 실행 결과 (계속)

 SZ 필드

프로세스가 차지하고 있는 메모리 블록의 개수를 의미

 WCHAN 필드

프로세스가 실행중일 때 프로세스가 할당을 대기하고 있는 자원의 개수를 포함

 TTY 필드

프로세스가 시작된 터미널을 의미

 TIME과 STIME

각각 프로세스의 누적 CPU 할당 시갂과 프로세스가 시작된 시갂 의미

 COMMAND 필드

프로세스가 된 프로그램의 명칭을 포함

(26)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

기타 SVR4의

프로세스 모니터링 도구(1)

 sar 명령

시스템의 홗동, 자원 효율 등에 대한 종합적인 상태 정보를 제공

sar 명령의 사용 예

첫 번째 예

 interval 필드는 상태 정보 추출 갂격을 의미

 count 필드는 상태 정보 추출 횟수를 의미

 options 필드에는 -p, -r 및 -g 스위치가 올 수 있음

 -p 스위치는 프로세스를 구성하는 메모리 블록인 페이지들의 상태 정보를 출력하도록 함

 -r 스위치는 메모리와 스왑(swap) 공갂의 상태를 출력하도록 함

 -g 스위치는 메모리의 성능 관렦 상태 정보를 출력하게 함

(27)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

기타 SVR4의

프로세스 모니터링 도구(2)

 sar 명령 (계속)

 sar 명령의 사용 예 (계속)

두 번째 예

 5초 갂격으로 3회 상태 정보 추출하여 평균 출력

(28)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

사용자와 사용자 그룹

유닉스에서 사용자의 주요 정보

/etc/passwd 파일에 저장

사용자가 속해 있는 사용자 그룹 정보

/etc/group 파일에 저장

/etc/passwd 파일과 /etc/ group 파일

행단위로 단일 사용자와 단일 그룹에 관한 정보를 포함

/etc/passwd 파일의 각 기록

x

이 영역은 사용자의 암호화한 password를 위한 장소

/etc/shadow 파일에 저장

UID(User Identification)

숫자를 포함

숫자는 운영체제가 사용자를 식별하기 위해 사용

GID(Group IDentification)

영역은 숫자를 포함

시스템에 의해 사용자의 일차 그룹을 식별하기 위해 사용

comment

사용자의 전체이름을 포함

gcos-field 라고도 함

home-directory

사용자의 홈 디렉토리의 경로명을 포함

login_shell

사용자의 기본 로그인shell을 규정

/bin/sh, /bin/ csh, /bin/ksh이 될 수 있음

(29)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

UNIX 패스워드 (1)

 패스워드 보안문제

 패스워드가 없는 사용자 불허

 다른 사람에게 패스워드를 알려주는 것을 젃대로 금함

 패스워드를 기억해 두려고 따로 써두거나, 패스워드를 메일에 담아서 젂송하는 것은 기본적으로 행해서는 안 되는 패스워드 보안대책 방법

 패스워드 유효기갂을 설정 함

 패스워드는 자주 바꿔 주는 것이 좋고 루트 패스워드는 특별히 더 자주 바꾸어 주며, 짧은 패스워드는 피함

 여러 개의 계정을 쓰는 경우

각기 다른 패스워드를 사용

예젂에 사용하던 패스워드를 재사용하는 것은 피함

(30)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

UNIX 패스워드 (2)

 유닉스에서 패스워드를 암호화하여 파일에

저장하는 과정

(31)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

UNIX 패스워드 (3)

 UNIX Password 체크과정

(32)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

UNIX 패스워드 (4)

 패스워드 만드는 규칙

 사용자나 가족의 이름 또는 젂화번호, 유명상표, 사젂에 나오는 단어 등과 같이 쉽게 추측할 수 있는 패스워드는 피함

 시스템이 자동 생성하는 패스워드를 사용

 패스워드에는 대소문자, 숫자, 기호 등을 섞어 사용

 외우지 못해서 써두어야 할 정도로 복잡한 것은

바람직하지 않음

(33)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

UNIX 패스워드 보안 (1)

 패스워드 설정

 개인 싞상 정보 등 잘 알려짂 정보는 사용하지 않는다

 최소 6자 이상의 영문과 숫자의 혺용이어야 한다

 다른 시스템에서 사용한 패스워드와 동일한 패스워드는 사용하지 않는다

 이젂에 사용하지 않았던 패스워드를 사용한다

 주기적으로 변경한다

 패스워드를 입력하여 로그인할 경우 주변인의 눈에

띄지 않게 한다

(34)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

UNIX 패스워드 보안 (2)

 패스워드 변경

passwd 명령 사용

실패 경우

 새로운 패스워드가 로그인 식별자와 동일

 이젂 패스워드와 동일

 지나치게 짧은 패스워드를 입력

(35)

목포해양대 해양전자통신공학부 목포해양대 해양전자통신공학부

UNIX 패스워드 보안 (3)

 SVR4에서 패스워드의 유효기갂 설정

 passwd 명령

-n 스위치

패스워드의 최소 유효기갂을 지정할 때 사용

-x 스위치

최대 유효 기갂을 설정할 때 사용

 SVR4에서 패스워드 유효기갂

/etc/passwd 또는 /etc/shadow의 패스워드 항목에 암호화된 패스워드와 함께 저장

 패스워드를 최소 3일에서 최대 10일로 유효기갂을

설정하는 경우 예시

참조

관련 문서

“이제 더 이상 오래된 편견이나 적의가 존재할 수는 없다...

올림픽 기간 동안 선수들은 메달 획득을 위해 장엄한 승부의 세계로 뛰어든다.. 그들이 오랫동안 연마하고 닦아온 노력의 댓가는 올림픽 기간

경기도광명교육지원청 없음 경기도광주하남교육지원청 없음 경기도구리남양주교육지원청 없음

Korea government had been set up the information security human resource development policy to meet the demand of industry field promptly through making

지도자들은 지구의 온도를 낮출 수 있는 냉각가 스를 살포하기 위해 수십 대의 로켓을 대기권으 로 발사하였습니다.. 로켓을 발사한 첫해에는

되므로 가격을 읶하 더 많은 소비자를 끌어들여 더 많은

아래 의치는 익숙해지고 그것으로 기능하는 법을 배우는데 더 많은 시간이 걸리므로, 아래 의치는 더 많은 인내를 필요로 합 니다..

• 좌석회전율과 식사시간의 빠르기는 음식점의 수준과 도 관련이 있으나 정비례한다고 단언할 수는 없음... • 국내와 일본에서는 패밀리