Cách cấu hình PureFTPd để sử dụng phiên TLS trên CentOS 7

theanh

Administrator
Nhân viên
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ủ CentOS 7. FTP thuần túy là một giao thức 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.


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ủ CentOS 7 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 CentOS 7.


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ã:
yum install openssl

3 Cấu hình PureFTPd​

Mở /etc/pure-ftpd/pure-ftpd.conf...
Mã:
nano /etc/pure-ftpd/pure-ftpd.conf
Nếu bạn muốn cho phép các phiên FTP TLS, hãy đặt TLS thành 1:
Mã:
[...]# Tùy chọn này có thể chấp nhận ba giá trị:# 0: vô hiệu hóa lớp mã hóa SSL/TLS (mặc định).# 1: chấp nhận cả phiên truyền thống và phiên được mã hóa.# 2: từ chối các kết nối không sử dụng cơ chế bảo mật SSL/TLS,# bao gồm các phiên ẩn danh.# Không _bỏ_ chú thích này một cách mù quáng. Hãy đảm bảo rằng:# 1) Máy chủ của bạn đã được biên dịch với hỗ trợ SSL/TLS (--with-tls),# 2) Có chứng chỉ hợp lệ,# 3) Chỉ những máy khách tương thích mới được đăng nhập.TLS 1[...]
Nếu bạn chỉ muốn chấp nhận các phiên TLS (không có FTP), hãy đặt TLS thành 2:
Mã:
[...]# Tùy chọn này có thể chấp nhận ba giá trị:# 0: vô hiệu hóa lớp mã hóa SSL/TLS (mặc định).# 1: chấp nhận cả phiên truyền thống và phiên được mã hóa.# 2: từ chối các kết nối không sử dụng cơ chế bảo mật SSL/TLS,# bao gồm các phiên ẩn danh.# Không _bỏ_ chú thích này một cách mù quáng. Hãy đảm bảo rằng:# 1) Máy chủ của bạn đã được biên dịch với hỗ trợ SSL/TLS (--with-tls),# 2) Có chứng chỉ hợp lệ,# 3) Chỉ những máy khách tương thích mới được đăng nhập.TLS 2[...]
Để không cho phép TLS (chỉ FTP), hãy đặt TLS thành 0:
Mã:
[...]# Tùy chọn này có thể chấp nhận ba giá trị:# 0: vô hiệu hóa lớp mã hóa SSL/TLS (mặc định).# 1: chấp nhận cả phiên truyền thống và phiên được mã hóa.# 2: từ chối các kết nối không sử dụng cơ chế bảo mật SSL/TLS,# bao gồm các phiên ẩn danh.# Không _bỏ_ chú thích này một cách mù quáng. Hãy đảm bảo rằng:# 1) Máy chủ của bạn đã được biên dịch với hỗ trợ SSL/TLS (--with-tls),# 2) Có chứng chỉ hợp lệ,# 3) Chỉ những máy khách tương thích mới được đăng nhập.TLS 0[...]
Sau đó xóa # ở trước 2 dòng sau:
Mã:
TLSCipherSuite HIGH
CertFile /etc/ssl/private/pure-ftpd.pem
và lưu tệp cấu hình đã thay đổi.


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 đó, tôi tạo thư mục đó trước:
Mã:
mkdir -p /etc/ssl/private/
Sau đó, chúng ta có thể tạo chứng chỉ SSL như sau:
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 quốc gia (mã gồm 2 chữ cái) [XX]: <-- Nhập tên quốc gia của bạn (ví dụ: "DE").
Tên tiểu bang hoặc tỉnh (họ và tên đầy đủ) []:<-- Nhập tiểu bang hoặc tỉnh của bạn Tên.
Tên địa phương (ví dụ: thành phố) [Thành phố mặc định]:<-- Nhập Thành phố của bạn.
Tên tổ chức (ví dụ: công ty) [Công ty TNHH mặc định]:<-- 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 chung (ví dụ: tên của bạn hoặc tên máy chủ 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
Cuối cùng, khởi động lại PureFTPd:
Mã:
systemctl restart pure-ftpd.service
Vậy là xong. Bây giờ bạn có thể thử kết nối bằng trình khách FTP của mình; tuy nhiên, bạn nên cấu hình trình khách FTP của mình để sử dụng TLS - hãy xem chương tiếp theo về cách thực hiện việc này với FileZilla.


5 Cấu hình FileZilla cho TLS​

Để sử dụng FTP với TLS, bạn cần một trình khách FTP hỗ trợ TLS, chẳng hạn như FileZillahoặc plugin FireFTP trong Firefox.

Trong FileZilla, hãy mở Site Manager:



Chọn máy chủ sử dụng PureFTPd với TLS; trong menu thả xuống Loại máy chủ, chọn Yêu cầu FTP rõ ràng qua TLS thay vì FTP thông thường:



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ủ:



Nếu mọi thứ diễn ra tốt đẹp, bây giờ bạn sẽ được đăng nhập vào máy chủ:




6 Liên kết​

 
Back
Bên trên