process 관련 식별 ID : PID, PPID, PGID, SID
process 자원접근 권한 판단하기 위한 ID : RUID(Real UID), RGID(Real GID), EUID(Effective UID), EGID(Effective GID)
RUID
: 프로세스를 실행시킨 사용자의 UIDRGID
: 프로세스를 실행시킨 사용자의 GIDEUID
: 프로세스가 실행중인 동안에만 부여되는 UID로 자원 접근권한 판단EGID
: 프로세스가 실행중인 동안에만 부여되는 GID로 자원 접근권한 판단
SUID와 SGID는 프로세스가 실행중인 동안에 해당 실행파일의 소유자, 소유그룹의 권한으로 자원에 접근할 수 있도록 하는 권한 설정이다.
SUID와 SGID가 설정되지 않은 프로세스를 실행시키면 프로세스를 실행시킨 사용자의 UID와 GID가 EUID, EGID가 된다. 따라서 실행시킨 사용자의 권한으로 자원에 접근하게 된다.
SUID와 SGID가 설정된 프로세스를 실행시키면 RUID와 RGID는 실행시킨 사용자의 UID, GID가 되고 EUID와 EGID는 실행파일 소유자의 UID, GID로 설정된다. 따라서 실행시킨 사용자와 무관하게 프로세스가 실행중인 동안 실행파일 소유자의 권한으로 자원에 접근하게 된다. ⇒ 권한상승
특수권한 비트(SUID, SGID) 설정
chmod 4755 a.out
orchmod u+s a.out
: 755 접근권한 a.out 파일에 suid 설정chmod 2755 a.out
orchmod g+s a.out
: 755 접근권한 a.out 파일에 sgid 설정chmod 6755 a.out
orchmod ug+s a.out
: 755 접근권한 a.out 파일에 suid, sgid 설정
SUID와 SGID가 설정된 파일은 일반 사용자가 사용하게되면 권한상승이 발생하므로 주기적으로 관리해야한다.
① 소유자가 root이고 SUID 또는 SGID가 설정된 파일 정보를 출력
find / -user root -type f \( -perm -4000 -o -perm -2000 \) -exec ls -al {} \;
② 필요없는 파일들은 SUID와 SGID 권한을 모두 제거
chmod -s 파일명
디렉터리 접근권한(sticky-bit)
일반적으로 공유 디렉터리는 모든 사용자가 이용할 수 있도록 777권한을 가진다. 다른 사용자가 만든 파일을 누구나 삭제 또는 파일명 변경을 할 수 있다.
sticky-bit
가 설정된 디렉터리는 시스템에 있는 모든 사용자들이 자유롭게 파일/디렉터리를 생성할 수 있지만 파일 삭제 및 파일명 변경은 소유자 또는 root 만 가능하다.
✅ chmod 1777 /tmp
or chmod o+t a.out
: /tmp 공유 디렉터리에 sticky-bit 설정
✅ Unix는 chmod u+t a.out
와 같이 user에 sticky-bit 지정
'InfoSec > 정보보안기사' 카테고리의 다른 글
[정보보안기사/실기] ① 시스템 보안 요약 정리 (0) | 2024.04.24 |
---|---|
[Linux] inetd 데몬과 Tcpwrapper (0) | 2024.04.22 |
[Linux] shadow 패스워드 정책 및 계정 정책 관리 (0) | 2024.04.20 |
[Linux] cron 작업 스케줄 관리 (0) | 2024.04.17 |
[Linux] 사용자 및 그룹 관리 (0) | 2024.04.17 |