[리눅스/파일 및 디렉토리 관리] 홈디렉토리로 지정한 디렉토리의 존재 관리 (U-58)

홈디렉토리로 지정한 디렉토리의 존재 관리

 

취약점 개요

■ 위험도
- 중

■ 점검 목적
- /home 이외 사용자의 홈 디렉터리 존재 여부를 점검하여 비인가자가 시스 템 명령어의 무단 사용을 방지하기 위함

■ 보안 위협
- passwd 파일에 설정된 홈디렉터리가 존재하지 않는 경우, 해당 계정으로 로 그인시 홈디렉터리가 루트 디렉터리(“/“)로 할당되어 접근이 가능함


점검 및 조치 방법

■ 판단 기준
- 양호 : 홈 디렉터리가 존재하지 않는 계정이 발견되지 않는 경우
- 취약 : 홈 디렉터리가 존재하지 않는 계정이 발견된 경우

■ 조치 방법
- 홈 디렉터리가 존재하지 않는 계정에 홈 디렉터리 설정 또는, 계정 삭제

■ 점검 및 조치 사례


■ SOLARIS, LINUX, AIX, HP-UX
Step 1) 홈 디렉터리가 없는 사용자 계정 삭제
• SOLARIS, LINUX, HP-UX 설정: #userdel <user_name>
• AIX 설정: #rmuser <user_name>
Step 2) 홈 디렉터리가 없는 사용자 계정에 홈 디렉터리 지정
#vi /etc/passwd
#test:x:501:501::/:/bin/bash (홈 디렉터리가 /로 설정 된 경우)
#test:x:501:501::/home/test:/bin/bash (홈 디렉터리 수정 / -> /home/test)


■ 스크립트

echo -e "======================================================================================" >> $COMPUTERNAME
echo U-58_Pilo START
echo -e "[ U-58 홈디렉토리로 지정한 디렉토리의 존재 관리 ]\n" >> $COMPUTERNAME
echo -e "[ 1. User  Home_DIR  Shell ]" >> $COMPUTERNAME
cat /etc/passwd | awk -F':' '{print -e $1, "\n--Home_DIR : ",$6,"\n--Shell : ",$7}' >> $COMPUTERNAME

echo -e "\n[ 2. Home_DIR ]" >> $COMPUTERNAME
for VALUE in "${HOME_DIRs[@]}"
do 
    echo $VALUE >> $COMPUTERNAME
done

echo -e "\nU-58 END" >> $COMPUTERNAME
echo -e "======================================================================================\n" >> $COMPUTERNAME


■ 용어 설명 / 팁
※ 홈디렉터리: 사용자가 로그인한 후 작업을 수행하는 디렉터리
※ 일반 사용자의 홈 디렉터리 위치: /home/use

댓글

Designed by JB FACTORY