Phước

Phước

2023-09-12 11:07:16

Hướng dẫn Cài đặt và Cấu hình vsftpd trên CentOS 7

vsftpd là một dịch vụ FTP (File Transfer Protocol) mạnh mẽ và bảo mật cho các máy chủ Linux. Nó cho phép bạn chia sẻ tệp và thư mục qua mạng và cung cấp nhiều tùy chọn cấu hình để tối ưu hóa tính bảo mật và hiệu suất. Dưới đây là hướng dẫn cài đặt và cấu hình vsftpd trên Linux.

Bước 1: Cài đặt vsftpd

1. Mở cửa sổ dòng lệnh trên CentOS 7 và cài đặt vsftpd bằng lệnh sau:

sudo yum install vsftpd

2. Sau khi cài đặt hoàn tất, bạn cần khởi động dịch vụ vsftpd và cấu hình nó để tự động khởi động cùng hệ thống:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

Bước 2: Cấu hình vsftpd

1. Mở tệp cấu hình vsftpd bằng trình soạn thảo, ví dụ vim:

sudo vim /etc/vsftpd/vsftpd.conf

2. Chúng ta chỉnh sửa file config với nội dung sau:

anonymous_enable=NO
local_enable=YES
write_enable=YES
pam_service_name=vsftpd
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=NO
listen_port=21
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
idle_session_timeout=3000
data_connection_timeout=3000
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
listen=YES
seccomp_sandbox=NO

pasv_enable=YES
pasv_min_port=50000
pasv_max_port=55000

anonymous_enable=NO: Tùy chọn này tắt chức năng truy cập ẩn danh (không cung cấp mật khẩu) cho người dùng FTP.

local_enable=YES: Cho phép người dùng cục bộ (đã đăng nhập) truy cập vào máy chủ FTP.

write_enable=YES: Cho phép người dùng ghi (tải lên) tệp lên máy chủ FTP.

pam_service_name=vsftpd: Xác định tên dịch vụ PAM (Pluggable Authentication Module) mà vsftpd sử dụng để xác thực người dùng.

userlist_deny=NO: Nếu được đặt thành NO, danh sách người dùng userlist_file chỉ định ai được phép truy cập. Nếu được đặt thành YES, danh sách này sẽ bị đảo ngược.

userlist_enable=YES: Cho phép sử dụng danh sách người dùng để kiểm soát quyền truy cập.

userlist_file=/etc/vsftpd.allowed_users: Xác định tệp danh sách người dùng, trong đó bạn có thể liệt kê các người dùng được phép hoặc bị từ chối truy cập.

dirmessage_enable=YES: Cho phép hiển thị thông điệp chào mừng khi người dùng truy cập thư mục.

xferlog_enable=YES: Kích hoạt ghi nhật ký giao dịch (transaction log), ghi lại các hoạt động trên máy chủ FTP.

connect_from_port_20=NO: Tắt việc kết nối từ cổng 20. Mặc định, vsftpd sử dụng cổng 20 cho kết nối dữ liệu, nhưng việc này có thể tạo ra sự nhầm lẫn và vấn đề về bảo mật.

listen_port=21: Xác định cổng mà máy chủ FTP lắng nghe kết nối.

xferlog_file=/var/log/xferlog: Đường dẫn đến tệp nhật ký giao dịch, nơi thông tin ghi lại hoạt động FTP.

xferlog_std_format=YES: Đảm bảo rằng định dạng của tệp nhật ký giao dịch tuân theo chuẩn.

idle_session_timeout=3000data_connection_timeout=3000: Đặt thời gian tắt phiên không hoạt động và thời gian tắt phiên kết nối dữ liệu.

chroot_list_enable=YES: Cho phép sử dụng danh sách chroot để giới hạn người dùng vào thư mục gốc.

chroot_list_file=/etc/vsftpd/chroot_list: Xác định tệp danh sách chroot, trong đó bạn có thể liệt kê các người dùng được chroot vào thư mục gốc.

allow_writeable_chroot=YES: Cho phép người dùng trong chroot có quyền ghi dữ liệu.

listen=YES: Kích hoạt máy chủ FTP để lắng nghe kết nối.

seccomp_sandbox=NO: Tùy chọn này tắt chế độ bảo vệ sử dụng cơ chế seccomp.

pasv_enable=YES: Cho phép chế độ chuyển đổi cổng (Passive Mode) để tránh vấn đề về tường lửa và NAT.

pasv_min_port=50000pasv_max_port=55000: Đặt phạm vi cổng cho chế độ chuyển đổi cổng trong Passive Mode.

Bước 3: Tường lửa (Firewall)

Ở bài viết này, chúng ta đã disable service ipables. Nếu SELinux đang enable thì cần disable SELinux hoặc setup full access cho FTP

sudo setsebool -P allow_ftpd_full_access 1

Bước 4: Khởi động lại vsftpd

Sau khi thay đổi cấu hình, bạn nên khởi động lại dịch vụ vsftpd để áp dụng các thay đổi:

sudo systemctl restart vsftpd

Bước 5: Kiểm tra vsftpd

Bây giờ bạn đã cài đặt và cấu hình vsftpd trên CentOS 7. Bạn có thể kiểm tra nó bằng cách sử dụng một ứng dụng FTP hoặc trình duyệt web. Sử dụng địa chỉ IP hoặc tên miền của máy chủ CentOS và cổng FTP mặc định (port 21), bạn có thể thử đăng nhập và truy cập tệp và thư mục.

Lưu ý: Để bảo mật hơn, hãy xem xét sử dụng chứng thực SSH hoặc TLS/SSL khi sử dụng vsftpd để bảo vệ dữ liệu truyền qua mạng.

Hướng dẫn Cài đặt và Cấu hình vsftpd trên CentOS 7
0 Likes0 Comments