U-53 사용자 shell 점검
항목중요도 : 하
1. 취약점 개요
▶ 점검내용 : 로그인이 불필요한 계정(adm, sys, daemon 등)에 쉘 부여 여부 점검
▶ 점검목적 : 로그인이 불필요한 계정에 쉘 설정을 제거하여, 로그인이 필요하지 않은 계정을 통한 시스템 명령어를 실행하지 못하게 하기 위함
▶ 보안위협
· 로그인이 불필요한 계정은 일반적으로 OS 설치 시 기본적으로 생성되는 계정으로 쉘이 설정되어 있을 경우, 공격자는 기본 계정들을 이용하여 시스템에 명령어를 실행 할 수 있음
▶ 참고
※ 쉘(Shell): 대화형 사용자 인터페이스로써, 운영체제(OS) 가장 외곽계층에 존재하여 사용자의 명령어를 이해하고 실행함
2. 점검대상 및 판단 기준
▶ 대상 : SOLARIS, LINUX, AIX, HP-UX 등
▶ 판단기준
· 양호 : 로그인이 필요하지 않은 계정에 /bin/false(/sbin/nologin) 쉘이 부여되어 있는 경우
· 취약 : 로그인이 필요하지 않은 계정에 /bin/false(/sbin/nologin) 쉘이 부여되지 않은 경우
▶ 조치방법 : 로그인이 필요하지 않은 계정에 대해 /bin/false(/sbin/nologin) 쉘 부여
3. LINUX 초기 설정값
※ 테스트한 LINUX의 버전은 AWS로 구성된 CentOS 9 입니다.
확인방법
아래 명령문의 뜻은 passwd 파일에서 "^()" 안에 들어간 문구로 시작하는 문장을 찾습니다 //admin은 제외합니다.
$ cat /etc/passwd | egrep "^(daemon|bin|sys|adm|listen|nobody|nobody4|noaccess|diag|operator|games|gopher)" | grep -v "admin"
확인 결과 /sbin/nologin 이 없는 문구가 없으므로 양호입니다.
[ec2-user@localhost ~]$ cat /etc/passwd | egrep "^(daemon|bin|sys|adm|listen|nobody|nobody4|noaccess|diag|operator|games|gopher)" | grep -v "admin"
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
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-oom:x:992:992:systemd Userspace OOM Killer:/:/usr/sbin/nologin
[ec2-user@localhost ~]$
4. 조치
양호 조건인 문구는 아래와 같은 의미를 나타냅니다.
/bin/false : 단순 로그인 실패를 나타내며 주로 사용자의 로그인 허용을 막기 위해 설정
/sbin/nologin : 로그인이 허용되지 않습니다 문구 표출, 보통 시스템 서비스 계정에 사용되며, 서비스를 수행할 수 있도록 하면서 사용자가 직접 로그인하는 것을 방지
조치가 필요하시다면
1) vi 편집기를 이용하여 “/etc/passwd” 파일 열기
2) 로그인 쉘 부분인 계정 맨 마지막에 /bin/false(/sbin/nologin) 부여 및 변경
# 예시
$ sudo vi /etc/passwd
# 수정 전
daemon:x:2:2::/:/sbin/ksh
# 수정 후
daemon:x:2:2::/:/bin/false 또는, daemon:x:2:2::/:/sbin/nologin
5. 결과
일반적으로 로그인이 불필요한 계정은
daemon, bin, sys, adm, listen, nobody, nobody4, noaccess, diag, listen, operator, games, gopher 등 일반적으로 UID 100 이하 60000 이상의 시스템 계정 해당됩니다.
여기 계정에 /bin/false 또는 /sbin/nologin 문구가 있다면 양호 입니다!
Linux를 마스터하는 그날까지
화이팅!
'취약점 진단 > UNIX 취약점 진단' 카테고리의 다른 글
[UNIX] U-05 root홈, 패스 디렉터리 권한 및 패스 설정 (3) | 2024.10.05 |
---|---|
[UNIX] U-54 Session Timeout 설정 (0) | 2024.10.04 |
[UNIX] U-52 동일한 UID 금지 (0) | 2024.10.04 |
[UNIX] U-51 계정이 존재하지 않는 GID 금지 (1) | 2024.10.03 |
[UNIX] U-50 관리자 그룹에 최소한의 계정 포함 (0) | 2024.10.03 |