기록하는 공부

[U-53 (하)] 1. 계정관리 > 1.14 사용자 shell 점검 본문

정보보안/주요정보통신기반시설가이드

[U-53 (하)] 1. 계정관리 > 1.14 사용자 shell 점검

SS_StudySteadily 2024. 1. 22. 22:03
728x90
반응형

 

 

 

점검내용

 

로그인이 불필요한 계정(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” 파일에서 해당 계정에 패스워드 존재 여부로 확인

 

 

 

 


 

 

실습

 

  • vi 편집기를 이용하여 “/etc/passwd” 파일 열기
vi /etc/passwd

 

/etc/passwd

 

  • 로그인 쉘 부분인 계정 맨 마지막에 /bin/false(/sbin/nologin) 부여 및 변경
    • 이미 /sbin/nologin 쉘이 부여되어 있음

 

 

진단결과

 

양호 : 로그인이 필요하지 않은 계정에 /bin/false(/sbin/nologin) 쉘이 부여되어 있는 경우

728x90
반응형