Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Cài đặt và cấu hình ProFTPD với TLS an toàn trên Ubuntu

Giao thức truyền file (FTP) là giao thức nhẹ phổ biến dùng để truyền file qua mạng. Mặc dù là cơ chế hiệu quả truyền dữ liệu, có một nhược điểm: dữ liệu truyền và nhận dưới dạng plain text. Nghĩa là truyền dữ liệu không mã hóa, có thể bị xâm phạm.

Máy chủ FTP hiện đại như ProFTPD cho phép hỗ trợ SSL/TLS. Điều này làm cho truyền file giữa hai hệ thống không chỉ hiệu quả mà còn an toàn bằng cách thêm yếu tố bảo mật. Hãy khám phá cách cài 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ở và tin cậy cho phép thiết lập kết nối FTP giữa máy local và web server. Nó dễ cấu hình và tương thích với server Unix/Linux.

Điều kiện tiên quyết cài ProFTPD

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

  1. Ubuntu Server 22.04
  2. Quyền root trên server

Nếu hệ thống đáp ứng, bạn đã sẵn sàng cài server ProFTPD.

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

Để cài ProFTPD, trước tiên cập nhật Ubuntu qua command line:

sudo apt-get update -y

Lệnh update chỉ cập nhật danh sách gói. Để nâng cấp gói, chạy:

sudo apt-get upgrade -y

Để thay đổi có hiệu lực, reboot hệ thống Linux:

reboot

Bước 2: Cài server ProFTPD trên Ubuntu

Giờ cài ProFTPD. Chạy lệnh:

sudo apt install proftpd -y

Sau khi cài, xác minh cài đặt thành công. Cách là kiểm tra phiên bản dịch vụ:

sudo proftpd --version

Nếu terminal trả về số phiên bản, nghĩa là cài ProFTPD thành công và server tồn tại trên hệ thống.

Bước 3: Khởi động và bật dịch vụ ProFTPD

Bây giờ bạn có thể dùng ProFTPD. Nhưng trước hết, khởi động nó:

sudo systemctl start proftpd

Xong, chạy lệnh sau để bật nó:

sudo systemctl enable proftpd

Với dịch vụ đã khởi động, kiểm tra trạng thái ProFTPD đảm bảo chạy tốt. Nhập:

sudo systemctl status proftpd

Như bạn thấy, ProFTPD daemon đang active và chạy tốt.

Cấu hình ProFTPD trên Linux

Bạn sẽ tìm file cấu hình ProFTPD trong thư mục /etc/proftpd. Mở file với nano:

sudo nano /etc/proftpd/proftpd.conf

Bạn sẽ thấy các directive trong file. Directive DefaultRoot nói cho FTP Server biết phục vụ file từ đâu.

DefaultRoot /home/Linux/Docs

Bạn cũng có thể hạn chế user vào thư mục cụ thể dùng DefaultRoot như sau:

DefaultRoot /home/linux Tom
DefaultRoot / Emma

Với cấu hình này, Tom đăng nhập vào /home/linux. Còn Emma truy cập toàn hệ thống.

Bạn có thể đặt tên server với directive ServerName:

ServerName "My ProFTPD"

Tạo user cho server ProFTPD

Thực hành tốt là có user trên FTP server với quyền hạn chế cho bảo mật. User chỉ truy cập home directory của họ để quản lý file bằng download/upload.

Tạo user ProFTPD với lệnh dưới. Thay username bằng username thực:

sudo useradd -m username

Đặt mật khẩu user:

sudo passwd username

Cấu hình SSL/TLS với ProFTPD

Để bảo mật kết nối FTP, bạn dùng SSL/TLS. Ở đây bạn thấy cách cấu hình ProFTPD với chứng chỉ SSL.

Để tạo chứng chỉ cho server ProFTPD, cần OpenSSL trên hệ thống. Chạy lệnh cài OpenSSL:

sudo apt-get install openssl -y

Tạo chứng chỉ cho server ProFTPD

Sau khi OpenSSL cài thành công, tạo chứng chỉ cho server:

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

Chạy lệnh trên, bạn yêu cầu OpenSSL cung cấp chứng chỉ và private key cho server ProFTPD. Chứng chỉ hiệu lực 365 ngày.

Sau lệnh, hệ thống hỏi chi tiết cho chứng chỉ, thường là tên tổ chức và địa chỉ.

Khi chi tiết được chấp nhận, bạn nhận được chứng chỉ và key. Bây giờ đổi quyền cả hai file thành read/write only:

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

Mở file cấu hình ProFTPD:

sudo nano /etc/proftpd/proftpd.conf

Tìm dòng sau và uncomment bằng cách bỏ ký tự Pound (#) ở đầu:

Include /etc/proftpd/tls.conf

Đóng file và lưu. Tiếp theo, mở file cấu hình TLS:

sudo nano /etc/proftpd/tls.conf

Tìm các đoạn sau trong file và uncomment 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 nữa:

TLSOptions AllowClientRenegotiations

Và:

TLSRequired on

Sau khi lưu và đóng file, restart dịch vụ ProFTPD để thay đổi có hiệu lực:

sudo systemctl restart proftpd

Cách gỡ ProFTPD trên Ubuntu

Để gỡ ProFTPD, trước tiên dừng dịch vụ:

sudo systemctl stop proftpd

Bây giờ gỡ ProFTPD khỏi máy với lệnh Linux:

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

Các lệnh này sẽ gỡ hoàn toàn ProFTPD khỏi hệ thống.

Truyền file an toàn với FTP server cấu hình TLS

ProFTPD không chỉ cung cấp bảo mật mà cũng đảm bảo trao đổi dữ liệu nhanh và hiệu quả. Điểm tốt nhất của ProFTPD là cung cấp nhiều tùy chọn cấu hình cho người dùng.

Mặc dù FTP là cách tin cậy truyền file, vẫn có phương pháp khác cho cùng mục đích. Hãy chắc chắn chọn công nghệ phù hợp hệ thống để mọi thứ dễ dàng.