Hướng dẫn cấu hình ftp server trên centos 5.1 năm 2024
Bài viết này sẽ hướng dẫn bạn cách cấu hình FTP Server trên CentOS-7 với VSFTPD chạy Dual IPv4, IPv6. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về [email protected] hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php. Show
VSFTPD (Very Secure File Transport Protocol Daemon) là một FTP Server Stand Alone được phân phối bởi Red Hat Enterprise Linux. Đây là phần mềm để tạo FTP Server với tốc độ nhanh, cấu hình đơn giản. Ngoài ra, nếu không sử dụng VSFTPD thì bạn có thể dùng ProFTPD hoặc Pure-FTPD đều được. Trong bài hướng dẫn cấu hình FTP Server trên CentOS-7 với VSFTPD chạy Dual IPv4, IPv6, mình sẽ cài đặt FTP server lên máy CentOS-7. Việc cài đặt được thực hiện với quyền root. Để cấu hình FTP Server trên CentOS-7 với VSFTPD chạy Dual IPv4, IPv6, bạn cần chuẩn bị:
Cài đặt VSFPTDCài đặt gói Vsftpd:yum install vsftpdKhởi động hệ thống:Sau khi quá trình cài đặt hoàn tất, ta khởi động dịch vụ và cho phép nó khởi động cùng hệ thống. systemctl start vsftpdsystemctl enable vsftpdCấu hình tường lửa cho dịch vụ FTP và port 20-21:ip6tables -A INPUT -p tcp –dport 20 -j ACCEPTip6tables -A INPUT -p tcp –dport 21 -j ACCEPTservices ip6tables saveKiểm tra lại trạng thái vsftpd service: File cấu hình vsftpd nằm tại : /etc/vsftpd/vsftpd.conf Copy file cấu hình để backup:cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backupChỉnh sửa file cấu hình vsftpd.conf:vi /etc/vsftpd/vsftpd.confTìm và chỉnh sửa các tham số sau:anonymous_enable=NO # disable anonymous login local_enable=YES # permit local logins systemctl start vsftpd0 systemctl start vsftpd1 systemctl start vsftpd2 systemctl start vsftpd3 systemctl start vsftpd4 systemctl start vsftpd5 systemctl start vsftpd6 systemctl start vsftpd7 systemctl start vsftpd8 systemctl start vsftpd9 systemctl enable vsftpd0 systemctl enable vsftpd1 systemctl enable vsftpd2 systemctl enable vsftpd3 systemctl enable vsftpd4 systemctl enable vsftpd5 systemctl enable vsftpd6 systemctl enable vsftpd7 Để vsftpd lắng nghe bằng Ipv6, các bạn chú ý option là: listen_ipv6=YES Sau khi edit các tham số, chúng ta restart lại cấu hình vsftpd systemctl enable vsftpd8 Truy cập FTP SERVERTạo user local:systemctl enable vsftpd9 ip6tables -A INPUT -p tcp –dport 20 -j ACCEPT0 Ở đây mình đặt password cho user vinahost là: vinahost@12345 LƯU Ý: mọi người nên đặt password phức tạp, độ dài từ 10-16 ký tự, có ít nhất 1 ký tự đặc biệt, 1 ký tự IN HOA, 1 số để tránh bị bruteforce password. Sau khi thêm xong mặc định thư mục home của user vinahost là /home/vinahost Cấp quyền truy cập cho user:ip6tables -A INPUT -p tcp –dport 20 -j ACCEPT1 ip6tables -A INPUT -p tcp –dport 20 -j ACCEPT2 Restart lại dịch vụsystemctl enable vsftpd8 Truy cập vào FTP Server bằng IPV6:Các bạn có thể dùng bất kỳ phần mềm FTP Client nào để kết nối chẳng hạn như WinSCP, FileZilla Client, command line scp của window/linux, lftp … ở đây mình dùng FileZilla Client để kết nối: Ta tiến hành nhập Username, Password, Ipv6 vào như hình: Sau khi nhập đúng địa chỉ IPV6 của FTP server và tài khoản đăng nhập, ta sẽ thấy giao diện như trên với các thư mục trên FTP server. Trên đây là hướng dẫn cấu hình FTP Server trên CentOS-7 với VSFTPD chạy Dual IPv4/IPv6. Chúc bạn thành công! Bạn có thể sửa nội dung file /etc/vsftpd/user_list, và thêm user vào list. (Mỗi user cách nhau một dòng.)option userlist_deny cho phép bạn thêm một số users đặt biệt vào; Đặt là yes sẽ thay đổi các user có trong list sẽ bị blocked. vsftpd là một FTP Server Stand Alone được phân phối bởi Red Hat Enterprise Linux. Mô hình vsftpd có 3 thuộc tính chính là:
I. Cài đặt:
Khởi động/Kết thúc/Trạng thái vsftpd:
Khởi động vsftpd khi khởi động máy:
Sau khi hoàn thành việc cấu hình, ta tiến hành restart vsftpd bằng lệnh sau:
II. Cấu hình căn bản:vsftpd dùng chính account trên Centos để log in vào hệ thống của nó. Ta chỉnh sửa file cấu hình tại:
1. Các tham số cấu hình căn bản:Khi bật tham số listen, vsftpd chạy ở mode stand alone và lắng nghe trên socket IPv4
Cho phép các kết nối không chứng thực (anonymous) (Lưu ý: tham số tự động kích hoạt nếu ta comment tham số)
Cho phép user local truy cập:
Cho phép user quyền chỉnh sửa file trên server (Mặc định: Cấm)
Cho phép người dùng ẩn danh upload file (Tính năng này chỉ có hiệu lực nếu tham số write_enable được bật). Thêm vào đó bạn cần tạo đường dẫn cho phép người dùng ẩn danh chỉnh sửa.
Cho phép người dùng ẩn danh tạo đường dẫn thư mục mới:
0 2. Chroot Users:Chroot hiểu đơn giản là kỹ thuật "giam" một chương trình, dependencies, và library cần thiết để chạy chương trình vào một folder tách biệt với hệ thống để nâng cao tính bảo mật nếu chương trình đó bị xâm nhập trái phép thì nó chỉ ảnh hưởng trong nội tại thư mục đó mà thôi. Chi tiết về chroot mình sẽ có một series khác để nói riêng về kỹ thuật này nhé. Trong nội dung bài viết này ta sẽ học cách bật tính năng chroot cho các user khi đăng nhập vào FTP Server. Ta có các tùy chọn như sau: Chroot tất cả user
1 Chỉ chroot đối với một số user nằm trong danh sách được tạo trên đường dẫn /etc/vsftpd.chroot_list:
2 Chroot tất cả user ngoại trừ danh sách các user được liệt kê tại /etc/vsftpd.chroot_list:
3 3. Cho phép và hạn chế người dùng đăng nhập vào hệ thống:Hạn chế các user truy cập vào FTP Server:
4 Hoặc ta có thể cấm tất cả các user truy cập FTP và lập danh sách một số người được truy cập
5 III. Khởi động nhiều phiên bản cấu hình của VSFTPD:Đôi khi một server chứa nhiều FTP domain để phục vụ nhiều mục đích khác nhau. Ta có thể thực hiện điều này bằng cách tạo ra 2 hay nhiều file cấu hình cho các domain khác nhau và khởi động từng FTP Daemon chạy các file cấu hình khác nhau cùng lúc. Trước đó ta cần đảm bảo các máy client thông mạng và DNS Server được cấu hình đầy đủ cho các FTP Server Tiếp theo ta tạo các file cấu hình khác nhau và đặt tại /etc/vsftpd Mỗi file cấu hình sẽ lắng nghe một mạng duy nhất, tham số này là độc nhất
6 Ta khởi động các phiên bản của FTP Daemon bằng lệnh sau: Lưu ý ta phải bỏ đuôi .conf ở file cấu hình đi
7 Thay vì phải khởi động bắng tay từng phiên bản một ta có thể khởi động tất cả cùng lúc bằng hai thao tác xong
8 IV. Mã hóa VSFTPD với TLS/SSL:Tinh chỉnh các thông số sau để mã hóa vsftpd bằng TLS và disble các phương thức SSL đã cũ:
9 V. Chính sách SELinux cho VSFTPD:Để share file một cách ẩn danh ta set biến public_content_t với đường dẫn public:
0 Để tạo một đường dẫn để upload file một cách ẩn danh, ta cấu hình tương tự như trên và set tham số allow_ftpd_anon_write bằng lệnh sau: |