본문 바로가기
IT/리눅스

주요정보통신기반시설 유닉스/리눅스 서버 U-13 SUID, SGID, 설정 파일점검

by 쏠-티 2023. 10. 28.

■ 개념

2021 주요정보통신기반시설 취약점 분석 및 평가 중 점검대상 유닉스(Unix) 서버의 U-13 SUID, SGID, 설정 파일점검 점검항목에 대해 알아보겠습니다. 해당 포스팅은 리눅스(CentOS 7)를 기준으로 진단 및 실습합니다.

항목명
SUID, SGID 설정 여부 점검
항목코드 U-13
위험도
점검내용
불필요하거나 악의적인 파일에 SUID, SGID 설정 여부 점검
점검목적
불필요한 SUID, SGID 설정 제거로 악의적인 사용자의 권한상승을 방지하기 위함

보안위협
SUID, SGID 파일의 접근권한이 적절하지 않을 경우 SUID, SGID 설정된 파일로 특정 명령어를 실행하여 root 권한 획득 가능함

※ SUID: 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유자의 권한을 얻게 됨
※ SGID: 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유 그룹의 권한을 얻게 됨
판단기준
양호
주요 실행파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있지 않은 경우
취약
주요 실행파일의 권한에 SUID와 SGID에 대한 설정이 부여되어 있는 경우
조치방법
1) 불필요한 SUID, SGID 파일 제거
2) 아래의 목록 이외에 애플리케이션에서 생성한 파일이나, 사용자가 임의로 생성한 파일 등 의심스럽거나 특이한 파일의 발견 시 SUID 제거 필요

■ 실습

해당 점검항목은 유닉스 서버의 불필요한 SUID 및 SGID 설정 제거로 악의적인 사용자에 의해 파일 소유자로 권한 상승을 할 수 있습니다.

  • SUID : 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유자의 권한 을 얻을 수 있음
  • SGID : 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유 그룹의 권한을 얻을 수 있음

1. SUID
# find / -perm -04000

SUID
SUID 확인

2. SGID
# find / -perm -02000

SGID
SGID 확인

SUID #find / -perm -04000
ex) -rwsr-xr-x
SGID #find / -perm -02000
ex) -rwxr-sr-x

 

제거 방법은 chmod -s <file_name>입니다.

 

■ 불필요한 SUID, SGID 목록

SUID, SGID 제거 대상 파일은 어떤 것이 있는지 알아보겠습니다. 아래 내용을 참고하셔서 불필요한 목록을 제거하시고 추가로 불필요해 보이는 목록을 확인하셔서 고객사 담당자와 협의 후 설정을 제거해야 합니다.

 

 

SUID
파일명 내용
/usr/bin/chfn
사용자의 정보를 변경하는 명령어이며, /etc/passwd에 저장된 정보를 변경함
/usr/sbin/usernetctl
일반 유저가 인터페이스를 제어하도록 쓰는 명령어
/usr/sbin/userhelper
GUI를 통해 암호를 관리하고자 할 때 쓰는 명령어
/usr/bin/chsn
bash, csh, tcsh 등 로그인 시 실행되는 쉘을 변경하는 명령어
/usr/sbin/traceroute
네트워크 경로를 추적 및 출력할 때 쓰는 명령어
/usr/bin/at
반복적인 작업을 할 때 기록하여 쓰는 예약 명령어
/usr/bin/passwd
사용자 로그인 계정, 암호화된 비밀번호, UID, 기본 GID, 이름, 홈 디렉토리, 로그인 쉘이 저장되어 있는 파일

 

 

/usr/bin/chage
chage는 유저의 암호 만기일 정보를 변경하거나 조회하는 명령어
/bin/bin/mount
파일 시스템을 마운트 하고자 할 때 쓰는 명령어
/sbin/dump
백업 관련 명령어
/bin/bin/ping
icmp 패킷을 전송할 때 쓰는 명령어
/usr/bin/newgrp
새로운 그룹으로 로그인하는 명령어
/usr/bin/crontab
반복적인 작업을 할 때 쓰는 예약 명령어
/usr/bin/gpasswd
/etc/group 이나 /etc/gshadow 파일을 관리할 때 사용되는 명령어
/bin/bin/umount
파일 시스템을 언마운트 하고자 할 때 쓰는 명령어

 

 

SGID
파일명 내용
/usr/bin/wall
터미널에 연결되어 있는 유저들에게 메시지를 보낼 때 사용하는 명령어
/usr/bin/write
다른 유저에게 메시지를 보내는 명령어

 

본 포스팅 내용은 한국인터넷진흥원(KISA)에서 발행한 주요정보통신기반시설 평가기준을 바탕으로 작성했습니다.

반응형

댓글