vsftp는 TLS 없이만 작동합니다.

vsftp는 TLS 없이만 작동합니다.

안녕하세요, 우분투 20.04에 vsftpd를 설치했습니다. 처음에는 보호 없이 FTP 서버를 테스트했는데 완벽하게 작동했습니다!

그런데 TLS 인증을 사용하면 서버가 더 이상 작동하지 않습니다. 무엇이 문제인지 모르겠습니다. 도와주세요! 이것은 vsftpd.conf의 인증 구성입니다.

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
allow_writeable_chroot=YES
pasv_min_port=10000
pasv_max_port=11000
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

fillezilla의 오류 출력은 다음과 같습니다.

Error: The data connection cannot be established: ECONNREFUSED - Connection refused by the server

로그 파일에서 다음을 얻습니다.

Fri Apr  9 21:30:18 2021 [pid 5390] DEBUG: Client "::ffff:196.178.36.3", "SSL version: TLSv1.3, SSL cipher: TLS_AES_256_GCM_SHA384, not reused, no cert"

출력 systemctl status vsftpd:

vsftpd.service - vsftpd FTP server
     Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-04-10 08:14:06 UTC; 3h 40min ago
    Process: 5466 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
   Main PID: 5467 (vsftpd)
      Tasks: 10 (limit: 2282)
     Memory: 4.1M
     CGroup: /system.slice/containerd.service/system.slice/vsftpd.service
             |-5467 /usr/sbin/vsftpd /etc/vsftpd.conf
             |-5483 /usr/sbin/vsftpd /etc/vsftpd.conf
             |-5484 /usr/sbin/vsftpd /etc/vsftpd.conf
             |-5485 /usr/sbin/vsftpd /etc/vsftpd.conf
             |-5486 /usr/sbin/vsftpd /etc/vsftpd.conf
             |-5487 /usr/sbin/vsftpd /etc/vsftpd.conf
             |-5488 /usr/sbin/vsftpd /etc/vsftpd.conf
             |-5490 /usr/sbin/vsftpd /etc/vsftpd.conf
             |-5491 /usr/sbin/vsftpd /etc/vsftpd.conf
             `-5492 /usr/sbin/vsftpd /etc/vsftpd.conf

Apr 10 08:14:06 VPS systemd[1]: Starting vsftpd FTP server...
Apr 10 08:14:06 VPS systemd[1]: Started vsftpd FTP server.

답변1

문제는 두 줄에서 발생합니다.

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

다음 줄을 사용하여 SSL 인증서를 만듭니다.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.pem

다음을 편집하세요 /etc/vsftpd.conf:

rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key

그런 다음 다시 시작하십시오 vsftpd.

sudo systemctl restart vsftpd

상태 확인:

systemctl status vsftpd

답변2

다음과 유사한 질문을 찾았습니다.https://askubuntu.com/questions/1111209/16-04-server-using-vsftpd-using-tls-getting-econnrefused

나에게 도움이 된 대답은 다음과 같습니다.

누구든지 동일한 문제가 있는 경우 다음 줄을 제거하면 문제가 해결되었습니다.

ssl_tlsv1=예

ssl_tlsv2=아니요

ssl_tlsv3=아니요

관련 정보