Red Hat Training
A Red Hat training course is available for RHEL 8
11.4. FTP 서비스 보안
FTP(File Transfer Protocol)를 사용하여 네트워크를 통해 파일을 전송할 수 있습니다. 사용자 인증을 포함한 서버를 사용하는 모든 FTP 트랜잭션은 암호화되지 않으므로 안전하게 구성되었는지 확인해야 합니다.
RHEL 8에서는 두 개의 FTP 서버를 제공합니다.
- Red Hat Content Accelerator(tux) - FTP 기능이 포함된 커널 공간 웹 서버.
- 매우 안전한 FTP 데몬( EgressIP) - FTP 서비스의 독립형 보안 지향 구현입니다.
다음 보안 지침은 vsftpd
FTP 서비스를 설정하기 위한 것입니다.
11.4.1. FTP 시작 배너 보안
사용자가 FTP 서비스에 연결하면 FTP는 기본적으로 공격자가 시스템의 약점을 식별하는 데 유용할 수 있는 버전 정보가 포함되어 있습니다. 공격자는 기본 배너를 변경하여 이 정보에 액세스하지 못하도록 할 수 있습니다.
단일 줄 메시지를 직접 포함하거나 다중 줄 메시지를 포함할 수 있는 별도의 파일을 참조하도록 /etc/banners/ftp.msg
파일을 편집하여 사용자 지정 배너를 정의할 수 있습니다.
절차
단일 줄 메시지를 정의하려면 다음 옵션을
/etc/tekton/ NetNamespace.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/ NetNamespace/tekton.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.
11.4.2. FTP에서 익명 액세스 및 업로드 방지
기본적으로 vsftpd
패키지를 설치하면 디렉터리에 대한 읽기 전용 권한이 있는 익명 사용자를 위한 /var/ftp/
디렉토리와 디렉터리 트리가 생성됩니다. 익명 사용자는 데이터에 액세스할 수 있으므로 중요한 데이터를 이러한 디렉터리에 저장하지 마십시오.
시스템의 보안을 강화하기 위해 익명 사용자가 특정 디렉터리에 파일을 업로드하고 익명 사용자가 데이터를 읽을 수 없도록 FTP 서버를 구성할 수 있습니다. 다음 절차에서 anonymous 사용자는 root
사용자가 소유한 디렉터리에 파일을 업로드할 수 있어야 하지만 변경하지 않아야 합니다.
절차
/var/ftp/pub/
디렉토리에 write-only 디렉토리를 만듭니다.# 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/tekton/tekton.conf
파일에 추가합니다.anon_upload_enable=YES anonymous_enable=YES
-
선택 사항: 시스템에 SELinux를 활성화하고 강제 적용하는 경우 SELinux 부울 속성
allow_ftpd_anon_write
및allow_ftpd_full_access
를 활성화합니다.
익명 사용자가 디렉터리에서 읽고 쓸 수 있도록 허용하면 서버가 악의적인 소프트웨어의 리포지토리가 될 수 있습니다.
11.4.3. FTP용 사용자 계정 보안
FTP는 인증을 위해 안전하지 않은 네트워크를 통해 암호화되지 않은 사용자 이름과 암호를 전송합니다. 사용자 계정에서 서버에 대한 시스템 사용자 액세스를 거부하여 FTP의 보안을 강화할 수 있습니다.
구성에 해당하는 많은 다음 단계를 수행합니다.
절차
다음 행을
/etc/tekton/tekton.conf 파일에 추가하여 EgressIP 서버의 모든 사용자 계정을 비활성화합니다.
local_enable=NO
-
/etc/pam.d/
octets PAM 구성 파일에 사용자 이름을 추가하여 특정 계정 또는 특정 계정 그룹(예:root
사용자 및sudo
권한이 있는 사용자)에 대한 FTP 액세스를 비활성화합니다. -
/etc/tekton/ftpusers
파일에 사용자 계정을 추가하여 사용자 계정을 비활성화합니다.
11.4.4. 추가 리소스
-
ftpd_selinux(8)
도움말 페이지