Cài đặt và cấu hình máy chủ VSFTPD trên Ubuntu 18.04 LTS

theanh

Administrator
Nhân viên
Vsftpd còn được gọi là một daemon FTP rất an toàn, là một máy chủ FTP cho các hệ thống giống Unix. FTP là giao thức mạng chuẩn được sử dụng rộng rãi nhất để tải lên/tải xuống các tệp giữa hai máy tính qua mạng. Theo mặc định, FTP không an toàn vì nó truyền dữ liệu cùng với thông tin đăng nhập của người dùng mà không mã hóa.

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt Vsftpd có hỗ trợ SSL/TLS trên máy chủ Ubuntu 18.04.

Yêu cầu​

  • Máy chủ chạy Ubuntu 18.04.
  • Người dùng không phải root có quyền sudo.
  • Địa chỉ IP tĩnh 192.168.0.102 đã được định cấu hình.

Cài đặt Vsftpd​

Theo mặc định, Vsftpd có sẵn trong kho lưu trữ mặc định của Ubuntu 18.04. Vì vậy, bạn có thể dễ dàng cài đặt nó chỉ bằng cách chạy lệnh sau:
Mã:
sudo apt-get install vsftpd -y
Sau khi Vsftpd được cài đặt, hãy khởi động dịch vụ Vsftpd và cho phép nó khởi động khi khởi động:
Mã:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd

Tạo cấu trúc thư mục cho FTP​

Trước khi bắt đầu, bạn sẽ cần tạo một người dùng để truy cập FTP.

Bạn có thể tạo một người dùng bằng lệnh sau:
Mã:
sudo adduser vsftp
Tiếp theo, tạo thư mục ftp và thiết lập quyền sở hữu bằng lệnh sau:
Mã:
sudo mkdir /home/vsftp/ftp
sudo chown nobody:nogroup /home/vsftp/ftp
sudo chmod a-w /home/vsftp/ftp
Tiếp theo, tạo một thư mục nơi các tệp có thể được tải lên và cấp quyền sở hữu cho người dùng vsftp:
Mã:
sudo mkdir /home/vsftp/ftp/test
sudo chown vsftp:vsftp /home/vsftp/ftp/test

Cấu hình Vsftpd​

Tiếp theo, bạn sẽ cần thực hiện một số cấu hình để thiết lập máy chủ FTP.

Đầu tiên, tạo bản sao lưu của tệp cấu hình gốc:
Mã:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Tiếp theo, mở tệp vsftpd.conf:
Mã:
sudo nano /etc/vsftpd.conf
Thêm các dòng sau:
Mã:
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd pasv_enable=Yes pasv_min_port=10000 pasv_max_port=11000 user_sub_token=$USER local_root=/home/$USER/ftp userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO
Lưu và đóng tệp. Bạn có thể thay đổi cấu hình trên tùy theo nhu cầu của mình.

Tiếp theo, bạn cũng cần thêm người dùng vsftp vào tệp /etc/vsftpd.userlist để cho phép truy cập FTP:
Mã:
sudo nano /etc/vsftpd.userlist
Thêm dòng sau:
Mã:
vsftp
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Vsftpd để áp dụng những thay đổi này:
Mã:
sudo systemctl restart vsftpd
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL ftp://192.168.0.102, bạn sẽ được yêu cầu nhập tên người dùng và mật khẩu để truy cập FTP. Nhập tên người dùng và mật khẩu vsftp của bạn, sau đó nhấp vào nút Ok. Bạn sẽ thấy trang sau:




Bảo mật Vsftpd bằng SSL/TLS​

Tiếp theo, bạn sẽ cần bật SSL/TLS để mã hóa dữ liệu được truyền qua FTP.

Để thực hiện việc này, bạn sẽ cần tạo chứng chỉ cho việc đó. Bạn có thể tạo chứng chỉ bằng OpenSSL bằng lệnh sau:
Mã:
sudo mkdir /etc/cert
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem
Tiếp theo, bạn sẽ cần sửa đổi tệp vsftpd.conf và thực hiện một số thay đổi:
Mã:
sudo nano /etc/vsftpd.conf
Thêm nội dung sau dòng:
Mã:
rsa_cert_file=/etc/cert/vsftpd.pemrsa_private_key_file=/etc/cert/vsftpd.pemssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrequire_ssl_reuse=NOssl_ciphers=HIGH
Lưu tệp, sau đó khởi động lại Vsftpd bằng lệnh sau:
Mã:
sudo systemctl restart vsftpd

Truy cập FTP qua SSL/TLS​

Bạn không thể truy cập máy chủ FTP của mình qua SSL/TLS thông qua trình duyệt. Vì vậy, bạn sẽ cần cài đặt FileZilla FTP client để truy cập máy chủ FTP của mình. Vì FileZilla hỗ trợ FTP qua SSL/TLS.

Bạn có thể cài đặt FileZilla client bằng lệnh sau:
Mã:
sudo apt-get install filezilla -y
Sau khi FileZilla được cài đặt, hãy mở nó từ Unity dash của bạn. Bạn sẽ thấy hình ảnh sau:



Bây giờ, hãy nhấp vào File>Sites Manager. Bạn sẽ thấy hình ảnh sau:



Tại đây, hãy thêm New site và cung cấp tên host/site, thêm địa chỉ IP, xác định giao thức sử dụng, mã hóa và loại đăng nhập. Sau đó, hãy nhấp vào nút Connect. Bạn sẽ thấy hình ảnh sau:



Bây giờ, hãy xác minh chứng chỉ đang được sử dụng cho kết nối SSL/TLS và nhấp OK một lần nữa để kết nối với máy chủ FTP. Bạn sẽ thấy nội dung máy chủ FTP của mình trong trang sau:
 
Back
Bên trên