[Unix 서버] 사용자 shell 점검
- 정보보안/Unix 서버
- 2022. 8. 21.
U-53 사용자 shell 점검
■ 점검영역 : 계정 관리
■ 항목 중요도 : 하
■ 점검내용
로그인이 불필요한 계정(adm, sys, daemon 등)에 쉘 부여 여부 점검
■ 점검목적
로그인이 불필요한 계정에 쉘 설정을 제거하여, 로그인이 필요하지 않은 계정을 통한 시스템 명령어를 실행하지 못하게 하기 위함
■ 보안위협
로그인이 불필요한 계정은 일반적으로 OS 설치 시 기본적으로 생성되는 계정으로 쉘이 설정되어 있을 경우, 공격자는 기본 계정들을 이용하여 시스템에 명령어를 실행 할 수 있음
■ 참고
※ 쉘(Shell)
대화형 사용자 인터페이스로써, 운영체제(OS) 가장 외곽계층에 존재하여 사용자의 명령어를 이해하고 실행함
점검대상 및 판단기준
■ 대상 : SOLARIS, LINUX, AIX, HP-UX 등
양호
로그인이 필요하지 않은 계정에 /bin/false(/sbin/nologin) 쉘이 부여되어 있는 경우
취약
로그인이 필요하지 않은 계정에 /bin/false(/sbin/nologin) 쉘이 부여되지 않은 경우
■ 조치방법
로그인이 필요하지 않은 계정에 대해 /bin/false(/sbin/nologin) 쉘 부여
점검 방법
■ OS별 점검 파일 위치 및 점검 방법
SOLARIS, LINUX, HP-UX, AIX
#cat /etc/passwd | egrep “^daemon|^bin|^sys|^adm|^listen|^nobody|^nobody4|^noaccess|^diag|^operator|^games|^gopher” | grep –v “admin” |
시스템에 불필요한 계정을 확인한 후 /bin/false(nologin) 쉘이 부여되어 있지 않은 경우
아래의 보안설정방법에 따라 설정을 변경함
(※ 불필요한 계정은 시스템 용도에 따라 차이가 있음)
■ SOLARIS, LINUX, AIX, HP-UX
Step 1) vi 편집기를 이용하여 “/etc/passwd” 파일 열기
Step 2) 로그인 쉘 부분인 계정 맨 마지막에 /bin/false(/sbin/nologin) 부여 및 변경
(수정 전) daemon:x:1:1::/:/sbin/ksh
(수정 후) daemon:x:1:1::/:/bin/false 또는, daemon:x:1:1::/:/sbin/nologin
일반적으로 로그인이 불필요한 계정 |
daemon, bin, sys, adm, listen, nobody, nobody4, noaccess, diag, listen, operator, games, gopher 등 일반적으로 UID 100 이하 60000 이상의 시스템 계정 해당 |
■ 조치 시 영향 : 일반적인 경우 영향 없음
모호한 경우 “/etc/shadow” 파일에서 해당 계정에 패스워드 존재 여부로 확인