Security Practice Archive

보안 점검과 설정을
기록합니다.

시스템, 클라우드 등 다양한 환경에서 확인한 점검 기준과 설정 과정, 검증 결과를 정리합니다.

categories 글 모아보기
Browse topics

주제별로 빠르게 이동

카테고리를 선택해 관련 글을 모아볼 수 있습니다.

약 1분

[인프라진단] #U-55 FTP 계정 shell 제한

반응형

1. 항목 설명

파일 전송 전용 계정에 대화형 셸이 있으면 탈취된 계정이 일반 로그인과 명령 실행에 악용될 수 있습니다.

판단 기준: FTP 전용 계정의 로그인 셸이 nologin 또는 false로 제한되면 양호입니다.

2026 가이드 근거

U-55 2026 가이드 근거. 출처: 과학기술정보통신부·한국인터넷진흥원, 「2026 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드」, U-55, p.134. 본 게시글은 위 가이드의 판단 기준을 참고하여 작성했으며, 진단 결과와 증적은 개인 실습 환경에서 직접 수집했습니다.

2. 점검 목적

서비스 계정의 사용 범위를 파일 전송 기능으로 한정하고 운영체제 셸 접근을 차단하는 것이 목적입니다.

3. 실습 환경

  • 원본 진단 환경: Ubuntu 24.04.2 LTS
  • 설정 화면 확인 환경: Ubuntu Server 24.04.4 LTS, Linux 6.8.0-138-generic
  • 가상화 환경: VMware Workstation
  • 호스트 이름: u-lab
  • 네트워크: VMware Host-only 격리망, 기본 게이트웨이 없음
  • 원본 진단 실행 ID: 20260903-094131
  • 원본 진단 수집일: 2026-09-03
  • 증적 화면 캡처일: 2026-09-08
  • 화면 수집 방식: VMware Ubuntu VM 콘솔 직접 캡처

최초진단과 이행진단 이미지는 2026-09-03에 실제 수집한 원본 결과를 VM 콘솔에서 열어 캡처했습니다. 원본 수집일과 화면 캡처일은 서로 다르며, 과거 결과를 오늘의 재진단 결과로 표시하지 않았습니다. 취약 상태 구성과 조치에는 격리된 관리 연결을 보조적으로 사용했습니다.

설정 확인 이미지는 캡처일의 VM에서 명령을 실행한 화면입니다. 실습 종료 후 서비스를 중지하거나 임시 설정을 제거한 항목은 당시 이행진단과 현재 상태가 다를 수 있습니다.

4. 취약 상태 구성

기본 FTP 서비스 계정의 셸을 /bin/bash로 변경해 대화형 로그인 가능 상태를 만들었습니다.

이 구성은 인터넷과 분리된 실습 VM에서 관리자 권한으로만 수행했습니다.

구성 방법

sudo usermod -s /bin/bash ftp

구성 후 다음 명령으로 실제 상태를 확인했습니다.

getent passwd ftp | awk -F: '{print "account="$1, "uid="$3, "home="$6, "shell="$7}'

5. 최초진단 결과

  • 원본 진단 판정: 취약
  • 원본 진단 판정 근거: FTP 계정의 셸이 /bin/bash로 확인됐습니다.

U-55 최초진단 현황 증적

6. 조치 방법

FTP 계정의 셸을 /usr/sbin/nologin으로 변경했습니다.

sudo usermod -s /usr/sbin/nologin ftp

Linux 설정 확인 위치: 계정 DB의 ftp 계정 로그인 셸

현재 설정 화면에서도 ftp 계정의 로그인 셸이 /usr/sbin/nologin인지 확인했습니다. vsftpd는 실습 정리 후 중지되어 있습니다.

U-55 Linux 설정 확인 화면 증적

7. 이행진단 결과

  • 원본 진단 판정: 양호
  • 원본 진단 판정 근거: FTP 계정 셸이 /usr/sbin/nologin으로 확인됐습니다.

U-55 이행진단 현황 증적

8. 실무 주의사항

일부 FTP 서버는 허용 셸 목록을 별도로 확인합니다. 셸 변경 후 정상 파일 전송과 셸 로그인 차단을 모두 시험해야 합니다.

컨설턴트 조언

  • 서비스 계정의 SSH 키, sudo, cron과 소유 파일도 조사해 셸 외의 우회 실행 경로가 없는지 확인합니다.
  • 로컬 파일뿐 아니라 LDAP·AD·NIS 등 실제 계정 원장을 포함해 영향 대상을 식별합니다.
  • 계정이나 홈을 변경하기 전에 소유 파일, 예약 작업, 서비스 의존성과 복구 절차를 확인합니다.
  • 조치 후 해당 계정의 로그인 제한과 필요한 업무 기능을 별도 세션에서 다시 시험합니다.

9. 마무리

이번 실습에서는 실제 최초·이행진단 기록과 VM 콘솔 캡처를 비교했습니다. 운영 환경에서도 변경 후 기능 시험과 정기 재점검을 함께 수행해야 합니다.

반응형