Tải bản đầy đủ (.pdf) (33 trang)

Bài tập lớn Mạng truyền thông TÌM HIỂU VỀ GIAO THỨC FTP, GIAO THỨC SFTP VÀ CÁCH THỨC HOẠT ĐỘNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.9 MB, 33 trang )

ĐẠI HỌC KINH TẾ QUỐC DÂN
VIỆN CÔNG NGHỆ THÔNG TIN VÀ KINH TẾ SỐ



BÀI TẬP LỚN
MÔN: MẠNG VÀ TRUYỀN THÔNG

CHỦ ĐỀ: TÌM HIỂU VỀ GIAO THỨC FTP, GIAO THỨC SFTP VÀ CÁCH
THỨC HOẠT ĐỘNG
LỚP:

MẠNG VÀ TRUYỀN THÔNG (121) _02

GIẢNG VIÊN:

TRẦN THANH HẢI

NHÓM 8:
NGUYỄN THỊ TRANG

11195336

PHAN THỊ MAI QUỲNH

11194514

NGUYỄN THU MẾN

11193372


Hà Nội, tháng 10 năm 2021


LỜI MỞ ĐẦU

Thuật ngữ FTP rất ít người nghe đến, nhưng với những cá nhân làm website thì khái
niệm FTP đã quá quen thuộc. Bởi FPT rất quan trọng trong việc quản lý các tập tin lên host
và nhiều tính năng khác. Việc chia sẻ dữ liệu ngày một trở nên phổ biến đối với các cá
nhân, một công ty, hay một trường học. Nhất là các công ty hay tổ chức có nhiều chi nhánh,
thì việc tạo lập một máy chủ FTP để đồng bộ hóa dữ liệu làm việc sẽ góp phần khơng nhỏ
trong việc phát triển của cơng ty.
FTP có một q trình hình thành và phát trển lâu dài qua nhiều năm. Giao thức này
xuất hiện lần đầu tiên vào năm 1971 và được thử nghiệm trên hệ thống máy tính của hãng
MIT. Từ những năm 1972, FTP bắt đầu được biết đến và sử dụng rộng rãi để gửi và nhận
file giữa các máy tính trong môi trường mạng. Năm 1980 giao thức FTP lần đầu tiên được
thực hành trên nền TCP được mong đợi giải quyết một số lỗi nhỏ của những bản trước.
Tuy nhiên thời gian trôi qua nhiều giao thức truyền file phát triển hồn thiện hơn và
FTP khơng cịn đáp ứng được những nhu cầu cao của người dùng nên giao thức FTP đang
dần được thay thế. Sau này có những phương thức ra đời từ sự cái biến giao thức FTP như
FTPS được phát triển vào những năm 1987 và SFTP được phát triển vào những năm 1990
trong đó giao thức SFTP là hoàn thiện nhất và được người dùng lựa chọn sử dụng nhiều
nhất.
Vậy bản chất của FTP là gì? Cách thức vận hành ra sao? Phiên bản nâng cấp như thế
nào? Chúng ta cùng tìm hiểu nhé!


MỤC LỤC
I. Giao thức FTP:...................................................................................................1
1. Khái niệm ........................................................................................................1
2. Mục đích sử dụng .............................................................................................2

3. Mơ hình và ngun lý hoạt động ......................................................................2
-

Kết nối TCP trong FTP: ................................................................................2
Mơ hình FTP ...............................................................................................3

-

Chức năng từng phần trong mơ hình FTP: ....................................................4

-

Trình tự chung của FTP hoạt động như sau: .................................................4

4. Các phương thức truyền dữ liệu trong FTP .....................................................6
1) Stream mode ....................................................................................................6
2) Block mode......................................................................................................6
3) Compressed mode (Chế độ nén) .....................................................................7
5. Ưu, nhược điểm của giao thức FTP .................................................................7
Ưu điểm: ..............................................................................................................7
Nhược điểm: ........................................................................................................8
II. Giao thức SFTP..................................................................................................8
1. Khái niệm ..........................................................................................................8
2. Cách thức hoạt động.........................................................................................8
3. Ưu, nhược điểm của giao thức SFTP .............................................................10
-

Ưu điểm: ......................................................................................................10

-


Nhược điểm: ................................................................................................10

4. Vì sao nên sử dụng SFTP? .............................................................................10
III. So sánh FTP với SFTP ....................................................................................11
IV.Thực hành truyền file qua FTP Server và SFTP Server…………………………12


I.

Giao thức FTP:

1. Khái niệm

Giao thức truyền tệp FTP là một trong những giao thức Internet lâu đời nhất. FTP
(File Transfer Protocol) nghĩa là giao thức chuyển nhượng tập tin hay giao thức truyền tải
tập tin. Thông qua giao thức TCP/IP thì giao thức này sẽ được dùng trong việc trao đổi dữ
liệu trong mạng.
Một cách dễ hiểu thì FTP là một giao thức giúp bạn dễ dàng trao đổi các dữ liệu giữa
máy tính với host và ngược lại. Ngồi ra người dùng cịn có thể quản lý được toàn bộ các
dữ liệu dạng tập tin và các file có trên host ngoại trừ database.
Nhờ vào giao thức này nên người sử dụng có thể tải dữ liệu như hình ảnh, văn bản,
các tập tin nhạc, video... từ máy tính của mình lên máy chủ đang đặt ở một nơi khác hoặc
tải các tập tin đã có trên máy chủ về máy tính cá nhân của mình một cách dễ dàng. FTP

1


cũng là giao thức dùng để truyền tải dữ liệu web lên máy chủ web cho dù máy chủ đặt rất
xa.

2. Mục đích sử dụng
• Được sử dụng để trao đổi tập tin qua mạng lưới truyền thông sử dụng TCP/IP
(internet, mạng nội bộ, …)
• Sử dụng để tải xuống máy tính các file từ máy chủ.
• Truyền tải dữ liệu, cùng lúc thực hiện việc upload/download nhiều tập tin,
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.
• Tại sao nên dùng FTP: Mặc dù việc truyền file từ hệ thống này sang hệ
thống khác rất đơn giản và dễ hiểu, nhưng đôi khi xảy ra những vấn đề khác
nhau. Ví dụ, 2 hệ thống có thể có các quy ước tập tin khác nhau, 2 hệ thống
có các cách khác nhau để thể hiện văn bản và dữ liệu hay 2 hệ thống có cấu
trúc thư mục khác nhau, … Giao thức FTP khắc phục những vấn đề này bằng
cách thiết lập 2 kết nối giữa các máy chủ. Một kết nối để sử dụng truyền dữ
liệu, 1 kết nối còn lại được sử dụng để điều khiển kết nối.
3. Mơ hình và nguyên lý hoạt động
-

Kết nối TCP trong FTP:

2


Giống như hầu hết các giao thức TCP/IP, FTP dựa trên mơ hình Client – Server. Tuy
nhiên, khác với các ứng dụng khác chạy trên nền TCP/IP, FTP cần tới 2 kết nối TCP:


Control connection (sử dụng port 21 – trên server): Đây là kết nối TCP
logic chính được tạo ra khi phiên làm việc được thiết lập. Nó được thực hiện
giữa các q trình điều khiển. Nó được duy trì trong suốt phiên làm việc và
chỉ cho các thơng tin điều khiển đi qua như lệnh hay response (phản hồi).

Máy chủ FTP mở cổng 21 của máy và lắng nghe các kết nối máy khách
đến. Máy khách FTP kết nối với cổng 21 của máy chủ FTP từ xa để bắt đầu
hoạt động truyền tệp.



Data connection (sử dụng port 20 – trên server): Kết nối này sử dụng các
quy tắc rất phức tạp vì các loại dữ liệu có thể khác nhau. Nó được thực hiện
giữa các q trình truyền dữ liệu. Kết nối này mở khi có lệnh chuyển tệp và
đóng khi tệp truyền xong.

-

Mơ hình FTP

Sơ đồ mơ hình FTP

3


-

Chức năng từng phần trong mơ hình FTP:

Phía Server:


Server Protocol Interpreter (Server-PI): Chịu trách nhiệm quản lí Control
Connection trên Server. Nó lắng nghe yêu cầu kết nối hướng từ User 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 và gửi
file từ User-DTP. Server-DTP vừa làm nhiệm vụ thiết lập Data Connection
và lắng nghe Data Connection của User 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à chép file.

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 session FTP, từ đó có
thể theo dõi được các thơng tin và kết quả xảy ra trong q trình.



User Protocol Interpreter (User-PI): Chịu trách nhiệm quản lí Control
Connection phía Client. Nó khởi tạo phiên kết nối FTP bằng việc phát hiện
ra Request 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 Response
trở lại. Nó cũng quản lí các tiến trình trên Client.



User Data Transfer Process (User-DTP): Có nhiệm vụ gửi hoặc nhận dữ
liệu từ Server-DTP. User-DTP có thể thiết lập hoặc lắng nghe
DataConnection từ Server thơng qua cổng 20. Nó tương tác với Client File

System trên Client để lưu trữ file.

-

Trình tự chung của FTP hoạt động như sau:
4


1. FTP Client mở Control connection đến FTP server (trên port 21) và chỉ định
1 cổng trên Client để Server gửi lại phản hồi. Đường kết nối này dùng để
truyền lệnh và không phải là dữ liệu. Control connection sẽ mở trong suốt
thời gian của phiên làm việc (telnet giữa 2 hệ thống)
2. Client chuyển tiếp thông tin như username, password tới Server để thực hiện
xác thực (authentication). Server sẽ trả lời bằng mã chấp nhận hay từ chối
của các request.
3. Client gửi thêm các lệnh với tên tệp, kiểu dữ liệu, … để vận chuyển, thêm
luồng dữ liệu (tức là chuyển tập tin từ máy khách đến máy chủ hoặc ngược
lại). Server sẽ phản hồi với mã (reply code) chấp nhận hoặc từ chối.
4. Khi dữ liệu đã sẵn sàng, 2 bên sẽ mở kết nối TCP trên cổng 20.
5. Dữ liệu có thể được vận chuyển giữa Client và Server trên cổng 20. Dữ liệu
vận chuyển được mã hóa theo 1 số định dạng bao gồm NVT-ASCII hoặc nhị
phân(binary)
6. Khi q trình vận chuyển dữ liệu được hồn thành, phiên làm việc của FTP
Server sẽ đóng lại Data Connection trên cổng 20. Nhưng vẫn giữ Control
Connection trên công 21.
7. Control connection có thể được sử dụng để thiết lập truyền dữ liệu khác hoặc
đóng liên kết.

5



4. Các phương thức truyền dữ liệu trong FTP

Khi Client-DTP và Server-DTP thiết lập xong kênh dữ liệu, 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, tùy 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 tồn bộ kênh dữ liệu có thể được
sử dụng để truyền dữ liệu. FTP có ba phương thức truyền dữ liệu, đó là: stream
mode, block mode, và compressed mode.

1) Stream mode


Dữ liệu truyền đi liên tiếp dưới dạng các byte khơng cấu trúc.



Thiết bị gửi chỉ đơn thuần đẩy luồng dữ liệu qua kết nối TCP tới phía nhận.



Khơng có trường tiêu đề nhất định



Khơng có cấu trúc dạng Header, nên việc báo hiệu kết thúc file sẽ đơn giản
được thực hiện khi thiết bị gửi ngắt kênh kết nối dữ liệu khi đã truyền dữ liệu
xong.




Được sử dụng nhiều nhất trong 3 phương thức trong triển khai FTP thực tế.
Do:
o

Là phương thức mặc định và đơn giản nhất.

o

Là phương thức phổ biến nhất, vì nó xử lí các file chỉ đơn thuần
là xử lí dịng byte, mà không cần để ý tới nội dung.

o

Không tốn 1 lượng byte “overload” nào để thơng báo Header.

2) Block mode


Phương thức truyền dữ liệu mang tính quy chuẩn hơn.
6




Dữ liệu được chia thành nhiều khối nhỏ và đóng gói thành các FTP blocks,
mỗi gói đều chứa thơng tin dữ liệu và điều này sẽ là việc truyền nhận dữ liệu
an tồn, đúng chuẩn hơn.




Mỗi block có 1 trường Header 3 byte: báo hiệu độ dài, và chứa thông tin về
các khối dữ liệu đang được gửi.



Một thuật tốn đặc biệt được sử dụng để kiểm tra các dữ liệu đã truyền đi.
Và để phát hiện, khởi tạo lại đối với 1 phiên truyền dữ liệu đã bị ngắt kết nối.

3) Compressed mode (Chế độ nén)


Phương thức truyền dữ liệu sử dụng 1 kỹ thuật nén đơn giản, là “run-lenght
encoding (mã hóa chiều dài)” – có tác dụng phát hiện và xử lí các đoạn lặp
trong dữ liệu được truyền đi để giảm chiều dài của tồn bộ thơng điệp.



Thơng tin sau khi được nén, sẽ được xử lí như Block mode, với trường
Header.



Trong thực tế, việc nén dữ liệu thường được thực hiện ở chỗ khác, làm cho
phương thức Compressed mode trở nên không cần thiết.

5. Ưu, nhược điểm của giao thức FTP

Ưu điểm:
• Cho phép truyền nhiều tin cùng 1 lúc.
• Cho phép chuyển tệp tin nếu khơng may mất kết nối.

• Tự động chuyển tập tin bằng các Script.
• Cho phép thêm dữ liệu vào khung chờ, và lên lịch truyền.
• Khả năng đồng bộ hố tệp tin.

7


Nhược điểm:
• Khả năng bảo mật kém.
• Khơng phù hợp cho các tổ chức, do yêu cầu phải tạo cổng kết nối khi truyền.
• Máy chủ có khả năng bị qua mặt, gửi thông tin đến các cổng ngẫu nhiên.

II.

Giao thức SFTP

1. Khái niệm
SFTP (Secure File Transfer Protocol hoặc SSH File Transfer Protocol), tức nó
là một giao thức trao đổi dữ liệu giữa máy khách và máy chủ nhưng các dữ liệu
được trao đổi sẽ bị mã hóa trước khi chuyển đến máy chủ hoặc máy khách. Khác
với FTP thì SFTP sử dụng giao thức SSH - Secure Shell để di chuyển các tệp tin
một cách an toàn.
2. Cách thức hoạt động

8


Mặc dù bạn có thể sử dụng tên người dùng và mật khẩu để xác thực, SSH
cũng cung cấp xác thực sử dụng các khóa bảo mật (keypair) do máy tính tạo ra để
thay thế cho mật khẩu của người dùng. Bởi vì các khóa được tạo từ máy tính, chúng

có thể dài hơn nhiều so với mật khẩu thơng thường, khiến hacker gần như không
thể sao chép trong các cuộc tấn cơng brute-force.
Máy tính tạo ra một cặp khóa: khóa cơng khai (public key) và khóa bảo mật
riêng (private key)
-

Thành phần chính của 1 SSH keys


Public Key (khóa cơng khai) là một file text - nó lại lưu ở phía Server SSH,
nó dùng để xác thực khi Client gửi Private Key lên thì kiểm tra phù hợp giữa
Private Key và Public Key



Private Key (khóa riêng tư) là một file text bên trong nó chứa mã riêng để
xác thực



-

Passphrase: Mật khẩu để mở private key, dùng khi đăng nhập vào server.

Cách xác thực SSH keys


Để sử dụng SSH Keys, đầu tiên phải có Private Key và Public Key. Máy chủ
sẽ tạo ra 1 key pair (Public key và Private key)




Public Key sẽ được upload lên máy chủ, còn private key được lưu ở máy
khách. Khi đăng nhập vào server, một yêu cầu đăng nhập sẽ được gửi kèm
theo Private Key.

-

Cách bảo mật hoạt động trong SFTP
Kết nối SFTP có thể được xác thực theo hai cách sau đây:


Xác thực cơ bản cần có ID người dùng và mật khẩu từ người dùng máy khách
SFTP để kết nối với máy chủ SFTP.

9




Xác thực SSH sử dụng các khóa SSH để xác thực các kết nối SFTP hoặc kết
hợp với ID người dùng và mật khẩu. Đối với trường hợp này cần có khóa
cơng khai SSH và cặp khóa riêng.

3. Ưu, nhược điểm của giao thức SFTP
-

Ưu điểm:
• SFTP đem lại tính bảo mật cao.
• Với giao thức SFTP, các thơng tin truy cập sẽ được mã hố và tránh được tin

tặc.
• Có thể tăng tính bảo mật hiện nữa bằng việc kết hợp xác thực bằng key pair
với tên người dùng, password.
• SFTP chỉ sử dụng 1 máy chủ để truyền dữ liệu.

-

Nhược điểm:
• Việc quản lý các khóa giao thức SSH khơng dễ dàng chút nào.
• Khi bạn muốn truyền tệp tin, Private key cần được cài đặt khả năng chống
trộm
• Để cách kích hoạt các khố SSH, có lẽ cần được đào tạo vì việc này khơng
đơn giản.

4. Vì sao nên sử dụng SFTP?
-

Vi phạm dữ liệu đang trở nên phổ biến hơn, và thậm chí các cơng ty lớn nhất
cũng bị tấn cơng. Vi phạm có thể khiến cơng ty của bạn tốn hàng triệu đơ la, vì vậy
sẽ rất hợp lý khi sử dụng mức bảo mật cao nhất khi chuyển tệp. Và SFTP cung cấp
điều đó.

-

SFTP là phương thức truyền tệp an tồn nhất, bạn có thể sử dụng nó làm giao
thức mặc định để đảm bảo nhân viên tuân thủ các yêu cầu bảo mật của công ty bạn.
10


Nếu tên người dùng và mật khẩu được sử dụng để xác thực chuyển tập tin, nhiều

người dùng có thể tạo mật khẩu dễ đoán như mật khẩu dạng 123456. Điều này hồn
tồn khơng an tồn chút nào. SFTP cho phép bạn tạo một chính sách bảo mật ít bị
ảnh hưởng bởi sơ suất.
SFTP cũng cho tốc độ nhanh hơn trong thời gian dài. Bởi vì nó gửi các gói thay

-

vì văn bản, ít dữ liệu được truyền đi, giúp cho SFTP nhanh hơn

III.

So sánh FTP với SFTP
FTP

SFTP

- Giao thức FTP là một giao
Giao thức

Kết nối

-

Bảo mật

Giao thức SFTP là một phần
của giao thức SSH.

thức TCP / IP.


- Kết nối FTP thiết lập kết nối

Tốc độ

-

-

SFTP chuyển tệp theo kết

điều khiển trên cổng số 21

nối được thiết lập bởi giao

của TCP và kết nối dữ liệu

thức SSH giữa máy khách

trên cổng số 20 của TCP.

và máy chủ.

Tốc độ truyền Chậm hơn
SFTP

-

Tốc độ truyền Nhanh hơn
FTP


- Độ bảo mật Kém FTP không

- SFTP cung cấp một kênh an

cung cấp kênh bảo mật để

toàn để chuyển các tệp giữa

truyền tệp giữa các máy chủ

các máy chủ.

tốt.

11


Mã hóa Mật khẩu và dữ liệu FTP

Mã hóa

được gửi ở định dạng văn bản thuần

-

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

túy.


IV.

Thực hành truyền file qua FTP Server và SFTP Server

1. Cài đặt firewall
Để mỗi khi một máy ngồi có thể truy cập vào server mình tạo, tạo phải tắt
firewall trong suốt quá trình sử dụng. Điều này là rất nguy hiểm, có thể khiến bạn
bị xâm hại thơng tin nghiêm trọng lẫn nguy cơ tổn hại máy tính rất lớn. Do đó, ta sẽ
tạo firewall rule cho phép port 21 và 22 đi từ ngoài vào.
Bước 1: Control Panel → System and Security → Windows Defender Firewall →
Advanced settings

12


Bước 2: Tại cửa sổ mở ra, kích chuột Inbound Rules → New Rule

Bước 3: Các bước tiếp theo làm theo các ảnh dưới đây là ta đã tạo rule cho phép port 2 đi
qua tường lửa.

13


14


Ta làm tương tự với port 22 là cũng đã thành công tạo rule cho phép port
22 đi qua tường lửa. Và sau đó ta có thể cấu hình cho các máy ngồi có thể
truy cập và máy chủ mà không cần phải tắt tường lửa.
2.


Cài đặt và thực hành với FTP Server
- Có nhiều cách để thiết lập 1 FTP Server trên máy tính. Ở đây, em sẽ cài đặt FTP
Server trên Windows 10
1. Cài đặt FTP Server

Bước 1: Control Panel → Programs → Programs and Features → Turn Windows
features on or off

15


Bước 2: Mở rộng Internet Information Services và chọn các tùy chọn như sau:

16


Bước 3: Nhấn OK để bắt đầu.
2.

Cấu hình FTP Server trên Windows 10

Bước 1: Control Panel → System and Security → Adminnistrative Tools → Internet
Information Services (IIS) Manager

Bước 2: Mở rộng bảng Connections, kích chuột phải vào Sites → Add FTP Site…

17




×