Cài đặt và cấu hình dịch vụ FTP

03.05.19 01:26 AM Nhận xét Bởi Anln

1.Chuẩn bị thiết bị:

Một máy chủ Linux CentOS 7 và cài đặt FTP Server.

Một máy Windows đã cài đặt SecureCRT.

Một Switch kết nối Server Linux và PC.

2.Yêu cầu nội dung:

Kết nối thiết bị theo mô hình.

Đặt địa chỉ IP trên Server.

Sử dụng SecureCRT kết nối để thực hiện các nhiệm vụ cơ bản sau:

Cài đặt dịch vụ vsftpd trên máy chủ Linux.

Cài đặt và cấu hình thêm dịch vụ phân giải tên miền (nếu cần).

Tạo thư mục cho việc truy cập tài nguyên trên FTP Server.

Tạo User cho việc chứng thực truy cập.

Giới hạn truy cập vào FTP Server cho mỗi User.

Phần I. Cài đặt dịch vụ FTP Server

B1: Mount DVD vào thư mục media và sửa file yum, gán alias

[root@anln ~]# mount /dev/cdrom /media/

[root@anln ~]# vi /etc/yum.repos.d/CentOS-Media.repo

[root@anln ~]# vi .bashrc

B2: Cài đặt FTP Server từ DVD

yum install vsftpd -y

B3: gán quyền truy cập cho người dùng vào thư mục

setsebool -P ftp_home_dir="1

B4: Tao tạo user:

useradd anln

passwd anln

B5: khởi động dịch vụ ftp và cho phép khởi động cùng hệ thống

systemctl start vsftpd

systemctl enable vsftpd

B6: Bật firewalld

firewall-cmd --permanent --zone=public --add-port=20-21/tcp

firewall-cmd --permanent --zone=public --add-port=50000-50999/tcp

firewall-cmd --reload

firewall-cmd --list-all

B7: Cấu hình Passive mode

[root@anln ~]# vi /etc/vsftpd/vsftpd.conf

pasv_enable=YES

pasv_min_port=50000

pasv_max_port=50999

port_enable=YES

B8. Khởi động lại dịch vụ FTP

systemctl restart vsftpd

B9: Đổi thư mục cho người dùng

mkdir  /Data

useradd -d /Data/Data1 jenln

passwd jenln

B10: Dùng File zilla client kiểm tra sau khi cấu hình

Chú ý:

- Khi dùng FTP ở port 21 sẽ không vào được các thư mục khác ngoài thư mục Home và dữ liệu không được bảo mật.

- Nên dùng giao thức SFTP chạy ở Port 22 bằng SSH để bảo mật và vào được mọi thư mục theo yêu cầu


- Nếu truy cập dịch vụ FTP dùng SFTP truy cập vào máy chủ: 118.70.119.44 ta dùng port 202 đã được NAT

Username: vt, password: 123456a@

      

II. CẤU HÌNH FTP VIRTUAL USER

1. Cài đặt dịch vụ FTP Server

B1: Cài đặt dịch vụ FTP Server

yum install vsftpd -y

B2: Nếu bật Selinux thì ta cần phải gán quyền truy cập cho thư mục mới của người dùng

setsebool -P allow_ftpd_full_access on

B3: Bật dịch vụ

systemctl start vsftpd

systemctl enable vsftpd

B4. Cài đặt dịch vụ Berkeley DB

yum install -y db-util

B5. Kiểm tra quá trình cài đặt

db_load -V

Kết quả như này là được

#db_load -V

2. Cấu hình Virtual User trên VSFTPD

a. Cấu hình trong File Vsftpd.conf

vi /etc/vsftpd/vsftpd.conf

Sửa các thông số cấu hình như bên dưới.

anonymous_enable=NO

write_enable=NO

chroot_local_user=YES

allow_writeable_chroot=YES

##########Phần cấu hình cho Virtual User##########

userlist_enable=YES

userlist_file=/etc/vsftpd/user_list_deny

guest_enable=YES

guest_username=ftp

user_config_dir=/etc/vsftpd/vuser_conf

user_sub_token=$USER

pam_service_name=vuser_vsftpd

local_root=/var/ftp/$USER

#Cau hinh Passive mode

pasv_enable=YES

pasv_min_port=50000

pasv_max_port=50999

port_enable=YES

###########END###########

Chú ý: thếm dâu # trước pam_service_name="vsftpd

b. Tạo file cấu hình virtual user riêng

B1: Tạo folder chứa Virtual User

mkdir /etc/vsftpd/vuser_conf

Trong bài mình sẽ tạo hai user ảo là vuser1 và vuser2

B2: Sưa file cấu hình riêng cho vuser1.

vi /etc/vsftpd/vuser_conf/vuser1

Thêm nội dung như sau:

write_enable=YES

anon_world_readable_only=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

virtual_use_local_privs=YES

B3:Copy sang cho vuser2

cp /etc/vsftpd/vuser_conf/vuser1 /etc/vsftpd/vuser_conf/vuser2

c. Tạo Virtual user Database

B1: Tạo file chứa user:

vi /etc/vsftpd/vuser_list

Nội dung như sau, với username một dòng và password một dòng:

vuser1

123456a@

vuser2

123456a@

B2: Tiếp theo import vuser_list vào Berkeley DB

db_load -T -t hash -f /etc/vsftpd/vuser_list /etc/vsftpd/vuser_list.db

B3: Gán quyền read và execute.

chmod 600 /etc/vsftpd/vuser_list.db

Sau đó bạn có thể xóa file vuser_list nếu muốn, rm -f vuser_list

d. Cấu hình PAM

Nếu không dùng file PAM mặc định mà tạo file riêng để xác thực cho Virtual User. File sẽ có tên là vuser_vsftpd.

vi /etc/pam.d/vuser_vsftpd

Nội dung file:

auth required pam_userdb.so db="/etc/vsftpd/vuser_list

account required pam_userdb.so db="/etc/vsftpd/vuser_list

session required pam_loginuid.so

e. Cấu hình Home Directory cho Virtual User

B1: Sửa file passwd

vi /etc/passwd

Sửa /var/ftp thành

/var/ftp/$USER


B2: Tạo Home Directory cho Virtual User

mkdir /var/ftp/vuser1

mkdir /var/ftp/vuser2

Chown, toàn bộ dữ liệu trong /var/ftp thuộc sở hữu của tài khoản ftp

chown -R ftp:ftp /var/ftp/*

B3: Tạo file user_listdy_deny

vi /etc/vsftpd/user_list_deny

Thêm user muốn deny vào (ví dụ vuser1)

vuser1

B4: Mở Firewall

firewall-cmd --permanent --zone=public --add-port=20-21/tcp 

firewall-cmd --permanent --zone=public --add-port=50000-50999/tcp

firewall-cmd --reload

firewall-cmd --list-all

B5: Khợi động lại dịch vụ

systemctl restart vsftpd

6. Kiểm tra hoạt động FTP Server

Deny vuser1 bằng cách thêm nó vào user_listdy_deny như đã cấu hình ở trên. Còn vuser2 vẫn cho truy cập upload/delete/rename bình thường.

 Kết quả khi dùng FileZilla đăng nhập vào FTP Server trên VPS -> vuser1 đã bị chặn truy cập


vuser1

vuser2 đăng nhập bình thường và có thể upload file.


vuser2

Tất cả đã hoạt động ok, bạn thử tạo thêm nhiều user ảo khác và check rename, delete, create folder xem sao.

4.Video hướng dẫn:

Chia sẻ -