FTP là một giao thức rất không an toàn vì tất cả mật khẩu và dữ liệu đều được truyền dưới dạng văn bản rõ. Bằng cách sử dụng TLS, toàn bộ giao tiếp có thể được mã hóa, do đó làm cho FTP an toàn hơn nhiều. Bài viết này giải thích cách cấu hình PureFTPd để chấp nhận các phiên TLS trên máy chủ Debian. Hướng dẫn này tương thích với tất cả các phiên bản Debian lên đến Debian 12 (Bookworm).
Nếu bạn chỉ muốn chấp nhận các phiên TLS (không có FTP), chạy
thay vào đó.
Để không cho phép TLS ở bất kỳ đâu (chỉ FTP), hãy xóa /etc/pure-ftpd/conf/TLS hoặc chạy
Sau đó, chúng ta có thể tạo chứng chỉ SSL như sau:
Tên quốc gia (mã 2 chữ cái) [AU]: <-- Nhập Tên quốc gia của bạn (ví dụ: "DE").
Tên tiểu bang hoặc tỉnh (tên đầy đủ) [Some-State]:<-- Nhập Tên tiểu bang hoặc tỉnh của bạn.
Tên địa phương (ví dụ: thành phố) []:<-- Nhập Thành phố của bạn.
Tên tổ chức (ví dụ: công ty) [Internet Widgits Pty Ltd]:<-- Nhập Tên tổ chức của bạn (ví dụ: tên công ty của bạn).
Tên đơn vị tổ chức (ví dụ: phần) []:<-- Nhập Tên đơn vị tổ chức của bạn (ví dụ: "Phòng CNTT").
Tên thông dụng (ví dụ: TÊN CỦA BẠN) []:<-- Nhập Tên miền đủ điều kiện của hệ thống (ví dụ: "server1.example.com").
Địa chỉ email []:<-- Nhập Địa chỉ email của bạn.
Thay đổi quyền của chứng chỉ SSL:
Cuối cùng khởi động lại PureFTPd:
Vậy là xong. Bây giờ bạn có thể thử kết nối bằng máy khách FTP của mình; tuy nhiên, bạn nên cấu hình máy khách FTP của mình để sử dụng TLS - hãy xem chương tiếp theo để biết cách thực hiện việc này với FileZilla.
Trong FileZilla, hãy mở Trình quản lý máy chủ:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22178%22%20height=%22107%22%3E%3C/svg%3E
Chọn máy chủ sử dụng PureFTPd với TLS; trong menu thả xuống Loại máy chủ, chọn FTPES thay vì FTP thông thường:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22550%22%20height=%22458%22%3E%3C/svg%3E
Bây giờ bạn có thể kết nối với máy chủ. Nếu bạn thực hiện thao tác này lần đầu tiên, bạn phải chấp nhận chứng chỉ SSL mới của máy chủ:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22550%22%20height=%22458%22%3E%3C/svg%3E
Nếu mọi việc diễn ra tốt đẹp, bây giờ bạn sẽ được đăng nhập vào máy chủ:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22550%22%20height=%22458%22%3E%3C/svg%3E
1 Lưu ý sơ bộ
Bạn nên có một thiết lập PureFTPd đang hoạt động trên Máy chủ Debian của mình, ví dụ: như được hiển thị trong hướng dẫn này: Lưu trữ ảo với PureFTPd và MySQL (bao gồm Quản lý hạn ngạch và băng thông) trên Debian Lenny.2 Cài đặt OpenSSL
OpenSSL là cần thiết cho TLS; để cài đặt OpenSSL, chúng ta chỉ cần chạy:
Mã:
apt install openssl
3 Cấu hình PureFTPd
Nếu bạn muốn cho phép các phiên FTP và TLS, hãy chạy
Mã:
echo 1 > /etc/pure-ftpd/conf/TLS
Mã:
echo 2 > /etc/pure-ftpd/conf/TLS
Để không cho phép TLS ở bất kỳ đâu (chỉ FTP), hãy xóa /etc/pure-ftpd/conf/TLS hoặc chạy
Mã:
echo 0 > /etc/pure-ftpd/conf/TLS
4 Tạo chứng chỉ SSL cho TLS
Để sử dụng TLS, chúng ta phải tạo chứng chỉ SSL. Tôi tạo nó trong /etc/ssl/private/, do đó, trước tiên tôi tạo thư mục đó:
Mã:
mkdir -p /etc/ssl/private/
Mã:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Tên tiểu bang hoặc tỉnh (tên đầy đủ) [Some-State]:<-- Nhập Tên tiểu bang hoặc tỉnh của bạn.
Tên địa phương (ví dụ: thành phố) []:<-- Nhập Thành phố của bạn.
Tên tổ chức (ví dụ: công ty) [Internet Widgits Pty Ltd]:<-- Nhập Tên tổ chức của bạn (ví dụ: tên công ty của bạn).
Tên đơn vị tổ chức (ví dụ: phần) []:<-- Nhập Tên đơn vị tổ chức của bạn (ví dụ: "Phòng CNTT").
Tên thông dụng (ví dụ: TÊN CỦA BẠN) []:<-- Nhập Tên miền đủ điều kiện của hệ thống (ví dụ: "server1.example.com").
Địa chỉ email []:<-- Nhập Địa chỉ email của bạn.
Thay đổi quyền của chứng chỉ SSL:
Mã:
chmod 600 /etc/ssl/private/pure-ftpd.pem
Mã:
service pure-ftpd-mysql restart
5 Cấu hình FileZilla cho TLS
Để sử dụng FTP với TLS, bạn cần một máy khách FTP hỗ trợ TLS, chẳng hạn như FileZilla.Trong FileZilla, hãy mở Trình quản lý máy chủ:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22178%22%20height=%22107%22%3E%3C/svg%3E
Chọn máy chủ sử dụng PureFTPd với TLS; trong menu thả xuống Loại máy chủ, chọn FTPES thay vì FTP thông thường:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22550%22%20height=%22458%22%3E%3C/svg%3E
Bây giờ bạn có thể kết nối với máy chủ. Nếu bạn thực hiện thao tác này lần đầu tiên, bạn phải chấp nhận chứng chỉ SSL mới của máy chủ:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22550%22%20height=%22458%22%3E%3C/svg%3E
Nếu mọi việc diễn ra tốt đẹp, bây giờ bạn sẽ được đăng nhập vào máy chủ:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22550%22%20height=%22458%22%3E%3C/svg%3E
6 Liên kết
- PureFTPd: http://www.pureftpd.org/
- FileZilla: http://filezilla-project.org/
- Debian: http://www.debian.org/