VSFTPD LÀ GÌ
Bạn đang xem: Vsftpd là gì
Chuẩn bị môi trường #
Ubuntu 20.04.User có quyền sudo.Cài đặt vsfptd #
Đầu tiên bạn cần cài đặt vsftpd:
$ sudo apt update$ sudo apt install vsftpd |
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig |
Cấu hình tưởng lửa cho vsftpd #
Bạn cần phải cấu hình UFW (công cụ tường lửa bên trên Ubuntu 20.04) để mở port mang đến FTP buộc phải trước hết bạn hãy kiểm tra trạng thái hiện tại:$ sudo ufw statusStatus: activeTo kích hoạt From-- ------ ----OpenSSH ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6) |
$ sudo ufw allow 20:21/tcp$ sudo ufw allow 990/tcp$ sudo ufw allow 35000:40000/tcp$ sudo ufw statusStatus: activeTo kích hoạt From-- ------ ----OpenSSH ALLOW Anywhere990/tcp ALLOW Anywhere20:21/tcp ALLOW Anywhere35000:40000/tcp ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)20:21/tcp (v6) ALLOW Anywhere (v6)990/tcp (v6) ALLOW Anywhere (v6)35000:40000/tcp (v6) ALLOW Anywhere (v6) |
Cấu hình vsftpd #
Tiếp theo bạn cần cấu hình vsftpd bằng cách mở và chỉnh sửa file cấu hình:$ sudo nano /etc/vsftpd.conf |
anonymous_enable=NOlocal_enable=YES |
write_enable=YES |
chroot_local_user=YESallow_writeable_chroot=YES |
pasv_min_port=35000pasv_max_port=40000 |
userlist_enable=YESuserlist_file=/etc/vsftpd.userlistuserlist_deny=NO |
Cấu hình thư mục người dùng #
Để thêm người dùng mới vào FTP Server, vào bài viết mình sẽ thực hiện thêm mới người dùng. Đầu tiên là tạo người dùng mới:
$ sudo adduser calidas.vn |
$ echo "calidas.vn" | sudo tee -a /etc/vsftpd.userlist |
$ sudo mkdir /home/calidas.vn/ftp$ sudo chown nobody:nogroup /home/calidas.vn/ftp$ sudo chmod a-w /home/calidas.vn/ftp |
$ sudo ls -al /home/calidas.vn/ftptotal 8dr-xr-xr-x 2 nobody nogroup 4096 Jun 7 13:08 .drwxr-xr-x 3 calidas.vn calidas.vn 4096 Jun 7 13:08 .. |
$ sudo mkdir /home/calidas.vn/ftp/upload$ sudo chown calidas.vn:calidas.vn /home/calidas.vn/ftp/upload |
$ sudo ls -al /home/calidas.vn/ftptotal 12dr-xr-xr-x 3 nobody nogroup 4096 Jun 7 13:10 .drwxr-xr-x 3 calidas.vn calidas.vn 4096 Jun 7 13:08 ..drwxr-xr-x 2 calidas.vn calidas.vn 4096 Jun 7 13:10 upload |
$ echo "vsftpd thử nghiệm file" | sudo tee /home/calidas.vn/ftp/upload/test.txt |
Kiểm tra kết nối FTP #
Sau khi cấu hình xong, bạn hãy thử kiểm tra kết nối FTP như sau:$ ftp -p 136.244.105.99Connected to 136.244.105.99.220 (vsFTPd 3.0.3)Name (136.244.105.99:default): anonymous530 Permission denied.ftp: Login failed.ftp> |
$ ftp -p 136.244.105.99Connected to 136.244.105.99.220 (vsFTPd 3.0.3)Name (136.244.105.99:default): calidas.vn331 Please specify the password.Password: your_user"s_password230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> |
ftp> cd upload250 Directory successfully changed.ftp> get test.txt227 Entering Passive Mode (136,244,105,99,165,42).150 Opening BINARY mode data connection for test.txt (17 bytes).226 Transfer complete.16 bytes received in 0.0101 seconds (164.3719 kB/s)ftp> |
ftp> put test.txt upload.txt227 Entering Passive Mode (136,244,105,99,163,102).150 Ok to lớn send data.226 Transfer complete.17 bytes sent in 0.000894 seconds (518.7988 kB/s) |
ftp> put test.txt upload.txt227 Entering Passive Mode (136,244,105,99,163,102).150 Ok khổng lồ send data.226 Transfer complete.17 bytes sent in 0.000894 seconds (518.7988 kB/s) |
Mã hoá kết nối với SSL/TLS #
Để có thể mã hoá kết nối FTP, bạn cần phải có một chứng chỉ SSL và cấu hình vsftpd sử dụng nó. Vào bài viết này, mình sẽ sử dụng openssl để tạo chứng chỉ như sau:$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem |
$ sudo nano /etc/vsftpd.conf |
rsa_cert_file=/etc/ssl/private/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pem |
ssl_enable=YES |
allow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YESssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrequire_ssl_reuse=NOssl_ciphers=HIGH |
$ sudo systemctl restart vsftpd |
Kiểm tra TLS với Filezilla #
Sau phần cấu hình mã hoá FTP với SSL/TLS mặt trên, bạn có thể sử dụng Filezilla để kiểm tra.Mở Filezilla, chọn Site Manager mặt trên:

Chọn tiếp New Site để thêm thông tin FTP hệ thống mới:

Thực hiện điền thông tin FTP Server. Do mặc định port FTP là 21 đề nghị bạn có thể để trống ô port. Bạn nhớ chọn Require explicit FTP over TLS do FTP server đã được mã hoá TLS.
Nếu kết nối thành công, bạn sẽ nhận được cửa sổ như bên dưới. Chọn Always trust this certificate in future sessions để ko phải hỏi như lần sau.

Tắt SSH vào vsftpd #
Mặc định khi tạo một người dùng FTP, nếu không cấu hình giới hạn, người dùng đó đều có thể SSH vào Server. Chính vì vậy, bạn cần tắt SSH mang đến những người dùng FTP để nâng cao bảo mật.
Xem thêm: Hướng Dẫn Chơi Game 5 Anh Em Siêu Nhân Gao Trên Pc, Power Rangers All Star #1
Tạo một shell script thực thi /bin/ftponly như mặt dưới:
$ echo -e "#!/bin/sh echo "This account is limited khổng lồ FTP access only."" | sudo tee -a /bin/ftponly$ sudo chmod a+x /bin/ftponly |
$ echo "/bin/ftponly" | sudo tee -a /etc/shells |
$ sudo usermod calidas.vn -s /bin/ftponly |