본문 바로가기
인프라 진단/전자금융기반시설(서버) - Linux

SRV-165 불필요하게 Shell이 부여된 계정 존재

by 49 BLOCK 2024. 1. 4.

notice

SRV-165 불필요하게 Shell이 부여된 계정 존재

【 상세설명 】
로그인이 불필요한 계정들에 /bin/false 등을 부여하여 계정 탈취 시의 피해를 감소시키기 위한 설정을 적용하고 있는지 여부를 점검

【 판단기준 】
- 양호 : 로그인이 필요하지 않은 계정에 /bin/false(nologin) 등이 부여된 경우
- 취약 : 로그인이 필요하지 않은 계정에 shell이 부여된 경우

※ 일반적으로 Daemon 실행을 위한 계정은 Shell이 불필요( 예: ftp, apache, www-data ) 

【 판단방법 】
  1. 설치되어 있는 Shell 확인
      ※ "/etc/passwd" 파일과 "/etc/group" 파일을 비교하여 확인
      ※ "/etc/group" 파일에서 신규 그룹이 생성되는 GID를 중점적으로 점검
  2. 사용자 계정(Shell 사용 가능 계정) 확인
      ※ 구성원이 존재하지 않는 그룹, 존재하지 않는 계정인 그룹 구성원 등 확인
      ※ 시스템 그룹인 경우 구성원이 존재하지 않을 수 있으며 삭제하지 않아도 되나 조치가 필요한 경우 정보시스템 운영 환경 및 서비스 영향력을 고려하여 실시

   ■ Linux, AIX, HP-UX, SOLARIS
      # cat /etc/shells
          /bin/sh
          /bin/bash
          /usr/bin/sh
          /usr/bin/bash
          ...

      # cat /etc/passwd | egrep "^daemon|^bin|^sys|^adm|^listen|^nobody|^nobody4|^noaccess|^diag|^operator|^games|^gopher" |grep -v "admin"

  ※ Shell 사용이 불필요한 계정
      - daemon, bin, sys, adm, lp, mail, uucp, listen, nobody, nobody4, noaccess, diag, operator, games, gopher, ftp, sshd, postfix 등 시스템 계정(일반적으로 UID 100 이하 60000 이상)인 경우 Sheel 사용 불필요
      - 시스템 별 halt, sync, shutdown 등은 bin/false, /sbin/nologin 쉘 적용 불가
      - 각 운영체제 및 버전, 정보시스템 운영환경에 따라 Shell 사용이 불필요한 계정이 변경되므로 정보시스템 운영자 및  담당자 확인 필요
 
【 조치방법 】
  1. 불필요하게 Shell 이 부여된 계정에 대해 /bin/false(nologin) 설정
  2. 업무상 불필요한 계정인 경우 삭제
 
  2024-01-13 : (조치과정 삭제)