본문 바로가기

Infra/리눅스 서버

[리눅스 보안] 리눅스 파일 및 디렉토리 관리 - SUID, SGID, Sticky bit 설정파일 점검

[리눅스 보안] 리눅스 파일 및 디렉토리 관리 - 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


문의 사항 남기기