특수 권한 비트(Special Permission Bit)는 파일이나 디렉터리의 소유자, 그룹, 그리고 다른 사용자에 대한 권한을 제어하고 조절하는 데 사용됩니다. 특수 권한 비트를 관리함으로써 사용자에게는 필요한 권한을 부여하면서도 불필요한 권한은 차단하여 시스템의 안전성과 보안을 유지하는 것이 중요합니다.
- SUID(setuid): 사용자가 파일을 실행했을 때 해당 사용자의 권한이 아닌 해당 파일의 소유자 권한으로 실행
- GUID(setgid): 실행 파일의 유효 그룹 ID(EGID)를 사용자의 실제 그룹ID에서 파일 소유자의 그룹ID로 변경
- Sticky bit: 특정 디렉터리를 누구나 자유롭게 사용할 수 있으나 다른 사용자가 생성한 파일 삭제 불가
점검 내용
- 불필요하거나 악의적인 파일에 SUID, SGID 및 Sticky Bit 설정 여부 점검
점검 목적
- 불필요한 SUID, SGID 및 Sticky Bit 설정 제거로 악의적인 사용자의 권한 상승을 방지하기 위함
보안 위협
- SUID, SGID 파일의 접근 권한이 적절하지 않을 경우 SUID, SGID 설정된 파일로 특정 명령어를 실행하여 root 권한 획득 가능함
- 공유 디렉터리(/tmp)에서 스티키 비트가 설정되지 않으면, 사용자가 다른 사용자의 파일을 삭제할 수 있음
점검 대상
- Linux : Rocky 9
판단 기준
- 양호 :
– 주요 실행파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있지 않은 경우
– /tmp 디렉터리 등 공용 디렉터리에 Sticky Bit가 설정되어 있는 경우 - 취약 :
– 주요 실행파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있는 경우
– /tmp 디렉터리 등 공용 디렉터리에 Sticky Bit가 설정되어 있지 않은 경우
조치 방법
- SUID, SGID가 설정되어 있는 파일들 검색
find / -user root -type f \( -perm -04000 -o -perm -02000 \) -xdev -ls 2> /dev/null
- SUID, SGID가 불필요하게 설정된 파일들에 대해서는 특수 권한 삭제
chmod u-s <file_name> chmod g-s <file_name>
- Sticky Bit가 설정된 디렉터리들 검색
find / -type d -perm -01000 -xdev -exec ls -dl {} \; 2> /dev/null
- 공유 디렉터리(/tmp)에 Stick Bit가 설정되어 있지 않으면 아래와 같이 설정(/tmp 디렉터리의 접근권한이 rwx일 경우)
chmod o+t /tmp
◁ 핵심 파일들 소유자 및 권한 설정 | | | 환경설정 파일들 소유자 및 권한 점검 ▷ |
---|