6.4. FTP 서비스 보안


FTP(파일 전송 프로토콜)를 사용하여 네트워크를 통해 파일을 전송할 수 있습니다. 사용자 인증을 포함하여 서버와의 모든 FTP 트랜잭션은 암호화되지 않으므로 안전하게 구성되었는지 확인하십시오.

RHEL 9는 두 개의 FTP 서버를 제공합니다.

Red Hat Content Accelerator (tux)
FTP 기능이 있는 커널 공간 웹 서버.
매우 안전한 FTP 데몬 (vsftpd)
FTP 서비스의 독립 실행형 보안 지향 구현입니다.

다음 보안 지침은 vsftpd FTP 서비스를 설정하기 위한 것입니다.

6.4.1. FTP 인사 배너 보안

사용자가 FTP 서비스에 연결하면 FTP는 기본적으로 버전 정보를 포함하는 인사말 배너를 표시합니다. 공격자는 이 정보를 사용하여 시스템의 취약점을 식별할 수 있습니다. 기본 배너를 변경하여 이 정보를 숨길 수 있습니다.

단일 줄 메시지를 직접 포함하거나 여러 줄 메시지를 포함할 수 있는 별도의 파일을 참조하도록 /etc/banners/ftp.msg 파일을 편집하여 사용자 지정 배너를 정의할 수 있습니다.

절차

  • 한 줄 메시지를 정의하려면 다음 옵션을 /etc/COMPLETE/COMPLETE.conf 파일에 추가하십시오.

    ftpd_banner=Hello, all activity on ftp.example.com is logged.
  • 별도의 파일에 메시지를 정의하려면 다음을 수행합니다.

    • 배너 메시지가 포함된 .msg 파일을 만듭니다(예: /etc/banners/ftp.msg ):

      ######### Hello, all activity on ftp.example.com is logged. #########

      여러 배너의 관리를 단순화하려면 모든 배너를 /etc/banners/ 디렉토리에 배치합니다.

    • /etc/COMPLETE/COMPLETE.conf 파일의 banner_file 옵션에 배너 파일 경로를 추가합니다.

      banner_file=/etc/banners/ftp.msg

검증

  • 수정된 배너를 표시합니다.

    $ ftp localhost
    Trying ::1…
    Connected to localhost (::1).
    Hello, all activity on ftp.example.com is logged.

6.4.2. FTP에서 익명 액세스 및 업로드 방지

기본적으로 vsftpd 패키지를 설치하면 디렉터리에 대한 읽기 전용 권한이 있는 익명 사용자의 경우 /var/ftp/ 디렉터리와 디렉터리 트리가 생성됩니다. 익명 사용자는 데이터에 액세스할 수 있으므로 중요한 데이터를 이러한 디렉터리에 저장하지 마십시오.

시스템의 보안을 강화하기 위해 익명 사용자가 특정 디렉터리에 파일을 업로드하고 익명의 사용자가 데이터를 읽지 못하도록 FTP 서버를 구성할 수 있습니다. 다음 절차에서는 익명 사용자가 root 사용자가 소유한 디렉터리에 파일을 업로드할 수 있지만 변경할 수는 없어야 합니다.

절차

  • /var/ftp/pub/ 디렉토리에 쓰기 전용 디렉토리를 만듭니다.

    # mkdir /var/ftp/pub/upload
    # chmod 730 /var/ftp/pub/upload
    # ls -ld /var/ftp/pub/upload
    drwx-wx---. 2 root ftp 4096 Nov 14 22:57 /var/ftp/pub/upload
  • 다음 행을 /etc/COMPLETE/vsftpd.conf 파일에 추가합니다.

    anon_upload_enable=YES
    anonymous_enable=YES
  • 선택 사항: 시스템에 SELinux를 활성화 및 적용하는 경우 SELinux 부울 속성 allow_ftpd_anon_writeallow_ftpd_full_access 를 활성화합니다.
주의

익명의 사용자가 디렉토리를 읽고 쓸 수 있도록 허용하면 서버가 손상되는 소프트웨어를 위한 저장소가 될 수 있습니다.

6.4.3. FTP용 사용자 계정 보안

FTP는 인증을 위해 안전하지 않은 네트워크를 통해 사용자 이름과 암호를 전송합니다. 사용자 계정에서 서버에 대한 시스템 사용자 액세스를 거부하여 FTP의 보안을 개선할 수 있습니다.

구성에 적용할 수 있는 만큼 다음 단계를 수행합니다.

절차

  • /etc/COMPLETE/COMPLETE.conf 파일에 다음 행을 추가하여 vsftpd 서버의 모든 사용자 계정을 비활성화합니다.

    local_enable=NO
  • 사용자 이름을 /etc/pam.d/ COMPLETE PAM 구성 파일에 추가하여 특정 계정 또는 특정 계정 그룹(예: root 사용자 및 sudo 권한이 있는 사용자)에 대한 FTP 액세스를 비활성화합니다.
  • /etc/COMPLETE/ftpusers 파일에 사용자 계정을 추가하여 사용자 계정을 비활성화합니다.

6.4.4. 추가 리소스

  • 시스템의 ftpd_selinux(8) 도움말 페이지
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.