Vsftpd (Very secure FTP daemon) là bản FTP server mặc định cho Ubuntu, CentOS, .. Vì vậy, bài viết sẽ cài đặt và cấu hình VSFTPD làm FTP server.
Cài đặt vsftpd
Download và cài đặt thư viện libcap cho vsftpd
cd /opt
wget https://rpmfind.net/linux/centos/7.5.1804/os/x86_64/Packages/libcap-2.22-9.el7.x86_64.rpm
wget https://rpmfind.net/linux/centos/7.5.1804/os/x86_64/Packages/libcap-devel-2.22-9.el7.x86_64.rpm
rpm -ivh libcap-2.22-9.el7.x86_64.rpm
rpm -ivh libcap-devel-2.22-9.el7.x86_64.rpm
Download bản cuối vsftpd tại đây
cd /opt
wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz
tar -xvf vsftpd-3.0.3.tar.gz cd vsftpd-3.0.3/
#Thực hiện cài đặt
make && make install
Tạo tài khoản người dùng FTP
useradd vsftpduser
passwd vsftpduser
Home directory mặc định của người dùng là /home/vsftpduser.
Thay đổi home directory của vsftpduser đến directory mà chúng ta chỉ định cho vsftpduser được phép truy cập.
usermod --home /var/www/example/ vsftpduser
Gán quyền cho người dùng ftp và thiết lập bảo mật
Chỉnh sửa tệp /etc/vsftpd.conf để gán quyền cho phép người dùng truy cập và thiết lập bảo mật.
- Không cho phép truy cập anonymous
anonymous_enable=NO
- Cho phép truy cập ftp từ người dùng đã tạo trên server
local_enable=YES write_enable=YES
Cấu hình tùy chọn này cho phép truy cập FTP từ local users và được quyền write.
- Cho phép hoặc từ chối đăng nhập ftp từ danh sách người dùng
Mặc định khi enable userlist thì thuộc tính userlist_deny là YES, vì vậy nếu user nằm trong danh sách userlist thì sẽ không login được FTP. Để cho phép chỉ user nằm trong userlist được phép login FTP và all users còn lại là DENY thì chúng ta thay đổi thuộc tính userlist_deny đến NO
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
Ở đây, chúng ta khai báo danh sách tài khoản user được phép login FTP vào tệp tin /etc/vsftpd/user_list và thực hiện add user trên một dòng của tệp tin. Khi đó thực hiện add user vào tệp tin /etc/vsftpd/user_list
echo "vsftpduser" >/etc/vsftpd/user_list
- Cho phép user chỉ được phép login vào home directory
Nếu để cấu hình mặc định thì user mà login ftp có quyền truy cập tất cả thư mục, tệp tin được phân quyền trên hệ thống. Để đảm bảo tính bảo mật cho hệ thống, chúng ta sẽ cô lập user truy cập trong phạm vi home directory của người dùng đó. Sử dụng thuộc tính chroot cho phép chúng ta thực hiện việc này.
Một số tùy chọn cho chroot user
- Cho phép chroot đến all users
chroot_list_enable=YES
chroot_list_enable=NO
- Cho phép chroot một số user được chỉ định
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=chroot_list_file=/etc/vsftpd/chroot_list
Khi đó thêm user ftp cần chroot vào tệp tin /etc/vsftpd/chroot_list
- Không cho phép chroot một số user chỉ định
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=chroot_list_file=/etc/vsftpd/chroot_list
Note: Để cho phép có thể write vào chroot thì thêm tùy chọn sau vào tệp cấu hình
allow_writeable_chroot=YES
Start dịch vụ vsftpd và kiểm tra log in FTP
vsftpd &
Kiểm tra login FTP bằng dòng lệnh
ftp localhost
Chúc các bạn thành công!