Hỗ trợ IPv6 Ngôn ngữ rất đa dạng và phong phú Hỗ trợ phục hồi và chuyển các tập tin lớn hơn 4G Giao diện của người dùng được bố trí theo các tab Hỗ trợ tính năng kéo và thả Gi
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
BÁO CÁO ĐỀ TÀI
Tìm hiểu, cài đặt và thử nghiệm
chương trình Filezilla
Bùi Trung Hiếu 20198174 Hieu.bt198174@sis.hust.edu.vn
Lê Duy Anh Dũng 20198170 Dung.lda198170@sis.hust.edu.vn
Phạm Minh Đức 20198287 Duc.pm198287@sis.hust.edu.vn
Trần Văn Hạ 20198173 Ha.tv198173@sis.hust.edu.vn
Giảng viên hướng dẫn: TS Trần Hải Anh
Môn: Linux và Phần mềm mã nguồn mở
Viện: Công nghệ thông tin và Truyền thông
HÀ NỘI, 1/2022
Chữ ký của GVHD
Trang 2MỤC LỤC
CHƯƠNG I: TỔNG QUAN VỀ FILEZILLA 2
1.FileZilla là gì? 2
2.FTP là gì? 2
3.FRP Port 21 là gì? 2
4.Tính năng của FileZilla 2
5.Ưu điểm của FileZilla: 3
CHƯƠNG II: HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG FILEZILA 3
1.Hướng dẫn cài đặt filezilla client trên Ubuntu 3
2.Giao diện của FileZilla 4
3.Cách upload, download files trong chương trình filezilla 7
4.Tạo FTP server 7
4.1.VSFTPD 7
4.2.Làm thế nào để dựng FTP server trên Ubuntu VPS? 8
5.Một số chức năng khác của filezilla 14
6.Các lỗi thường gặp khi sử dụng filezilla 15
Trang 3TÀI LIỆU THAM KHẢO
1 https://www.hostinger.vn/huong-dan/kiem-tra-ftp-port-co-bi-chan-khong
2 https://www.hostinger.vn/huong-dan/lam-nao-de-dung-ftp-server-tren-ubuntu-vps
3 https://wiki.filezilla-project.org/Main_Page
4 https://hostingviet.vn/tim-kiem?keyword=filezilla
Trang 4CHƯƠNG I: TỔNG QUAN VỀ FILEZILLA 1.FileZilla là gì?
FileZilla hay FileZilla Client là một phần mềm FTP mã nguồn mở giúp đơn giản hóa
việc upload, download file giữa máy tính và host
FileZilla Client là chương trình hỗ trợ truyền tải tập dữ liệu giữa máy tính cá nhân và các máy chủ web thông qua mạng Internet sử dụng giao thức FTP (File Transfer Protocol)
FileZilla hỗ trợ việc truyền tải những tập tin lớn, phục hồi lại từ điểm đứt gãy khi gặp
sự cố, giữ tập tin an toàn và cho phép tìm kiếm cũng như chỉnh sửa tập tin từ xa Phần mềm làm việc với các giao thức FTP, FTP trên nền SSL/TLS và SFTP
2.FTP là gì?
FTP viết tắt của File Transfer Protocol là giao thức giúp bạn trao đổi bất kỳ tập tin nào từ máy tính cá nhân lên máy chủ File Transfer Protocol tạm dịch là giao thức
chuyển nhượng tập tin
Bạn có thể quản lý, thay đổi, chỉnh sửa, xóa các tập tin trong FTP (ngoại trừ database) một cách nhanh chóng nhất có thể Để sử dụng FTP thì chúng ta cần cài đặt những phần mềm FTP phổ biến trên máy tính cá nhân của bạn Cái tên phổ biến nhất hiện nay chính là phần mềm FileZilla.
3.FRP Port 21 là gì?
FTP là giao thức internet giúp máy tính trang bị một hệ thống mạng truyền đưa nhiều
files Để hoạt động FTP phải dùng đến hai port là port 21 để điều khiển và ra lệnh,
và port 20 để truyền dữ liệu FTP client không thể thực hiện giao thức này nếu có
vấn đề với port 21
Một số router và firewall có thể block port nầy vì hackers thường nhắm vào port này làm mục tiêu hack server FTP
Nếu bạn gặp vấn đề kết nối tới FTP, bạn cần phải kiểm tra đầu tiên xem port FTP có bị chặn hay không Cụ thể là sử dụng telnet để kiểm tra kết nối tới port 21
4.Tính năng của FileZilla
Các tính năng chính của filezilla :
Dễ dàng sử dụng
Hỗ trợ FTP, FTP trên SSL/TLS (FTPS) vàSSH File Transfer Protocol (SFTP)
Cross-platform chạy trên các hệ điều hành Windows, Linux, *BSD, Mac OS
Trang 5 Hỗ trợ IPv6
Ngôn ngữ rất đa dạng và phong phú
Hỗ trợ phục hồi và chuyển các tập tin lớn hơn 4G
Giao diện của người dùng được bố trí theo các tab
Hỗ trợ tính năng kéo và thả
Giới hạn tốc độ upload, download
Có tính năng Filename Filter (bộ lọc tên file) (chèn link Filename filter)
Thư mục Site Manager cho phép người dùng tạo ra danh sách các tài khoản FTP cùng với kiểu dữ liệu kết nối như Host, username…
Message log giúp hiển thị thông tin kết nối của chúng ta đến với máy chủ
Có thể so sánh 2 thư mục với nhau bằng Directory comparison
Chỉnh sửa các tập tin remote (thư mục trên host)
Chỉnh sửa cấu hình Network
Có tính năng tạo mật khẩu cho các file quan trọng, khi bạn muốn truy cập vào file đấy thì cần nhập mật khẩu
Hỗ trợ HTTP/1.1, SOCKS5 và FTP Proxy
Duyệt các thư mục một cách đồng bộ (Đồng bộ giữa server Hosting và máy tính
cá nhân)
5.Ưu điểm của FileZilla:
Phần mềm FileZilla là FTP Client miễn phí tốt nhất hiện tại.
Hỗ trợ hầu hết mọi hệ điều hành hiện nay bao gồm Windows, Linux và Mac
OS X Tuy nhiên, bạn không nên dùng bản crack cute FTP
Mở nguồn mở: Phần mềm crack rất nguy hiểm vì hacker có thể đánh cắp thông
tin host Phần mềm mã nguồn mở sẽ khiến bạn an tâm hơn rất nhiều
Thân thiện và dễ dùng: Giao diện của FileZilla gần giống với cái File
Explorer thông thường Chính vì thế sử dụng FireZilla cũng khá dễ dàng
Đa ngôn ngữ: Phần mềm có nhiều ngôn ngữ và có tính năng như Site Manager,
transfer queries, bookmark
CHƯƠNG II: HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG
FILEZILA 1.Hướng dẫn cài đặt filezilla client trên Ubuntu
Trên Ubuntu mở Terminal và nhập các lệnh sau:
sudo apt-get update
sudo apt-get upgrade
sudo add-apt-repository ppa:sicklylife/filezilla
Trang 6sudo apt update sudo apt install filezilla
Sau khi cài đặt xong chúng ta có thể mở filezilla client bằng terminal dash hoặc thông qua nút show Applications trên thanh dock của ubuntu
2.Giao diện của FileZilla
Các tính năng chính :
Site Manager: Tính năng này cho phép người dùng có thể tạo một danh sách
các trang FTP cùng với các dữ liệu kết nối như port, giao thức, tài khoản đăng nhập và mật khẩu…
Message log: Hiển thị thông tin của các phiên được kết nối, các lệnh của khách
và phản hồi của máy chủ
Transfer queue: Phía dưới cùng của cửa sổ, cho biết trạng thái của các quá
trình, trạng thái của các tệp trong hàng đợi
Liên kết FileZilla Server với FileZilla Client :
Giao diện Site Manager :
Trang 7 “Host” – bạn có thể tìm thấy thông tin này từ nhà cung cấp hosting của bạn, tuy
nhiên trong nhiều tình huống bạn có thể gõ ftp.yourdomain.com làm host name
“Port” – Port FTP server, port mặc định của FTP là 21, tuy nhiên, trường này
không bắt buộc
“Protocol” – giao thức để chuyển file giữa hệ thống mạng Hãy chọn FTP –
File Transfer Protocol
o FTP – FTP là viết tắt của “File Transfer Protocol” Nó là giao thức
Internet được thiết kế chuyên biệt để thiết lập kết nối giữa một server Internet (hoặc máy tính), để người dùng có thể truyền file (hoặc tải file) tới máy tính của họ hoặc upload file từ máy họ lên server (computer)
o SFTP – SFTP là viết tắt của “Secure File Transfer Protocol” Giao thức
chuyển file bảo mật đảm bảo rằng data được chuyển đi an toàn sử dụng luồng kết nối cá nhân Nó là chuẩn truyền file sử dụng giao thức SSH2 SFTP servers sử dụng port 22 và FTP trên SSL/TLS (implicit mode) dùng port 990 mặc định
“Encryption” – chọn cách data được mã hóa Chúng tôi khuyên sử dụng Only
use plain FTP (insecure), bởi các phương pháp đòi hỏi bạn tạo thêm certificates
và cấu hình khác Nếu bạn muốn kết nối tới server khi sử dụng giao thức mã hóa khác, hãy liên hệ nhà cung cấp hosting để được hướng dẫn thêm
“Logon Type” – loại login có thể dùng, khi thích hợp:
Anonymous: Bạn không thể thêm thêm username và password Trong trường
hợp này, username phải luôn là “Anonymous”
Normal: Bạn phải điền username và nếu cần, điền mật khẩu.
Ask for password: FileZilla sẽ hỏi bạn mật khẩu khi đăng nhập trong khi đăng
nhập, hãy nhớ mật khẩu của session đó
Trang 8 Interactive: FileZilla hỏi mật khẩu và có thể hỏi lại lần nữa mỗi lần kết nối for
the password, and asks again for every new connection to the server
Account: Chọn cái này trong trường Account trong cài đặt bookmark Loại
account này sẽ chỉ cho FTP, SFTP không hỗ trợ nó
User: FTP user bạn dùng để kết nối.
Password: Mật khẩu của FTP user
Cách kết nối với máy chủ FTP:
Nhập địa chỉ của tài khoản FTP vào mục Host
Nhập tên của người dùng vào mục Username
Nhập mật khẩu của người dùng vào mục Password
Nhập số của cổng kết nối vào mục Port hoặc có thể không nhập để sử dụng mặc định là cổng 21
Sau khi nhập xong nhấn Quickconnect để kết nối Nếu không có lỗi gì thì chương trình sẽ kết nối được với tài khoản FTP của máy trạm và các tập tin sẽ được hiển thị trong cửa sổ quản lý tập tin của máy trạm Host
Để ngắt kết nối nhấn vào nút Disconnect tenten trên thanh công cụ
Cách sử dụng FileZilla chỉnh sửa file :
Cửa sổ chính của FileZilla Client được chia làm nhiều của sổ nhỏ Mỗi cửa sổ này sẽ hiển thị các thông tin khác nhau để giúp người dùng thuận tiện quản lý dữ liệu và kiểm soát được các thao tác của mình Các cửa sổ này có thể được bật tắt thông qua các nút trên thanh Menu
Các nút chức năng để bật / tắt các cửa sổ hiển thị :
Để truy cập các thư mục trên Host bạn có thể làm theo 2 cách:
Gõ tên thư mục vào ô Remote Site rồi nhấn Enter
Nhấp vào một thư mục trong cây thư mục hoặc Double-click vào thư mục đang cần thay đổi Việc quản lý thư mục trên Filezilla giống như trên máy tính thông thường
Đây là ví dụ cửa sổ điều hướng của FileZilla:
Trang 9Ở phía bên trái, bạn có các tệp từ máy tính.
Ở phía bên phải, bạn có các tệp từ máy chủ của mình
3.Cách upload, download files trong chương trình filezilla
Upload dữ liệu:
Bước 1: Mở thư mục đích trên máy chủ Server nơi các file sẽ được tải lên.
Bước 2: Từ cây thư mục bên trái, lựa chọn thư mục hoặc file cần upload rồi
kích phải chuột và chọn upload (hoặc có thể kéo thả trực tiếp từ cửa sổ bên trái này sang cửa sổ bên phải)
Bước 3: Khi phần mềm upload xong, kiểm tra lại file trên thư mục máy chủ.
Download dữ liệu :
Bước 1: Từ cây thư mục bên trái, chọn thư mục đích sẽ chứa các file tải về
(mặc định là mở ở thư mục hiện hành)
Bước 2: Từ cây thư mục bên phải , chọn thư mục hoặc file cần tải về Sau đó
kích phải chuột và chọn Download (hoặc kéo thả trực tiếp từ cửa sổ bên phải này sang cửa sổ bên trái)
Bước 3: Khi phần mềm Download xong, kiểm tra lại file trên thư mục máy
trạm
4.Tạo FTP server
4.1.VSFTPD
VSFTPD là một FTP Server cho hệ thống Unix-like được phân phối bởi Red Hat Enterprise Linux VSFTPD được sử dụng rộng rãi trên Linux server, sử dụng
VSFTPD đảm bảo cho chúng ta an toàn trước 99% lỗ hỏng bảo mật trên FTP Server
Mô hình VSFTPD có các đặc điểm chính như sau:
Giữa tiến trình mang đặc quyền và tiến trình không mang đặc quyền có phân chia rõ ràng
Các tiến trình được chạy trong chroot jail nhằm nâng cao bảo mật
Trang 10 Chroot trên các hệ điều hành Unix là một công đoạn thay đổi thư mục root cho các tiến trình đang chạy hiện tại và các tiến trình con của nó
4.2.Làm thế nào để dựng FTP server trên Ubuntu VPS?
Bước 1 – Cài đặt Vsftpd
Đầu tiên, cần cập nhật các gói sản phẩm trước khi tiến hành cài đặt vsftpd daemon Để bắt đầu, hãy chạy lệnh sau:
Sudo apt-get update
Sau đó thực hiện lệnh sau để cài vsftpd daemon:
Sudo apt-get install vsftpd
Bạn có thể sẽ được hỏi xác nhận cài đặt, nhấn Y rồi Enter để đồng ý
Sau khi cài đặt hoàn tất, hãy backup file gốc để chúng ta có thể bắt đầu với một file cấu hình trống:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original
Bây giờ chúng ta đã sẳn sàng cho bước tiếp theo để cấu hình firewall
Bước 2 – Cho phép FTP traffic qua tường lửa
Để cho phép Ubuntu FTP server giao tiếp ra ngoài, bạn cần phải cho phép nó khỏi bị chặn bởi tường lửa Hãy xem tường lửa có được kích hoạt chưa bằng cách dùng lệnh sau:
sudo ufw status
Nếu bạn thấy thông báo này:
ufw: command not found
Có nghĩa là tường lửa chưa được bật và bạn có thể làm tiếp bước tiếp theo
Tuy nhiên, nếu kết quả hiển thị khác, với một số quy tắc đã được định nghĩa rồi hoặc một thông báo là tưởng lửa đang active (hoạt động), bạn sẽ phải xác định xem kết nối FTP có hoạt động không Hãy tiếp tục và mở port 20 và 21 cho kết nối FTP; port 40000-50000 đã được dành riêng cho một số port thụ động có thể sẽ được cấu hình trong file cấu hình và port 990 sẽ được dùng khi TLS được kích hoạt Để làm việc này hãy thực hiện lệnh sau:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 990/tcp
sudo ufw allow 40000:50000/tcp
Giờ bạn hãy tiếp tục xem tình trạng firewall:
Kết quả sẽ tương tự như sau:
Trang 11Bây giờ bạn đã có tất cả các port cần thiết được mở.
Bước 3 – Tạo thư mục người dùng
Tại bước 3 này trong quá trình cài đặt Ubuntu FTP server, bạn cần chọn người dùng cho việc truy cập FTP Để làm được vậy, chúng ta sẽ tạo một user mới Để tạo user mới, bạn hãy thực hiện lệnh sau:
sudo adduser newuser
Khi được hỏi, hãy điền mật khẩu thành viên và điền vào các thông tin chi tiết khác
Lý tưởng nhất là FTP cần phải hạn chế để cho truy cập vào thư mục nhất định thôi, vì
lý do an toàn Vsftpd sử dụng chroot jails để làm việc này Với việc kích hoạt chroot, một local user sẽ bị hạn chế vào thư mục home của họ mặc định Cũng vì vậy, có thể
vì lý do bảo mật của vsftpd, uesr có thể không ghi được vào trong thư mục này Chúng
ta sẽ không vô hiệu quyền ghi dữ liệu khỏi thư mục home, mà thay vào đó, chúng ta sẽ tạo một thư mục FTP hoạt động như là chroot với quyền ghi dữ liệu được kích hoạt, sẽ chịu trách nhiệm cho việc giữ các file được chia sẻ Sử dụng lệnh này để tạo một thư mục FTP:
sudo mkdir /home/newuser/ftp
Chọn ownership bằng lệnh sau:
sudo chown nobody:nogroup /home/newuser/ftp
Cuối cùng, bỏ quyền ghi cho thư mục đó:
sudo chmod a-w /home/newuser/ftp
Giờ hãy dùng lệnh sau để xác nhận lại phân quyền:
sudo ls -la /home/newuser/ftp
Kết quả sẽ tương tự như sau:
Ở bước tiếp theo, chúng ta sẽ tạo file chứa thư mục và phân quyền sở hữu:
sudo mkdir /home/newuser/ftp/files
sudo chown newuser:newuser /home/newuser/ftp/files
Cuối cùng, thêm một file test vào thư mục này để thử nghiệm kết quả:
echo "vsftpd sample file" | sudo tee /home/newuser/ftp/files/sample.txt
Bước 4 – Cấu hình vsftpd
Trang 12Bước tiếp theo là thiết lập FTP server trên Ubuntu VPS, chúng tôi sẽ cấu hình vsftpd
và kết nối FTP Trong bài hướng dẫn này, chúng ta sẽ cho phép một người dùng duy nhất kết nối với FTP sử dụng tài khoản local shell 2 điểm cần thiết để cấu hình đã
được đặt sẵn trong file cấu hình (vsftpd.conf) Trước tiên bạn hãy xác nhận file cấu hình có cài đặt giống như ở trên chưa, bằng cách sử dụng nano command:
sudo nano /etc/vsftpd.conf
Ở file này, chúng ta sẽ loại bỏ # và kích hoạt write_enable:
Chroot cũng sẽ được bỏ dấu ghi chú để đảm bảo người dùng kết nối qua FTP chỉ có quyền truy cập vào thư mục cho phép:
Một vài giá trị mới sẽ cần thêm bằng tay Bạn có thể dễ dàng dán vào cuối file Đầu
tiên user_sub_token sẽ cần được thêm vào đường dẫn thư mục local_root Việc này
sẽ cho phép file cấu hình hoạt động được với user hiện tại và các user khác nếu được thêm sau này:
user_sub_token=$USER
local_root=/home/$USER/ftp
Để đảm bảo đủ số lượng kết nối, chúng ta sẽ hạn chế số port được dùng trong file cấu hình như sau:
pasv_min_port=40000
pasv_max_port=50000
Chúng ta sẽ cấu hình cho phép những user nào được gán quyền mới được truy cập trong danh sách những user có thể truy cập như sau:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
userlist_deny chịu trách nhiệm xử lý logic: khi đặt thành “NO”, chỉ những user được
chọn trong danh sách có quyền truy cập
Khi hoàn tất, click CTRL+X và xác nhận thay đổi.
Cuối cùng, chúng ta sẽ tạo và thêm user vào file:
echo "newuser" | sudo tee -a /etc/vsftpd.userlist
Khởi động lại daemon bằng câu lệnh sau để tải lên thay đổi:
sudo systemctl restart vsftpd
Bước 5 – Bảo mật FTP
Mặc định, FTP sẽ không thực hiện mã hóa dữ liệu, vì vậy chúng ta sẽ thiết lập
TTL/SSL để truyền dữ liệu an toàn hơn Bước đầu tiên, chúng tôi sẽ cần tạo SSL certificate và sử dụng nó cho Ubuntu FTP server Thực hiện lệnh sau: