웹사이트 검색

CentOS 7.2에서 TLS 세션을 사용하도록 PureFTPd 및 FileZilla를 구성하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 센트OS 7.2
  • 센트OS 5.5

이 페이지에서

  1. 1 서문
  2. 2 OpenSSL 설치
  3. 3 PureFTPd 구성
  4. 4 TLS용 SSL 인증서 생성
  5. 5 TLS용 FileZilla 구성
  6. 6개의 링크

이 문서에서는 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로 설정합니다.

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      1
[...]

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

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

TLS                      2
[...]

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

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.

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 클라이언트를 사용하여 연결을 시도할 수 있습니다. 그러나 TLS를 사용하도록 FTP 클라이언트를 구성해야 합니다. FileZilla로 이를 수행하는 방법은 다음 장을 참조하십시오.

5 TLS용 FileZilla 구성

TLS와 함께 FTP를 사용하려면 FileZilla 또는 Firefox FireFTP 플러그인과 같은 TLS를 지원하는 FTP 클라이언트가 필요합니다.

FileZilla에서 사이트 관리자를 엽니다.

TLS와 함께 PureFTPd를 사용하는 서버를 선택하십시오. 서버 유형 드롭다운 메뉴에서 일반 FTP 대신 TLS를 통한 명시적 FTP 필요를 선택합니다.

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

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

6 링크

  • PureFTPd: http://www.pureftpd.org/
  • 파일질라: http://filezilla-project.org/
  • CentOS: http://www.centos.org/