Cách cài đặt ProFTPD với TLS trên Ubuntu 18.04 LTS

theanh

Administrator
Nhân viên
ProFTPD là máy chủ FTP miễn phí, mã nguồn mở và phổ biến nhất cho các hệ điều hành giống Unix. ProFTPD cho phép bạn tạo kết nối FTP giữa máy tính cục bộ và máy chủ từ xa. Đây là máy chủ FTP đa năng hỗ trợ TLS (SSL) để kết nối an toàn.

Tính năng
  • Hỗ trợ IPv4 và IPv6.
  • Hỗ trợ .ftpaccess để bảo mật cho từng thư mục.
  • Cho phép chúng ta định cấu hình nhiều máy chủ FTP ảo và các dịch vụ FTP ẩn danh.
  • Cung cấp hỗ trợ cho mật khẩu bóng, utmp/wtmp, mã hóa SSL/TLS và RADIUS.
  • Có thể chạy như một máy chủ độc lập hoặc từ inetd/xinetd.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt ProFTPD và bảo mật nó bằng TLS trên máy chủ Ubuntu 18.04

Yêu cầu​

  • Máy chủ chạy Ubuntu 18.04.
  • Địa chỉ IP tĩnh 192.168.0.101 được đặt trên máy chủ.
  • Mật khẩu gốc được thiết lập trên máy chủ của bạn.

Bắt đầu​

Trước khi bắt đầu, bạn sẽ cần cập nhật hệ thống của mình lên phiên bản mới nhất. Bạn có thể thực hiện việc này bằng cách chạy lệnh sau:
Mã:
apt-get update -y[B] apt-get upgrade -y
Sau khi máy chủ của bạn được cập nhật, hãy khởi động lại máy chủ để áp dụng các thay đổi.

Cài đặt ProFTPD​

Theo mặc định, ProFTPD có sẵn trong kho lưu trữ mặc định của Ubuntu 18.04. Bạn có thể cài đặt bằng cách chỉ cần chạy lệnh sau:
Mã:
apt-get install proftpd -y
Sau khi cài đặt ProFTPD, hãy khởi động dịch vụ ProFTPD và cho phép nó khởi động khi khởi động bằng lệnh sau:
Mã:
systemctl start proftpd
 systemctl enable proftpd
Bạn có thể kiểm tra trạng thái của dịch vụ ProFTPD bằng lệnh sau:
Mã:
systemctl status proftpd
Bạn sẽ thấy đầu ra sau:
Mã:
? proftpd.service - LSB: Khởi động daemon ProFTPD Đã tải: đã tải (/etc/init.d/proftpd; đã tạo) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2019-05-25 09:18:19 UTC; 31 giây trước Tài liệu: man:systemd-sysv-generator(8) Nhiệm vụ: 1 (giới hạn: 1114) CGroup: /system.slice/proftpd.service ??1927 proftpd: (đang chấp nhận kết nối)25 tháng 5 09:18:19 ubuntu1804 systemd[1]: Đang khởi động LSB: Đang khởi động daemon ProFTPD...25 tháng 5 09:18:19 ubuntu1804 proftpd[1906]: * Đang khởi động máy chủ ftp proftpd25 tháng 5 09:18:19 ubuntu1804 proftpd[1906]: ...xong.25 tháng 5 09:18:19 ubuntu1804 systemd[1]: Đã bắt đầu LSB: Khởi động daemon ProFTPD.
Các tệp cấu hình mặc định của ProFTPD nằm tại /etc/proftpd/proftpd.conf. Bạn có thể xem bằng lệnh sau:
Mã:
cat /etc/proftpd/proftpd.conf
Bạn sẽ thấy đầu ra sau:
Mã:
## /etc/proftpd/proftpd.conf -- Đây là tệp cấu hình ProFTPD cơ bản.# Để thực sự áp dụng các thay đổi, hãy tải lại proftpd sau khi sửa đổi, nếu# nó chạy ở chế độ daemon. Không bắt buộc phải làm vậy ở chế độ inetd/xinetd.## Bao gồm các mô-đun DSOBao gồm /etc/proftpd/modules.conf# Đặt thành tắt hỗ trợ IPv6, điều này gây khó chịu trên các hộp chỉ có IPv4.UseIPv6 on# Nếu bật, bạn có thể gặp phải tình trạng trễ kết nối lâu hơn trong nhiều trường hợp.IdentLookups offServerName "Debian"# Chỉ đặt thành inetd nếu bạn muốn chạy proftpd bằng inetd/xinetd.# Đọc README.Debian để biết thêm thông tin về cấu hình phù hợp.ServerType standaloneDeferWelcome offMultilineRFC2228 onDefaultServer onShowSymlinks onTimeoutNoTransfer 600TimeoutStalled 600TimeoutIdle 1200DisplayLogin welcome.msgDisplayChdir .message trueListOptions "-l"DenyFilter \*.*/# Sử dụng tùy chọn này để khóa tất cả người dùng trong nhà của họ# DefaultRoot ~# Cổng 21 là cổng FTP tiêu chuẩn.Cổng 21MaxInstances 30# Đặt người dùng và nhóm mà máy chủ thường chạy.Người dùng proftpdNhóm nogroup# Umask 022 là một umask chuẩn tốt để ngăn các tệp và thư mục mới# (tham số thứ hai) khỏi khả năng ghi nhóm và ghi thế giới.Umask 022 022# Thông thường, chúng ta muốn các tệp có thể ghi đè.AllowOverwrite onTransferLog /var/log/proftpd/xferlogSystemLog /var/log/proftpd/proftpd.log
Bạn có thể thay đổi cài đặt ở trên theo yêu cầu của mình như được hiển thị bên dưới:
  • ServerName:[/b] Bạn có thể thay đổi thành tên máy chủ mặc định của mình.
  • UseIPV6: Bạn có thể tắt bằng cách đổi thành tắt.
  • DefaultRoot: Bạn có thể bỏ chú thích dòng này để hạn chế người dùng với thư mục gốc của họ.
  • Port: Bạn có thể xác định cổng của riêng mình bằng cách thay đổi nó.
  • SystemLog: Vị trí mặc định của tệp nhật ký. Bạn có thể thay đổi tùy theo nhu cầu của mình.
Sau khi thực hiện xong, bạn có thể tiến hành bước tiếp theo.

ProFTPD bảo mật với TLS​

ProFTPD hiện đã được cài đặt. Bây giờ, bạn sẽ cần cấu hình ProFTPD với TLS để kết nối FTP bảo mật.

Trước khi bắt đầu, bạn sẽ cần cài đặt OpenSSL vào máy chủ của mình. Bạn có thể cài đặt bằng cách chỉ cần chạy lệnh sau:
Mã:
apt-get install openssl -y
Sau khi quá trình cài đặt hoàn tất, hãy tạo chứng chỉ SSL cho ProFTPd bằng lệnh sau:
Mã:
openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt -nodes -days 365
Trả lời tất cả các câu hỏi như được hiển thị bên dưới:
Mã:
Tạo khóa riêng RSA 1024 bit.++++++.......................++++++ghi khóa riêng mới vào '/etc/ssl/private/proftpd.key'-----Bạn sắp được yêu cầu nhập thông tin sẽ được đưa vàoyêu cầu cấp chứng chỉ của bạn.Những gì bạn sắp nhập được gọi là Tên phân biệt hoặc DN.Có khá nhiều trường nhưng bạn có thể để trống một số trườngĐối với một số trường sẽ có giá trị mặc định,Nếu bạn nhập '.', trường đó sẽ được để trống.-----Tên quốc gia (mã 2 chữ cái) [AU]:INTên tiểu bang hoặc tỉnh (tên đầy đủ) [Some-State]:GUJTên địa phương (ví dụ: thành phố) []:JunagadhTên tổ chức (ví dụ: công ty) [Internet Widgits Pty Ltd]:ITTên đơn vị tổ chức (ví dụ: bộ phận) []:ITTên chung (ví dụ: FQDN của máy chủ hoặc tên CỦA BẠN) []:HITESHĐịa chỉ email []:[emailprotected]
Lệnh trên sẽ tạo ra hai tệp /etc/ssl/private/proftpd.key và /etc/ssl/certs/proftpd.crt.

Tiếp theo, cung cấp quyền thích hợp cho các tệp đã tạo bằng lệnh sau:
Mã:
chmod 600 /etc/ssl/private/proftpd.key
 chmod 600 /etc/ssl/certs/proftpd.crt
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Cấu hình ProFTPD để sử dụng SSL​

Tiếp theo, bạn sẽ cần cấu hình ProFTPD để sử dụng chứng chỉ SSL. Bạn có thể thực hiện bằng cách chỉnh sửa tệp /etc/proftpd/proftpd.conf:
Mã:
nano /etc/proftpd/proftpd.conf
Bỏ chú thích dòng sau:
Mã:
Bao gồm /etc/proftpd/tls.conf
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, mở tệp /etc/proftpd/tls.conf:
Mã:
nano /etc/proftpd/tls.conf
Thay đổi các dòng sau:
Mã:
TLSRSACertificateFile /etc/ssl/certs/proftpd.crtTLSRSACertificateKeyFile /etc/ssl/private/proftpd.keyTLSEngine onTLSLog /var/log/proftpd/tls.logTLSProtocol SSLv23TLSRequired onTLSOptions NoCertRequest EnableDiags NoSessionReuseRequiredTLSVerifyClient off
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ ProFTPD bằng lệnh sau:
Mã:
systemctl restart proftpd
Sau khi thực hiện xong, bạn có thể tiến hành bước tiếp theo.

Tạo người dùng cho ProFTPD​

Tiếp theo, bạn sẽ cần tạo người dùng ProFTPD để truy cập máy chủ. Bạn có thể thực hiện bằng lệnh sau:
Mã:
adduser ftp1
Trả lời tất cả các câu hỏi như hiển thị bên dưới:
Mã:
Thêm người dùng `ftp1' ...Thêm nhóm mới `ftp1' (1006) ...Thêm người dùng mới `ftp1' (1002) với nhóm `ftp1' ...Tạo thư mục home `/home/ftp1' ...Sao chép tệp từ `/etc/skel' ...Nhập mật khẩu UNIX mới:Nhập lại mật khẩu UNIX mới:passwd: mật khẩu đã cập nhật thành côngĐang thay đổi thông tin người dùng cho ftp1Nhập giá trị mới hoặc nhấn ENTER để lấy giá trị mặc định Full Name []: Room Number []: Work Phone []: Home Phone []: Other []:Thông tin có đúng không? [Y/n] Y
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

Truy cập Máy chủ ProFTPD bằng FileZilla​

ProFTPD hiện đã được cài đặt và định cấu hình, đã đến lúc truy cập ProFTPD thông qua FileZilla từ hệ thống Máy khách.

Trước tiên, bạn sẽ cần cài đặt FileZilla trên hệ thống Máy khách của mình. Bạn có thể cài đặt nó chỉ bằng cách chạy lệnh sau:
Mã:
apt-get install filezilla -y
Sau khi quá trình cài đặt hoàn tất, bạn có thể mở FileZilla từ Unity dash như hiển thị bên dưới:



Bây giờ, hãy nhấp vào Trình quản lý trang webtrên bảng điều khiển bên trái và tạo một trang web mới. Bạn sẽ thấy trang sau:



Bây giờ, hãy cung cấp địa chỉ IP máy chủ FTP của bạn, chọn giao thức, chọn Mã hóa, chọn loại đăng nhập, cung cấp tên người dùng và mật khẩu. Sau đó, nhấp vào nút Kết nối. Bạn sẽ thấy trang sau:



Bây giờ, hãy chấp nhận chứng chỉ, đánh dấu vào ô "Luôn tin tưởng chứng chỉ trong các phiên làm việc trong tương lai" và nhấp vào nút OK. Sau khi đăng nhập thành công, bạn sẽ thấy trang sau:



Bây giờ bạn có thể chuyển tệp an toàn qua SSL/TLS.

Xin chúc mừng! Bạn đã cài đặt và định cấu hình máy chủ ProFTPD thành công và bảo mật máy chủ này bằng mã hóa SSL/TLS. Bây giờ bạn có thể dễ dàng chuyển tệp từ máy tính cục bộ sang máy chủ FTP bằng mã hóa an toàn. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên