[리눅스 보안] 리눅스 파일 및 디렉토리 관리 - SUID, SGID, Sticky bit 설정파일 점검
■ 대상 OS : SunOS, Linux, AIX, HP-UX
■ 취약점 개요
- *SUID(Set User-ID)와 SGID(Set Group-ID)가 설정된 파일은(특히, root 소유의 파일인 경우) 특정 명령어를 실행하여 root 권한 획득 및 정상 서비스 장애를 발생시킬 수 있으며, 로컬 공격에 많이 이용되므로 보안상 철저한 관리가 필요함.
- root 소유의 SUID 파일의 경우에는 꼭 필요한 파일을 제외하고는 SUID, SGID 속성을 제거해주고, 잘못 설정되어 보안 위협이 되고 있는지 주기적인 진단 및 관리가 요구됨.
* SUID(Set User-ID) : 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유자의 권한을 얻게 됨.
* SGID(Set Group-ID) : 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유 그룹의 권한을 얻게 됨.
■ 보안대책
- 양호 : 주요 파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있지 않은 경우
- 취약 : 주요 파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있는 경우
■ 조치방법
1. 불필요한 SUID, SGID 파일 제거
2. 아래의 목록 이외에 애플리케이션에서 생성한 파일이나, 사용자가 임의로 생성한 파일 등 의심스럽거나 특이한 파일의 발견 시 SUID 제거 필요
■ 보안설정 방법
◆ OS별 점검 파일 위치 및 점검 방법
- SunOS, Linux, AIX, HP-UX
OS별 주요 파일에 대한 SUID/SGID 설정 여부 확인
#ls -alL [check_file] | awk '{print $1}' | grep -i 's'
※ 주요 파일에 불필요한 SUID/SGID 가 설정된 경우 아래의 보안설정 방법에 따라 SUID/SGID를 제거
■ SunOS, Linux, AIX, HP-UX
1. 제거 방법
#chmod -s <file_name>
2. 주기적인 감사 방법
#find / -user root -type f \( -perm -04000 -o -perm -02000 \) -xdev -exec ls -al {} \;
3. 반드시 사용이 필요한 경우 특정 그룹에서만 사용하도록 제한하는 방법
일반 사용자의 Setuid 사용을 제한함 (임의의 그룹만 가능)
#/usr/bin/chgrp <group_name> <setuid_file_name>
#/usr/bin/chmod 4750 <setuid_file_name>
■ 아래의 표에서 파일명을 확인하여 SUID, SGID을 제거하여야 함
SunOS |
||
/usr/bin/admintool |
/usr/dt/bin/dtprintinfo |
/usr/sbin/arp |
/usr/bin/at |
/usr/dt/bin/sdtcm_convert |
/usr/sbin/lpmove |
/usr/bin/atq |
/usr/lib/fs/ufs/ufsdump |
/usr/sbin/prtconf |
/usr/bin/atrm |
/usr/lib/fs/ufs/ufsrestore |
/usr/sbin/sysdef |
/usr/bin/lpset |
/usr/lib/lp/bin/netpr |
/usr/sbin/sparcv7/prtconf |
/usr/bin/newgrp |
/usr/openwin/bin/ff.core |
/usr/sbin/sparcv7/sysdef |
/usr/bin/nispasswd |
/usr/openwin/bin/kcms_calibrate |
/usr/sbin/sparcv9/prtconf |
/usr/bin/rdist |
/usr/openwin/bin/kcms_configure |
/usr/sbin/sparcv9/sysdef |
/usr/bin/yppasswd |
/usr/openwin/bin/xlock |
|
/usr/dt/bin/dtappgather |
/usr/platform/sun4u/sbin/prtdiag |
|
Linux |
||
/sbin/dump |
/usr/bin/lpq-lpd |
/usr/bin/newgrp |
/sbin/restore |
/usr/bin/lpr |
/usr/sbin/lpc |
/sbin/unix_chkpwd |
/usr/bin/lpr-lpd |
/usr/sbin/lpc-lpd |
/usr/bin/at |
/usr/bin/lprm |
/usr/sbin/traceroute |
/usr/bin/lpq |
/usr/bin/lprm-lpd |
|
AIX |
||
/usr/dt/bin/dtaction |
/usr/dt/bin/dtterm |
/usr/bin/X11/xlock |
/usr/sbin/mount |
/usr/sbin/lchangelv |
|
HP-UX |
||
/opt/perf/bin/glance |
/usr/dt/bin/dtprintinfo |
/usr/sbin/swreg |
/opt/perf/bin/gpm |
/usr/sbin/arp |
/usr/sbin/swremove |
/opt/video/lbin/camServer |
/usr/sbin/lanadmin |
/usr/contrib/bin/traceroute |
/usr/bin/at |
/usr/sbin/landiag |
/usr/dt/bin/dtappgather |
/usr/bin/lpalt |
/usr/sbin/lpsched |
/usr/sbin/swmodify |
/usr/bin/mediainit |
/usr/sbin/swacl |
/usr/sbin/swpackage |
/usr/bin/newgrp |
/usr/sbin/swconfig |
|
/usr/bin/rdist |
|
|
※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853
'Infra > 리눅스 서버' 카테고리의 다른 글
[리눅스 보안] 리눅스 파일 및 디렉토리 관리 - world writable 파일 점검 (1) | 2017.01.23 |
---|---|
[리눅스 보안] 리눅스 파일 및 디렉토리 관리 - 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정 (0) | 2017.01.21 |
[리눅스 보안] 리눅스 파일 및 디렉토리 관리 - /etc/services 파일 소유자 및 권한 설정 (0) | 2017.01.18 |
[리눅스 보안] 리눅스 파일 및 디렉토리 관리 - /etc/syslog.conf 파일 소유자 및 권한 설정 (0) | 2017.01.17 |
[리눅스 보안] 리눅스 파일 및 디렉토리 관리 - /etc/(x)inetd.conf 파일 소유자 및 권한 설정 (0) | 2017.01.13 |