관리 메뉴

[U-05] root 이외의 UID가 '0'인 계정 금지 본문

서버 보안 가이드/01. OS (유닉스 리눅스)

[U-05] root 이외의 UID가 '0'인 계정 금지

ª_ª 2026. 1. 14. 10:04
728x90
반응형
 

1. 항목 개요 및 보안 위협

 

[U-05] root 이외의 UID가 '0'인 계정 금지

출처 : 한국인터넷진흥원 (KISA) 기술적 취약점 분석·평가 가이드

[ 점검 내용 ] : root 계정 외에 UID가 '0'인 계정이 존재하는지 여부 점검

[ 보안 위협 ] : 유닉스/리눅스 시스템은 이름이 아닌 'UID' 값으로 권한을 식별합니다. UID가 '0'인 계정은 이름과 상관없이 root와 동일한 전지전능한 권한을 가지며, 이를 통해 시스템 설정 변경, 데이터 유출, 로그 삭제 등 치명적인 행위가 가능해집니다.

 

2. 기술적 조치 방법 (SOLARIS, LINUX, AIX, HP-UX)

A. UID '0' 계정 존재 확인

`/etc/passwd` 파일의 세 번째 필드가 UID입니다. 이 값이 '0'인 계정을 추출합니다.

# 명령어 : UID가 0인 계정 확인
cat /etc/passwd | awk -F: '$3 == 0 { print $1 ":" $3 }'

B. UID 변경 조치

root 이외의 계정(예 : admin)의 UID가 '0'인 경우, `usermod` 명령어를 사용하여 중복되지 않는 일반 UID로 변경합니다.

# 조치 명령어 : usermod -u [변경할 UID] [사용자 계정]
# 예시 : admin 계정의 UID를 1001로 변경
usermod -u 1001 admin

★ '/etc/passwd' 파일 구조 요약

  • 구분자 : " : " (콜론)
  • 구조 : [사용자명] : [패스워드] : [UID] : [GID] : [설명] : [홈디렉터리] : [쉘]
  • 핵심 : 세 번째 필드(UID)가 '0'이면 슈퍼 유저 권한을 가짐
 

3. 실무 심화 : UID 0 계정 흔적 조사 (find)

단순히 UID만 변경한다고 보안 조치가 끝나는 것은 아닙니다. 해당 계정이 UID '0'이었을 때 생성한 파일들은 여전히 root 권한을 가지고 시스템에 남아있을 수 있습니다. `find` 명령어를 활용한 전수 조사가 필요합니다.

A. UID 0 소유 파일 전수 조사

# 시스템 전체에서 UID가 0인 파일 검색
find / -uid 0 -ls

B. 점검 시 고려 사항

  • 부하 관리 : 전체 경로(/) 검색은 운영 서버에 부하를 줄 수 있으므로, `-xdev` 옵션을 사용하여 네트워크 드라이브 등은 제외하고 검색하는 것을 권장합니다.
  • 활동 추적 : `find` 결과물 중 파일 생성 시간을 분석하여, 비정상적인 계정 권한 상승이 일어난 시점의 행위를 추적할 수 있습니다.
 

4. 관련 법령 및 지침 근거

  • 개인정보의 안전성 확보조치 기준(제4조) : 불필요한 관리자 권한 부여를 제한하고 접근 통제를 강화해야 함을 규정
  • 주요정보통신기반시설 기술적 점검 가이드 : 계정 관리 항목 중 '관리자 권한을 가진 계정의 식별 및 제한'을 필수 점검 사항으로 명시
 

5. 오늘 공부하며 정리한 핵심 포인트

  • UID의 절대성 : 시스템은 계정명이 'root'인지가 아니라, UID가 '0'인지를 보고 슈퍼 유저 권한을 부여한다.
  • 감사 추적성 : 여러 계정이 '0'번을 공유하면 로그 분석 시 실제 행위자를 식별하기 불가능해진다.
  • 실무 팁 : UID를 수정한 후에는 반드시 `find` 명령어로 해당 계정이 남긴 파일들의 소유권을 재검토해야 한다.

다음 공부 기록 예고 : [U-06] 사용자 계정 su 기능 제한

 

728x90
반응형
Comments