[리눅스/계정관리] root 이외의 UID가 '0' 금지 (U-44)

root 이외의 UID가 '0' 금지

 

취약점 개요

■ 위험도
- 중

■ 점검 목적
- root 계정과 동일한 UID가 존재하는지 점검하여 root 권한이 일반 사용자 계정이나 비인가자의 접근 위협에 안전하게 보호되고 있는지 확인하기 위함

■ 보안 위협
- root 계정과 동일한 UID가 존재하여 비인가자에 노출되었을 경우 root 계정 권한과 동일한 권한으로 시스템에 로그인 하여 시스템 계정 정보 유출, 환경설정 파일 및 디렉토리 변조 및 삭제 등의 행위를 하여 시스템 가용성(서비스 다운, 악성코드 유포지 감염)에 영향을 미칠 수 있는 위협이 존재함
- root와 동일한 UID를 사용하므로 사용자 감사 추적 시 어려움이 발생함

 

 

점검 및 조치 방법

■ 판단 기준
- 양호 : root 계정과 동일한 UID를 갖는 계정이 존재하지 않는 경우
- 취약 : root 계정과 동일한 UID를 갖는 계정이 존재하는 경우

■ 조치 방법
- UID가 0인 계정 존재 시 변경할 UID를 확인 후 다른 UID로 변경 및 불필요 시 삭제, 계정이 사용 중이면 명령어로 조치가 안 되므로 /etc/passwd 파일 설정 변경

■ 점검 및 조치 사례


● SOLARIS, LINUX, HP-UX
Step 1) usermod 명령어로 UID가 0인 일반 계정의 UID를 100 이상으로 수정
- solaris, hp-ux의 경우 100 이상
- linux의 경우 500 이상
예) # usermod -u 2002 test

※ 각 os별로 사용자 UID 체계가 달라 시스템 계쩡 및 일반 사용자 계정이 부여받는 값의 범위에 차이가 있으며, 공통적으로 관리자는 "UID=0"을 부여받음

● AIX
Step 1) chuser 명령으로 UID가 0인 일반 계정의 UID를 100 이상으로 수정
예) test 계정의 UID 를 2002로 바꿀 경우
# chuser id=2002 test



■ 스크립트

echo"U-44 START"
echo"[U-44 root 이외의 UID가 '0' 금지]"															>>	$COMPUTERNAME2>&1
echo"[$PASSWD에서 UID0 존재 확인]"																>>	$COMPUTERNAME2>&1
if[-f"$PASSWD"]
	then
	awk-F:'$3==0{print$1,$3}'"$PASSWD"														>>	$COMPUTERNAME2>&1
	echo""																						>>	$COMPUTERNAME2>&1
	echo"GID추가0확인"																			>>	$COMPUTERNAME2>&1
	echo""																						>>	$COMPUTERNAME2>&1
	awk-F:'$4==0{print$1,$4}'"$PASSWD"														>>	$COMPUTERNAME2>&1
else									
		echo"$PASSWD 파일이 없습니다."																>>	$COMPUTERNAME2>&1
fi									
echo""																							>>	$COMPUTERNAME2>&1
echo"U-44 END"																						>>	$COMPUTERNAME2>&1
echo"======================================================================================"		>>	$COMPUTERNAME2>&1
echo""																							>>	$COMPUTERNAME2>&1
echo""																							>>	$COMPUTERNAME2>&1



■ 용어 설명 / 팁
※ UID(User Identification) : 여러 명의 사용자가 동시에 사용하는 시스템에서 사용자가 자신을 대표하기 위해 쓰는 이름

댓글

Designed by JB FACTORY