U-52 동일한 UID 금지
항목중요도 : 중
1. 취약점 개요
▶ 점검내용 : /etc/passwd 파일 내 UID가 동일한 사용자 계정 존재 여부 점검
▶ 점검목적 : UID가 동일한 사용자 계정을 점검함으로써 타 사용자 계정 소유의 파일 및 디렉터리로의 악의적 접근 예방 및 침해사고 시 명확한 감사추적을 목적으로 함
▶ 보안위협
· 중복된 UID가 존재할 경우 시스템은 동일한 사용자로 인식하여 소유자의 권한이 중복되어 불필요한 권한이 부여되며 시스템 로그를 이용한 감사 추적시 사용자가 구분되지 않음 (권한 할당은 그룹권한을 이용하여 운영)
▶ 참고
※ UID(User Identification): 여러 명의 사용자가 동시에 사용하는 시스템에서 사용자가 자신을 대표하기 위해 사용되는 식별 번호
※ 패스워드 파일 수정 변경 및 신규 사용자 추가 시 UID가 동일한 계정이 존재하는지 확인해야 함(계정생성, UID 변경은 passwd 파일을 직접 편집 금지, 명령어를 이용하여 수정)
2. 점검대상 및 판단 기준
▶ 대상 : SOLARIS, LINUX, AIX, HP-UX 등
▶ 판단기준
· 양호 : 동일한 UID로 설정된 사용자 계정이 존재하지 않는 경우
· 취약 : 동일한 UID로 설정된 사용자 계정이 존재하는 경우
▶ 조치방법 : 동일한 UID로 설정된 사용자 계정의 UID를 서로 다른 값으로 변경
3. LINUX 초기 설정값
※ 테스트한 LINUX의 버전은 AWS로 구성된 CentOS 9 입니다.
확인방법
$ cat /etc/passwd
세번째에 위치한 숫자가 uid 입니다.
이부분이 중복된 숫자가 있는지 확인해주면 됩니다.
[ec2-user@localhost ~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
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
tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
sssd:x:998:995:User for sssd:/:/sbin/nologin
chrony:x:997:994:chrony system user:/var/lib/chrony:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/sbin/nologin
systemd-oom:x:992:992:systemd Userspace OOM Killer:/:/usr/sbin/nologin
ec2-user:x:1000:1000:Cloud User:/home/ec2-user:/bin/bash
it-mskim:x:1001:1001::/home/it-mskim:/bin/bash
polkitd:x:991:991:User for polkitd:/:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/:/sbin/nologin
pipewire:x:990:989:PipeWire System Daemon:/run/pipewire:/usr/sbin/nologin
libstoragemgmt:x:988:988:daemon account for libstoragemgmt:/:/usr/sbin/nologin
setroubleshoot:x:987:987:SELinux troubleshoot server:/var/lib/setroubleshoot:/usr/sbin/nologin
colord:x:986:986:User for colord:/var/lib/colord:/sbin/nologin
clevis:x:985:985:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/usr/sbin/nologin
geoclue:x:984:983:User for geoclue:/var/lib/geoclue:/sbin/nologin
flatpak:x:983:982:User for flatpak system helper:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
cockpit-wsinstance:x:982:981:User for cockpit-ws instances:/nonexisting:/sbin/nologin
gnome-initial-setup:x:981:980::/run/gnome-initial-setup/:/sbin/nologin
dnsmasq:x:980:979:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/usr/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
중복되는 숫자는 없으므로 양호입니다.
테스트를 목적으로 변경을 시도해봤는데.. 이미 있는 UID는 변경이 불가합니다.
# UID 변경 시도
[ec2-user@localhost ~]$ sudo usermod -u 1001 user2
usermod: UID '1001' already exists
4. 조치
혹시라도 조치가 필요하시다면 아래 명령어로 수행하시면 됩니다.
$ usermod –u <변경할 UID값> <user_name>
5. 결과
동일한 UID 가 없다면 양호입니다.
UID를 검색하실때 엑셀을 이용하시면 편합니다.
A열 선택 -> 데이터 -> 텍스트 나누기 -> 데이터 구분기호 "기타 :" -> 다음-> 마침
C열 선택 -> 홈 -> 조건부서식 -> 중복값클릭 -> 중복값이 있을경우 빨강으로 나타납니다!
Linux를 마스터하는 그날까지
화이팅!
'취약점 진단 > UNIX 취약점 진단' 카테고리의 다른 글
[UNIX] U-54 Session Timeout 설정 (0) | 2024.10.04 |
---|---|
[UNIX] U-53 사용자 shell 점검 (0) | 2024.10.04 |
[UNIX] U-51 계정이 존재하지 않는 GID 금지 (1) | 2024.10.03 |
[UNIX] U-50 관리자 그룹에 최소한의 계정 포함 (0) | 2024.10.03 |
[UNIX] U-49 불필요한 계정 제거 (0) | 2024.10.03 |