취약점 개요 | |
점검 내용 | /etc/passwd 파일 권한 적절성 점검 |
점검 목적 | /etc/passwd 파일의 임의적인 변경을 차단하기 위함을 통해 비인가자가 권한 상승하는 것을 막기 위함 |
보안 위협 | 관리자(root) 외 사용자가 "/etc/passwd” 파일의 사용자 정보를 변조하여shell 변경, 사용자 추가/삭제 등 root를 포함한 사용자 권한 획득 가능 |
참고 | ※ /etc/passwd: 사용자의 ID, 패스워드, UID, GID, 홈 디렉터리, 쉘 정보를 담고 있는 파일 |
점검대상 및 판단 기준 | |
대상 | LINUX |
판단기준 | 양호 : /etc/passwd 파일의 소유자가 root이고, 권한이 644 이하인 경우 |
취약 : /etc/passwd 파일의 소유자가 root가 아니거나, 권한이 644 이하가 아닌 경우 | |
조치 방법 | “/etc/passwd” 파일의 소유자 및 권한 변경 (소유자 root, 권한 644) |
점검 및 조치 | |
점검 | “/etc/passwd” 파일의 소유자 및 권한 확인 #ls -l /etc/passwd r-------- root <passwd 파일> |
“passwd” 파일의 소유자가 root가 아니거나 파일의 권한이 644 이하가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함 |
|
조치 | “/etc/passwd” 파일의 소유자 및 권한 변경 (소유자 root, 권한 644) #chown root /etc/passwd #chmod 644 /etc/passwd |
점검 스크립트
#!/bin/bash
. function.sh
BAR
CODE [U-07] /etc/passwd 파일 소유자 및 권한 설정
cat << EOF >> $RESULT
[양호]: /etc/passwd 파일의 소유자가 root이고, 권한이 644 이하인 경우
[취약]: /etc/passwd 파일의 소유자가 root가 아니거나, 권한이 644 이하가 아닌 경우
EOF
BAR
CHECK=0
ls /etc/passwd > /dev/null 2>&1
if [ $? = 0 ] ; then
CHECK=1
fi
if [ $CHECK != 0 ] ; then
CHOWN1=`ls -l /etc/passwd | awk '{print $3}'`
if [ $CHOWN1 = root ] ; then
OK /etc/passwd 파일이 존재하며 소유자는 root입니다.
else
WARN /etc/passwd 파일이 존재하지만 소유자는 root가 아닙니다.
fi
elif [ $CHECK = 0 ] ; then
INFO /etc/passwd 파일이 존재하지 않습니다.
fi
if [ $CHECK = 1 ] ; then
find /etc/passwd -type f -perm -644 -ls | grep -v 'rw-r--r--' >/dev/null 2>&1
if [ $? = 0 ] ; then
WARN passwd 파일의 권한이 `ls -l /etc/passwd | awk '{print $1}'`로 설정되어 644보다 높습니다.
else
OK passwd 파일의 권한이 644이하 입니다.
fi
fi
cat $RESULT
'Hacking > infra 진단' 카테고리의 다른 글
[Linux] U-09 (상) /etc/hosts 파일 소유자 및 권한 설정 (0) | 2021.08.23 |
---|---|
[Linux] U-08 (상) /etc/shadow 파일 소유자 및 권한 설정 (0) | 2021.08.17 |
[Linux] U-06 (상) 파일 및 디렉터리 소유자 설정 (0) | 2021.08.17 |
[Linux] U-05 (상) root홈, 패스 디렉터리 권한 및 패스 설정 (0) | 2021.08.17 |
[Linux] U-04 (상) 패스워드 파일 보호 (0) | 2021.08.17 |