Cách cài đặt và thiết lập ProFTPD với TLS trên Ubuntu

Cách cài đặt và thiết lập máy chủ ProFTPD với TLS trên Ubuntu

Chia sẻ kiến thức 29/12/2022

ProFTPD là một daemon FTP nhiều tính năng dành cho các hệ điều hành dựa trên Linux và Unix. Đây là cách bạn có thể thiết lập ProFTPD trên Ubuntu.

Giao thức truyền tệp (File Transfer Protocol, hay FTP) là một giao thức nhẹ và phổ biến được sử dụng để truyền tệp qua mạng. Mặc dù nó là một cơ chế hiệu quả để truyền dữ liệu, nó có một hạn chế: dữ liệu được truyền và nhận ở dạng văn bản thuần túy, có nghĩa là quá trình truyền dữ liệu không được mã hóa và an toàn. 

Các máy chủ FTP hiện đại như ProFTPD cho phép hỗ trợ SSL/TLS, giúp cho việc truyền tệp giữa hai hệ thống vừa hiệu quả vừa an toàn bằng cách thêm yếu tố bảo mật. Hãy cùng FUNiX khám phá cách cài đặt và thiết lập ProFTPD với TLS trên Ubuntu 22.04.

 

ProFTPD là gì?

ProFTPD là máy chủ FTP mã nguồn mở cho phép bạn thiết lập kết nối FTP giữa máy cục bộ và máy chủ web. Nó dễ cấu hình và tương thích với các máy chủ Unix/Linux.

Điều kiện để cài đặt ProFTPD

Trước khi bắt đầu cài đặt ProFTPD, bạn phải đáp ứng các yêu cầu sau:

  1. Máy chủ Ubuntu 22.04
  2. Quyền root trên máy chủ

Nếu hệ thống của bạn đáp ứng các yêu cầu này, bạn có thể bắt đầu cài đặt máy chủ ProFTPD.

Bước 1: Cập nhật & nâng cấp Ubuntu

Để cài đặt ProFTPD, trước tiên bạn cần cập nhật Ubuntu thông qua dòng lệnh với lệnh sau:

sudo apt-get update -y

Lệnh này chỉ cập nhật danh sách gói hệ thống. Để nâng cấp các gói, hãy thực thi lệnh sau:

sudo apt-get upgrade -y

Để các thay đổi có hiệu lực, bạn cần khởi động lại hệ thống Linux bằng lệnh:

reboot

Bước 2: Cài đặt máy chủ ProFTPD trên Ubuntu

Để cài đặt máy chủ ProFTPD, hãy chạy lệnh sau:

sudo apt install proftpd -y

Khi bạn đã cài đặt máy chủ, hãy xác minh xem nó đã được cài đặt đúng chưa bằng cách kiểm tra phiên bản của dịch vụ đã cài đặt.

sudo proftpd --version

Nếu terminal trả về số phiên bản, điều này có nghĩa là ProFTPD đã được cài đặt thành công.

Bước 3: Kích hoạt Dịch vụ ProFTPD

Trước tiên, bạn cần khởi động ProFTPD bằng cách chạy lệnh sau:

sudo systemctl start proftpd

Sau đó hãy chạy lệnh sau để kích hoạt nó:

sudo systemctl enable proftpd

Khi dịch vụ đã bắt đầu, hãy kiểm tra trạng thái của ProFTPD để đảm bảo rằng nó đang chạy tốt với lệnh sau:

sudo systemctl status proftpd

Ở ảnh chụp màn hình trên bạn có thể thấy daemon ProFTPD đang hoạt động và chạy tốt.

Định cấu hình ProFTPD trên Linux

Bạn sẽ tìm thấy file cấu hình của ProFTPD trong thư mục /etc/proftpd. Mở file bằng nano bằng cách chạy:

sudo nano /etc/proftpd/proftpd.conf

Bạn sẽ tìm thấy các chỉ thị (directive) khác nhau trong tệp. Chỉ thị DefaultRoot (gốc mặc định) cho máy chủ FTP biết nơi từ đó cung cấp tệp.

DefaultRoot /home/Linux/Docs

Bạn cũng có thể hạn chế người dùng vào một thư mục nhất định bằng cách sử dụng chỉ thị DefaultRoot như sau:

DefaultRoot /home/linux Tom
DefaultRoot / Emma

Với những cấu hình này, Tom có thể đăng nhập vào /home/linux . Tuy nhiên, Emma có quyền truy cập vào toàn bộ hệ thống.

Bạn có thể đặt tên cho máy chủ bằng chỉ thị ServerName với lệnh sau:

ServerName "My ProFTPD"

Tạo người dùng cho Máy chủ ProFTPD

Bạn nên hạn chế quyền người dùng trên máy chủ FTP vì mục đích bảo mật. Người dùng chỉ nên có quyền truy cập vào thư mục chính của họ, nơi họ có thể quản lý các file bằng cách tải xuống hoặc tải chúng lên.

Tạo người dùng ProFTPD với sự trợ giúp của lệnh bên dưới. Thay tên người dùng thực trong lệnh thay cho username.

sudo useradd -m username

Để đặt mật khẩu người dùng, hãy chạy lệnh sau:

sudo passwd username

Định cấu hình SSL/TLS với ProFTPD

Bạn sẽ sử dụng SSL/TLS để bảo mật kết nối FTP. Tại đây, bạn sẽ thấy cách định cấu hình ProFTPD với chứng chỉ SSL.

Để tạo chứng chỉ cho máy chủ ProFTPD cần có OpenSSL trên hệ thống. Chạy lệnh sau để cài đặt OpenSSL:

sudo apt-get install openssl -y

Tạo chứng chỉ cho Máy chủ ProFTPD

Khi OpenSSL đã được cài đặt thành công, bạn có thể tạo chứng chỉ cho máy chủ bằng:

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

Bằng cách thực hiện lệnh trên, bạn đang yêu cầu OpenSSL cung cấp chứng chỉ và khóa riêng cho máy chủ ProFTPD. Chứng nhận này sẽ có hiệu lực trong 365 ngày.

Sau khi bạn đưa ra lệnh, hệ thống sẽ yêu cầu bạn cung cấp thông tin chi tiết về chứng chỉ, thông thường là tên và địa chỉ của tổ chức.

Khi các chi tiết được chấp nhận, bạn sẽ nhận chứng chỉ và chìa khóa. Bây giờ hãy thay đổi quyền của cả hai tệp thành chỉ đọc và ghi bằng hai lệnh sau:

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

Mở tệp cấu hình ProFTPD với lệnh:

sudo nano /etc/proftpd/proftpd.conf

Xác định vị trí dòng sau và bỏ ghi chú bằng cách xóa ký tự # ở đầu:

Include /etc/proftpd/tls.conf

Bây giờ hãy đóng và lưu tệp. Tiếp theo, mở tệp cấu hình TLS với lệnh này:

sudo nano /etc/proftpd/tls.conf

Bây giờ xác định vị trí các đoạn code sau trong tệp và uncomment (bỏ ghi chú) chúng:

<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23

Và:

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

Uncomment hai dòng này:

TLSOptions AllowClientRenegotiations

Và:

TLSRequired on

Khi bạn đã lưu và đóng tệp, khởi động lại dịch vụ ProFTPD để các thay đổi có hiệu lực:

sudo systemctl restart proftpd

Cách gỡ cài đặt ProFTPD trên Ubuntu

Để xóa ProFTPD khỏi hệ thống, trước tiên bạn cần dừng dịch vụ.

sudo systemctl stop proftpd

Bây giờ bạn có thể xóa ProFTPD khỏi máy bằng các lệnh Linux sau:

sudo apt-get autoremove proftpd-dev
sudo apt-get purge proftpd-basic

Các lệnh trên sẽ loại bỏ hoàn toàn ProFTPD khỏi hệ thống của bạn.

Truyền file an toàn với máy chủ FTP được định cấu hình TLS

ProFTPD đảm bảo việc trao đổi dữ liệu diễn ra nhanh chóng, hiệu quả và an toàn. Đặc biệt, nó cung cấp rất nhiều tùy chọn cấu hình cho người dùng.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/install-proftpd-on-ubuntu/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!