Có một số máy chủ FTP nguồn mở có sẵn cho Linux. Phổ biến nhất và được sử dụng rộng rãi 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 7. Đây là một máy chủ FTP ổn định, an toàn và nhanh chóng. Chúng tôi cũng sẽ chỉ cho bạn cách định cấu hình vsftpd để hạn chế người dùng vào thư mục chính của họ và mã hóa toàn bộ truyền bằng SSL / TLS.
Để truyền dữ liệu an toàn hơn và nhanh hơn, hãy sử dụng SCP hoặc SFTP.
Trước khi tiếp tục với hướng dẫn này, hãy đảm bảo bạn đã đăng nhập với tư cách là người dùng có quyền sudo.
Gói vsftpd có sẵn trong kho CentOS mặc định. Để cài đặt nó, hãy ra lệnh sau:
sudo yum install vsftpdSau khi gói được cài đặt, hãy khởi động trình nền vsftpd và cho phép nó tự động bắt đầu khi khởi động:
sudo systemctl bắt đầu vsftpdsudo systemctl kích hoạt vsftpd
Bạn có thể xác minh dịch vụ vsftpd đang chạy bằng cách in trạng thái của nó:
sudo systemctl status vsftpdĐầu ra sẽ trông giống như bên dưới, cho thấy dịch vụ vsftpd đang hoạt động và đang chạy:
● vsftpd.service - Vsftpd ftp daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2018-11-22 09:42:37 UTC; 6s ago Main PID: 29612 (vsftpd) CGroup: /system.slice/vsftpd.service └─29612 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.confCấu hình vsftpd
Định cấu hình dịch vụ vsftpd liên quan đến việc chỉnh sửa tệp cấu hình /etc/vsftpd/vsftpd.conf. Hầu hết các cài đặt được ghi lại tốt trong tập tin cấu hình. Đố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 tôi sẽ giới thiệu 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:
sudo nano /etc/vsftpd/vsftpd.conf1. Truy cập FTP
Chúng tôi sẽ chỉ cho phép người dùng cục bộ truy cập vào máy chủ FTP, tìm các chỉ thị nặc danh và local_enable và xác minh cấu hình khớp với các dòng bên dưới:

anonymous_enable=NOlocal_enable=YES2. Kích hoạt tải lên
Bỏ ghi chú cài đặt write_enable để cho phép thay đổi hệ thống tệp như tải lên và xóa tệp.
write_enable=YES3. Chroot Jail
Ngăn chặ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ỏ qua chỉ thị chroot.
chroot_local_user=YESTheo mặc định, khi chroot được bật, vsftpd sẽ từ chối tải lên các tệp 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 đề xuất để cho phép tải lên là để kích hoạt chroot 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 bên trong nhà người dùng sẽ đóng vai trò là thư mục tải lên và thư mục tải lên có thể ghi để tải lên các tệp.
user_sub_token=$USERlocal_root=/home/$USER/ftpallow_writeable_chroot=YES4. Kết nối FTP thụ động
vsftpd có thể sử dụng bất kỳ cổng nào cho các kết nối FTP thụ động. Chúng tôi sẽ chỉ định phạm vi tối thiểu và tối đa của các cổng và sau đó mở phạm vi trong tường lửa của chúng tôi.
Thêm các dòng sau vào tập tin cấu hình:
pasv_min_port=30000pasv_max_port=31000





