정보보안기사 필기 17장 요약내용입니다.

5 minute read

* 2020 조현준 정보보안기사 산업기사 필기 + 핵심기출 1200제 정보보안기사 & 산업기사 필기 교재를 기반으로 요약하였습니다.

Section 17. Unix/Linux 서버 보안 (시스템보안)

1. Unix 시스템 특징

1) 대화식 운영체제

  • 사용자와 운영체제(Unix)간의 상호작용은 명령어 해석기만 셀에 의해 이루어짐

2) 멀티태스킹

  • 여러 개의 명령어를 동시에 처리하는 방식

3) 멀티유저

  • 동시에 여러 사용자가 하나의 컴퓨터 사용 가능

  • 보안이 중요해짐

4) 호환성 및 이식성

  • 하드웨어적인 구조에 독립적으로 응용프로그램을 작성할 수 있는 환경 제공

5) 뛰어난 통신 기능

  • TCP/IP에 기반한 통신기능을 운영체제 자체에 내장하고 있음

  • 프로세스 간을 연결하는 파이프 기능 > 명령어 간의 데이터 전달이 수월

6) 다양한 기능의 유틸리티와 개발환경 제공

  • UNIX 시스템은 수백여 개의 명령어와 유틸리티를 사용자 및 개발자에게 제공하여 도움을 줌

2. 파일시스템 구조

▶ 부트 블록(Boot Block), 슈퍼 블록(Super Block), i-node 리스트, 데이터 블록(Data Block)으로 구성

1) i-node(index node)

  • 파일에 대한 정보와 이 파일에 할당된 데이터 블록의 주소를 저장하는 필드들 로 구성된 약 120bytes의 고정된 크기의 구조체

  • 파일에 대한 정보 : 파일의 허가권, 소유권, 그룹, 최근 수정된 시간

2) MACTime 정보

  • M(마지막 수정 시간)

  • A(마지막 접근 시간)

  • C(속성 마지막 변경 시간)

3) Super Block

  • 파일시스템의 정보를 유지하는 자료구조. 사용하지 않고 있는 i-node와 디스크 블록의 위치정보도 가지고 있음

3. 파일속성

ex. - rw-r–r– 1 root root 50316 2021-03-0703:46 install.log

파일 유형(-), 파일 허가권(-rw-r–r–), 링크 수(1), 파일 소유자 이름(root), 파일 소유 그룹 이름(root), 파일 크기(50316), 마지막 변경 날짜시간(2021-03-0703:46), 파일이름(install.log)

4. 파일과 디렉터리의 접근권한

권한 파일 디렉터리
읽기r(4) 파일을 읽거나 복사 가능 ls 명령으로 디렉터리 목록 보기
(ls 명령의 옵션 : 실행 권한이 있어야함)
쓰기w(2) 파일을 수정, 이동, 삭제 가능
(쓰기 권한이 있을 경우)
파일을 생성하거나 삭제 가능
실행x(1) 파일 실행 가능
(셀 스크입트나 실행 파일일시)
파일을 디렉터리로 이동(cd)하거나 복사(cp) 가능

5. 명령어 - 디렉터리, 권한 관리

1) 디렉터리 정보 출력

  • ls [-option] [File_name | Directory_name]

    [-a], [-l]

    [-R] : 하위 디렉터리에 있는 내용까지 보여준다.

    [-F] : 어떤 종류의 파일인지 알려준다.

    [-i] : 디렉터리 및 파일에 지정된 i-node 번호를 보여준다.

2) 파일 권한 관리

  • chmod [-R] [permission] [File_name Directory_name]

[-R] : 하위 디렉터리와 파일의 권한까지 변경하는 옵션

3) 소유자/그룹 변경

  • chown 명령어 / chgrp 명령어

6. 프로세스

PID0–swapper: 부팅 시간 동안 OS에 의해 생성

PID 1 – init

PID 2 – pagedaemon : swapper와 함께 커널 모드에서 영구적으로 실행되는 커널 프로세스

고아 프로세스 : 부모 프로세스가 자식 프로세스보다 먼저 종료된 경우 발생.

PID가 1번인 init 프로세스가 고아 프로세스의 부모 프로세스 역할을 함

좀비 프로세스 : 자식 프로세스가 종료되었지만 부모 프로세스가 이를 확인하지 못하는 경우 자식 프로세스는 부모 프로세스가 확인할 때까지 좀비 프로세스로 프로세스 테이블에 남아 있게 된다.

7. Run Level

Run Level 내용
0 PROM(Programmable Read-Only Memory) 모드 (BIOS 수준에서의 작업) / (LINUX) 시스템 종료
S,s 시스템 단일 사용자 모드, 로컬 파일시스템이 마운트되지 않은 상태
1 시스템 단일 사용자 모드, 로컬 파일시스템이 마운트된 상태
2 NFS를 지원하지 않는 다중 사용자 모드 (NFS 클라이언트 모드)
3 네트워킹을 지원하는 다중 사용자 모드 (NFS 서버 모드), UNIX 기본 Run Level
4 사용자 정의 레벨
5 시스템 종료 / (LINUX) X윈도우 환경으로 실행되는 다중 사용자 모드
6 시스템 재부팅

8. 명령어-파일시스템 관리

1) 파일시스템 연결

  • mount [-option] [device] [mount_point]

[-a] : /etc/fstab 파일에 정의된 모든 파일시스템을 마운트(mount)

- mount 명령어만 사용 시 현재 시스템에 마운트된 정보를 출력

2) 파일시스템 연결 해제

  • umount [-option] [device mount_point]

[-a] : 마운트된 모든 파일시스템을 언마운트

[-f] : 해당 파일시스템을 사용하는 프로세스를 강제 종료하고 파일시스템을 언마운트

3) 하드디스크 사용량 (Disk Usage)

  • du [-option] [directory_name]

- 디렉터리의 하드디스크 사용량을 확인하는데 사용

[-a] : 디렉터리뿐만 아니라 하위의 파일에 대한 정보도 출력

[-k] : 사용량을 KB 단위로 환산하여 출력

4) 파일시스템 용량 정보 (Disk Free)

  • df [-option] [File_system File]

- 파일시스템의 전체/사용가능 공간에 대한 정보를 출력

9. 명령어 :: 프로세스 스케줄 관리

1) 정기적 스케줄 관리 (cron)

  • crontab [-e -l -r] [login_name]

- crontab 파일에는 정기적으로 처리해야 하는 작업 목록이 정의

[-e] : crontab 파일 편집

[-l] : crontab 파일 출력

[-r] : crontab 파일 삭제

2) 일시적 스케줄 관리 (at)

- cron 데몬과 달리 at 명령은 정해진 시간에 한 번만 실행하고 소멸

10. 시스템 보안

1) passwd 파일 : /etc/passwd

  • [user_account] : [user_password] : [UID] : [GID] : [comment] : [home_directory] : [login_shell]

1) user_account : 사용자 계정 또는 로그인 이름

2) user_password : 사용자의 패스워드

3) user_ID : 사용자 ID, 특정 사용자를 나타내는 숫자로 된 ID(UUID)

4) Group ID : 기본 그룹 ID로 사용자가 소속된 그룹을 나타내는 숫자로 된 ID(GID)

5) comment : 사용자 관려 기타 정보

6) home_directory : 로그인에 성공한 후에 사용자가 위치할 홈 디렉터리명

7) login_schell : 명령어를 처리하는 셀의 종류를 지정

2) shadow 파일 : /etc/shadow

  • [user_id] : [encryption_pw] : [last_change] : [minilife] : [maxlife] : [warn] : [inactive] : [expires]

1) user_id : 사용자 계정

2) encryption_pw : 일방향 해시 알고리즘을 이용해 암호화한 패스워드

3) last_change : 마지막으로 패스워드를 변경한 날(1970.01.01.부터 지난 일수로 표시)

4) minilife : 최소 패스워드 변경 일수(패스워드를 변경할 수 없는 기간)

5) maxlife : 최대 패스워드 변경 일수(패스워드 변경 없이 사용할 수 있는 일수)

6) warn : 경고 일수(maxlife 필드에 지정한 일수가 얼마 남지 않았음을 알림)

7) inactive : 최대 비활성 일수

8) expires : 계정이 만료되는 날(1970.01.01.부터 지난 일수로 표시)

3) 특수 권한의 설정

구분 기호방식 특수권한 설정 특수권한 파일검색
setuid(4) s chmod 4777 test.out
chmod u+s test.out
# find / -perm 4000 -pint
setgid(2) s chmod 2777 test.out
chmod g+s test.out
# find / -perm 2000 -pint
sticky-bit(1) t chmod 1777 test.out
chmod o+t /testdir(Linux)
chmod u+t /testdir(SunOS)
# find / -perm 1000 -pint

11. 네트워크 보안

구분 xinetd 환경 서비스9(리눅스) standalone 서비스
의미 xinetd 슈퍼데몬에 의해 제어되는 서비스들의 데몬 독립적으로 실행되는 서비스들의 데몬
실행방법 필요할 때 xinetd에 의해 수행됨 독립적인 서비스를 위하여 항상 독립적으로 수행됨
데몬상주 여부 xinetd에 의해 불린 후에 서비스 안료 후에는 종료됨 독립적인 서비스를 위하여 항상 메모리에 독립 데몬으로 상주해 있음
접근제어 tcpd에 의해 접근제어됨 tcpd와 무관
자체 설정파일에 의해 접근제어를 할 수 있음

1) 접근통제 (TCP Wrapper)

- 서비스 요청 과정 : inetd 데몬 → tcpd 데몬 → 접근 권한 검사 → 해당 데몬에 연결

- inted 데몬이 관리하지 않는 standalone 데몬은 inetd 데몬이 통제할 수 없다. (모든 프로토콜에 대한 접근제어는 불가능)

- /etc/hosts.allow → /etc/hosts.deny 순으로 정책이 적용

- 설정 후에는 /usr/sfw/sbin/tcpdchk를 통해 설정 내용을 점검할 수 있음

2) PAM(Pluggable Authentication Modules, 장착형 인증 모듈)

- 리눅스 배포판에서 사용자 인증의 핵심

- 각 프로그램은 인증이 필요한 부분에 PAM 라이브러리를 호출

12. 파일시스템 종류

1) ext2

- 2GB의 단일 파일 크기,4TB의 디스크 사용 가능

- 파일시스템 복구기능 fsck(file system check) 제공. 복구시간 증가, 복구시간 동안 시스템 사용 불가

2) ext3

- ext2와 호환

- 저널링(Journaling) 기술 제공. 빠르고 안정적인 복구기능

3) ext4

- 성능 향상, ext2, ext3과 호환

- 16TB 이상의 파일 크기 지원,1EB 이상의 볼륨 사용 가능

- 단편화 억제 기능 향상, 지연된 할당 파일시스템 기능 지원

Leave a comment