파일 시스템 종류
루트 파일 시스템
- 하드디스크 상에서 적어도 하나의 파일 시스템 존재
- 시스템 프로그램과 디렉터리들이 포함되어 있음
일반 파일
- 수행할 수 있는 프로그램 파일이나 원시 프로그램 파일, 텍스트 파일, 데이터 파일 등 컴퓨터에 의해 처리될 수 있는 파일들이 저장되어 있음
디렉터리 파일
- 계층 구조로 구성됨
- 다른 파일과 디렉터리들에 관한 정보를 저장하는 논리적인 단위
- 파일명인 문자열과 inode 번호를 연결하는 부분
특수 파일
- 장치에 속하는 파일
- 주변 장치들이 컴퓨터에 연결되기 위해서 하나 이상의 특수 파일을 가지고 있어야 함
접근권한 마스크(umask)
umsk 값이 안전하지 않은 권한으로 설정되면 허가되지 않은 사용자에게까지 파일이나 프로세스에 접근이 허락되어 보안상 큰 위협 요소가 될 수 있음. 시스템의 기본값으로 umask는 시스템 환경 파일인 /etc/profile 파일에 022로 설정되어 있음. 보안을 강화하기 위하여 시스템 환경 파일(/tec/profile)과 사용자별 홈 디렉터리 내 환경 파일($HOME/.profile)에 umask 값을 027 또는 077로 변경하는 것을 권장
일반적으로 파일을 생성할 때는 666에서 umask로 지정한 값을 빼고 디렉터리의 경우 777에서 umask로 지정한 값을 빼게 됨
권한 상승(SetUID, SetGID)
SUID, SGID는 실행 파일이 슈퍼 유저(root)나 다른 상위 사용자의 권한으로 수행될 수 있도록 규정한 특별한 파일 권한 설정 비트임. 상위 권한으로 실행되는 특징 때문에 시스템 해킹의 주요 수단으로 악용되며 프로그램 파일에 버그가 존재할 때 불법 권한 획득에 이용될 수 있는 심각한 보안 위협이 될 수 있음. 일반 사용자가 SUID, SGID 설정을 통해 특정 슈퍼 유저의 권한을 위임받아 특정 명령을 실행시킬 수 있음
- setuid : 실행 파일에 사용됨(예 : /etc/passwd)
- setgid : 같은 project에 실행 권한을 주기 위해서 사용됨(예 : sys)
디렉터리 접근권한(sticky-bit)
디렉터리에 인가된 사용자만 쓰기(Write) 가능하게 하도록 디렉터리 자체에 설정(예 : /var/tmp - 모든 사용자가 사용 가능하지만, 삭제는 파일의 소유자만 가능함(root는 예외)) - 파일 666 / 디렉터리 777
특수 권한 파일 설정
구분, 특수 권한 설정, 특수 권한 파일 검색, 특수 권한 파일 예시
- setuid(4), chmod 4755 setuid_program, #find / -perm 4000 -print, /usr/bin/passwd와 같은 프로그램
- setgid(2), chmod 2755 setgid_program, #find / -perm 2000 -print, /usr/bin/sudo와 같은 파일
- sticky-bit(1), chmod 1777 sticky-bit_directory, #find / -perm 1000 -print, /tmp와 같은 공용 디렉터리
※ find / -perm 7000 -print : suid, sgid, sticky-bit가 모두 설정된 파일 검색
※ find / -perm 6000 -print : suid, sgid가 설정된 파일 검색
'정보보안 > 시스템보안' 카테고리의 다른 글
유닉스/리눅스 보안 서버 접근통제 2/2 (0) | 2025.01.24 |
---|---|
유닉스/리눅스 보안 서버 접근통제 1/2 (0) | 2025.01.23 |
유닉스/리눅스 보안 계정과 셸 보안 (0) | 2025.01.21 |
유닉스/리눅스 보안 시스템 관리 (0) | 2025.01.20 |
유닉스/리눅스 보안 리눅스 (0) | 2025.01.19 |