가. 취약점 개요
■ 내용 : ftp 기본 계정에 쉘 설정 여부 점검
■ 목적 : FTP 서비스 설치 시 기본으로 생성되는 ftp 계정은 로그인이 필요하지 않은 계정으로 쉘을 제한하여 해당 계정으로의 시스템 접근을 차단하기 위함
■ 보안 위협
- 불필요한 기본 계정에 쉘(Shell)을 부여할 경우, 공격자에게 해당 계정이 노출되어 ftp 기본 계정으로 시스템 접근하여 공격이 가능해짐
■ 참고
※ 쉘(Shell): 대화형 사용자 인터페이스로써, 운영체제(OS) 가장 외곽계층에 존재하여 사용자의 명령어를 이해하고 실행함
※ 기반시설 시스템에서 ftp 서비스의 이용은 원칙적으로 금지하나, 부득이 해당 기능을 활용 해야 하는 경우 shell 제한 등의 보안 조치를 반드시 적용하여야 함
※ 관련 점검 항목 : U-64(하), U-65(중)
나. 점검방법
■ 대상 : SOLARIS, LINUX, AIX, HP-UX 등
■ 판단기준
- 양호 : ftp 계정에 /bin/false 쉘이 부여되어 있는 경우
- 취약 : ftp 계정에 /bin/false 쉘이 부여되어 있지 않은 경우
■ 점검 명령어
OS | 점검 파일 |
SOLARIS, LINUX, AIX, HP-UX | ftp 계정에 대한 /bin/false 부여 확인 #cat /etc/passwd ftp:x:500:100:Anonymous FTP USER:/var/ftp:/sbin/bash |
"passwd" 파일 내 로그인 쉘 설정이 “/bin/false"가 아닌 경우 아래의 보안설정방법에 따라 설정을 변경함 |
다. 조치방법
■ 조치방법 : ftp 계정에 /bin/false 쉘 부여
■ SOLARIS, LINUX, AIX, HP-UX
Step 1) vi 편집기를 이용하여 “/etc/passwd” 파일 열기
Step 2) ftp 계정의 로그인 쉘 부분인 계정 맨 마지막에 /bin/false 부여 및 변경
(수정 전) ftp:x:500:100:Anonymous FTP USER:/var/ftp:/sbin/bash
(수정 후) ftp:x:500:100:Anonymous FTP USER:/var/ftp:/bin/false
Step 3) # usermod –s /bin/false [계정ID] 부여로 변경 가능
* Step 2 로 적용이 되지 않을경우는 Step3의 usermod 명령어를 사용하여 쉘 변경
라. 조치시 영향
■ 일반적인 경우 영향 없음