[리눅스/계정관리] 사용자 shell 점검 (U-53)
- 취약점 점검/리눅스
- 2021. 9. 7.
사용자 shell 점검
취약점 개요
■ 위험도
- 하
■ 점검 목적
- 로그인이 불필요한 계정에 쉘 설정을 제거하여, 로그인이 필요하지 않은 계 정을 통한 시스템 명령어를 실행하지 못하게 하기 위함
■ 보안 위협
- 로그인이 불필요한 계정은 일반적으로 OS 설치 시 기본적으로 생성되는 계 정으로 쉘이 설정되어 있을 경우, 공격자는 기본 계정들을 이용하여 시스템 에 명령어를 실행 할 수 있음
점검 및 조치 방법
■ 판단 기준
- 양호 : 로그인이 필요하지 않은 계정에 /bin/false(/sbin/nologin) 쉘이 부여되어 있는 경우
- 취약 : 로그인이 필요하지 않은 계정에 /bin/false(/sbin/nologin) 쉘이 부여되지 않은 경우
■ 조치 방법
로그인이 필요하지 않은 계정에 대해 /bin/false(/sbin/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
■ 점검 및 조치 사례
■ 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
■ 스크립트
echo"U-53 START"
echo"[U-53 사용자 shell 점검]" >> $COMPUTERNAME2>&1
echo"[PASSWD 계정 리스트 확인]" >> $COMPUTERNAME2>&1
echo"ID|Shell|Comment" >> $COMPUTERNAME2>&1
awk-F:'{printf"%-15s|%-15s|%-20s\n",$1,$7,$5}'"$PASSWD" >> $COMPUTERNAME2>&1
echo"" >> $COMPUTERNAME2>&1
echo"U-53 END" >> $COMPUTERNAME2>&1
echo"======================================================================================" >> $COMPUTERNAME2>&1
echo"" >> $COMPUTERNAME2>&1
echo"" >> $COMPUTERNAME2>&1