정보보호 컨설팅/기술&진단

[Linux] 계정 bash, nologin, false 정리

감_자도리 2021. 8. 5. 09:44

리눅스에서 

cat /etc/passwd 를 입력해 /etc/passwd 파일 내용을 확인해봅니다.

해당 파일은 기본 계정, 시스템 계정을 포함하여 새로 생성된 계정들이 포함되어 있습니다.

 

각 계정은 구분자(:)에 의해 7개의 필드로 나뉘어져 있습니다.

오늘은 그 중 마지막 필드인 '로그인 쉘'을 살펴보겠습니다.

 

 

/bin/bash 는 사용자 계정에 로그인했을 때 기본적으로 사용되는 쉘입니다.

 

/bin/false 는 shell, ssh 접근 및 홈 디렉토리 제공 등 모든 것이 제한됩니다.

 

/sbin/nologin 은 shell, ssh 접근 및 홈 디렉토리 제공은 제한되지만 ftp 접근은 허용됩니다. 주로 불필요한 계정에 설정해놓습니다.

 

이와 관련된 주요통신기반시설 점검 항목은 [U-63 ftp 계정 shell 제한] 입니다.

ftp 계정에 /bin/false가 설정되어 있지 않으면 취약으로 판단합니다.

 

불필요한 기본 계정에 쉘(Shell)을 부여할 경우, 공격자에게 해당 계정이 노출되어 ftp 기본 계정으로 시스템에 접근할 수 있기에 꼭 쉘을 차단시켜야 합니다. FTP 서비스가 설치되면 기본으로 ftp 계정이 생성되므로 해당 계정으로의 시스템 접근을 차단해줘야겠습니다.

 

원칙적으론, 기반시설 시스템에서 ftp 서비스는 이용하면 안됩니다. 

따라서, 부득이 ftp를 사용하는 경우 shell을 꼭 차단해줘야합니다.