정보보안기사&산업기사 필기 17장 요약 - Unix/Linux 서버 보안 (시스템보안)
정보보안기사 필기 17장 요약내용입니다.
* 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