Cấu hình FTP SSL Server (FTPS) với Vsftpd

Cấu hình FTP Server SSL (FTPS) với VsftpdCuongquach.com | Chúng ta đã tìm hiểu cách cấu hình dịch vụ FTP Server trên CentOS 7 với Vsftpd cực kì đơn giản rồi phải không nào. Trong bài viết này chúng ta sẽ tìm hiểu nâng cao hơn với việc cấu hình FTP với SSL , dùng để mã hoá đường truyền giữa FTP Client và FTP Server, nâng cao tính năng bảo mật.

cai-dat-ftp-ssl-server-vsftpd

Cấu hình FTP SSL Server (FTPS) với Vsftpd

Tạo thư mục chứa SSL Certificate tự generate và tự signed .

# mkdir /etc/ssl/private/

Giờ bạn tạo ra chứng chỉ self-signed SSL Certificate .

# openssl req -x509 -sha256 -days 1024 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.crt -nodes -subj '/CN=ftp.cuongquach.com'

Lưu ý:
– Nếu bạn đã mua chứng chỉ SSL cho domain tương ứng hoặc Wildcard domain thì có thể thay thế các file certificate ở vị trí như trên.

Giờ bạn điều chỉnh cấu hình Vsftpd cho phần cấu hình FTP Server với SSL.

# vi /etc/vsftpd/vsftpd.conf

rsa_cert_file=/etc/ssl/private/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1_1=YES
ssl_tlsv1_2=YES
ssl_tlsv1=NO
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

Chú thích cấu hình:
ssl_enable : kích hoạt hỗ trợ SSL cho FTP Server.
allow_anon_ssl : không cho người ẩn danh login SSL vào FTP Server.
force_local_data_ssl / force_local_logins_ssl : cấu hình dữ liệu truyền tải và login đều phải được mã hoá SSL.
ssl_tlsv1_1 / ssl_tlsv1_2 : sử dụng các phiên bản TLS1.1 trở lên vì lý do bảo mật.
ssl_tlsv1 / ssl_sslv2 / ssl_sslv3 : tắt hỗ trợ các phiên bản SSL cũ.
require_ssl_reuse : tắt chức năng SSL reuse.
ssl_ciphers : sử dụng bộ cipher mã hoá mạnh.
rsa_cert_file : chỉ định file SSL Certificate.
rsa_private_key_file : chỉ định file SSL Private Key.

Giờ khởi động lại dịch vụ Vsftpd để kích hoạt FTP Server với SSL nào.

# systemctl restart vsftpd

Khi bạn sử dụng Filezilla để kết nối đến FTP Server hỗ trợ SSL, thì lúc này bạn cần chỉ định cụ thể cách thức kết nối với FTP như hình dưới.

Bạn cần trust chứng chỉ SSL signed-self này khi kết nối FTP SSL.

+ Lỗi thường gặp

Nếu bạn gặp lỗi này khi cấu hình xong FTPS thì bạn cần enable chroot dầy đủ nếu có sử dụng chroot setting. Có thể bạn enable thiếu setting allow_writeable_chroot.

Command:  USER test04
Response:  331 Please specify the password.
Command:  PASS ********
Error:  GnuTLS error -15 in gnutls_record_recv: An unexpected TLS packet was received.
Error:  Could not read from socket: ECONNABORTED - Connection aborted
Error:  Could not connect to server

Thêm cấu hình rồi restart lại dịch vụ Vftpd.

# vi /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
allow_writeable_chroot=YES

Như vậy là bạn đã hoàn tất việc cấu hình FTP Server hỗ trợ SSL (FTPS) với Vsftpd rồi đấy .

Nguồn: https://cuongquach.com/

Previous articleFix lỗi “setlocale: LC_CTYPE: cannot change locale (UTF-8)” trên MacOS
Next articleSự khác biệt giữa SIGTERM và SIGKILL trong Linux
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !