loading

Viettel IDC

VNNIC
Cooky

Contacts
seozie-img
FTP (File Transfer Protocol) là một mạng giao thức kết nối từ máy người dùng đến máy chủ, cho phép người dùng truyền  đến và từ một máy tính từ xa. Có nhiều máy chủ FTP nguồn mở có sẵn cho Linux. Các máy chủ phổ biến nhất và thường được sử dụng là PureFTPd , ProFTPD và vsftpd . Trong hướng dẫn này, chúng tôi sẽ cài đặt vsftpd (Very Secure Ftp Daemon) trên CentOS 8. Đây là một máy chủ FTP ổn định, an toàn và nhanh chóng. Chúng tôi cũng sẽ hướng dẫn cho bạn  cấu hình vsftpd để phân quyền và  hạn chế người dùng vào thư mục chính của họ và mã hóa việc truyền dữ liệu bằng SSL / TLS.

Cài đặt vsftpd trên CentOS 8

Gói vsftpd có sẵn trong kho lưu trữ CentOS mặc định. Để cài đặt nó, hãy chạy lệnh sau: Khi gói được cài đặt, hãy khởi động daemon vsftpd và cho phép nó tự động bắt đầu lúc khởi động: Xác minh trạng thái dịch vụ: Đầu ra sẽ giống như thế này, cho thấy rằng dịch vụ vsftpd đang hoạt động và đang chạy:

Cấu hình vsftpd

Cài đặt vsftpd server được lưu trữ trong /etc/vsftpd/vsftpd.conf. Hầu hết các cài đặt đều được ghi rõ bên trong tệp. Đối với tất cả các tùy chọn có sẵn, hãy truy cập trang vsftpd chính thức . Trong các phần sau, chúng ta sẽ xem xét một số cài đặt quan trọng cần thiết để định cấu hình cài đặt vsftpd an toàn. Bắt đầu bằng cách mở tệp cấu hình vsftpd:

1. Truy cập FTP

Chúng tôi sẽ chỉ cho phép người dùng trong mạng LAN truy cập vào máy chủ FTP, tìm anonymous_enablelocal_enable như sau:

2. Cho phép tải lên

Bỏ ghi chú write_enable cài đặt để cho phép thay đổi hệ thống folder và file, chẳng hạn như tải lên và xóa tệp.

3. Phân quyền

Ngăn người dùng FTP truy cập bất kỳ tệp nào bên ngoài thư mục chính của họ bằng cách bỏ ghi chú chroot chỉ thị. Theo mặc định, khi bật chroot, vsftpd sẽ từ chối tải tệp lên nếu thư mục mà người dùng bị khóa có thể ghi được. Điều này là để ngăn chặn một lỗ hổng bảo mật. Sử dụng một trong các phương pháp dưới đây để cho phép tải lên khi đã bật chroot.

Phương pháp 1:

Phương pháp được khuyến nghị để cho phép tải lên là giữ cho chroot được bật và định cấu hình các thư mục FTP. Trong hướng dẫn này, chúng tôi sẽ tạo một thư mục ftp, thư mục này được phần quyền chroot và có thể upload dữ liệu lên.

Phương pháp 2.

Một tùy chọn khác là thêm chỉ thị sau vào tệp cấu hình vsftpd. Sử dụng tùy chọn này nếu bạn phải cấp quyền truy cập có thể ghi cho người dùng của mình vào thư mục chính của nó.

4. Mở dải cổng kết nối FTP

vsftpd có thể sử dụng bất kỳ cổng nào cho các kết nối FTP. Chúng tôi sẽ chỉ định phạm vi range port và sau đó mở firewall cho phép kết nối. Thêm các dòng sau vào tệp cấu hình:

5. Giới hạn đăng nhập Người dùng

Để chỉ cho phép một số người dùng nhất định đăng nhập vào máy chủ FTP, hãy thêm các dòng sau vào sau userlist_enable=YES dòng: Khi tùy chọn này được bật, bạn cần chỉ định rõ ràng người dùng nào có thể truy cập ftp server bằng cách thêm tên người dùng vào /etc/vsftpd/user_list danh sach đó.

6. Cấu hình bảo mật truyền với SSL / TLS

Để mã hóa truyền FTP bằng SSL/TLS, bạn cần phải có chứng chỉ SSL và định cấu hình máy chủ FTP để sử dụng. Bạn có thể sử dụng chứng chỉ SSL hiện có do Tổ chức phát hành chứng chỉ đáng tin cậy ký hoặc tạo chứng chỉ tự ký. Nếu bạn có miền hoặc miền phụ trỏ đến địa chỉ IP của máy chủ FTP, bạn có thể dễ dàng tạo chứng chỉ SSL Let’s Encrypt miễn phí . Trong hướng dẫn này, chúng tôi sẽ tạo chứng chỉ SSL tự ký bằng openssl công cụ. Lệnh sau sẽ tạo khóa cá nhân 2048-bit và chứng chỉ tự ký có hiệu lực trong 10 năm. Cả khóa cá nhân và chứng chỉ sẽ được lưu trong cùng một tệp: Khi chứng chỉ SSL được tạo, hãy mở tệp cấu hình vsftpd: Tìm rsa_cert_filevà rsa_private_key_filechỉ thị, thay đổi giá trị của chúng thành pamđường dẫn tệp và đặt ssl_enablechỉ thị thành YES: Nếu không được chỉ định khác, máy chủ FTP sẽ chỉ sử dụng TLS để tạo kết nối an toàn.

Khởi động lại Dịch vụ vsftpd

Sau khi bạn chỉnh sửa xong, tệp cấu hình vsftpd (không bao gồm nhận xét) sẽ trông giống như sau: Lưu tệp và khởi động lại dịch vụ vsftpd để các thay đổi có hiệu lực:

Mở tường lửa

Nếu bạn đang chạy, bạn cần cho phép lưu lượng FTP. Để mở cổng 21( cổng lệnh FTP), cổng 20( cổng dữ liệu FTP) và 30000-31000(Phạm vi cổng thụ động), trên tường lửa của bạn, hãy nhập các lệnh sau: Tải lại các quy tắc tường lửa bằng cách nhập:

Tạo người dùng FTP

Để kiểm tra máy chủ FTP, chúng tôi sẽ tạo một người dùng mới. Nếu bạn đã có người dùng mà bạn muốn cấp quyền truy cập FTP, hãy bỏ qua bước đầu tiên. Nếu bạn đặt allow_writeable_chroot=YES trong tệp cấu hình của mình, hãy bỏ qua bước thứ 3. Tạo người dùng mới có tên newftpuser: Tiếp theo, bạn sẽ cần đặt mật khẩu người dùng : Thêm người dùng vào danh sách người dùng FTP được phép: Tạo cây thư mục FTP và đặt các quyền chính xác : Như đã thảo luận trong phần trước, người dùng sẽ có thể tải các tệp của nó lên ftp/upload thư mục trên server. Tại thời điểm này, máy chủ FTP của bạn đã hoạt động đầy đủ và bạn có thể kết nối với máy chủ của mình bằng bất kỳ ứng dụng khách FTP nào có thể được cấu hình để sử dụng mã hóa TLS chẳng hạn như FileZilla .

Tắt quyền truy cập Shell

Theo mặc định, khi tạo người dùng, nếu không được chỉ định rõ ràng, người dùng sẽ có quyền truy cập SSH vào máy chủ. Để vô hiệu hóa quyền truy cập trình bao, chúng tôi sẽ tạo một trình bao mới sẽ chỉ in một thông báo cho người dùng biết rằng tài khoản của họ bị giới hạn chỉ truy cập FTP. Chạy các lệnh sau để tạo /bin/ftponlyshell và làm cho nó có thể thực thi được: Nối trình bao mới vào danh sách các trình bao hợp lệ trong /etc/shells : Thay đổi trình bao người dùng thành /bin/ftponly: Sử dụng lệnh tương tự để thay đổi trình bao cho những người dùng khác mà bạn chỉ muốn cấp quyền truy cập FTP. Nguồn: linuxize

Write a Reply or Comment

Your email address will not be published. Required fields are marked *