U-06 파일 및 디렉터리 소유자 설정
항목중요도 : 상
1. 취약점 개요
▶ 점검내용 : 소유자 불분명한 파일이나 디렉터리가 존재하는지 여부를 점검
▶ 점검목적 : 소유자가 존재하지 않는 파일 및 디렉터리를 삭제 및 관리하여 임의의 사용자가 해당파일을 열람, 수정하는 행위를 사전에 차단하기 위함
▶ 보안위협
· 소유자가 존재하지 않는 파일의 UID와 동일한 값으로 특정계정의 UID값을 변경하면 해당 파일의 소유자가 되어 모든 작업이 가능함
▶ 참고
※ 소유자가 존재하지 않는 파일 및 디렉터리는 퇴직자의 자료이거나 관리 소홀로 인해 생긴 파일인 경우 또는 해킹으로 인한 공격자가 만들어 놓은 악의적인 파일인 경우가 있음
2. 점검대상 및 판단 기준
▶ 대상 : SOLARIS, LINUX, AIX, HP-UX 등
▶ 판단기준
· 양호 : 소유자가 존재하지 않는 파일 및 디렉터리가 존재하지 않는 경우
· 취약 : 소유자가 존재하지 않는 파일 및 디렉터리가 존재하는 경우
▶ 조치방법 : 소유자가 존재하지 않는 파일 및 디렉터리 삭제 또는, 소유자 변경
3. LINUX 초기 설정값
※ 테스트한 LINUX의 버전은 AWS로 구성된 CentOS 9 입니다.
확인방법
소유자 및 소유 그룹이 없는 파일 및 디렉터리가 있는지 확인해야합니다.
# 사용자 없는 파일 점검
$ find / -nouser –ls
# 그룹이 없는 파일 점검
$ find / -nogroup -ls
테스트를 해보겠습니다.
user2를 생성 후 userdel 명령어로 삭제해 그룹과 계정이 없는 파일들이 존재합니다.
test1의 경우 이전에 삭제 후 home 폴더는 제거했던 파일입니다.
mail spool만 존재합니다.
# 사용자 계정이 없는 파일
[ec2-user@localhost ~]$ sudo find / -nouser -ls
find: ‘/proc/9523/task/9523/fd/6’: No such file or directory
find: ‘/proc/9523/task/9523/fdinfo/6’: No such file or directory
find: ‘/proc/9523/fd/5’: No such file or directory
find: ‘/proc/9523/fdinfo/5’: No such file or directory
8529552 0 -rw-rw---- 1 1002 mail 0 Sep 26 13:27 /var/spool/mail/test1
8430909 0 -rw-rw---- 1 1002 mail 0 Oct 4 21:15 /var/spool/mail/user2
12855888 4 -rw------- 1 1002 1002 53 Sep 27 02:24 /var/spool/cron/test1
21372608 0 drwx------ 3 1002 1002 78 Oct 4 21:15 /home/user2
25166466 0 drwxr-xr-x 4 1002 1002 39 Sep 23 22:40 /home/user2/.mozilla
176 0 drwxr-xr-x 2 1002 1002 6 Apr 25 2022 /home/user2/.mozilla/extensions
7329666 0 drwxr-xr-x 2 1002 1002 6 Apr 25 2022 /home/user2/.mozilla/plugins
21372609 4 -rw-r--r-- 1 1002 1002 18 Feb 16 2024 /home/user2/.bash_logout
21372610 4 -rw-r--r-- 1 1002 1002 141 Feb 16 2024 /home/user2/.bash_profile
21372611 4 -rw-r--r-- 1 1002 1002 492 Feb 16 2024 /home/user2/.bashrc
# 그룹이 없는 파일
[ec2-user@localhost ~]$ sudo find / -nogroup -ls
find: ‘/proc/9526/task/9526/fd/6’: No such file or directory
find: ‘/proc/9526/task/9526/fdinfo/6’: No such file or directory
find: ‘/proc/9526/fd/5’: No such file or directory
find: ‘/proc/9526/fdinfo/5’: No such file or directory
9049157 0 -rw------- 1 root 1002 0 Sep 26 14:58 /var/db/sudo/lectured/test1
12855888 4 -rw------- 1 1002 1002 53 Sep 27 02:24 /var/spool/cron/test1
21372608 0 drwx------ 3 1002 1002 78 Oct 4 21:15 /home/user2
25166466 0 drwxr-xr-x 4 1002 1002 39 Sep 23 22:40 /home/user2/.mozilla
176 0 drwxr-xr-x 2 1002 1002 6 Apr 25 2022 /home/user2/.mozilla/extensions
7329666 0 drwxr-xr-x 2 1002 1002 6 Apr 25 2022 /home/user2/.mozilla/plugins
21372609 4 -rw-r--r-- 1 1002 1002 18 Feb 16 2024 /home/user2/.bash_logout
21372610 4 -rw-r--r-- 1 1002 1002 141 Feb 16 2024 /home/user2/.bash_profile
21372611 4 -rw-r--r-- 1 1002 1002 492 Feb 16 2024 /home/user2/.bashrc
취약입니다.
4. 조치
조치를 해보겠습니다.
1) 소유자가 존재하지 않는 파일이나 디렉터리가 불필요한 경우 rm 명령으로 삭제합니다.
$ rm <file_name>
$ rm <directory_name>
저는 전부 삭제할 예정입니다.
삭제를 해보겠습니다.
# 사용자가 없는 파일 삭제
[ec2-user@localhost ~]$ sudo rm /var/spool/mail/test1
[ec2-user@localhost ~]$ sudo rm /var/spool/cron/test1
[ec2-user@localhost ~]$ sudo rm /var/spool/mail/user2
[ec2-user@localhost ~]$ sudo rm -rf /home/user2
# 그룹이 없는 파일 삭제
[ec2-user@localhost ~]$ sudo rm /var/db/sudo/lectured/test1
2) 필요한 경우 chown 명령으로 소유자 및 그룹 변경
$ chown <user_name> <file_name>
5. 결과
소유자와 그룹명이 없는 파일 및 디렉터리가 존재하지 않습니다. 양호 입니다!
# 확인
[ec2-user@localhost ~]$ sudo find / -nouser -ls
find: ‘/proc/9547/task/9547/fd/6’: No such file or directory
find: ‘/proc/9547/task/9547/fdinfo/6’: No such file or directory
find: ‘/proc/9547/fd/5’: No such file or directory
find: ‘/proc/9547/fdinfo/5’: No such file or directory
[ec2-user@localhost ~]$ sudo find / -nogroup -ls
find: ‘/proc/9557/task/9557/fd/6’: No such file or directory
find: ‘/proc/9557/task/9557/fdinfo/6’: No such file or directory
find: ‘/proc/9557/fd/5’: No such file or directory
find: ‘/proc/9557/fdinfo/5’: No such file or directory
Linux를 마스터하는 그날까지
화이팅!
'취약점 진단 > UNIX 취약점 진단' 카테고리의 다른 글
[UNIX] U-08 /etc/shadow 파일 소유자 및 권한 설정 (0) | 2024.10.05 |
---|---|
[UNIX] U-07 /etc/passwd 파일 소유자 및 권한 설정 (0) | 2024.10.05 |
[UNIX] U-05 root홈, 패스 디렉터리 권한 및 패스 설정 (3) | 2024.10.05 |
[UNIX] U-54 Session Timeout 설정 (0) | 2024.10.04 |
[UNIX] U-53 사용자 shell 점검 (0) | 2024.10.04 |