1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu về giao thức ftp, ftps, sftp

70 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Bài tập lớn môn Cơ sở an toàn thông tin. Mục tiêu đặt ra khi thực hiện đề tài: Chương 1. Tổng quan về các giao thức: ở chương này, chúng em đi tìm hiểu tổng quan về các giao thức, cách thức hoạt động, ưu nhược điểm của mỗi giao thức từ đó rút ra được sự khác nhau của các giao thức. Chương 2. Cách thức triển khai và công cụ sử dụng: ở chương 2, chúng em sử dụng phần mềm FileZilla Client và máy ảo VMware để thực hiện từng bước quá trình truyền file từ Client đến Server. Chương 3. Bắt gói tin bằng Wireshark: ở chương này, chúng em sử dụng phần mềm Wireshark để bắt gói tin và minh họa gói tin.

Trang 1

Nhóm sinh viên thực hiện:

Lê Minh Châu – AT180207

Văn Thị Thùy Dương – AT180214

Giảng viên hướng dẫn :

Nguyễn Đức Ngân

Khoa An toàn thông tin – Học viện Kỹ thuật mật mã

Hà Nội, 2024

Trang 2

LỜI CẢM ƠN

Lời đầu tiên, nhóm chúng em xin chân thành gửi lời cảm ơn đến thầy Nguyễn Đức Ngân – giảng viên khoa An toàn thông tin trường Học viện Kỹ thuật Mật Mã Trong thời gian tham gia lớp học phần, thầy đã tạo điều kiện học tập, cung cấp đầy đủ các kiến thức cũng như học liệu của môn học, giúp chúng em nắm vững được nền tảng cơ bản và mục tiêu của học phần Đồng thời, thầy cũng đã tận tình hướng dẫn, giúp đỡ, đưa ra những lời khuyên cần thiết để chúng em có thể hoàn thành đề tài này

Chúng em xin chân thành cảm ơn!

Hà Nội, tháng 6 năm 2024 Nhóm sinh viên thực hiện

Lê Minh Châu Văn Thị Thùy Dương

Trang 3

2 Mục tiêu thực hiện đề tài viii

CHƯƠNG 1: TỔNG QUAN VỀ GIAO THỨC FTP, FTPS VÀ SFTP 1

CHƯƠNG 2: CÁCH THỨC TRIỂN KHAI VÀ CÔNG CỤ SỬ DỤNG 18

2.1 Giới thiệu công cụ FileZilla 18

2.2 Cài đặt FileZilla Client 18

2.3 Chi tiết sử dụng công cụ 21

2.3.1 Kết nối với máy chủ FTP 21

2.3.2 Sử dụng FileZilla để truyền file 25

2.3.3 Một số chức năng khác 32

CHƯƠNG 3: MINH HỌA GÓI TIN CỦA CÁC GIAO THỨC 33

3.1 Giới thiệu phần mềm Wireshark 33

3.2 Sử dụng Wireshark để bắt gói tin 33

3.3 Phân tích gói tin với Wireshark 36

3.3.1 Tìm kiếm các gói tin 36

Trang 4

ii

DANH MỤC CHỮ VIẾT TẮT

Trang 5

iii

DANH MỤC BẢNG

Bảng 1 1 So sánh FTP, FTPS và SFTP 17

Trang 6

Hình 2 3 Cài đặt phần mềm FileZilla Client 19

Hình 2 4 Cài đặt phần mềm FileZilla Client 20

Hình 2 5 Giao diện làm việc của FileZilla Client 21

Hình 2 6 Các thông số cơ bản khi kết nối bằng Quickconnect 21

Hình 2 7 Thông báo khi kết nối thành công 22

Hình 2 8 Cấu hình FileZilla bằng Site Manager 22

Hình 2 9 Giao diện Site Manager 23

Hình 2 10 Các thông số cơ bản của Site Manager 23

Hình 2 11 Nhập password của tài khoản FTP 24

Hình 2 12 Thông báo khi kết nối thành công 25

Hình 2 13 Giao diện sau khi kết nối FTP thành công đến Server 25

Hình 2 14 Upload file từ máy tính lên Server 26

Hình 2 15 Upload file thành công 26

Hình 2 16 Download file từ server về máy tính 27

Hình 2 17 Download file thành công 28

Hình 2 18 Xóa file trên server 29

Hình 2 19 Xóa file thành công 29

Trang 7

v

Hình 2 20 Đổi tên file trên server 30

Hình 2 21 Đổi tên file thành công 31

Hình 2 22 Một số chức năng khác 32

Hình 3 1 Giao diện Wireshark sau khi cài đặt 34

Hình 3 3 Thông tin card mạng 34

Hình 3 4 Lấy địa chỉ mạng trên máy ảo 35

Hình 3 5 Lấy địa chỉ mạng trên máy thật 35

Hình 3 6 Các gói tin được capture 35

Hình 3 7 Giao diện chính của Wireshark 36

Hình 3 8 Tìm kiếm các gói tin theo giao thức FTP 37

Hình 3 9 Đọc một gói tin cụ thể 37

Hình 3 10 Thông tin chi tiết của packet ở cửa sổ Packet Details 38

Hình 3 11 Thông tin các gói tin ở cửa sổ Packet Bytes 38

Hình 3 12 Hộp thoại trao đổi dữ liệu giữa Client và Server 39

Hình 3 13 Minh họa gói tin FTP bằng Wireshark 40

Hình 3 14 Quá trình bắt tay 3 bước 40

Hình 3 15 Quá trình xác thực thông tin đăng nhập 40

Hình 3 16 Mã phản hồi xác thực username từ Server 41

Hình 3 17 Mã phản hồi xác thực password từ Server 41

Hình 3 18 Gói tin upload file trong FTP 42

Hình 3 19 Gói tin download file trogn FTP 42

Hình 3 20 Gói tin delete file trong FTP 43

Hình 3 21 Minh họa gói tin FTPS bằng Wireshark 43

Hình 3 22 Quá trình bắt tay 3 bước 44

Hình 3 23 Yêu cầu kết nối TLS 44

Hình 3 24 Thiết lập kết nối an toàn FTPS 44

Hình 3 25 Gói tin Client Hello trong FTPS 45

Hình 3 26 Gói tin Server Hello trong FTPS 46

Hình 3 27 Gói tin Change Cipher Spec trong FTPS 47

Hình 3 28 Dữ liệu đã được mã hóa trong FTPS 47

Trang 8

vi

Hình 3 29 Minh họa gói tin SFTP bằng Wireshark 47

Hình 3 30 Quá trình bắt tay 3 bước trong SFTP 48

Hình 3 31 Gói tin chứa thông tin về phiên bản SSH 48

Hình 3 32 Trao đổi thuật toán mã hóa giữa Client và Server 48

Hình 3 33 Tính toán khóa phiên 49

Hình 3 34 Client xác nhận New keys hoàn tất quá trình trao đổi khóa 49

Hình 3 35 Dữ liệu đã được mã hóa trong FTPS 50

Trang 9

Ngày nay, không một ngành nào, lĩnh vực nào phát triển mà không dựa vào sự hỗ trợ của công nghệ thông tin Trong đó việc chia sẻ tài nguyên, cơ sở dữ liệu đóng vai trò hết sức quan trọng trong một tổ chức hay một doanh nghiệp nào đó, công việc đòi hỏi chúng ta phải có những nguồn thông tin chính xác và kịp thời trong mọi hoàn cảnh để đề ra quyết định đúng đắn, đem lại hiệu quả trong các hoạt động Bên cạnh sự phát triển đó, vấn đề trao đổi file là không thể thiếu đối với người dùng đầu cuối Các giao thức FTP, FTPS, SFTP là các giao thức trao đổi đổi file khá phổ biến hiện nay Tuy nhiên, không phải ai cũng hiểu rõ về cách thức hoạt động của các giao thức này Chính vì vậy, nhóm em đã đi vào tìm hiểu về các giao thức FTP, FTPS và SFTP; tìm hiểu chi tiết hoạt động các giao thức, ưu, nhược điểm của các giao thức từ đó mô tả cách thức sử dụng và triển khai như một hướng dẫn để người dùng có thể thực hiện được

Trang 10

viii

2 Mục tiêu thực hiện đề tài

Tên đề tài: “TÌM HIỂU VỀ GIAO THỨC FTP, FTPS VÀ SFTP” Mục tiêu đặt ra khi thực hiện đề tài:

Chương 1 Tổng quan về các giao thức: ở chương này, chúng em đi tìm hiểu tổng quan về các giao thức, cách thức hoạt động, ưu nhược điểm của mỗi giao thức từ đó rút ra được sự khác nhau của các giao thức

Chương 2 Cách thức triển khai và công cụ sử dụng: ở chương 2, chúng em sử dụng phần mềm FileZilla Client và máy ảo VMware để thực hiện từng bước quá trình truyền file từ Client đến Server

Chương 3 Bắt gói tin bằng Wireshark: ở chương này, chúng em sử dụng phần mềm Wireshark để bắt gói tin và minh họa gói tin

Trang 11

Giao thức FTP được sử dụng nhiều nhất vào mục đích truyền tải dữ liệu, rút gọn thời gian cũng như đáp ứng nhu cầu của việc tải và truyền đi của các dữ liệu dung lượng lớn một cách nhanh chóng Có thể gửi đi và nhận những tệp tin có dung lượng lên đến vài trăm MB Điều quan trọng là có thể cùng lúc thực hiện việc upload/download nhiều tệp tin để tiết kiệm thời gian

Hoạt động của FTP dựa trên mô hình Client- Server, trong đó một máy tính cung cấp dịch vụ FTP và lắng nghe yêu cầu về dịch vụ của các máy tính khác trên mạng lưới, gọi là máy chủ FTP Máy khách chạy phần mềm FTP dành cho người dùng sử dụng dịch vụ chủ động liên kết với máy chủ Một khi hai máy tính kết nối với nhau, máy khách có thể xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từ máy chủ xuống máy của mình, đổi tên của tập tin hoặc xóa tập tin ở máy chủ,

Giao thức FTP sử dụng hai kênh riêng biệt - kênh điều khiển và kênh dữ liệu - để trao đổi các tệp

1.1.2 Cách thức hoạt động

1.1.2.1 Mô hình hoạt động

Không giống như các ứng dụng khác sử dụng kết nối TCP, FTP không chỉ cần một kết nối TCP mà các mô hình FTP được thiết kế xung quanh hai kênh logic trong

Trang 12

liệu được gửi từ server tới client hoặc ngược lại, một kết nối dữ liệu TCP riêng biệt được thiết lập giữa chúng Dữ liệu được truyền qua kết nối này, do đó nó được gọi là kênh dữ liệu Khi hoàn tất việc truyền dữ liệu, kết nối được hủy bỏ

Hình 1 1 Kết nối TCP trong FTP

Do chức năng điều khiển và dữ liệu được truyền tải bằng cách sử dụng các kênh riêng biệt nên mô hình FTP chia mỗi thiết bị thành hai phần giao thức logic chịu trách nhiệm cho mỗi kết nối ở trên:

• Protocol Interpreter (PI): chịu trách nhiệm quản lý kết nối điều khiển, phát và nhận lệnh cũng như phản hồi

• Data Transfer Process (DTP): chịu trách nhiệm gửi và nhận dữ liệu giữa máy khách và máy chủ

Ngoài hai thành phần trên, tiến trình bên phía người dùng còn có một thành phần thứ ba 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ó ở phía server Dưới đây là mô hình hoạt động của FTP:

Trang 13

3

Hình 1 2 Mô hình hoạt động của giao thức FTP Chức năng từng phần trong mô hình FTP:

❖ Các tiến trình bên phía Server

• Server Protocol Interpreter (Server-PI): chịu trách nhiệm quản lý kết nối điều khiển trên server Nó lắng nghe yêu cầu kết nối hướng từ người dùng trên cổng 21 Khi kết nối được thiết lập, nó nhận lệnh từ User-PI, gửi phản hồi và quản lý tiến trình truyền dữ liệu trên server

• Server Data Transfer Process (Server-DTP): chịu trách nhiệm nhận tập tin từ User-DTP hoặc gửi tập tin tới User-DTP Server-DTP vừa làm nhiệm vụ thiết lập kết nối dữ liệu và lắng nghe kết nối dữ liệu của người dùng thông qua cổng 20 Nó tương tác với Server File System trên hệ thống cục bộ để đọc và ghi file

❖ Các tiến trình bên phía Client

• User Interface: đây là chương trình được chạy trên máy tính, nó cung cấp giao diện xử lý cho người dùng, chỉ có trên phía client Nó cho phép người dùng sử dụng những lệnh đơn giản để điều khiển các phiên FTP, từ đó có thể theo dõi được các thông tin và kết quả xảy ra trong quá trình

Trang 14

4

• User Protocol Interpreter (User-PI): chịu trách nhiệm quản lý kết nối điều khiển phía client Nó khởi tạo phiên kết nối FTP bằng việc gửi yêu cầu tới Server-PI Sau khi kết nối được thiết lập, nó xử lí các lệnh nhận được trên User Interface, gửi chúng tới Server-PI rồi đợi nhận phản hồi trở lại Nó cũng quản lý tiến trình User-DTP

• User Data Transfer Process (DTP): có nhiệm vụ nhận tập tin từ DTP hoặc gửi tập tin tới User-DTP User-DTP có thể thiết lập hoặc lắng nghe kết nối dữ liệu từ server thông qua cổng 20 Nó tương tác với hệ thống lưu trữ tệp tin phía client

User-1.1.2.2 Thiết lập kênh điều khiển và chứng thực người dùng trong FTP

Trước khi kết nối được sử dụng để thực sự truyền file, kênh điều khiển cần phải được thiết lập Như trong các giao thức client - server khác, FTP server tuân theo chế độ passive trong kênh điều khiển Phía server sẽ lắng nghe cổng TCP dành riêng cho kết nối FTP là cổng 21 Phía client sẽ tạo kết nối bằng việc mở một kết nối TCP từ thiết bị người dùng tới server trên cổng đó

Khi TCP đã được cài đặt xong, kênh điều khiển giữa các thiết bị sẽ được thiết lập, cho phép các lệnh được thực hiện truyền từ client tới server, và server sẽ đáp trả kết quả là các mã phản hồi Bước đầu tiên sau khi kênh điều khiển đã đi vào hoạt động là bước xác thực người dùng hay còn được gọi là trình tự đăng nhập (login sequence) Bước này có hai mục đích:

• Access Control (Điều khiển truy cập): quá trình chứng thực cho phép hạn chế truy cập tới server với những người dùng nhất định Nó cũng cho phép server điều khiển loại truy cập như thế nào đối với từng người dùng • Resource Selection (Chọn nguồn cung cấp): bằng việc nhận dạng người

dùng tạo kết nối, FTP server có thể đưa ra quyết định sẽ cung cấp những nguồn nào cho người dùng đã được nhận dạng đó

Quy luật chứng thực FTP khá đơn giản, người dùng chỉ cần cung cấp username và password để đăng nhập Trình tự của việc chứng thực như sau:

Trang 15

Giả sử quá trình chứng thực đã thành công, server sau đó sẽ thiết lập kết nối để cho phép từng loại truy cập đối với người dùng được cấp quyền Một số người dùng chỉ có thể truy cập vào một số file nhất định hoặc vào một số loại file nhất định

1.1.2.3 Truyền tải dữ liệu

Kênh điều khiển được tạo ra giữa server và client sử dụng quá trình thiết lập kết nối và chứng thực được duy trì trong suốt phiên kết nối FTP Các lệnh và các phản hồi được trao đổi qua kênh điều khiển, nhưng dữ liệu thì không Mỗi khi cần gửi dữ liệu giữa các server và client, một kênh dữ liệu phải được tạo ra Kết nối này

Trang 16

6

cần thiết cho cả hoạt động truyền tập tin trực tiếp (gửi hoặc nhận một tập tin) cũng như đối với việc truyền dữ liệu ngầm, như là yêu cầu một danh sách các tệp trong thư mục nào đó trên server FTP chỉ định hai phương thức khác nhau để tạo ra kênh dữ liệu

a) Kết nối dữ liệu dạng chủ động - Normal (Active) Data Connections

Trong chế độ truyền chủ động, client sẽ đưa ra yêu cầu phiên kết nối từ port cao (>1024) đến port 21 của server bằng lệnh PORT

Hình 1 4 Kết nối dữ liệu dạng chủ động

• Ngay sau khi nhận được yêu cầu này, server sẽ đáp trả lại một ACK đến client Đồng thời, client cũng sẽ lắng nghe trên một port cao nào đó, chờ đợi tín hiệu đến từ server

• Sau khi đã thiết lập kết nối, server sẽ dùng port 20 của nó để truyền dữ liệu đến một port cao khác đang lắng nghe trên client

Trong phương thức kết nối này, phía client có khả năng không nhận được dữ liệu gửi từ phía server do tường lửa chặn các kết nối đến từ bên ngoài, bao gồm cả các kết nối được khởi tạo từ phía FTP server Việc cấu hình lại tường lửa hay mở kết nối đem lại nhiều rủi ro bảo mật cho client

Trang 17

7

b) Kết nối dữ liệu dạng bị động - Passive Data Connections

Với vấn đề firewall ở chế độ active nên đã xuất hiện chế độ truyền dữ liệu thứ hai trong FTP là Passive Data Connections

Hình 1 5 Kết nối dữ liệu dạng bị động

• Tại chế độ truyền bị động thì client sẽ đưa ra lệnh, trong cả hai lần kết nối (do FTP cần hai kết nối TCP) thì client đều chủ động đưa ra kết nối, điều này khắc phục tình trạng firewall ở trên

• Khi khởi tạo kết nối, client sẽ đồng thời tạo ra hai port cao Port đầu tiên dùng để kết nối đến port 21 của server, và port thứ hai sẽ dùng để vận chuyển dữ liệu

• Port thứ nhất sẽ liên lạc với server qua port 21 bằng lệnh PASV để nói cho server biết rằng đây là chế độ truyền bị động Khi biết đây là chế độ truyền bị động thì server sẽ lắng nghe trên một port cao, không phải port 20 và sẽ trả lại

Trang 18

8

thông tin cho client biết rằng đang lắng nghe ở port nào Sau khi đã biết port lắng nghe tại server, client sẽ dùng port cao thứ hai để kết nối đến port cao mới được tạo ra tại server, server sẽ đáp trả lại bằng một ACK để chấp nhận Khi kênh dữ liệu đã được thiết lập xong, dữ liệu sẽ được truyền trực tiếp từ phía client tới phía server, hoặc ngược lại, dựa theo các lệnh được sử dụng Do thông tin điều khiển được gửi đi trên kênh điều khiển, nên toàn bộ kênh dữ liệu có thể được sử dụng để truyền dữ liệu

1.1.3 Ưu, nhược điểm

− Đơn giản trong việc thực hiện và sử dụng

− Có thể chuyển nhiều tệp khác nhau vào cùng một thời điểm Và sẽ tiếp tục quá trình chuyển tệp nếu bị mất kết nối Có thể thêm tệp chờ chuyển vào khung chờ download hay upload và để lịch truyền

− Cho phép thêm dữ liệu vào khung chờ, và lên lịch truyền − Có khả năng đồng bộ hoá được các tệp tin

Nhược:

− Tính bảo mật kém, thông tin và dữ liệu được truyền tải dưới dạng rõ − Khó lọc lưu lượng FTP ở chế độ active ở phía máy khách khi có tường

lửa

− Đòi hỏi nhiều bộ nhớ

− Cấu hình tường lửa, quản lý cổng phức tạp do sử dụng hai kết nối − Không có cơ chế kiểm tra tính toàn vẹn của file, làm cho việc phát hiện

lỗi hoặc dữ liệu bị thay đổi trong quá trình truyền trở nên khó khăn

Trang 19

9

Để khắc phục những nhược điểm này, chúng ta có thể sử dụng phiên bản nâng cấp của FTP như FTPS hay SFTP Nếu cần chuyển các tập tin nhanh chóng và dễ dàng mà không đòi hỏi các biện pháp bảo mật, FTP có thể là một lựa chọn tốt Nhưng nếu quan tâm đến vấn đề bảo mật, nên tránh sử dụng FTP trong hầu hết các tình huống

1.2 Tổng quan về giao thức FTPS 1.2.1 Giới thiệu

FTPS là một giao thức được sử dụng để truyền tải dữ liệu an toàn qua mạng Nó là một phiên bản cải tiến của giao thức FTP, nhưng nó được bổ sung thêm tính năng bảo mật bằng việc sử dụng các giao thức SSL/TLS SSL là một giao thức mã hóa dữ liệu TLS là giao thức kế nhiệm trực tiếp của SSL và tất cả các phiên bản SSL hiện không còn được đề xuất sử dụng Tuy nhiên, thuật ngữ SSL thường được sử dụng để mô tả kết nối TLS Trong hầu hết các trường hợp, cả thuật ngữ SSL và SSL/TLS đều chỉ giao thức TLS và chứng chỉ TLS

FTPS sử dụng cả kênh điều khiển và kênh dữ liệu để truyền tải dữ liệu Khi thiết lập kết nối với máy chủ, máy khách FTPS sẽ kiểm tra chứng chỉ (certificate) để xác minh tính đáng tin cậy của máy chủ Nếu chứng chỉ hợp lệ, việc trao đổi dữ liệu có thể được tiến hành Và đặc biệt, FTPS có thể được gọi qua 2 phương thức:

• Giao thức explicit FTPS: kết nối qua cổng 990 • Giao thức implicit FTPS: kết nối trên cổng 21

Các bước chính xác trong quá trình bắt tay SSL/TLS sẽ khác nhau tùy thuật vào thuật toán được sử dụng và bộ mật mã được cả hai bên hỗ trợ Thuật toán trao

Trang 20

2 Gói tin “server hello”: Khi trả lời tin nhắn của máy khách, máy chủ sẽ gửi một tin nhắn chứa chứng chỉ SSL/TLS của máy chủ, bộ mật mã đã chọn và một chuỗi byte ngẫu nhiên khác do máy chủ tạo ra “server random”

3 Xác thực: Máy khách xác minh chứng chỉ của máy chủ với bên phát hành chứng chỉ đó Điều này nhằm xác minh danh tính của máy chủ

Trang 21

11

4 Bí mật tiền chủ (premaster secret): Máy khách gửi thêm một chuỗi byte ngẫu nhiên khác, gọi là “premaster secret” Premaster secret này được mã hóa bằng khóa công khai và chỉ có thể được giải mã bằng khóa riêng bởi máy chủ (Máy khách lấy khóa công khai từ chứng chỉ SSL/TLS của máy chủ.)

5 Khóa riêng được sử dụng: Máy chủ sử dụng khóa riêng để giải mã premaster secret

6 Khóa phiên được tạo: Khóa phiên được tạo từ “client random”, “server random” và “premaster secret” Khóa phiên sẽ được sử dụng trong suốt quá trình trao đổi thông tin

7 Máy khách đã sẵn sàng: Máy khách gửi thông báo “finished” được mã hóa bằng khóa phiên

8 Máy chủ đã sẵn sàng: Tương tự như máy khách, máy chủ gửi thông báo “finished” được mã hóa bằng khóa phiên

9 Quá trình bắt tay hoàn tất và quá trình trao đổi tiếp tục bằng cách sử dụng khóa phiên

Quá trình bảo mật có 2 chế độ:

• Implicit FTPS: tự động bắt đầu kết nối bảo mật SSL/TLS ngay khi máy khách FTP kết nối với máy chủ FTP Trong chế độ này, máy chủ FTP xác định một cổng cụ thể (port 990) để máy khách sử dụng kết nối an toàn Vì implicit SSL có một cổng chuyên dụng được sử dụng cho việc kết nối an toàn nên các kết nối implicit SSL yêu cầu ít chi phí hơn khi thiết lập phiên Có nhiều máy chủ FTP khác nhau hỗ trợ chế độ này, bao gồm GlobalSCAPE Secure FTP Server, RaidenFTPD, IBackup’s FTP server và các máy chủ khác

• Explicit FTPS: Máy khách bắt đầu kết nối bằng cách mở kết nối TCP thường (như trong FTP) Sau khi kết nối, máy khách sẽ gửi lệnh để báo cho máy chủ biết nó muốn chuyển sang kết nối được mã hóa (SSL/TLS) Lệnh ở đây là “AUTH SSL hoặc AUTH TLS” Khi máy khách gửi lệnh này, máy chủ phản hồi lại cho biết nó đã sẵn sàng chấp nhận kết nối được mã hóa Điều này thường được thực hiện trên cổng FTP thông thường, (21)

Trang 22

12

Hình 1 7 Cách thức hoạt động của Implicit FTPS và Explicit FTPS

Sau khi thiết lập bảo mật hoàn tất, giống như FTP, FTPS yêu cầu người dùng cung cấp tên đăng nhập và mật khẩu để truy cập vào máy chủ Quá trình xác thực này cũng được mã hóa để bảo mật thông tin

Kênh điều khiển và kênh dữ liệu đều được mã hóa bởi SSL/TLS để đảm bảo bảo mật cho người dùng cũng như dữ liệu truyền tải không bị can thiệp hoặc nghe lén

1.2.3 Ưu, nhược điểm

Trang 23

13 Nhược:

− Cấu hình tường lửa, quản lý cổng phức tạp do sử dụng hai kết nối − Một số hệ thống và thiết bị cũ có thể không hỗ trợ FTPS hoặc gặp vấn

đề khi làm việc với các giao thức bảo mật hiện đại

− Mã hóa và giải mã dữ liệu sử dụng SSL/TLS có thể tăng tải công việc lên máy chủ và máy khách, ảnh hưởng đến hiệu suất, đặc biệt khi xử lý nhiều kết nối đồng thời

− Thiết lập và cấu hình FTPS có thể phức tạp hơn so với FTP thông thường Điều này đòi hỏi kiến thức về chứng chỉ SSL/TLS và quản lý khóa bảo mật

Khi muốn trao đổi dữ liệu một cách an toàn và bảo mật hơn thì ta nên chọn sử dụng FTPS thay vì FTP để tránh các vấn đề bảo mật, rò rỉ thông tin FTPS cũng có thể hữu ích khi chuyển tệp từ thiết bị di động như điện thoại và máy tính bảng sang máy chủ FTP

1.3 Tổng quan về giao thức SFTP 1.3.1 Giới thiệu

SFTP (viết tắt của Secure File Transfer Protocol, hoặc SSH File Transfer Protocol) được phát triển vào những năm 1990 là một giao thức được thiết kế để cung cấp các chức năng của FTP thông qua một kênh bảo mật SSH (Secure Shell) SFTP không phải là một phần mở rộng của FTP mà là một giao thức hoàn toàn khác được xây dựng từ đầu để hoạt động qua SSH

SFTP giúp ngăn chặn việc chuyển giao thông tin đăng nhập mà không được mã hóa như giao thức FTP thông thường Nó cũng tạo ra một mã định danh duy nhất và phải được truyền lại từ máy khách để hoàn thành việc truyền dữ liệu Nhờ có các biện pháp này, người dùng có thể yên tâm hơn khi việc chuyển file với SFTP sẽ có tính bảo mật cao hơn

Trang 24

Máy chủ SSH luôn chờ kết nối ở cổng 22 Khi máy khách kết nối, nó sẽ bắt đầu xác minh danh tính của máy chủ Có hai tình huống có thể xảy ra khi xác minh: • Máy khách truy cập vào máy chủ lần đầu tiên nên người dùng phải xác minh khóa công khai của máy chủ theo cách thủ công Khi lần đầu người dùng kết nối, máy client sẽ hiển thị một fingerprint (dấu vân tay) của máy chủ, người dùng xác thực fingerprint bằng cách so sánh nó với một fingerprint được cung cấp trước đó (từ quản trị viên hệ thống) hoặc đồng ý tin tưởng fingerprint của

Trang 25

2 Quá trình trao đổi khóa giữa máy khách và máy chủ

Quá trình tạo khóa phiên trong SSH thường sử dụng giao thức trao đổi khóa Diffie-Hellman Trước khi tạo khóa phiên, phía client và server đã trao đổi các thuật toán được sử dụng để mã hóa Thuật toán Diffie-Hellman giúp mỗi bên có thể kết hợp khóa riêng của mình và khóa công khai từ bên còn lại để tạo khóa phiên bí mật giống hệt nhau Từ thời điểm này, tất cả dữ liệu truyền giữa máy khách và máy chủ được mã hóa bằng khóa phiên, các cặp khóa được sử dụng để tạo khóa phiên tách biệt với các khóa SSH được sử dụng để xác thực máy khách và máy chủ

3 Máy chủ xác thực máy khách

• Máy chủ xác thực máy khách bằng cặp khóa SSH Một cặp khóa được tạo từ khóa chung mà cả hai bên đều biết và khóa riêng (chỉ có người dùng được biết) Nó sẽ so sánh khóa chung SSH với khóa chung đã lưu

• Máy chủ tạo ra một số nounce, sau đó gửi cho máy khách Máy khách sẽ phải giải số nounce bằng khóa riêng

• Máy khách kết hợp số nounce vừa giải mã với khóa phiên được chia sẻ từ trước rồi dùng hàm băm MD5 để tính giá trị băm

• Máy chủ cũng dùng hàm băm MD5 để tính giá trị số nounce và khóa phiên Sau đó, so sánh với giá trị máy khách gửi Nếu hai giá trị trùng khớp, máy khách được xác thực

Trang 26

16

Khi quá trình truyền tải hoàn tất, hoặc khi không cần thiết lập kết nối nữa, client có thể đóng kết nối SSH Điều này giúp giải phóng tài nguyên và bảo vệ tính bảo mật của hệ thống

1.3.3 Ưu, nhược điểm

Ưu:

− Các thông tin đăng nhập và quá trình truyền dữ liệu đều được mã hóa − Có thể nâng cao tính bảo mật bằng việc kết hợp xác thực bằng key pair

với tên người dùng và password

− Sử dụng cùng một cổng và hạ tầng bảo mật như SSH, giảm thiểu cấu hình tường lửa và mạng

Nhược:

− Quản lý các khóa giao thức SSH không dễ dàng

− 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

− Kích hoạt khóa SSH phức tạp, cần có chuyên môn

− SFTP yêu cầu SSH hoạt động, do đó, nếu có vấn đề với SSH hoặc cấu hình SSH không đúng, SFTP cũng sẽ bị ảnh hưởng

1.4 So sánh FTP, FTPS và SFTP

Phổ biến Rất phổ biến Phổ biến trong các môi trường cần bảo mật

Phổ biến trong các môi trường cần bảo mật

cao

Kết nối

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 cũng sử dụng 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 FTPS sẽ tiến hành kiểm tra certificate xem có đáng

tin cậy không

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ủ

Cấu hình firewall

Khó khăn (nhiều

cổng) Khó khăn (nhiều cổng) Dễ dàng (một cổng)

Trang 27

17 Bảo mật

Mật khẩu và dữ liệu FTP được gửi

ở định dạng bản rõ, không mã hóa

FTPS Explicit và FTPS Implicit là các biến thể được bảo vệ của FTP

sử dụng mã hóa SSL/TLS

SFTP mã hóa dữ liệu trước khi gửi đi Mã

hóa dữ liệu qua mật mã mã hóa được các bên thỏa thuận Việc bảo vệ các phiên tiếp tục diễn ra thông qua việc triển khai các khóa công khai và

Phức tạp (quản lý khóa SSH)

Phương thức

truyền trực tiếp

Thiết lập kênh SSL/TLS

Dùng SSH tạo kênh mã hóa (encrypted

tunnel)

Căn bản cấp kênh bảo mật FTP không cung để 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 Bảng 1 1 So sánh FTP, FTPS và SFTP

Trang 28

• Site Manager: tạo và lưu trữ danh sách các FTP servers và dữ liệu kết nối liên quan

• Directory Comparison: cho phép người dùng so sánh nội dung của local và remote directory

• File and Folder View: tương tự như file manager, cho phép người dùng chỉnh sửa tệp và thư mục và cung cấp khả năng kéo và thả giữa các local và remote directories

• Transfer Queue: hiển thị trạng thái chuyển tập tin đang tiến hành hoặc đang chờ xử lý

• FileZilla có khả năng chạy trong Windows, macOS và Linux Nó hỗ trợ các giao thức FTP, SFTP và FTPS

2.2 Cài đặt FileZilla Client

Truy cập trang chủ tại https://filezilla-project.org/ và tải về phiên bản dành cho Client

Hình 2 1 Download FileZilla Client

Trang 29

19 Chọn phiên bản phù hợp với nhu cầu

Hình 2 2 Download phiên bản phù hợp

Chạy file sau khi tải Chọn I Agree và Next

Hình 2 3 Cài đặt phần mềm FileZilla Client

Trang 30

20

Chọn Finish để kết thúc quá trình cài đặt và khởi động công cụ

Hình 2 4 Cài đặt phần mềm FileZilla Client

Trang 31

21

2.3 Chi tiết sử dụng công cụ

Giao diện phần mềm sau khi cài đặt

Hình 2 5 Giao diện làm việc của FileZilla Client

2.3.1 Kết nối với máy chủ FTP

2.3.1.1 Kết nối với máy chủ FTP bằng Quickconnect

Hình 2 6 Các thông số cơ bản khi kết nối bằng Quickconnect Nhập thông tin như sau để truy cập vào FTP Server:

1 Host: IP host/VPS/server hoặc hostname 2 Username: tên đăng nhập FTP

3 Password: mật khẩu FTP

4 Port: cổng để kết nối tới FTP (tự chọn hoặc mặc định FTP là 21, SFTP là 22)

Trang 32

22

Kết nối thành công khi nhận được thông báo như sau:

Hình 2 7 Thông báo khi kết nối thành công

2.3.1.2 Kết nối với máy chủ FTP bằng Site Manager

Trường hợp muốn lưu trữ kết nối nhằm thuận tiện cho quá trình sử dụng sau này Thực hiện như sau:

Bước 1: File → Site Manager… để vào phần quản lý Site (hoặc nhấn tổ hợp

phím Ctrl+S)

Hình 2 8 Cấu hình FileZilla bằng Site Manager

Trang 33

23 Sau đó, giao diện Site Manager sẽ hiện ra:

Hình 2 9 Giao diện Site Manager

Bước 2: Chọn New site rồi đặt tên để dễ quản lý Sau đó thiết lập các thông

số cơ bản cho kết nối FTP này:

Hình 2 10 Các thông số cơ bản của Site Manager

Trang 34

24 Trong đó:

• Protocol: Chọn giao thức FTP • Host: Địa chỉ của FTP server

• Port: Cổng kết nối tới FTP server (mặc định là 21) • Encryption: Cách dữ liệu được mã hóa.

• Logon Type: Kiểu đăng nhập • User: Tên đăng nhập FTP • Password: Mật khẩu FTP Chọn OK rồi thoát Site Manager

Bước 3: Khi đã tạo xong, vào lại Site Manager Sau đó chọn chọn Site Vừa tạo rồi nhấn Connect

Nhập password của tài khoản FTP

Hình 2 11 Nhập password của tài khoản FTP

Trang 35

25

Nếu đăng nhập thành công sẽ có thông báo như hình dưới

Hình 2 12 Thông báo khi kết nối thành công

2.3.2 Sử dụng FileZilla để truyền file

Sau khi kết nối FTP thành công tới server, FileZilla sẽ có hai phần phần đại diện cho dữ liệu ở 2 nơi: Local site (cửa sổ bên trái) và Remote site (cửa sổ bên phải):

Hình 2 13 Giao diện sau khi kết nối FTP thành công đến Server

2.3.2.1 Upload file lên FTP Server

Ở bên phía Local site, ta chọn file cần upload, chuột phải → chọn Upload (hoặc kéo thả chuột)

Ngày đăng: 06/07/2024, 10:23

HÌNH ẢNH LIÊN QUAN

Hình 1. 2. Mô hình hoạt động của giao thức FTP  Chức năng từng phần trong mô hình FTP: - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 1. 2. Mô hình hoạt động của giao thức FTP Chức năng từng phần trong mô hình FTP: (Trang 13)
Hình 1. 3. Quy trình chứng thực người dùng - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 1. 3. Quy trình chứng thực người dùng (Trang 15)
Hình 1. 4. Kết nối dữ liệu dạng chủ động - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 1. 4. Kết nối dữ liệu dạng chủ động (Trang 16)
Hình 1. 5. Kết nối dữ liệu dạng bị động - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 1. 5. Kết nối dữ liệu dạng bị động (Trang 17)
Hình 1. 7. Cách thức hoạt động của Implicit FTPS và Explicit FTPS - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 1. 7. Cách thức hoạt động của Implicit FTPS và Explicit FTPS (Trang 22)
Bảng 1. 1. So sánh FTP, FTPS và SFTP - Tìm hiểu về giao thức ftp, ftps, sftp
Bảng 1. 1. So sánh FTP, FTPS và SFTP (Trang 27)
Hình 2. 4. Cài đặt phần mềm FileZilla Client - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 4. Cài đặt phần mềm FileZilla Client (Trang 30)
Hình 2. 5. Giao diện làm việc của FileZilla Client - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 5. Giao diện làm việc của FileZilla Client (Trang 31)
Hình 2. 10. Các thông số cơ bản của Site Manager - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 10. Các thông số cơ bản của Site Manager (Trang 33)
Hình 2. 9. Giao diện Site Manager - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 9. Giao diện Site Manager (Trang 33)
Hình 2. 11. Nhập password của tài khoản FTP - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 11. Nhập password của tài khoản FTP (Trang 34)
Hình 2. 13. Giao diện sau khi kết nối FTP thành công đến Server - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 13. Giao diện sau khi kết nối FTP thành công đến Server (Trang 35)
Hình 2. 14. Upload file từ máy tính lên Server - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 14. Upload file từ máy tính lên Server (Trang 36)
Hình 2. 15. Upload file thành công - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 15. Upload file thành công (Trang 36)
Hình 2. 16. Download file từ server về máy tính - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 16. Download file từ server về máy tính (Trang 37)
Hình 2. 18. Xóa file trên server - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 18. Xóa file trên server (Trang 39)
Hình 2. 19. Xóa file thành công - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 19. Xóa file thành công (Trang 39)
Hình 2. 20. Đổi tên file trên server - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 20. Đổi tên file trên server (Trang 40)
Hình 2. 21. Đổi tên file thành công - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 21. Đổi tên file thành công (Trang 41)
Hình 2. 22. Một số chức năng khác - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 2. 22. Một số chức năng khác (Trang 42)
Hình 3. 6. Giao diện chính của Wireshark - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 3. 6. Giao diện chính của Wireshark (Trang 46)
Hình 3. 7. Tìm kiếm các gói tin theo giao thức FTP - Tìm hiểu về giao thức ftp, ftps, sftp
Hình 3. 7. Tìm kiếm các gói tin theo giao thức FTP (Trang 47)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w