[Linux 보안] 리눅스 계정관리 - root 이외의 UID가 '0' 금지
■ 대상 OS : SunOS, Linux, AIX, HP-UX
■ 취약점 개요
- root(UID=0)와 동일한 *UID(User Identification)를 가진 계정 존재 시 root 권한으로 시스템 접근이 가능하므로 root의 UID를 가진 계정이 존재하지 않도록 확인하여야 함
- root 뿐만 아니라 사용자 간 UID 중복 시에도 권한 중복으로 인한 사용자 감사 추적이 어렵게 되는 문제가 발생하므로 계정 및 UID 확인이 필요함
* UID(User Identification) : 여러 명의 사용자가 동시에 사용하는 시스템에서 사용자가 자신을 대표하기 위해 쓰는 이름
■ 보안대책
- 양호 : root 계정과 동일한 UID를 갖는 계정이 존재하지 않는 경우
- 취약 : root 계정과 동일한 UID를 갖는 계정이 존재하는 경우
■ 조치방법
- UID가 0인 계정 존재 시 변경할 UID를 확인 후 다른 UID로 변경 및 불필요 시 삭제, 계정이 사용 중이면 명령어로 조치가 안되므로 /etc/passwd 파일 설정 변경
■ 보안설정 방법
◆ OS별 점검 파일 위치 및 점검 방법
#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
deamon:x:2:2:deamon:/sbin:/sbin/nologin
"/etc/passwd" 파일 내 UID 확인 (세 번째 필드 값)
root 이외의 계정이 "UID=0" 인 경우 0이 아닌 적절한 UID 부여
◆ 위에 제시한 설정이 해당 파일에 적용되지 않은 경우 아래의 보안설정 방법에 따라 설정
■ SunOS, Linux, HP-UX
1. Usermod 명령으로 UID가 0인 일반 계정의 UID를 100 이상으로 수정
- SunOS, HP-UX의 경우 100 이상
- Linux의 경우 500 이상
(예 : test 계정의 UID를 2002 로 바꿀 경우
#usermod -u 2002 test
※ 각 OS별로 사용자 UID 체계가 달라 시스템 계정 및 일반 사용자 계정이 부여받는 값의 범위에 차이가 있으며, 공통적으로 관리자는 "UID=0"을 부여받음
■ AIX
1. chuser 명령으로 UID가 0인 일반 계정의 UID 100 이상으로 수정
(예 : test 계정의 UID를 2002로 바꿀 경우
#chuser id=2002 test
※ passwd 파일 구조
root: x: 0: 1: Super-User: /: /usr/bin/ksh
loginID: x: UID: GID: comment: home_directory: login_shell
(예) root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
deamon:x:2:2:deamon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/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
nobody:x:99:99:Nobody:/:/sbin/nologin
위의 예는 /etc/passwd 파일의 내용으로 ":"을 사용하여 필드를 구분함
세 번째 필드(UID)가 "0"인 경우 슈퍼유저 권한을 갖으며, "0"이외의 계정은 일반 계정으로 볼 수 있음
■ 조치 시 영향
- 해당 계정에 관리자 권한이 필요하지 않으면 일반적으로 영향 없음
※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853
'Infra > 리눅스 서버' 카테고리의 다른 글
[Linux 보안] 리눅스 계정 관리 - 패스워드 최소 길이 설정 (0) | 2016.11.21 |
---|---|
[Linux 보안] 리눅스 계정 관리 - root 계정 su 제한 (0) | 2016.11.18 |
[Linux 보안] 리눅스 계정관리 - 패스워드 파일 보호 (0) | 2016.11.14 |
[Linux 보안] 리눅스 계정 관리 - 계정 잠금 임계값 설정 (0) | 2016.11.11 |
[Linux 보안] 계정관리 - 패스워드 복잡성 설정 (0) | 2016.11.10 |