서버 설정 · 3 min read · Dec 14, 2025

CentOS 7.2에서 PureFTPd와 FileZilla를 TLS 세션으로 구성하는 방법

이 문서에서는 CentOS 7.2 서버에서 TLS 세션을 수용하도록 PureFTPd를 구성하는 방법을 설명합니다. 일반 FTP는 모든 비밀번호와 데이터가 일반 텍스트로 전송되기 때문에 안전하지 않은 프로토콜입니다. TLS를 사용하면 전체 통신을 암호화할 수 있어 FTP를 훨씬 더 안전하게 만들 수 있습니다.

1 사전 참고

CentOS 7.2 서버에 작동하는 PureFTPd 설정이 있어야 합니다. 예를 들어, 이 튜토리얼에서 보여준 대로: CentOS 7.2에서 PureFTPd, MariaDB 및 가상 사용자(쿼터 및 대역폭 관리 포함)로 FTP 서버 설정하기

2 OpenSSL 설치하기

TLS는 OpenSSL이 필요합니다. OpenSSL을 설치하려면 다음 명령어를 실행합니다:

yum -y install openssl

3 PureFTPd 구성하기

/etc/pure-ftpd/pure-ftpd.conf를 엽니다…

nano /etc/pure-ftpd/pure-ftpd.conf

FTP TLS 세션을 허용하려면 TLS를 1로 설정합니다:

[...]
# 이 옵션은 세 가지 값을 수용할 수 있습니다:
# 0 : SSL/TLS 암호화 계층 비활성화(기본값).
# 1 : 전통적인 세션과 암호화된 세션 모두 수용.
# 2 : SSL/TLS 보안 메커니즘을 사용하지 않는 연결 거부,
#     익명 세션 포함.
# 이 설정을 맹목적으로 주석 해제하지 마십시오. 다음을 확인하십시오:
# 1) 서버가 SSL/TLS 지원으로 컴파일되었는지 (--with-tls),
# 2) 유효한 인증서가 있는지,
# 3) 호환 가능한 클라이언트만 로그인할 수 있는지.

TLS                      1
[...]

TLS 세션만 수용하려면(FTP 없음) TLS를 2로 설정합니다:

[...]
# 이 옵션은 세 가지 값을 수용할 수 있습니다:
# 0 : SSL/TLS 암호화 계층 비활성화(기본값).
# 1 : 전통적인 세션과 암호화된 세션 모두 수용.
# 2 : SSL/TLS 보안 메커니즘을 사용하지 않는 연결 거부,
#     익명 세션 포함.
# 이 설정을 맹목적으로 주석 해제하지 마십시오. 다음을 확인하십시오:
# 1) 서버가 SSL/TLS 지원으로 컴파일되었는지 (--with-tls),
# 2) 유효한 인증서가 있는지,
# 3) 호환 가능한 클라이언트만 로그인할 수 있는지.

TLS                      2
[...]

TLS를 전혀 허용하지 않으려면(오직 FTP만) TLS를 0으로 설정합니다:

[...]
# 이 옵션은 세 가지 값을 수용할 수 있습니다:
# 0 : SSL/TLS 암호화 계층 비활성화(기본값).
# 1 : 전통적인 세션과 암호화된 세션 모두 수용.
# 2 : SSL/TLS 보안 메커니즘을 사용하지 않는 연결 거부,
#     익명 세션 포함.
# 이 설정을 맹목적으로 주석 해제하지 마십시오. 다음을 확인하십시오:
# 1) 서버가 SSL/TLS 지원으로 컴파일되었는지 (--with-tls),
# 2) 유효한 인증서가 있는지,
# 3) 호환 가능한 클라이언트만 로그인할 수 있는지.

TLS                      0
[...]

그런 다음 다음 두 줄 앞의 #을 제거합니다:

TLSCipherSuite           HIGH  
CertFile                 /etc/ssl/private/pure-ftpd.pem

변경된 구성 파일을 저장합니다.

4 TLS를 위한 SSL 인증서 생성하기

TLS를 사용하기 위해 SSL 인증서를 생성해야 합니다. 나는 /etc/ssl/private/에 생성하므로 먼저 해당 디렉토리를 생성합니다:

mkdir -p /etc/ssl/private/

그 후, 다음과 같이 SSL 인증서를 생성할 수 있습니다:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

국가 이름 (2자리 코드) [XX]: <– 귀하의 국가 이름을 입력하십시오 (예: “DE”).
주 또는 지방 이름 (전체 이름) []: <– 귀하의 주 또는 지방 이름을 입력하십시오.
지역 이름 (예: 도시) [기본 도시]: <– 귀하의 도시를 입력하십시오.
조직 이름 (예: 회사) [기본 회사 Ltd]: <– 귀하의 조직 이름을 입력하십시오 (예: 귀하의 회사 이름).
조직 단위 이름 (예: 섹션) []: <– 귀하의 조직 단위 이름을 입력하십시오 (예: “IT 부서”).
공통 이름 (예: 귀하의 이름 또는 서버의 호스트 이름) []: <– 시스템의 완전한 도메인 이름을 입력하십시오 (예: “server1.example.com”).
이메일 주소 []: <– 귀하의 이메일 주소를 입력하십시오.

SSL 인증서의 권한을 변경합니다:

chmod 600 /etc/ssl/private/pure-ftpd.pem

마지막으로 PureFTPd를 재시작합니다:

systemctl restart pure-ftpd.service

그게 다입니다. 이제 FTP 클라이언트를 사용하여 연결을 시도할 수 있습니다. 그러나 FTP 클라이언트를 TLS를 사용하도록 구성해야 합니다. 다음 장에서 FileZilla로 이를 수행하는 방법을 살펴보겠습니다.

5 TLS를 위한 FileZilla 구성하기

TLS로 FTP를 사용하려면 TLS를 지원하는 FTP 클라이언트가 필요합니다. 예를 들어 FileZilla 또는 Firefox FireFTP 플러그인이 있습니다.

FileZilla에서 사이트 관리자(Site Manager)를 엽니다:

FileZilla - 사이트 관리자 열기.

TLS를 사용하는 PureFTPd 서버를 선택합니다. 서버 유형(Server Type) 드롭다운 메뉴에서 일반 FTP 대신 Require Explicit FTP over TLS를 선택합니다:

사용자 세부정보 입력.

이제 서버에 연결할 수 있습니다. 처음으로 이 작업을 수행하는 경우, 우리는 여기에서 자체 서명된 SSL 인증서를 사용하고 있으므로 서버의 새로운 SSL 인증서를 수락해야 합니다:

SSL 오류 수락

모든 것이 잘 진행되면 이제 서버에 로그인되어 있어야 합니다:

TLS로 로그인 성공.

6 링크

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.