TỔNG QUAN VỀ CÁC GIAO THỨC
Tổng quan về giao thức FTP
Giao thức FTP (File Transfer Protocol) là phương thức truyền tải tệp tin giữa các máy tính qua mạng TCP hoặc Internet Với FTP, người dùng có thể dễ dàng tải lên dữ liệu như hình ảnh, văn bản, nhạc và video từ máy tính của mình lên một máy chủ từ xa, hoặc tải các tệp từ máy chủ về máy tính cá nhân.
FTP cho phép truyền tải và quản lý files, nhưng không được thiết kế để truy cập và thực thi chúng Dịch vụ này hữu ích cho việc chia sẻ dữ liệu, cho phép người dùng tải xuống và tải lên các tệp có dung lượng lớn mà không cần sử dụng USB, CD hay email Thay vì chỉ upload lên một host trực tuyến, người dùng cũng có thể biến máy tính của mình thành nơi lưu trữ và chia sẻ dữ liệu với người khác trên Internet.
Chúng ta có thể tải lên và tải xuống nhiều tập tin đồng thời để tiết kiệm thời gian, nhưng tốc độ đường truyền cũng ảnh hưởng đáng kể đến quá trình truyền tải dữ liệu qua FTP.
Về phía người dùng, khi tiếp cận FTP sẽ làm quen với các thông số sau:
− Địa chỉ máy chủ FTP: có dạng tên miền hoặc địa chỉ IP
• Ví dụ về dạng tên miền: google.com,…
• Ví dụ về dạng IP: 216.58.199.110,…
− Địa chỉ FTP theo dạng tên miền được dùng phổ biến hơn vì dễ nhớ so với những con số của địa chỉ IP
Để đăng nhập vào máy chủ FTP, bạn cần sử dụng tên người dùng và mật khẩu Quyền hạn của tài khoản FTP của bạn, như khả năng tải xuống, tải lên, tạo thư mục, sao chép hoặc xóa dữ liệu, sẽ phụ thuộc vào quyền hạn mà quản trị viên cấp cho bạn trên máy chủ.
Trong phiên làm việc của FTP, người dùng có thể trao đổi file giữa máy tính của mình và một máy tính khác bằng cách đăng nhập thông qua định danh và mật khẩu Một số máy chủ không yêu cầu thông tin này Sau khi thông tin được xác thực, người dùng có thể thực hiện việc truyền file từ hệ thống file của mình đến hệ thống file của máy tính đích.
Giao thức FTP hoạt động dựa trên mô hình truyền và nhận dữ liệu giữa máy Client và máy Server Khác với nhiều giao thức truyền thông khác chỉ sử dụng một kênh TCP, FTP sử dụng hai tiến trình TCP logic: Control Connection và Data Connection để thực hiện quá trình truyền và nhận dữ liệu hiệu quả.
Kết nối điều khiển là phiên làm việc TCP logic đầu tiên được thiết lập khi quá trình truyền dữ liệu bắt đầu Phiên làm việc này chỉ quản lý các thông tin điều khiển như thông tin định danh người dùng, mật khẩu và các tập lệnh Quá trình này sẽ được duy trì xuyên suốt phiên làm việc.
Kết nối Data Connection là một kết nối TCP được thiết lập đặc biệt để truyền tải dữ liệu giữa máy Client và máy Server Kết nối này sẽ tự động ngắt khi quá trình truyền dữ liệu hoàn tất.
Chế độ nén là một phương thức truyền tải sử dụng kỹ thuật nén dữ liệu đơn giản, cụ thể là "mã hóa độ dài chạy" (run-length encoding) Thuật toán này giúp phát hiện và loại bỏ các đoạn dữ liệu lặp lại, từ đó giảm kích thước tổng thể của thông điệp khi được gửi đi.
Hình 1.1 Mô hình kết nối dữ liệu FTP
Hoạt động kết nối dữ liệu FPT được thực hiện qua các bước sau:
• Bước 1: Client kết nối điều khiển FTP server tại cổng 21, sử dụng giao thức TCP
Bước 2: Khách hàng gửi tên người dùng và mật khẩu đến máy chủ để xác thực Nếu quá trình xác thực không thành công, máy chủ sẽ yêu cầu khách hàng nhập lại thông tin Ngược lại, nếu xác thực thành công, khách hàng sẽ được cấp quyền truy cập.
• Bước 3: Client được cấp phép thông qua kết nối điều khiển
• Bước 4: Client xem thư mục ở xa bằng việc gửi các lệnh thông qua kết nối điều khiển
• Bước 5: Khi server nhận lệnh truyền tập tin, server mở kết nối TCP thứ 2 với cổng 20 (truyền tập tin) đến client
• Bước 6: Sau khi truyền 1 tập tin, server đóng kết nối dữ liệu
• Bước 7: Server mở kết nối dữ liệu TCP khác để truyền tập tin khác
• Bước 8: Server giữ lại trạng thái thư mục hiện hành, xác thực trước đó
Sự phân chia thành 2 kênh riêng biệt này tạo ra sự linh động trong cách hoạt động của FTP nhưng nó cũng tạo ra sự phức tạp
Mô hình FTP phân chia phần mềm trên mỗi thiết bị thành hai thành phần giao thức logic, mỗi thành phần đảm nhận chức năng điều khiển và truyền tải dữ liệu qua các kênh riêng biệt.
• Protocol interpreter (PI): là thành phần quản lý kênh điều khiển, phát và nhận lệnh trả lời
• Data transfer process (DTP): chịu trách nhiệm gửi và nhận dữ liệu giữa client và server
Ngoài 2 thành phần trên, tiến trình phía người dùng còn có 1 thành phần thứ 3 là giao diện người dùng (user interface) dùng để tương tác với người dùng FTP, thành phần này không có bên phía server
Hình 1.2 Mô hình hoạt động FTP
Tiến trình bên phía server:
Server Protocol Interpreter (Server-PI) đóng vai trò quan trọng trong việc quản lý và điều khiển kết nối trên server Nó lắng nghe các yêu cầu kết nối từ người dùng qua cổng chuyên dụng Sau khi thiết lập kết nối, Server-PI nhận lệnh từ User-PI, gửi phản hồi và quản lý quá trình truyền dữ liệu trên server một cách hiệu quả.
The Server Data Transfer Process (Server-DTP) is responsible for sending and receiving files from the User-DTP It establishes and listens for a data channel connection from the user, while also interacting with the local file server to read and copy files efficiently.
Các tiến trình bên phía Client:
Giao diện người dùng là chương trình hoạt động trên máy tính, cung cấp môi trường xử lý cho người dùng Nó cho phép người dùng thực hiện các lệnh đơn giản một cách dễ dàng và trực quan.
5 tới người dùng, và cho phép người điều khiển phiên FTP theo dõi được các thông tin và kết quả xảy ra trong tiến trình
Tổng quan về giao thức FTPS
FTPS, hay Giao thức Chuyển tệp Bảo mật, là phiên bản cải tiến của FTP, với việc tích hợp các ứng dụng bảo mật hiện đại như TLS (Bảo mật Lớp Vận chuyển) và SSL (Lớp Sockets Bảo mật) Sự bổ sung này nhằm nâng cao tính bảo mật và khắc phục những nhược điểm của FTP, đảm bảo an toàn hơn trong việc trao đổi dữ liệu.
Giao thức FTPS, tương tự như FTP, cũng sử dụng kênh điều khiển và dữ liệu nhưng có tính năng nâng cao hơn Sau khi kết nối với máy chủ, máy khách FTPS sẽ kiểm tra chứng chỉ để xác định độ tin cậy Nếu chứng chỉ được xác nhận, việc trao đổi tệp sẽ được tiến hành Đặc biệt, FTPS có thể được gọi qua hai phương thức khác nhau.
• Giao thức FTPS ẩn: kết nối qua cổng 990
• Giao thức FTPS hiện: kết nối trên cổng 21
1.2.2.1 Giao thức bảo mật SSL/TLS a) Secure Socket Layer (SSL)
SSL là một giao thức cho phép truyền đạt thông tin một cách bảo mật và an toàn qua mạng
Kết nối giữa trình duyệt web và các điểm trên Internet diễn ra qua nhiều hệ thống độc lập mà không có sự bảo vệ cho thông tin trong quá trình truyền tải Để bảo vệ thông tin nhạy cảm trên Internet và các giao thức TCP/IP, SSL đã kết hợp các yếu tố cần thiết nhằm thiết lập giao dịch an toàn.
Để đảm bảo an toàn trong kết nối trực tuyến, việc xác thực tính xác thực của trang web là vô cùng quan trọng Đồng thời, các trang web cũng cần thực hiện kiểm tra tính xác thực của người dùng để bảo vệ thông tin và duy trì sự tin cậy.
Mã hoá là một phương pháp quan trọng để bảo vệ thông tin, ngăn chặn việc truy cập trái phép từ các đối tượng thứ ba Nó giúp loại bỏ nguy cơ nghe trộm những thông tin nhạy cảm trong quá trình truyền tải.
Internet Dữ liệu phải được mã hoá để không thể bị đọc được bởi những người khác ngoài người gửi và người nhận
• Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch Thể hiện chính xác thông tin gốc gửi đến
Sử dụng SSL giúp các website đảm bảo bảo mật thông tin, xác thực và toàn vẹn dữ liệu cho người dùng Công nghệ SSL được tích hợp sẵn trong các trình duyệt và máy chủ web, cho phép người sử dụng truy cập các trang web một cách an toàn.
Today, the SSL protocol is widely used across the World Wide Web for authenticating and encrypting information between clients and servers The Internet Engineering Task Force (IETF) has standardized SSL and rebranded it as TLS (Transport Layer Security).
Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giao thức ứng dụng tầng cao hơn như là HTTP, IMAP và FTP
SSL không phải là một giao thức đơn lẻ mà là một tập các thủ tục đã được chuẩn hoá để thực hiện các nhiệm vụ bảo mật sau:
• Phát hiện giả mạo b) Transport Layer Security (TLS) trước đây là SSL
TLS, giống như SSL, là một kỹ thuật mã hóa dữ liệu trên internet theo mô hình Client-Server và hoạt động như một giao thức bảo mật tầng giao vận Việc sử dụng TLS giúp mã hóa thông tin truyền tải giữa máy tính và server, từ đó ngăn chặn các bên thứ ba có thể nghe lén hoặc giả mạo dữ liệu.
Mục tiêu chính của giao thức TLS là cung cấp sự riêng tư và toàn vẹn dữ liệu giữa hai ứng dụng trong môi trường mạng
Trong mô hình TCP/IP, giao thức TLS bao gồm hai lớp chính: Lớp Record và Lớp Handshake TLS được xây dựng dựa trên ba yếu tố quan trọng: khả năng mã hóa, xác thực và tính toàn vẹn.
TLS mã hóa thông tin truyền tải và giải mã thông tin nhận về, giúp bảo vệ dữ liệu khỏi mất mát từ các nguồn bên ngoài Nhờ đó, thông tin được bảo đảm an toàn trước các mối đe dọa từ hacker.
• Xác thực: TLS được tích hợp sẵn khả năng xác thực, giúp đảm bảo độ chân thật của thông tin, dữ liệu
• Tính toàn vẹn: TLS đảm bảo tính toàn vẹn dữ liệu trong các cuộc trao đổi trên internet
Hoạt động của TLS diễn ra bình thường nhờ vào cặp khóa public key và private key Khi người dùng truy cập vào website và cung cấp thông tin, trình duyệt sẽ chuyển hướng đến một website bảo mật khác, thiết lập kết nối an toàn giữa trình duyệt và hệ thống web.
Trong lần kết nối đầu tiên, một session key được tạo ra từ khóa public và private key, và session key này được sử dụng để mã hóa và giải mã dữ liệu trong suốt thời gian kết nối Việc bảo mật thông qua mã hóa và giải mã tiếp tục được áp dụng trong các tương tác và gửi dữ liệu tiếp theo Các thuật toán mã hóa và xác thực của SSL/TLS đóng vai trò quan trọng trong việc bảo vệ thông tin.
Các thuật toán mã hóa và xác thực của SSL/TLS sử dụng gồm:
• DES (Data Encryption Standard) là một thuật toán mã hoá có chiều dài khoá là 56 bit
• 3-DES (Triple-DES): là thuật toán mã hoá có độ dài khoá gấp 3 lần độ dài khoá trong mã hoá DES
• MD5 (Message Digest algorithm) được phát triển bởi Rivest
• RSA: là thuật toán mã hoá công khai dùng cho cả quá trình xác thực và mã hoá dữ liệu được Rivest, Shamir, and Adleman phát triển
• SHA-1 (Secure Hash Algorithm): là một thuật toán băm đang được chính phủ
FTPS hỗ trợ mã hóa đồng thời kênh điều khiển và kênh dữ liệu, đồng thời xác thực kết nối bằng cách sử dụng thông tin như ID người dùng, mật khẩu, chứng chỉ hoặc kết hợp cả hai phương thức này.
Khi kết nối với máy chủ FTPS, máy khách sẽ kiểm tra độ tin cậy của chứng chỉ máy chủ Chứng chỉ được coi là đáng tin cậy nếu được ký bởi một cơ quan chứng nhận uy tín hoặc bởi đối tác của bạn, kèm theo bản sao chứng nhận công khai Đối tác cũng có thể yêu cầu bạn cung cấp chứng chỉ khi kết nối Nếu chứng chỉ của bạn không được ký bởi CA bên thứ ba, họ có thể cho phép bạn sử dụng chứng chỉ tự ký, miễn là bạn gửi phần công khai để họ thêm vào kho lưu trữ khóa tin cậy.
Hình 1.4 Mô hình hoạt động của giao thức FTPS
Có hai phương thức mà FTPS có thể được gọi:
FTPS ẩn hoạt động trên cổng 990, nơi máy chủ tự động giả định rằng SSL sẽ được sử dụng khi một máy khách kết nối Nếu thông tin xác thực không được cung cấp, kết nối sẽ bị ngắt.
Tổng quan về giao thức SFTP
SFTP, hay còn gọi là SSH FTP, là một giao thức an toàn mã hóa cả lệnh và dữ liệu trong quá trình truyền tải, đảm bảo rằng mọi thông tin và dữ liệu đăng nhập của bạn đều được bảo vệ khi di chuyển qua internet Nếu bạn đã từng sử dụng hệ thống dựa trên Unix, bạn có thể quen thuộc với SSH, một giao thức cho phép kết nối từ xa và thực hiện lệnh qua dòng lệnh SSH được sử dụng rộng rãi để quản lý máy chủ trên toàn cầu, vì vậy tính bảo mật của nó là rất quan trọng SFTP được phát triển như một phần mở rộng của SSH, nhằm truyền tệp qua một kênh an toàn.
Giao thức SFTP khác với FTP và FTPS ở chỗ nó dựa trên gói thay vì dựa trên văn bản, điều này giúp tăng tốc độ truyền tệp và dữ liệu so với các kết nối FTP an toàn khác.
1.3.2.1 Giao thức bảo mật SSH
Secure Socket Shell (SSH) là một ứng dụng tương tác giữa máy chủ và máy khách, sử dụng mã hóa mạnh mẽ để ngăn chặn nghe trộm và đánh cắp thông tin Việc sử dụng SSH là một biện pháp hiệu quả để bảo mật dữ liệu trong quá trình truyền tải giữa các hệ thống.
SSH là giao thức mạng bảo mật, hoạt động ở lớp trên trong mô hình TCP/IP, cho phép thiết lập kết nối mạng mã hóa Các công cụ SSH như OpenSSH cung cấp khả năng tạo kênh kết nối riêng tư, đồng thời hỗ trợ tính năng tunneling để chuyển tải dữ liệu qua các giao thức khác Nhờ đó, việc xây dựng hệ thống mạng dựa trên SSH sẽ tạo ra một mạng riêng ảo (VPN) đơn giản.
SSH làm việc thông qua 3 bước đơn giản:
Định danh host trong phiên làm việc SSH là quá trình xác định danh tính của hệ thống thông qua việc trao đổi khóa Mỗi máy tính hỗ trợ giao thức SSH có một khóa định danh duy nhất, bao gồm hai thành phần: khóa riêng và khóa công khai Khóa công khai được sử dụng để xác thực danh tính của host.
Trong phiên làm việc SSH, việc trao đổi dữ liệu giữa các máy chủ được thực hiện thông qua việc mã hóa bằng khóa riêng, chỉ có thể giải mã bằng khóa công khai Khi có thay đổi cấu hình trên máy chủ, như thay đổi chương trình SSH hoặc hệ điều hành, khóa định danh cũng sẽ thay đổi, và người dùng sẽ nhận được cảnh báo Khi hai hệ thống khởi động phiên SSH, máy chủ gửi khóa công khai cho máy khách, trong khi máy khách tạo ra một khóa phiên ngẫu nhiên, mã hóa nó bằng khóa công khai của máy chủ và gửi lại Máy chủ sau đó giải mã khóa phiên này bằng khóa riêng của mình, từ đó thiết lập khóa phiên để trao đổi dữ liệu giữa hai máy, đánh dấu quá trình nhận diện giữa máy chủ và máy khách.
Mã hóa là quá trình thiết lập kênh làm việc bảo mật, trong đó dữ liệu được trao đổi qua một bước trung gian là mã hóa và giải mã Sau khi hoàn tất việc trao đổi khóa và định danh, dữ liệu gửi và nhận sẽ được mã hóa theo cơ chế đã thỏa thuận giữa máy chủ và máy khách Khách hàng thường quyết định cơ chế mã hóa, với các lựa chọn phổ biến như 3DES, IDEA và Blowfish Khi cơ chế mã hóa được xác định, máy chủ và máy khách sẽ trao đổi khóa mã hóa một cách bảo mật dựa trên định danh bí mật Nhờ vậy, kẻ tấn công gặp khó khăn trong việc nghe trộm thông tin trao đổi do không biết khóa mã hóa Các thuật toán mã hóa khác nhau có những ưu và nhược điểm riêng, ảnh hưởng đến mức độ bảo mật và hiệu suất của quá trình truyền dữ liệu.
• 3DES (cũng được biết như Triple-DES): phương pháp mã hoá mặc định cho SSH
• IDEA: nhanh hơn 3DES, nhưng chậm hơn Arcfour và Blowfish
• Arcfour: nhanh, nhưng các vấn đề bảo mật đã được phát hiện
• Blowfish: nhanh và bảo mật, nhưng các phương pháp mã hoá đang được cải tiến
Chứng thực là bước cuối cùng trong quy trình xác thực người dùng, đảm bảo rằng chỉ những người có quyền mới có thể đăng nhập vào hệ thống Tại giai đoạn này, kênh trao đổi thông tin giữa người dùng và hệ thống được thiết lập một cách an toàn.
Bảo mật hệ thống người dùng có thể được thực hiện qua nhiều phương pháp khác nhau Một trong những phương pháp là chứng thực rhosts, mặc dù không phải là mặc định, nó kiểm tra định danh máy khách trong file rhost dựa trên DNS và địa chỉ IP Chứng thực mật khẩu là phương pháp phổ biến nhất để xác thực người dùng, bên cạnh đó còn có các phương pháp khác như chứng thực RSA và sử dụng ssh-keygen cùng với ssh-agent để quản lý các cặp khóa.
Bạn có thể sử dụng tên người dùng và mật khẩu để xác thực, nhưng SSH cung cấp một phương thức bảo mật mạnh mẽ hơn thông qua xác thực bằng keypair do máy tính tạo ra, thay thế cho mật khẩu Các khóa này thường dài hơn nhiều so với mật khẩu thông thường, làm cho việc sao chép và tấn công brute-force trở nên rất khó khăn cho hacker.
Hình 1.5 Mô hình hoạt động giao thức SFTP
Cách thức xác thực SSH key hoạt động:
• Máy tính được tạo ra từ một cặp khóa: Khóa công khai và khóa bảo mật riêng biệt (private key)
• Sau đó, bạn liên kết public key của mình với tài khoản của bạn trên máy chủ SFTP
Khi kết nối với máy chủ, máy khách sẽ tạo chữ ký sử dụng private key của bạn, và máy chủ sẽ xác nhận chữ ký này bằng public key đã được lưu trữ.
• Nếu public và private key khớp với nhau, kết nối được xác thực
1.3.3 Ưu, nhược điểm Ưu điểm:
• Lợi ích lớn nhất của SFTP là bảo mật phương thức đem lại
SFTP cung cấp phương thức xác thực an toàn hơn so với FTP/FTPS, vì thông tin đăng nhập như tên người dùng và mật khẩu được mã hóa, đảm bảo tính bảo mật cao hơn cho dữ liệu truyền tải.
• Và như đã đề cập ở trên, bạn có thể sử dụng xác thực bằng keypair để tăng tính bảo mật
• Hoặc bạn kết hợp xác thực keypair với tên người dùng và mật khẩu, do đó SFTP an toàn hơn nữa
SFTP sử dụng một kết nối máy chủ duy nhất để truyền dữ liệu, điều này giúp tăng cường tính bảo mật và dễ dàng hơn cho việc cấu hình tường lửa, vì không cần mở thêm cổng máy chủ nào khác.
• Hạn chế lớn nhất là khó khăn trong việc quản lý các khóa SSH
• Private key cần được lưu trữ trên thiết bị mà bạn muốn truyền tệp, cần được bảo vệ chống trộm hoặc mất
• Các khóa SSH cần thêm một chút thao tác để quản trị viên thiết lập cho nhân viên
Mặc dù nhiều người quen thuộc với cách thức hoạt động của tên người dùng và mật khẩu, nhưng không phải ai cũng hiểu rõ về các khóa SSH Do đó, việc đào tạo cách sử dụng SSH một cách đúng đắn là rất cần thiết.
1.3.4 So sánh sự khác nhau giữa SFTP và FTP/FTPS
Bảng 1.1 So sánh sự khác nhau giữa FTP, FTPS và SFTP
Cơ sở để so sánh FTP FTPS SFTP
FTP không cung cấp kênh bảo mật để truyền tệp giữa các máy và server
FTPS sử dụng chứng chỉ SSL để cung cấp bảo mật SFTP cung cấp một kênh an toàn để chuyển các tệp giữa máy tính và server
Giao thức truyền tập tin
Giao thức truyền tập tin Giao thức truyền tệp an toàn
FTP là một giao thức TCP
Là giao thức được sử dụng cùng loại trao đổi dữ liệu với FTP, nhưng được bổ sung thêm ứng dụng hỗ trợ bảo mật là TLS và SSL
Giao thức SFTP là một phần của giao thức SSH (chương trình ứng dụng đăng nhập từ xa)
FTP thiết lập kết nối điều khiển trên cổng TCP 21, kết nối dữ liệu cổng 20
FTPS sử dụng cả kênh điều khiển và dữ liệu, nhưng sau khi kết nối với máy chủ, máy khách sẽ tiến hành kiểm tra chứng chỉ để xác định độ tin cậy.
SFTP chuyển tệp theo kết nối được thiết lập bởi giao thức SSH giữa máy khách và máy chủ
Mật khẩu và dữ liệu FTP được gửi ở định dạng văn bản thuần túy
FTPS Explicit SSL và FTPS Implicit SSL là các biến thể được bảo vệ của FTP sử dụng mã hóa SSL
SFTP mã hóa dữ liệu trước khi gửi đi
CÁCH THỨC TRIỂN KHAI VÀ CÔNG CỤ SỬ DỤNG
Tải và cài đặt FileZilla Client
Tải phần mềm FileZilla Client trên trang chủ của FileZilla Lưu ý, FileZilla có cả FTP Client và FTP Server Ta sẽ tải về bản FTP Client
Hình 2.1 Tải phần mềm FileZilla Client
Sau khi tải về, ta tiến hành cài đặt bình thường
Hình 2.2 Cài đặt phần mềm FileZilla Client
Chọn I Agree và Next đến khi hoàn thành, ta chọn Finish để khởi động phần mềm FileZilla
Hình 2.3 Cài đặt phần mềm FileZilla Client
Thiết lập cấu hình cơ bản FileZilla để kết nối FTP tới Server
2.2 Thiết lập cấu hình cơ bản FileZilla để kết nối FTP tới Server
Sau khi cài đặt thành công, FileZilla sẽ có giao diện như sau:
Hình 2.4 Giao diên FileZilla sau khi cài đặt
2.2.1 Cấu hình FileZilla với Quickconnect
Trong trường hợp cần thực hiện kết nối FTP nhanh tới Server, ta thực hiện chức năng Quickconnect
Hình 2.5 Các thông số cơ bản khi cấu hình với Quickconnect
Các thông số cơ bản:
1 Host: Có thể điền IP của host - VPS - Server hoặc hostname
4 Port: Port kết nối FTP (mặc định FTP là 21, SFTP là 22)
Nếu kết nối thành công, sẽ có thông báo "Status:Directory listing successful"
Hình 2.6 Thông báo khi kết nối thành công
2.2.2 Cấu hình FileZilla với Site Manager
Trong trường hợp muốn lưu trữ kết nối để thuận tiện cho quá trình sử dụng sau này, ta cấu hình với Site Manager
Bước 1: Click File → Site Manager để vào phần quản lý Account FTP (hoặc nhấn Ctrl+S)
Hình 2.7 Cấu hình FileZilla với Site Manager
Sau đó, giao diện Site Manager sẽ hiện ra như sau:
Hình 2.8 Giao diện Site Manager
Để tạo kết nối FTP mới lần đầu tiên, bạn cần nhấp vào "New Site" và đặt tên dễ nhớ để dễ dàng quản lý, đặc biệt nếu bạn có nhiều tài khoản FTP Tiếp theo, hãy thiết lập các thông số cơ bản cho kết nối này.
Hình 2.9 Các thông số cơ bản của Site Manager
1 Protocol: Chọn giao thức FTP
2 Host: Địa chỉ của FTP Server (ở đây mình để là 192.168.56.101)
3 Port: Cổng kết nối tới FTP server (mặc định FTP là 21, SFTP là 22)
4 Encryption: Mã hóa theo plain FTP hoặc TLS
5 Logon Type: Chọn Account hoặc Ask for password
After clicking OK to save and exit, navigate back to File → Site Manager, select the newly created connection, and click Connect to access the server.
Nếu kết nối thành công, sẽ có thông báo "Status:Directory listing successful":
Hình 2.10 Thông báo khi kết nối thành công
Sử dụng FileZilla để truyền file
Sau khi kết nối FTP thành công với server, FileZilla hiển thị dữ liệu từ hai vị trí: máy tính ở cửa sổ bên trái và server ở cửa sổ bên phải.
Hình 2.11 Giao diện sau khi kết nối FTP thành công đến Server
2.3.1 Upload file lên Server Để Upload file từ máy tính lên server ta chọn file cần upload, chuột phải → chọn Upload (hoặc ta có thể kéo thả chuột):
Hình 2.12 Upload file từ máy tính lên Server
Khi hoàn tất quá trình upload, ta sẽ thấy file FTP hiển thị trên FTP server, cùng các thông báo truyền file thành công như hình sau:
Hình 2.13 Upload file thành công
File “login.php” đã được gửi lên server và hiển thị trên Mozilla Firefox:
Hình 2.14 File hiển thị trên Mozilla Firefox
2.3.2 Download file từ FTP Server
Tương tự như việc upload file Bên FTP server ta sẽ chọn file cần download, chuột phải chọn Download (hoặc ta có thể kéo thả chuột):
Hình 2.15 Download file từ server về máy tính
Khi quá trình download hoàn tất, ta sẽ thấy file trên Local site và thông báo quá trình tải thành công như sau:
Hình 2.16 Download file thành công
2.3.3 Đổi tên file trên Server Để đổi tên file trên server, ta chọn các dữ liệu trên server, click chuột phải rồi chọn Rename, sau đó sửa tên file theo mình muốn như hình dưới đây:
Hình 2.17 Đổi tên file trên server
Sau khi sửa tên file thành công, ta sẽ thấy tên file đã được sửa lại và thông báo thành công như sau:
Hình 2.18 Đổi tên file thành công
2.3.4 Xóa file trên Server Để xóa file trên server, ta chọn các file cần xóa trên server, click chuột phải chọn Delete như hình sau:
Hình 2.19 Xóa file trên server
Sau khi thực hiện xong, file đã xóa sẽ không còn trên server và hiển thị thông báo xóa thành công như sau:
Hình 2.20 Xóa file thành công
2.3.5 Một số chức năng khác
Ngoài các chức năng chính, hệ thống còn hỗ trợ nhiều tính năng bổ sung như xem và chỉnh sửa file, tạo thư mục mới và tạo file mới, giúp người dùng quản lý dữ liệu một cách hiệu quả.
Hình 2.21 Một số chức năng khác
BẮT GÓI TIN BẰNG WIRESHARK
Giới thiệu phần mềm Wireshark
Wireshark là ứng dụng mạnh mẽ dùng để bắt và phân tích các vấn đề liên quan đến mạng như rớt gói tin, kết nối chậm, và truy cập bất thường Phần mềm này giúp quản trị viên nắm rõ hơn về các gói tin mạng đang hoạt động, từ đó dễ dàng xác định nguyên nhân gây ra lỗi trong hệ thống.
WireShark cho phép người dùng capture các packet trong thời gian thực, lưu trữ và phân tích chúng offline Công cụ này còn tích hợp các bộ lọc, mã màu và nhiều tính năng khác, giúp người dùng khám phá sâu hơn về lưu lượng mạng và kiểm tra các packet một cách hiệu quả.
Các tính năng nổi bật của phần mềm bắt gói tin Wireshark:
• Hỗ trợ phân tích sâu hàng trăm giao thức và liên tục được cập nhật
• Live capture và phân tích offline
• Hoạt động đa nền tảng: Windows, Linux, MacOS, Solaris, FreeBSD, OpenBSD…
• Các gói tin đã capture có thể xem bằng giao diện hoặc sử dụng command line (tshark)
• File capture được nén bằng gzip có thể được giải nén “on the fly”
• Capture dữ liệu từ Ethernet, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB, Token Ring, Frame Relay, FDDI …
• Hỗ trợ decryption của nhiều giao thức như: IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP, và WPA/WPA2
Sử dụng Wireshark để bắt gói tin
Sau khi tải về và cài đặt, bạn có thể khởi động chương trình bằng cách nhấp đúp vào tên của giao diện mạng trong danh sách dưới mục “Capture” để bắt đầu quá trình ghi lại gói tin trên card mạng đó Đường biểu diễn phía sau tên giao diện sẽ hiển thị lưu lượng mạng đang được sử dụng.
Hình 3.1 Bắt gói tin Wireshark
Để bắt gói tin trong VirtualBox Host-Only Network, bạn chỉ cần double click vào “VirtualBox Host-Only Network” Bên cạnh đó, bạn có thể thiết lập các biểu thức trong phần “…using this filter” để lọc và capture những gói tin cụ thể theo yêu cầu.
Lưu ý, ta cần card mạng trên máy ảo với wireshark giống nhau Ví dụ, ở đây trên máy ảo chọn card mạng là “Host only Adapter” Chọn Machine→ Setting→ Network:
Để xem địa chỉ IP của máy ảo, bạn hãy mở cmd và gõ lệnh “ifconfig” Kết quả trả về sẽ cho biết địa chỉ IP của máy ảo là 192.168.56.101.
Để kiểm tra địa chỉ IP trên máy ảo, bạn có thể sử dụng lệnh “ipconfig” trong cửa sổ cmd Kết quả sẽ hiển thị địa chỉ IP, ví dụ như 192.168.56.1.
Hình 3.4 Lấy địa chỉ IP trên máy tính
Sau khi bắt đầu, các gói tin sẽ hiển thị theo thời gian thực trong Wireshark, cho phép bạn theo dõi từng gói tin được gửi đến hoặc đi từ hệ thống của mình Để dừng quá trình ghi lại, bạn chỉ cần nhấn vào nút “Stop” màu đỏ.
Hình 3.5 Các gói tin được capture
Giao diện chính của Wireshark được chia thành 3 phần như hình sau:
1 Packet List: Chứa danh sách toàn bộ packet của file capture hiện tại Nó thể hiện số thứ tự của gói tin, thời gian mà gói tin được bắt, source và destination
IP, protocol của packet, chiều dài gói tin và các thông tin tổng quan khác
2 Packet Details: Khi bạn chọn một gói tin ở phần Packet List, thông tin chi tiết của gói tin sẽ được thể hiện ở phần Packet Detail Các thông tin chi tiết có thể được collapsed hoặc expanded bằng cách click vào mũi tên hình tam giác ở đầu dòng
3 Packet Bytes: Thể hiện packet ở dưới dạng hex hoặc binary Thể hiện cách mà packet được truyền trên đường truyền.
Phân tích gói tin với Wireshark
3.3.1 Tìm kiếm các gói tin FTP
Tại giao diện chính của Wireshark, người dùng có thể nhập thông tin để lọc các gói tin theo điều kiện trong file capture Chẳng hạn, để xem các gói tin FTP, chỉ cần nhập từ khóa “ftp” vào ô “Display Filter”, và các gói tin FTP sẽ hiển thị trong danh sách gói tin.
Hình 3.6 Tìm kiếm các gói tin theo giao thức FTP
3.3.2 Cách đọc các gói tin
Trong các file đã được capture, hãy chọn một gói tin bằng cách nhấp vào nó để xem chi tiết Ví dụ, chọn gói tin có số thứ tự 52; trong khung cửa sổ Packet List, bạn sẽ nhận được các thông tin cần thiết về gói tin đó.
• No: số thứ tự của gói tin là 52,
• Time: thời gian tương đối mà gói tin này được bắt là 12.387716,
• Source: địa chỉ IP nguồn (máy tính) là 192.168.56.1,
• Destination: địa chỉ IP đích (Server) là 192.168.56.101,
• Length: chiều dài của gói tin là 66,
• Protocol: giao thức của gói tin là FTP,
• Info: upload gói tin “A.txt” lên server Ở khung cửa sổ Packet Details sẽ cho ta thông tin chi tiết từng Layer của packet như sau:
Hình 3.7 Thông tin chi tiết của packet ở cửa sổ Packet Details
• Ethernet II: Destination, Source, Mac Address
• Internet: Source IP, Destination IP, TTL, Protocol, Flag, Checksum,…
• Transmission Control Protocol: Src port, Dst port
File Transfer Protocol (FTP) là giao thức truyền tải tệp, trong đó tệp A.txt được hiển thị Trong cửa sổ Packet Bytes, gói tin được thể hiện dưới dạng Hex Khi người dùng chọn một trường trong phần Packet Details, các bytes liên quan sẽ được tô đậm trong phần Packet Bytes tương ứng.
Hình 3.8 Thông tin các gói tin ở cửa sổ Packet Bytes
Ngoài ra, bạn có thể sử dụng tính năng “Follow TCP Stream” bằng cách chọn một gói tin, nhấn chuột phải và chọn “Follow” → “TCP Stream” Hộp thoại sẽ hiển thị dữ liệu trao đổi giữa Client và Server trong luồng tương ứng cùng với các gói tin liên quan.
Hình 3.9 Hộp thoại trao đổi dữ liệu giữa Client và Server