Giao thức truyền tệp (FTP) là một giao thức nhẹ 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, nhưng nó có một nhược điểm: dữ liệu được truyền và nhận ở dạng văn bản thuần túy. Điều này có nghĩa là quá trình truyền dữ liệu không được mã hóa và có thể bị xâm phạm.
Các máy chủ FTP hiện đại như ProFTPD cho phép hỗ trợ SSL/TLS. Điều này làm cho việc truyền tệp 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 đặt và thiết lập ProFTPD với TLS trên Ubuntu 22.04.
ProFTPD là gì?
ProFTPD là Máy chủ FTP đáng tin cậy và 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ộ của bạn và máy chủ web. Nó rất dễ cấu hình và tương thích với các máy chủ Unix/Linux.
Điều kiện tiên quyết để 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:
- Máy chủ Ubuntu 22.04
- 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ể cài đặt máy chủ ProFTPD.
Bước 1: Cập nhật và 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. Bạn có thể đạt được điều này bằng cách thực hiện lệnh sau:
sudo apt-get update -y
Lệnh cập nhật chỉ cập nhật danh sách gói hệ thống. Để nâng cấp các gói, hãy đưa ra lệnh sau:
sudo apt-get upgrade -y
Để các thay đổi nâng cấp có hiệu lực, bạn cần khởi động lại hệ thống Linux của mình bằng lệnh này:
reboot
Bước 2: Cài đặt ProFTPD Server trên Ubuntu
Đã đến lúc cài đặt ProFTPD. Để cài đặt máy chủ, 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. Một cách để xác minh cài đặt là kiểm tra phiên bản của dịch vụ đã cài đặt.
sudo proftpd
Nếu thiết bị đầu cuối trả về số phiên bản, điều này có nghĩa là quá trình cài đặt ProFTPD đã thành công và máy chủ hiện đã tồn tại trên hệ thống của bạn.
Bước 3: Bắt đầu và Kích hoạt Dịch vụ ProFTPD
Bây giờ bạn có thể sử dụng ProFTPD. Nhưng trước tiên, bạn cần khởi động nó bằng cách chạy lệnh sau:
sudo systemctl start proftpd
Sau khi hoàn tất, 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. Nhập lệnh sau để làm như vậy:
sudo systemctl status proftpd
Như 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 tệp cấu hình của ProFTPD trong /etc/proftpd danh mục. Mở tệp 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ị khác nhau trong tệp. Chỉ thị Gốc mặc định cho Máy chủ FTP biết nơi cung cấp tệp từ đó.
DefaultRoot /home/Linux/Docs
Bạn cũng có thể hạn chế người dùng vào một thư mục cụ thể 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 sẽ đăng nhập vào /nhà/linux. Tuy nhiên, Emma sẽ 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 như sau:
ServerName "My ProFTPD"
Tạo Người dùng cho Máy chủ ProFTPD
Đó là một cách thực hành tốt để có người dùng trên máy chủ FTP với các quyền hạn chế 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 tệp 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 được đề cập bên dưới. Đảm bảo cung cấp tên người dùng thực trong lệnh thay cho tên tài khoản.
sudo useradd -m username
Để đặt mật khẩu người dùng của bạn, hãy chạy lệnh sau:
sudo passwd username
Định cấu hình SSL/TLS với ProFTPD
Để bảo mật kết nối FTP, bạn sẽ sử dụng SSL/TLS. Tại đây, bạn sẽ thấy cách định cấu hình ProFTPD bằng chứng chỉ SSL.
Để tạo chứng chỉ cho máy chủ ProFTPD, bạn cần có OpenSSL trên hệ thống của mình. Chạy lệnh này để 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ủ của mình 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 cho bạn chứng chỉ và khóa riêng cho máy chủ ProFTPD. Giấy chứng nhận 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 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 được 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 cách đưa ra 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 bằng:
sudo nano /etc/proftpd/proftpd.conf
Xác định vị trí dòng sau và bỏ ghi chú bằng cách xóa Pao nhân vật (#) lúc bắt đầu:
Include /etc/proftpd/tls.conf
Bây giờ hãy đóng tệp và lưu nó. Tiếp theo, mở tệp cấu hình TLS bằng lệnh này:
sudo nano /etc/proftpd/tls.conf
Bây giờ xác định vị trí các đoạn mã sau trong tệp và 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
Bỏ ghi chú hai dòng này:
TLSOptions AllowClientRenegotiations
Và:
TLSRequired on
Khi bạn đã lưu và đóng tệp, hãy 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 của bạn, 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 của mình bằng các lệnh Linux sau:
sudo apt-get autoremove proftpd-dev
sudo apt-get purge proftpd-basic
Các lệnh này sẽ loại bỏ hoàn toàn ProFTPD khỏi hệ thống của bạn.
Truyền tệp an toàn với máy chủ FTP được định cấu hình TLS
ProFTPD không chỉ cung cấp khả năng bảo mật mà còn đảm bảo việc trao đổi dữ liệu diễn ra nhanh chóng và hiệu quả. Điều tốt nhất về ProFTPD là nó cung cấp rất nhiều tùy chọn cấu hình cho người dùng.
Mặc dù FTP là một cách đáng tin cậy để truyền tệp nhưng vẫn có những phương pháp khác mà bạn có thể sử dụng cho mục đích tương tự. Đảm bảo chọn đúng công nghệ phù hợp với hệ thống của bạn để giúp mọi việc trở nên dễ dàng cho chính bạn.