본문 바로가기
취약점 진단/UNIX 취약점 진단

[UNIX] U-58 홈 디렉터리로 지정한 디렉터리의 존재 관리

by 게으른 피글렛 2024. 10. 27.
반응형

U-58 홈 디렉터리로 지정한 디렉터리의 존재 관리

항목중요도 : 중

1. 취약점 개요

▶ 점검내용 : 사용자 계정과 홈 디렉터리의 일치 여부를 점검

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

 보안위협

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

 참고

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

2. 점검대상 및 판단 기준

  대상 : SOLARIS, LINUX, AIX, HP-UX 등

  판단기준

 · 양호 : 홈 디렉터리가 존재하지 않는 계정이 발견되지 않는 경우

 · 취약 : 홈 디렉터리가 존재하지 않는 계정이 발견된 경우

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

3. LINUX 초기 설정값

※ 테스트한 LINUX의 버전은 AWS로 구성된 CentOS 9 입니다.

 

확인방법

"/etc/passwd" 파일 내 존재하는 모든 사용자 계정이 적절한 홈 디렉터리를 갖는지 확인

홈 디렉터리가 존재하지 않는 계정이 발견된 경우 삭제 또는 홈디렉토리 사용자 지정

$ cat /etc/passwd
# 홈 디렉토리가 존재하는 사용자 계정
[ec2-user@localhost ~]$ cat /etc/passwd | grep "home"
ec2-user:x:1000:1000:Cloud User:/home/ec2-user:/bin/bash
it-mskim:x:1001:1001::/home/it-mskim:/bin/bash
test:x:1002:1002::/home/test:/bin/bash

# 로그인은 가능, 홈디렉토리가 지정되지 않은 사용자 계정 확인
[ec2-user@localhost ~]$ cat /etc/passwd | grep ":/:"
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
sssd:x:998:995:User for sssd:/:/sbin/nologin
systemd-oom:x:992:992:systemd Userspace OOM Killer:/:/usr/sbin/nologin
polkitd:x:991:991:User for polkitd:/:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/:/sbin/nologin
libstoragemgmt:x:988:988:daemon account for libstoragemgmt:/:/usr/sbin/nologin
flatpak:x:983:982:User for flatpak system helper:/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin

 

 제 서버에는 홈디렉토리가 지정되지 않은 사용자 계정이 없습니다.

[ec2-user@localhost ~]$ cd /home
[ec2-user@localhost home]$ ll
total 0
drwx------. 5 ec2-user ec2-user 156 Oct 27 11:52 ec2-user
drwx------. 4 it-mskim it-mskim 109 Sep 24 16:01 it-mskim
drwx------. 4 test     test     113 Oct 24 21:03 test

 

소유자가 없는 홈 디렉토리도 없습니다.

 

4. 조치

조치가 필요하다면 아래와 같이 설정하면됩니다. 

 

1) 홈 디렉터리가 없는 사용자 계정 삭제

$ userdel <user_name>

 

2) 홈 디렉터리가 없는 사용자 계정에 홈 디렉터리 지정

 $ vi /etc/passwd

 # 홈디렉토리 내용 수정
 #(홈 디렉터리가 /로 설정 된 경우)
 test:x:501:501::/:/bin/bash 
 #(홈 디렉터리 수정 / -> /home/test)
 test:x:501:501::/home/test:/bin/bash

 

 

5. 결과

소유자가 없는 홈디렉토리가 없다면 양호입니다.

[ec2-user@localhost ~]$ cd /home
[ec2-user@localhost home]$ ll
total 0
drwx------. 5 ec2-user ec2-user 156 Oct 27 11:52 ec2-user
drwx------. 4 it-mskim it-mskim 109 Sep 24 16:01 it-mskim
drwx------. 4 test     test     113 Oct 24 21:03 test

 

 

Linux를 마스터하는 그날까지

화이팅!

 

반응형