웹사이트 검색

Ubuntu 15.04에서 TLS로 Proftpd를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. Proftpd 및 OpenSSL 설치
  3. Proftpd 구성
  4. FTP 사용자 추가
  5. Proftpd에서 TLS 구성
  6. 테스트

FTP(파일 전송 프로토콜)는 아마도 서버에 파일을 업로드하는 가장 일반적인 방법일 것입니다. ProFTPD는 SSL/TLS 암호화를 지원하는 인기 있고 쉽게 구성할 수 있는 Linux 시스템용 FTP 서버입니다.

FTP는 모든 비밀번호와 모든 데이터가 일반 텍스트로 전송되기 때문에 안전하지 않은 프로토콜입니다. TLS를 사용하면 전체 통신을 암호화할 수 있으므로 FTP를 파일 전송을 위한 안전한 프로토콜로 만들 수 있습니다. 이 문서에서는 Ubuntu 서버 15.04에서 TLS로 proftpd를 구성하는 방법에 대해 설명합니다.

전제 조건

  1. 우분투 서버 15.04 64비트
  2. sudo/루트 권한\n

이 튜토리얼에서 우리가 할 것:

  1. Proftpd 및 OpenSSL 설치
  2. Proftpd 구성
  3. 사용자 구성
  4. proftpd로 TLS 구성
  5. 테스트

Proftpd 및 OpenSSL 설치

Proftpd 및 OpenSSL은 Ubuntu 저장소에서 사용할 수 있으며 apt 명령으로 설치할 수 있습니다. 일반적인 설치 명령과 마찬가지로 sudo를 통해 apt 명령을 실행하여 루트 권한으로 실행합니다.

sudo apt-get install -y proftpd openssl

설치가 시작되면 Proftpd를 inetd 또는 독립형 서비스로 실행할지 묻는 메시지가 표시됩니다. 여기에서 독립형 옵션을 선택한 다음 확인을 선택합니다.

Proftpd 구성

Proftpd가 설치되면 일부 구성 파일을 변경해야 합니다. Proftpd 구성 파일은 /etc/proftpd/ 디렉터리에 있습니다. nano 편집기로 proftpd.conf 파일을 편집하겠습니다.

cd /etc/proftpd/
nano proftpd.conf

ServerName 행에서 이름을 호스트 이름 또는 도메인으로 변경합니다.

ServerName                      "myhostname"

DefaultRoot의 주석을 제거하십시오.

# Use this to jail all users in their homes
DefaultRoot   		~

Proftpd를 다시 시작합니다.

systemctl restart proftpd

FTP 사용자 추가

FTP 서버에 액세스하는 일반적인 두 가지 방법이 있습니다.

1. 익명의 FTP, FTP 서버는 사용자 계정과 암호가 없어도 누구나 액세스할 수 있습니다.
2. FTP 서버에 액세스할 수 있는 사용자 계정과 비밀번호가 있는 사용자만 사용자 이름과 비밀번호로 액세스합니다.

여기서 옵션 2를 구성하겠습니다. 익명 FTP는 인터넷 시대 초기에 인기가 있었지만 오늘날에는 익명 FTP 서버가 너무 많이 오용되어 이 옵션은 가정이나 회사 네트워크와 같은 폐쇄된 환경에서만 사용할 수 있습니다.

Proftpd에 대한 사용자를 생성하기 전에 /bin/false를 /etc/shells 파일에 추가하십시오.

echo "/bin/false" >> /etc/shells

이제 FTP로 액세스할 수 있는 홈 디렉터리가 있는 사용자를 만듭니다. 이 사용자가 SSH로 로그인할 수 없도록 "/bin/false" 셸을 할당하여 이 사용자의 셸 액세스를 비활성화합니다. 내 사용자 이름은 \yuuki\입니다. 다음 명령어에서 yuuki를 사용자 이름으로 바꾸세요.

adduser --home /home/yuuki --shell /bin/false yuuki

위의 명령은 홈 디렉토리가 /home/yuuki/이고 쉘 액세스 /bin/false가 없는 yuuki라는 새 사용자를 생성합니다.

이제 사용자 yuuki가 FTP 서버에 액세스할 수 있도록 Proftpd를 구성합니다.

cd /etc/proftpd/
nano proftpd.conf

이 구성을 추가하여 사용자 yuuki가 자신의 홈 디렉토리인 /home/yuuki에 로그인하고 파일을 업로드/다운로드할 수 있도록 합니다.

<Directory /home/yuuki>
Umask 022 022
AllowOverwrite off
     <Limit LOGIN>
        AllowUser yuuki
        DenyALL
     </Limit>
     <Limit ALL>
        Order Allow,Deny
        AllowUser yuuki
        Deny ALL
    </Limit>
    <Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD>
    AllowUser yuuki
    Deny ALL
    </Limit>
</Directory>

그런 다음 Proftpd를 다시 시작하십시오.

systemctl restart proftpd

이 단계까지는 이미 암호화 없이 FTP를 사용할 수 있습니다. 이제 TLS를 활성화하여 안전하게 만들겠습니다.

Proftpd에서 TLS 구성

TLS를 사용하려면 SSL 인증서를 만들어야 합니다. OpenSSL 명령어로 SSL 인증서를 생성하겠습니다.

openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt  -nodes -days 365

이 명령어는 /etc/ssl/certs/ 디렉토리에 인증서 파일 proftpd.crt를 생성하고 /etc/ssl/private/ 디렉토리에 인증서 키 파일 proftpd.key를 생성합니다.

다른 사용자의 액세스를 허용하지 않으려면 인증서 파일의 파일 권한을 600으로 변경합니다.

chmod 600 /etc/ssl/certs/proftpd.crt
chmod 600 /etc/ssl/private/proftpd.key

이제 Proftpd 디렉터리로 돌아가서 생성한 인증서에 SSL을 사용하도록 Proftpd를 구성합니다.

cd /etc/proftpd/
nano proftpd.conf

tls 라인의 주석 처리를 제거합니다.

Include /etc/proftpd/tls.conf

저장하고 tls 파일을 편집합니다.

nano tls.conf

다음 줄을 모두 주석 해제하십시오.

TLSEngine                               on
TLSLog                                  /var/log/proftpd/tls.log
TLSProtocol                             SSLv23

TLSRSACertificateFile                   /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile                /etc/ssl/private/proftpd.key

TLSOptions                              NoCertRequest

TLSVerifyClient                         off

TLSRequired                             on

저장 및 종료. 마지막 단계는 Proftpd 서버를 다시 시작하는 것입니다.

systemctl restart proftpd

테스트

구성을 테스트하려면 FTP 클라이언트를 사용하여 FTP 서버에 연결해 보십시오. 여기서는 FileZilla를 사용하겠습니다. 서버 IP, 사용자 이름, 비밀번호 및 포트를 입력합니다.

Server IP : 192.168.1.108
username : yuuki
Password ******
Port : 21

그런 다음 Quickconnect를 클릭합니다. SSL 인증서를 확인하라는 메시지가 표시되면 확인을 클릭하십시오.