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

TÌM HIỂU GIẢI PHÁP BẢO MẬT CHO DỊCH VỤ TRUY CẬP TỪ XA SỬ DỤNG MÃ NGUỒN MỞ OPENSSH

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.28 MB, 65 trang )

ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SĨ

TÌM HIỂU GIẢI PHÁP BẢO MẬT CHO DỊCH VỤ
TRUY CẬP TỪ XA SỬ DỤNG MÃ NGUỒN MỞ
OPENSSH

Nguyen Thanh Long

Hà Nội - 2023


MỤC LỤC
MỤC LỤC ...................................................................................................... i
LỜI CẢM ƠN .............................. Lỗi! Thẻ đánh dấu không được xác định.
LỜI CAM ĐOAN ........................ Lỗi! Thẻ đánh dấu không được xác định.
DANH MỤC KÝ HIỆU, TỪ VIẾT TẮT ...................................................... iii
DANH MỤC BẢNG BIỂU ............................................................................ v
DANH MỤC HÌNH VẼ ................................................................................ vi
LỜI NĨI ĐẦU ............................................................................................. vii
CHƯƠNG 1: TỔNG QUAN VỀ DỊCH VỤ TRUY CẬP TỪ XA .................. 1
1.1. Giới thiệu về dịch vụ truy cập từ xa ......................................................... 1
1.1.1. Khái niệm dịch vụ truy cập từ xa .......................................................... 1
1.1.2. Chức năng chính của dịch vụ truy cập từ xa ......................................... 2
1.1.3. Những hạn chế của dịch vụ truy cập từ xa ............................................ 2
1.2. Các giao thức truy cập từ xa .................................................................... 2
1.2.1. Giao thức PPP ...................................................................................... 3
1.2.2. Giao thức Telnet ................................................................................... 8
1.3. Các nguy cơ mất an toàn khi thực hiện truy cập từ xa ............................ 16
1.4. Kết luận chương .................................................................................... 17


CHƯƠNG 2: GIẢI PHÁP BẢO MẬT CHO DỊCH VỤ TRUY CẬP TỪ XA
Sử dụng SSH ................................................................................................ 18
2.1. Khái niệm về SSH ................................................................................. 18
2.2. Lịch sử phát triển ................................................................................... 18
2.3. Các đặc điểm của SSH .......................................................................... 19
2.3.1. Tính bí mật (Privacy) .......................................................................... 19
2.3.2. Tính tồn vẹn (Intergrity) ................................................................... 19
2.3.3. Xác thực (Authentication) .................................................................. 20
2.3.4. Việc cấp giấy phép ............................................................................. 20
2.3.5. Chuyển tiếp (Forwarding) hoặc tạo đường hầm (Tunneling) .............. 21
2.4. Kiến trúc chung của một hệ thống sử dụng SSH .................................... 22
2.5. Giao thức SSH-2 ................................................................................... 24
2.5.1. Giao thức lớp vận chuyển SSH (SSH-TRANS Protocol) .................... 25
2.5.2. Giao thức xác thực SSH (SSH_AUTH) .............................................. 26
2.5.3. Giao thức kết nối SSH-CONN ............................................................ 28
2.6. Điểm khác biệt giữa SSH-1 và SSH-2 ................................................... 30
2.7. Giới thiệu các thuật toán mật mã sử dụng trong SSH ............................. 30
2.7.1. Những thuật toán khóa cơng khai ....................................................... 30
2.7.2. Những thuật tốn khố bí mật ............................................................. 31
i


2.7.3. Một số hàm băm ................................................................................. 32
2.8. Các mối đe dọa mà SSH có thể chống lại .............................................. 33
2.9. Kết luận ................................................................................................. 35
CHƯƠNG 3: TRIỂN KHAI PHẦN MỀM MÃ NGUỒN MỞ OPENSSH
BẢO MẬT CHO DỊCH VỤ TRUY CẬP TỪ XA ........................................ 36
3.1. Giới thiệu về OpenSSH ......................................................................... 36
3.1.1. Mục đích của dự án OpenSSH ............................................................ 36
3.1.2. Lịch sử phát triển OpenSSH ............................................................... 37

3.1.3. Tính năng của OpenSSH .................................................................... 39
3.1.4. Các công cụ trong OpenSSH .............................................................. 40
3.2. Triển khai cài đặt phần mềm OpenSSH ................................................. 41
3.2.1. Mơ hình triển khai cài đặt ................................................................... 41
3.2.2. Cài đặt ................................................................................................ 41
3.2.3. Cấu hình ............................................................................................. 43
3.2.4. Thực hiện truy cập từ xa ..................................................................... 47
3.3. Nhận xét độ an toàn ............................................................................... 51
3.4. Kết luận ................................................................................................. 55
KẾT LUẬN .................................................................................................. 56
TÀI LIỆU THAM KHẢO ............................................................................ 57

ii


DANH MỤC KÝ HIỆU, TỪ VIẾT TẮT
STT

Tên đầy đủ

Từ viết tắt

1

AES

Advanced Encryption Standard

2


DTE

Data Terminal Equipment

3

DCE

Data Communication Equipment

4

FSC

Forest Stewardship Council

5

FTP

File Transfer Protocol

6

FTPS

File Transfer Protocol Secure

7


IP

Internet Protocol

8

IPX

Internet Packet Exchange

9

IMAP

Internet Message Access Protocol

10

LCP

Link Control Protocol

11

LAN

Local Area Network

12


MITM

Man-in-the-middle

13

NetBIOS

Network Basic Input/Output System

14

NCP

Network Control Protocol

15

NVT

Network Virtual Terminal

16

NNTP

Network News Transfer Protocol

17


PPP

Point-to-Point - Protocol

18

PKI

Public Key Infrastructure

19

PKP

Public Key Partners Inc

20

SLIP

Serial Line Interface Protocol

21

SSH

Secure Shell

22


SMTP

Simple Mail Transfer Protocol

23

SHA

Secure Hash Algorithm

24

TCP

Transmission Control Protocol

iii


25

TELNET

TErminaL NETwork

26

VPN

Virtual Private Network


27

WAN

Wide area network

iv


DANH MỤC BẢNG BIỂU
Bảng 1.1: Các ký tự điều khiển của NVT ..................................................... 12
Bảng 1.2: Một số lựa chọn thông dụng của Telnet ........................................ 13
Bảng 1.3: Nội dung một số thỏa thuận và hồi đáp ........................................ 15
Bảng 1.4: Một số lệnh cơ bản của Telnet...................................................... 16
Bảng 2.1: Các loại khoá ............................................................................... 23

v


DANH MỤC HÌNH VẼ
Hình 1.1: Cấu trúc khung PPP ........................................................................ 5
Hình 1.2: Thiết lập liên kết PPP và trao đổi dữ liệu ........................................ 6
Hình 1.3: Định dạng của một Frame PPP điển hình ........................................ 7
Hình 1.4: Các chương trình ứng dụng cài đặt Telnet Client và ....................... 9
Hình 1.5: Sơ đồ kết nối TCP trên Internet .................................................... 11
Hình 1.6: Sơ đồ truyền tín hiệu từ Client đến Server .................................... 11
Hình 1.7: Cấu trúc lệnh Telnet ..................................................................... 14
Hình 2.1: Kiến trúc hệ thống sử dụng SSH ................................................... 22
Hình 2.2: Man-in-the-Middle attack ............................................................. 34

Hình 3.1: Mơ hình triển khai cài đặt sử dụng OpenSSH ............................... 41
Hình 3.2: Quá trình cài đặt OpenSSH ........................................................... 42
Hình 3.3: Trao đổi khóa ............................................................................... 42
Hình 3.4: Kiểm tra dịch vụ SSH ................................................................... 43
Hình 3.5: Nội dung file sshd–config ............................................................. 43
Hình 3.6: Tiến hành mở port trên firewall .................................................... 44
Hình 3.7: Tạo tài khoản SSH ........................................................................ 44
Hình 3.8: Cấu hình sử dụng protocol 2 trong sshd_config ............................ 45
Hình 3.9: Cấu hình Logout SSH nhàn rỗi ..................................................... 45
Hình 3.10: Nội dung cảnh báo trong banner ................................................. 45
Hình 3.11: Đường dẫn của file banner trong file sshd_config ....................... 46
Hình 3.12: Đặt mật khẩu mạnh ..................................................................... 46
Hình 3.13: Đặt mật khẩu .............................................................................. 46
Hình 3.14: Tắt kết nối khơng an tồn qua kết nối RSH ................................. 47
Hình 3.15: File sshd_config cho phép ssh chứng thức bằng mật khẩu và key47
Hình 3.16: Tiến hành cài phần mềm truy cập ............................................... 48
Hình 3.17: Cửa sổ của SSH khi đăng nhập thành cơng ................................. 48
Hình 3.18: Tạo password của rsa .................................................................. 49
Hình 3.19: Nội dung file id_rsa.pub ............................................................. 49
Hình 3.20: Thiết lập imported-openssh-key trong Putty ............................... 50
Hình 3.21: Chọn SSH protocol version: 2 .................................................... 50
Hình 3.22: Chọn vị trí file khóa .................................................................... 51
Hình 3.23: Mơ hình triển khai bắt gói tin khi truy cập từ xa ......................... 52
Hình 3.24: Thiết lập thơng số cho Putty để truy cập từ xa vào máy CentOS . 53
Hình 3.25: Kết quả gói tin bắt được bởi Wireshark ...................................... 53
Hình 3.26: Một số thơng tin của gói tin bắt được.......................................... 54
Hình 3.27: Dữ liệu của gói tin bắt được ........................................................ 55

vi



LỜI NÓI ĐẦU
Hiện nay, việc sử dụng Internet đã phố biến trong các công ty, các doanh
nghiệp và các lĩnh vực của đời sống xã hội. Các ứng dụng của dịch vụ truy
cập từ xa giúp công việc của bản thân công ty, đơn vị, doanh nghiệp diễn ra
nhanh, thuận tiện và hiệu quả cao nhất. Tuy nhiên bên cạnh những lợi ích và
hiệu quả mà truy cập từ xa đem lại thì nó cũng khơng thể tránh khỏi các nguy
cơ mất an tồn thơng tin.
Các nguy cơ mất an tồn là nguy cơ nghe trộm, lấy cắp thơng tin, sửa đổi
thơng tin, giả mạo thơng tin và bị rị rỉ thơng tin...
Để giải quyết vấn đề này thì giao thức SSH chính là một giải pháp được
quan tâm và sử dụng khi truy cập từ xa. Giao thức này cung cấp tính bí mật,
xác thực, tồn vẹn cho dữ liệu khi truy cập từ xa. Việc triển khai SSH một
cách hiểu quả trên các điều hành Linux nó chính là sử dụng mã nguồn mở
OpenSSH.
Chương 1: Tổng quan về dịch vụ truy cập từ xa
Chương này tìm hiểu về dịch vụ truy cập từ xa, các giao thức sử dụng
trong dịch vụ truy cập từ xa, các nguy cơ mất an toàn khi thực hiện truy cập
từ xa, từ đó đặt ra vấn đề cần bảo mật dữ liệu khi truy cập từ xa.
Chương 2: Giải pháp bảo mật cho dịch vụ truy cập từ xa dử dụng SSH
Chương này tìm hiểu giao thức SSH và các thuật tốn mật mã được hỗ trợ
bởi SSH và một số tấn cơng SSH có thể chống lại được.
Chương 3: Triển khai phần mềm mã nguồn mở OpenSSH bảo mật cho
dịch vụ truy cập từ xa.
Chương này trình bày giới thiệu về OpenSSH, triển khai cài đặt và nhận
xét độ an toàn.

vii



CHƯƠNG 1: TỔNG QUAN VỀ DỊCH VỤ TRUY CẬP TỪ XA
1.1. Giới thiệu về dịch vụ truy cập từ xa
Dịch vụ truy cập từ xa cho phép người dùng từ xa có thể truy cập từ một
máy tính qua mơi trường mạng truyền dẫn đến một mạng riêng như thể máy
tính đó được kết nối trực tiếp với mạng đó. Người dùng từ xa kết nối tới mạng
thông qua một máy chủ dịch vụ gọi là máy chủ truy cập (Access server). Khi
đó người dùng từ xa có thể sử dụng tài nguyên trên mạng như là một máy tính
kết nối trực tiếp trên mạng đó. Dịch vụ truy cập từ xa cũng là cầu nối để một
máy tính hay một mạng máy tính thơng qua nó được nối đến internet theo
cách được coi là hợp lý với chi phí không cao, phù hợp với các doanh nghiệp,
tổ chức với quy mô vừa là nhỏ.
1.1.1. Khái niệm dịch vụ truy cập từ xa
Truy cập từ xa đề cập đến khả năng truy cập máy tính, chẳng hạn như
máy tính gia đình hoặc máy tính mạng văn phịng, từ một địa điểm từ xa.
Điều này cho phép nhân viên làm việc bên ngoài, chẳng hạn như ở nhà hoặc ở
một địa điểm khác, trong khi vẫn có quyền truy cập vào một máy tính hoặc
mạng ở xa, chẳng hạn như mạng văn phịng. Truy cập từ xa có thể được thiết
lập bằng mạng cục bộ (LAN), mạng diện rộng (WAN) hoặc thậm chí là mạng
riêng ảo (VPN) để tài nguyên và hệ thống có thể được truy cập từ xa. Truy
cập từ xa còn được gọi là đăng nhập từ xa.
Truy cập từ xa có thể được thiết lập thơng qua một đường chạy giữa máy
tính và mạng cục bộ (LAN) của cơng ty. Một kết nối cũng có thể được thiết
lập giữa mạng LAN của công ty và mạng LAN từ xa bằng cách sử dụng một
đường chuyên dụng. Loại đường này cung cấp tốc độ nhanh hơn nhưng có
nhược điểm là đắt hơn.
Một phương pháp khác để thực hiện truy cập từ xa là thiết lập VPN, một
mạng thường sử dụng Internet để kết nối các trang web và người dùng từ xa
với nhau. Loại mạng này sử dụng mã hóa và đường hầm để truy cập mạng
của cơng ty. Đây có thể là một lựa chọn tuyệt vời cho một tổ chức tương đối
nhỏ. Các phương tiện khác để thiết lập truy cập từ xa bao gồm việc sử dụng

mạng truyền số liệu số đa dịch vụ, mạng không dây, modem cáp hoặc đường
dây thuê bao kỹ thuật số.


Để thiết lập kết nối từ xa, cả máy cục bộ và máy tính/máy chủ từ xa phải
có phần mềm truy cập từ xa. Ngồi ra, có những nhà cung cấp dịch vụ cung
cấp truy cập từ xa thông qua Internet. Khi lựa chọn và thiết kế giải pháp truy
cập từ xa, cần quan tâm đến vấn đề sau:
− Số lượng kết nối tối đa có thể phục vụ người dùng từ xa
− Các nguồn tài nguyên mà người dùng từ xa muốn truy cập
− Công nghệ, phương thức và thơng lượng kết nối
− Các phương thức an tồn cho dịch vụ truy cập từ xa, phương thức xác
thực người dùng, phương thức mã hóa dữ liệu
− Các giao thức mạng sử dụng để kết nối
1.1.2. Chức năng chính của dịch vụ truy cập từ xa
Chức năng của dịch vụ truy cập từ xa là cho phép người dùng truy cập từ
xa vào các nguồn máy tính và mạng, dù người dùng đang ở bất kỳ đâu. Chức
năng truy cập từ xa đảm bảo cho người dùng ln có quyền truy cập vào các
thiết bị khi người dùng cần chúng.
Một trong những ứng dụng của dịch vụ này nữa là, khi người dùng muốn
thực hiện bảo trì cơng nghệ thơng tin hay truy xuất các tập tin, người dùng
đều có thể truy cập các thiết bị từ xa trong khi đang làm việc ở nhà.
1.1.3. Những hạn chế của dịch vụ truy cập từ xa
Một số hạn chế còn tồn tại trong dịch vụ truy cập từ xa đó là:
− Tốc độ kết nối chưa ổn định khi thực hiện phiên làm việc lần đầu.
− Thường được thiết kế để hoạt động sau tường lửa nên có thể bị lợi dụng
để tấn cơng chính máy tính được điều khiển.
− Tồn tại nhiều nguy cơ mất an toàn như : bị đánh cắp dữ liệu, bị đánh cắp
thông tin cá nhân,...
1.2. Các giao thức truy cập từ xa

SLIP (Serial Line Interface Protocol), PPP và Microsoft RAS, Telnet là
các giao thức truy cập để tạo lập kết nối được sử dụng trong truy cập từ xa.
SLIP là giao thức truy cập kết nối điểm-điểm và chỉ hỗ trợ sử dụng với giao
thức IP, hiện nay hầu như khơng cịn được sử dụng. Microsoft RAS là giao
thức riêng của Microsoft hỗ trợ sử dụng cùng với các giao thức NetBIOS,
NetBEUI và được sử dụng trong các phiên bản cũ của Microsoft.


PPP giao thức truy cập kết nối điểm-điểm với khá nhiều tính năng ưu việt,
là một giao thức chuẩn được hầu hết các nhà cung cấp hỗ trợ. RFC 1661 định
nghĩa về PPP. Chức năng cơ bản của PPP là đóng gói thơng tin giao thức lớp
mạng thơng qua các liên kết điểm – điểm.
TELNET (TErminaL NETwork) là một giao thức mạng (network
protocol) được dùng trên các kết nối với Internet hoặc các kết nối tại mạng
máy tính cục bộ LAN. TELNET thường được dùng để cung cấp những phiên
giao dịch đăng nhập, giữa các máy trên mạng Internet, dùng dịng lệnh có tính
định hướng người dùng. Telnet được biết đến là giao thức đầu tiên được sử
dụng khi internet ra mắt lần đầu vào năm 1969. Telnet cung cấp một giao diện
dòng lệnh đáp ứng hầu hết các tiêu chuẩn cơ bản.
1.2.1. Giao thức PPP
Tiến trình truy cập từ xa được mô tả như sau: người dùng từ xa khởi tạo
một kết nối tới máy chủ truy cập. Kết nối này được tạo lập bằng việc sử dụng
một giao thức truy cập từ xa (ví dụ giao thức PPP- Point to Point Protocol).
Máy chủ truy cập xác thực người dùng và chấp nhận kết nối cho tới khi kết
thúc bởi người dùng hoặc người quản trị hệ thống. Máy chủ truy cập đóng vai
trị như một gateway bằng việc trao đổi dữ liệu giữa người dùng từ xa và
mạng nội bộ. Bằng việc sử dụng kết nối này, người dùng từ xa gửi và nhận dữ
liệu từ máy chủ truy cập. Dữ liệu được truyền trong các khuôn dạng được
định nghĩa bởi các giao thức mạng (ví dụ giao thức TCP/IP) và sau đó được
đóng gói bởi các giao thức truy cập từ xa. Tất cả các dịch vụ và các nguồn tài

nguyên trong mạng người dùng từ xa đều có thể sử dụng thơng qua kết nối
truy cập từ xa này.
Cơ chế làm việc và vận hành của PPP như sau: Để thiết lập truyền thông,
mỗi đầu cuối của liên kết PPP phải gửi các gói LCP (Link Control Protocol)
để thiết lập và kiểm tra liên kết dữ liệu. Sau khi liên kết được thiết lập với các
tính năng tùy chọn được sắp đặt và thỏa thuận giữa hai đầu liên kết, PPP gửi
các gói NCP (Network Control Protocol) để lựa chọn và cấu hình một hoặc
nhiều giao thức lớp mạng. Mỗi lần một giao thức lớp mạng lựa chọn đã được
cấu hình, lưu lượng từ mỗi giao thức lớp mạng có thể gửi qua liên kết này.
Liên kết tồn tại cho đến khi các gói LCP hoặc NCP đóng kết nối hoặc đến khi
một sự kiện bên ngoài xẩy ra (chẳng hạn như một sự kiện hẹn giờ hay một sự
can thiệp của người quản trị). Nói cách khác PPP là một con đường mở đồng


thời cho nhiều giao thức. PPP khởi đầu được phát triển trong mơi trường
mạng IP, tuy nhiên nó thực hiện các chức năng độc lập với các giao thức lớp
3 và có thể được sử dụng cho các giao thức lớp mạng khác nhau. Như đã đề
cập, PPP đóng gói các thủ tục lớp mạng đã được cấu hình để chuyển qua một
liên kết PPP. PPP có nhiều các tính năng khiến nó rất mềm dẻo và linh hoạt,
bao gồm:
− Ghép nối với các giao thức lớp mạng
− Lập cấu hình liên kết
− Kiểm tra chất lượng liên kết
− Nhận thực
− Nén các thông tin tiếp đầu
− Phát hiện lỗi
− Thỏa thuận các thông số liên kết
PPP hỗ trợ các tính năng này thơng qua việc cung cấp LCP có khả năng
mở rộng và NCP để thỏa thuận các thông số và các chức năng tùy chọn giữa
các đầu cuối. Các giao thức, các tính năng tùy chọn, kiểu xác thực người dùng

tất cả đều được truyền thông trong khi khởi tạo liên kết giữa hai điểm. PPP có
thể hoạt động trong bất kỳ giao diện DTE/DCE nào, PPP có thể hoạt động ở
chế độ đồng bộ hoặc không đồng bộ. Ngoài những yêu cầu khác của các giao
diện DTE/DCE, PPP khơng có hạn chế nào về tốc độ truyền dẫn. Trong hầu
hết các cơng nghệ mạng WAN, mơ hình lớp được đưa ra để có những điểm
liên hệ với mơ hình OSI và để diễn tả vận hành của các công nghệ cụ thể. PPP
không khác nhiều so với các cơng nghệ khác. PPP cũng có mơ hình lớp để
định nghĩa các cấu trúc và chức năng.


OSl layer

Upper-layer protocols
(IP.IPX.AppleTaIk)

3

NCP (Network Control Protocol)

LCP (Link Comtrol Protocol)

2

HDLC (High Level Data Link
Control)
Physical Layyer
(eia/tia-232.v24.v35.ídn)

1


Hình 1.1: Cấu trúc khung PPP
Cũng như hầu hết các cơng nghệ, PPP có cấu trúc khung, cấu trúc này cho
phép đóng gói bất cứ giao thức lớp 3 nào. Dưới đây là cấu trúc khung PPP.
 Quá trình thực hiện PPP
Giao thức PPP được sử dụng để đóng gói các gói tin thành các khung PPP
và gửi dữ liệu trên các kết nối điểm – điểm. Có năm bước cần tiến hành trong
q trình thương lượng kết nối PPP, đó là:
1. Sau khi các gói dữ liệu đã được đóng gói, nguồn gửi khung LPC qua
kết nối điểm – điểm tới đích.
2. Các tham số này thường được dùng để cấu hình liên kết bằng việc chỉ
rõ các tham số và kiểm tra liên kết đã được thiết lập.
3. Sau khi đích chấp nhận yêu cầu kết nối và một liên kết được thiết lập
thành công, các tham số lựa chọn được thương lượng nếu đã chỉ rõ bởi các
LCP.
4. Nguồn sau đó gửi khung NCP để lựa chọn và cấu hình giao thức tầng
mạng.
5. Sau khi giao thức tầng mạng yêu cầu được cấu hình thì cả hai bắt đầu
trao đổi dữ liệu.


PPP Link
Destination
Node

Source Node
1

LCP Frames

Nagotiation of

3 Optional Parameter
4 NCP Exchange
5
6 Data Exchange

Link configuration
and téting
2

Establishment&Configuation
Of Network Layer Protocol

Hình 1.2: Thiết lập liên kết PPP và trao đổi dữ liệu
Khi một liên kết PPP đã được thiết lập, nó tồn tại cho đến khi LCP hoặc
NCP ra hiệu kết thúc liên kết. Liên kết cũng có thể được kết thúc trong trường
hợp nó bị lỗi hoặc người dùng can thiệp vào.
 Định dạng gói PPP
Sáu trường tạo thành khung PPP, như minh họa trong hình dưới. Mơ tả
của các trường cấu tạo thành khung PPP như sau:
− Flag: Trường này xác định điểm bắt đầu và kết thúc của một khung. Độ
dài của trường này là một byte.
− Address: Vì nó sử dùng các liên kết điểm - điểm. PPP không sử dùng
các đỉa chỉ của các điểm riêng lẻ. Vì thế, các trường này chứa chuỗi nhị phân
là 11111111, đây là một đĩa chỉ Broadcast chuẩn. Độ dài của trường này là 1
byte.
− Control: Trường này chứa chuỗi nhị phân là 00000011. Nó biểu thị rằng,
Frame đang mang dữ liệu người dùng là một Frame không tuần tự. Độ dài của
trường này là 1 byte.
− Protocol: Trường này xác định giao thức mà dữ liệu được đóng gói
trong trường dữ liệu của Frame. Giao thức trong trường này chỉ rõ theo số đã

gán
− Data: Có độ dài thay đổi, có thể 0 hoặc nhiều byte là các dữ liệu cho
kiểu giao thức cụ thể được chỉ ra trong trường giao thức. Phần cuối cùng của
trường dữ liệu được nhận biết bằng cách đặt cờ và tiếp sau nó là 2 byte FCS.
Giá trị ngầm định của trường này là 1500 byte. Tuy vậy giá trị lớn hơn có thể


được sử dụng để tăng độ dài cho trường dữ liệu.
− FCS: thường là 2 byte, có thể sử dụng 4 byte FCS để tăng khả năng phát
hiện lỗi.
Flag

1 Byte

Address

Control

Protocol

Data

FSC

1 Byte

1 Byte

2 Byte


Variable
Size

24 Byte

Hình 1.3: Định dạng của một Frame PPP điển hình
LCP có thể thỏa thuận để chấp nhận sự thay đổi cấu trúc khung PPP
chuẩn giữa hai đầu cuối của liên kết. Các khung đã thay đổi luôn luôn dễ nhận
biết hơn so với các khung chuẩn. LCP cung cấp phương pháp để thiết lập, cấu
hình, duy trì và kết thúc một kết nối điểm-điểm. LCP thực hiện các chức năng
này thông qua bốn giai đoạn. Đầu tiên, LCP thực hiện thiết lập và thỏa thuận
cấu hình giữa liên kết điểm−điểm. Bất kỳ đơn vị dữ liệu lớp mạng nào được
chuyển, LCP đầu tiên phải mở kết nối và thỏa thuận các thơng số thiết lập.
Q trình này được hồn thành khi một khung nhận biết cấu hình đã được gửi
và nhận. Tiếp theo, LCP xác định chất lượng liên kết. Liên kết được kiểm tra
để xác định xem liệu chất lượng có đủ để khởi tạo các giao thức lớp mạng
không. Việc truyền dẫn của giao thức lớp mạng bị đình lại cho đến khi giai
đoạn này hoàn tất. LCP cho phép đây là một tùy chọn sau giai đoạn thiết lập
và thỏa thuận cấu hình của liên kết. Sau đó LCP thực hiện thỏa thuận cấu hình
giao thức lớp mạng. Các giao thức lớp mạng có thể được cấu hình riêng rẽ bởi
NCP thích hợp và được khởi tạo hay dỡ bỏ vào bất kỳ thời điểm nào. Cuối
cùng, LCP kết thúc liên kết khi xuất hiện yêu cầu từ người dùng hoặc theo các
bộ định thời gian, do lỗi truyền dẫn hay do các yếu tố vật lý khác.
Ba kiểu khung LCP được sử dụng để hồn thành các cơng việc đối với
từng giai đoạn: khung thiết lập liên kết được sử dụng để thiết lập và cấu hình
một liên kết, khung kết thúc liên kết được sử dụng để kết thúc một liên kết,
khung duy trì liên kết được sử dụng để quản lý và gỡ rồi liên kết.
Khi triển khai dịch vụ truy cập từ xa, các giao thức mạng thường được sử
dụng là giao thức TCP/IP, IPX, NETBEUI. TCP/IP là một bộ giao thức gồm
có giao thức TCP và giao thức IP cùng làm việc với nhau để cung cấp phương

tiện truyền thông trên mạng. TCP/IP là một bộ giao thức cơ bản, làm nền tảng
cho truyền thông liên mạng là bộ giao thức mạng được sử dụng phổ biến nhất


hiện nay. Với khả năng định tuyến và mở rộng, TCP/IP hỗ trợ một cách linh
hoạt và phù hợp cho các tất cả các mạng. IPX (Internet Packet Exchange) là
giao thức được sử dụng cho các mạng Novell NetWare. IPX là một giao thức
có khả năng định tuyến và thường được sử dụng với các hệ thống mạng trước
đây. NetBEUI là giao thức dùng cho mạng cục bộ LAN của Microsoft.
NetBEUI cho người dùng nhiều tiện ích và hầu như khơng phải làm gì nhiều
với NetBEUI. Thơng qua NetBEUI người dùng có thể truy cập tất cả các tài
nguyên trên mạng. NETBEUI là một giao thức khơng có khả năng định tuyến
và chỉ thích hợp với mơ hình mạng nhỏ, đơn giản.
1.2.2. Giao thức Telnet
TELNET (viết tắt của TErminaL NETwork) là một giao thức mạng
(network protocol) được dùng trên các kết nối với Internet hoặc các kết nối tại
mạng máy tính cục bộ LAN. TELNET thường được dùng để cung cấp những
phiên giao dịch đăng nhập, giữa các máy trên mạng Internet, dùng dịng lệnh
có tính định hướng người dùng. Mục đích của giao thức TELNET là cung cấp
một phương tiện truyền thơng chung chung, có tính lưỡng truyền, dùng độ
rộng 8 bit, định hướng byte.
Một trong những kỹ thuật chủ yếu sử dụng trên mạng máy tính là khả
năng truy cập hệ thống từ xa. Đó là việc người sử dụng có thể thực hiện được
một ứng dụng trên một máy tính từ xa. Trong các giao thức cho phép truy cập
từ xa có hiệu quả, đáng chú ý nhất là giao thức Telnet. Telnet thiết lập một kết
nối TCP, sau đó gửi các tín hiệu của người sử dụng đến trực tiếp máy tính ở
xa như chúng được nhập vào bàn phím trực tiếp với máy tính ở xa. Telnet
cũng chuyển tải dữ liệu xuất từ máy tính ở xa ngược trở về màn hình của
người sử dụng. Dịch vụ này được gọi là “trong suốt” (transparent) vì nó cho
người dùng cảm giác như là bàn phím và màn hình của người sử dụng nối

trực tiếp vào máy tính ở xa.
Thơng thường, phần mềm Telnet ở Client cho phép người sử dụng xác
định một máy ở xa bằng cách chỉ ra tên miền hoặc địa chỉ IP của nó. Giao
thức Telnet cung cấp một giao diện chuẩn, thơng qua một chương trình ở một
máy (Telnet Client) có thể khai thác tài nguyên ở một máy khác (Telnet
Server). Ví dụ, một người sử dụng máy trạm của mạng LAN có thể kết nối
với một máy trong mạng như thể là một máy trạm kết nối trực tiếp với máy
đó.


 Các dịch vụ của giao thức Telnet
Telnet cung cấp ba dịch vụ cơ bản:
− Trước hết, nó định nghĩa một trạm mạng ảo để cung cấp một giao tiếp
chuẩn cho các hệ ở xa. Chương trình Client khơng phải hiểu chi tiết tất cả các
hệ ở xa; chúng được xây dựng để sử dụng giao tiếp chuẩn.
− Thứ hai, Telnet bao gồm một cơ chế cho phép Client và Server thương
thảo các lựa chọn, nó cung cấp một tập hợp các lựa chọn chuẩn.
− Cuối cùng, trong Telnet thì hai đầu của kết nối là đối xứng. Cụ thể,
Telnet không bắt buộc dữ liệu nhập của Client phải đến từ bàn phím, nó cũng
khơng bắt buộc Client phải thể hiện dữ liệu xuất ra màn hình. Như thế, Telnet
cho phép một chương trình bất kỳ có thể đóng vai trị Client và hai đầu của
kết nối có thể thỏa thuận về các lựa chọn.

Telnet
client
Client reads
From User s
Keyboard
& display


Client sends

Telnet
client

Sends to
pseudo

to Server
Operating
System

Operating
System

Server

terminal

Server receives
TCP/IP
Internet

Hình 1.4: Các chương trình ứng dụng cài đặt Telnet Client và
Telnet Server
Qua hình trên có thể thấy, khi người sử dụng gọi Telnet, thì một chương
trình ứng dụng trên máy của người sử dụng trở thành Client. Sau đó, Client
này thiết lập kết nối TCP đến Server mà chúng sẽ thông tin liên lạc. Một khi
kết nối đã được thiết lập, Client sẽ nhận các ký tự bàn phím của người sử
dụng và gửi chúng đến Server, trong khi đó nó cũng đồng thời nhận các ký tự

mà Server gửi ngược trở về và thể hiện nó lên màn hình của người sử dụng.
Server phải nhận một kết nối TCP từ Client và rồi chuyển dữ liệu đi giữa kết
nối TCP này và hệ điều hành cục bộ. Trong thực tế, Server phức tạp hơn


nhiều so với những gì trình bày trong hình này bởi vì nó phải xử lý đồng thời
nhiều kết nối. Thơng thường, một tiến trình Server chủ đợi các kết nối mới và
tạo ra Server phụ mới để xử lý mỗi kết nối.
Khái niệm trạm làm việc ảo được sử dụng để mô tả đầu vào của hệ điều
hành, nơi cho phép một chương trình chạy, giống như Telnet Server, truyền
các ký tự đến hệ điều hành giống như là chúng được nhập từ bàn phím. Nếu
hệ thống trạm làm việc là ảo, thì Telnet Server có thể được cài đặt với các
chương trình ứng dụng.
Việc bố trí để Telnet Server là một chương trình mức ứng dụng có cả ưu
điểm lẫn khuyết điểm. Ưu điểm lớn nhất là nó làm cho việc sửa đổi và kiểm
soát của Server dễ hơn so với trường hợp chúng được nhúng vào trong hệ
điều hành. Khuyết điểm hiển nhiên nhất là sự kém hiệu quả. Mỗi ký tự nhập
từ bàn phím của người sử dụng sẽ di chuyển qua hệ điều hành để đến chương
trình Client, từ chương trình Client ngược trở về hệ điều hành và đi qua
Internet để đến được máy chủ. Sau khi đến được máy chủ, dữ liệu lại phải di
chuyển ngược lên hệ điều hành của Server để đến chương trình ứng dụng của
Server, và từ chương trình ứng dụng Server ngược trở về hệ điều hành của
Server tại điểm vào của trạm làm việc ảo.
Cuối cùng, hệ điều hành ở xa sẽ chuyển phát ký tự này đến chương trình
ứng dụng mà người sử dụng đang chạy. Trong khi đó, kết xuất di chuyển
ngược trở về từ Server đến Client theo cùng một con đường như vậy.
 Hoạt động của giao thức Telnet trong những hệ không đồng nhất
Để cho Telnet hoạt động được trong càng nhiều hệ khác nhau càng tốt,
nó phải chấp nhận được các chi tiết của nhiều hệ điều hành khác nhau. Ví dụ,
một số hệ yêu cầu các dòng văn bản được kết thúc bởi ký tự ASCII carriage

control (CR), những hệ khác lại yêu cầu ký tự ASCII linefeed (LF). Lại có
những hệ yêu cầu chuỗi hai ký tự CR-LF. Thêm vào đó, hầu hết các hệ tương
tác cung cấp phương tiện để người sử dụng đưa vào từ bàn phím ký hiệu ngắt
một chương trình đang chạy. Tuy nhiên, ký hiệu đặc biệt được sử dụng để
ngắt một chương trình lại khác nhau tùy vào trong hệ thống (ví dụ, một số hệ
sử dụng Control – C, có hệ lại sử dụng ESCAPE). Để chấp nhận được nhiều
hệ khác nhau, Telnet định nghĩa cách dữ liệu và các lệnh được gửi qua
Internet. Định nghĩa này được gọi là Trạm ảo (Network Virtual TerminalNVT). Trong hình dưới, phần mềm Client chuyển đổi các ký hiệu các bàn


phím và chuỗi lệnh từ trạm của người sử dụng thành dạng NVT và gửi chúng
tới Server. Phần mềm Server lại chuyển đổi dữ liệu và các lệnh gửi đến từ
dạng NVT thành dạng mà hệ ở xa yêu cầu. Đối với dữ liệu trả về, Server
chuyển đổi từ dạng của hệ ở xa thành NVT và phần mềm Client lại chuyển từ
dạng NVT thành dạng của máy cục bộ.
TCP connection across Inernt

User’s
Keyboard
& display

Client

Client System format used used

Server

NVT format used

Server’s

System

Server System format

Hình 1.5: Sơ đồ kết nối TCP trên Internet
 Trạm ảo (Network Virtual Terminal-NVT)
NVT gồm một màn hình và một bàn phím. Bàn phím thực hiện việc gửi
dữ liệu thơng qua kết nối Telnet. Màn hình nhận dữ liệu gửi về. Đặc trưng cơ
bản của mỗi NVT, nếu nó không bị thay đổi bởi những thoả thuận chung là:
− Biểu diễn dữ liệu là tập hợp ký tự ASCII chuẩn 7 bit hoặc là tập hợp ký
tự 8 bit.
− NVT là một thiết bị xử lý đồng thời.
− NVT cung cấp một bộ phận báo hiệu lại (Local echo function).
Keyboard
Input
A
Local
Echo
Printer

A

Z

Remote
Echo
Output

Terminal(Client)
Host(Server)


Hình 1.6: Sơ đồ truyền tín hiệu từ Client đến Server


Định nghĩa của dạng NVT tương đối đơn giản. Mọi thông tin liên lạc đều
sử dụng các byte – 8bit. Tập hợp ký tự ASCII chuẩn gồm 95 ký tự in được và
33 mã điểu khiển. Chuẩn NVT định nghĩa ý nghĩa của các ký tự điều khiển
như sau:
Bảng 1.1: Các ký tự điều khiển của NVT
Lệnh

Hoạt động

ASCII

Null (NUL)

0

Không hoạt động

Bell (BEL)

7

Tín hiệu âm thanh/ hiển thị

Backspace(BS)

8


Dịch trái một ví trí ký tự

Horizontal (HT)

9

Dịch phải đến tab ngang tiếp theo thì dừng

Line Feed (LF)

10

Dịch xuống dịng tiếp theo

Vertical Tab(VT)

11

Dịch xuống dịng tiếp theo thì dừng

Form Feed (FF)

12

Dịch đến đầu trang tiếp theo

Cartridge Return (CR)

13


Dịch đến lề trái của dòng hiện tại

Other control

-

Không hoạt động (không ảnh hưởng đến đầu ra)

 Các lựa chọn Telnet
Telnet bao gồm một cơ chế cho phép Client và Server thỏa thuận các lựa
chọn, nó cung cấp một tập hợp lựa chọn chuẩn (ví dụ, một trong những lựa
chọn này là để điều khiển việc truyền dữ liệu qua kết nối sẽ sử dụng tập hợp
ký tự ASCII chuẩn 7 bit hoặc là tập hợp ký tự 8 bit).
Telnet, có thể thỏa thuận các chọn lựa, điều này giúp cho Client và Server
có thể cấu hình lại kết nối của chúng. Ví dụ, thơng thường dịng dữ liệu
chuyển đi dữ liệu 7 bit và sử dụng các octet bit thứ 8 được lập để gửi đi thơng
tin điều khiển như lệnh ngắt tiến trình. Tuy nhiên, Telnet cũng cung cấp một
lựa chọn để cho phép Client và Server gửi đi dữ liệu 8 bit. Để thực hiện q
trình đó, Client và Server phải thỏa thuận với nhau và cả hai cùng phải thống
nhất truyền dữ liệu 8 bit trước khi bắt đầu việc truyền dữ liệu. Telnet cung cấp
rất nhiều lựa chọn cho người sử dụng. Ví dụ, giao thức được thiết kế trong
mơi trường một chiều (half-duplex), là nơi hệ thống cần thông báo cho đầu
kia “bắt đầu tiến hành” trước khi có thể gửi dữ liệu. Một trong lựa chọn là
điều khiển hoạt động của Telnet trong chế độ halfduplex hoặc full-duplex. Có
lựa chọn khác cho phép Server trên máy ở xa xác định kiểu trạm làm việc của
người sử dụng.


Bảng 1.2: Một số lựa chọn thông dụng của Telnet

Tên



Ý Nghĩa

RFC

Transmit Binary

0

856

Chuyển sang truyền dữ liệu 8 bit

Echo

1

857

Cho phép một bên lặp lại dữ liệu nó nhận được

Suppress - GA

3

858


Loại bỏ tín hiệu đi đầu sau dữ liệu

Status

5

859

Yêu cầu trạng thái của tùy chọn Telnet từ phía
từ xa
Yêu cầu dấu thời gian phải được chèn trong

Timing-Mark

6

860

luồng trả về để đồng bộ hai đầu cuối của kết
nối.

Terminal-Type

24

884

End-of-Record

25


885

Linemode

4

1116

Trao đổi thông tin về cách thức và chế độ của
Terminal đang sử dụng
Terminate gửi mã EOR
Sử dụng chỉnh sửa và gửi dịng hồn thiện cục
bộ thay cho ký tự riêng lẻ.

 Việc thỏa thuận các lựa chọn trong Telnet
Trong một số lựa chọn cụ thể, Server thường là phía khởi động việc thỏa
thuận. Vì thế, các giao thức được thiết kế sao cho đầu nào cũng có thể đưa ra
yêu cầu. Giao thức này được gọi là đối xứng với tiến trình chọn lựa. Nơi nhận
có thể đáp ứng lại yêu cầu bằng việc chấp nhận hoặc từ chối. Trong thuật ngữ
của Telnet, yêu cầu là WILL X, có nghĩa là “bạn đồng ý để tơi sử dụng lựa
chọn X” và lời đáp có thể là DO X hay DON’T, có nghĩa là “tơi đồng ý để
bạn sử dụng lựa chọn X” hay là “tôi không đồng ý để bạn sử dụng lựa chọn
X”.
Như vậy, có thể tóm tắt như sau: Telnet sử dụng một cơ chế thỏa thuận
lựa chọn đối xứng để cho phép Client và Server cấu hình lại các tham số điều
khiển việc tương tác giữa chúng. Bởi vì, tất cả các phần mềm Telnet hiểu giao
thức cơ bản của NVT, Client và Server có thể hợp tác với nhau ngay cả khi
một bên hiểu được sự lựa chọn còn bên kia thì khơng.
 Cấu trúc lệnh Telnet

Việc giao tiếp giữa Client và Server được thực hiện bởi các lệnh bên
trong mà người sử dụng không thể truy cập. Tất cả các lệnh Telnet bao gồm
2-3 byte liên tiếp, tuỳ theo loại lệnh.


Telnet NVT chấp nhận các chức năng điều khiển bằng việc định nghĩa
cách chúng được chuyển từ Client đến Server. Về mặt khái niệm có thể xem
như NVT nhập dữ liệu từ bàn phím, có thể phát sinh nhiều hơn 128 ký tự. Giả
định bàn phím của người sử dụng có những phím ảo tương ứng với những
chức năng được sử dụng cho việc điều khiển.
Trong thực tế, hầu hết các bàn phím khơng cung cấp thêm các phím để
thực hiện các lệnh. Thay vào đó, từng hệ điều hành hoặc trình phiên dịch lệnh
có những cách khác nhau để tạo ra chúng. Một trong những kỹ thuật thông
dụng nhất: liên kết từng ký tự ASCII với chức năng điều khiển để khi người
sử dụng gõ một phím, hệ điều hành sẽ thực hiện thao tác thích hợp thay vì
nhận ký tự đó làm nhập dữ liệu. NVT được thiết kế để các lệnh tách rời khỏi
tập ký tự ASCII thơng thường, vì hai lý do. Trước hết, việc định nghĩa các
chức năng điều khiển riêng biệt làm cho Telnet làm việc chuyển hơn. Nó có
thể truyền tất cả ký tự ACSII giữa Client và Server, cũng như các chức năng
điều khiển có thể có. Thứ hai: bằng việc tách rời các tín hiệu khỏi dữ liệu
thơng thường, NVT cho phép Client xác định các tín hiệu một cách chính xác
rằng ký tự nhập vào là dữ liệu hay chức năng điều khiển. Để gửi chức năng
điều khiển qua kết nối TCP, Telnet mã hoá chúng theo kiểu chuỗi escape.
Chuỗi escape sử dụng octet ngược để chỉ rằng tiếp theo sau là các octet mã
điều khiển. Trong Telnet, octet ngược để bắt đầu một chuỗi escape được gọi
là octet IAC(interrupt as command).

Interrupt
Option
As

Ví dụ:

Command
Negotiated

code

Byte 3
24

Byte 2
253

Byte 1
255

Terminal Type

WILL
IAC
Hình 1.7: Cấu trúc lệnh Telnet


Bảng 1.1: Cấu trúc lệnh của Telnet


Lệnh

Ý nghĩa


SB

249

Bắt đầu tùy chọn đàm phán

SE

240

Kết thúc tùy chọn đàm phán

WILL

251

Thỏa thuận thực hiện tùy chọn cụ thể

WON’T

252

Từ chối thực hiện tùy chọn cụ thể

DO

253

Chấp thuận cho phép tùy chọn cụ thể


DON’T

254

Từ chối yêu cầu thực hiện tùy chọn cụ thể

NOP

241

Không hoạt động

239

Kết thúc

EOR

Để có thể thực hiện việc thỏa thuận các lựa chọn Telnet sử dụng các lệnh
bên trong. Các lựa chọn có thể được thỏa thuận bằng các mã lệnh: WILL, DO,
DON’T, WON’T. Ngồi ra, một số lựa chọn cịn có các lựa chọn phụ: nếu cả
hai bên đồng ý với lựa chọn, chúng sử dụng lệnh SB và SE để quản lý lựa
chọn phụ.
Một ví dụ đơn giản, việc thỏa thuận các lựa chọn được thực hiện như sau:
Bảng 1.3: Nội dung một số thỏa thuận và hồi đáp
Gửi
DO transmit binary

Đáp lại
WILL transmit binary


DO window size

WILL window size

SB window size
DO terminal type

WILL terminal type

Ý nghĩa
có thể thương lượng cửa sổ
kích thước?
Chỉ định kích thước cửa sổ
có thể thương lượng kiểu thiết
bị đầu cuối?

SB terminal type SE
SB terminal type

IBM=3278-2 SE

DO echo

WON’T echo

Terminal của tôi là 3278-2

 Một số lệnh cơ bản của Telnet
Mục đích chính của giao thức Telnet là cung cấp giao diện chuẩn cho các

host trên mạng. Telnet định nghĩa một biểu diễn chuẩn qua các chức năng để
cho phép kết nối được bắt đầu.


Bảng 1.4: Một số lệnh cơ bản của Telnet
IP

Quá trình gián đoạn (chấm dứt chương trình đang chạy)

AO

Hủy bỏ đầu ra

AYT

Bạn có ở đó khơng (kiểm tra xem máy chủ có phản hồi khơng)

EC

Xóa ký tự (xóa ký tự trước)

EL

Xóa dịng (xóa tồn bộ dịng hiện tại)

SYNCH

Đồng bộ hóa

1.3. Các nguy cơ mất an toàn khi thực hiện truy cập từ xa

Vấn đề bảo mật dữ liệu của Telnet là bất cập lớn nhất của giao thức này.
Chính vì nó khơng được mã hóa nên đã trở thành mục tiêu tấn công xen giữa.
Vậy nên các thông tin lưu lượng của giao thức Telnet có thể bị lộ bất cứ lúc
nào và trong quá trình sử dụng thì Telnet cũng chỉ cung cấp xác thực dựa trên
mật khẩu mà thôi. Chính vì dựa trên mật khẩu nên có thể bị những kẻ tấn
cơng đánh cắp và chúng kém an tồn so với các giao thức khác, hay dựa trên
việc chứng thực bằng key.
Nếu cân nhắc về an tồn thơng tin thì TELNET là một giao thức khơng
nên dùng, do ba nguyên nhân chính sau đây:
Trong nhiều năm qua, một số điểm yếu) trong các daemon của TELNET
đã bị phát hiện và có thể vẫn cịn những điểm yếu tồn tại chưa tìm thấy.
Những điểm yếu đó tạo cơ hội cho những tấn cơng bên ngồi vào máy, vào
người dùng, làm cho việc sử dụng và điều hành máy trở thành một mối lo
ngại.
TELNET khơng mật mã hóa các dữ liệu truyền tải qua đường dây kết nối
(kể cả mật khẩu), vì thế việc nghe trộm đường truyền thơng là một việc tương
đối dễ dàng thực hiện. Mật khẩu lấy trộm được có thể được dùng vào những
việc có mục đích xấu.
TELNET thiếu nghi thức xác thực người dùng. Nhu cầu xác thực người
dùng là một nhu cầu quan trọng, đảm bảo sự giao thông giữa hai máy chủ
trong cuộc, không bị một người xen giữa (Man-in-the-middle Attack).
Trong một môi trường làm việc mà sự an tồn và bí mật là một yêu cầu
quan trọng, do đó dùng TELNET là một việc không nên. Phiên giao dịch
dùng TELNET là một phiên giao dịch thường, dữ liệu truyền thông không
được mật mã hóa. Nếu có một người ngồi nào có khả năng truy cập, hoặc có
thể đến gần được bộ định tuyến (router), một bộ chuyển mạch (switch), hoặc


một cổng nối (gateway) nằm trên mạng lưới, giữa hai máy chủ dùng "telnet" ở
trên, người đó có thể chặn các gói dữ liệu của TELNET trên đường truyền,

lấy những tin tức về đăng nhập, mật khẩu (và tất cả những gì mà người gửi đã
đánh máy), bằng cách sử dụng một số những công cụ phần mềm như tcpdump
hoặc Wireshark chẳng hạn.
Những sơ hở này gây sự mất uy tín đối với TELNET rất cao, và càng
ngày càng ít người sử dụng nó.
Chính vì giao thức Telnet khơng an toàn nên chúng đã được phát triển
thành một giao thức mạng mới có tên gọi là Secure Socket Shell (SSH). Hiện
nay thì giao thức SSH là giao thức chủ yếu các quản trị viên mạng hiện đại.
Chúng sử dụng để quản lý các máy tính Linux và Unix từ xa và cải thiện tình
hình của Telnet đó là việc xác thực và bảo mật các dữ liệu mã hóa mạnh hơn.
Điều này giúp máy tính trên một mạng có độ tin cậy cao hơn.
Ngoài SSH là giao thức thay thế cho Telnet và cịn có các giải pháp thay
thế phổ biến và tốt hơn đó chính là: SSH cung cấp bảo mật tốt hơn.
Các chương trình trước đây như telnet, rlogin khơng sử dụng phương
pháp mã hố. Vì thế bất cứ ai cũng có thể nghe trộm thậm chí đọc, sửa đổi
được toàn bộ nội dung của phiên làm việc bằng cách sử dụng một số công cụ
đơn giản. Sử dụng SSH là biện pháp hữu hiệu bảo mật dữ liệu trên đường
truyền từ hệ thống này đến hệ thống khác.
1.4. Kết luận chương
Chương này tìm hiểu về dịch vụ truy cập từ xa, các giao thức sử dụng
trong dịch vụ truy cập từ xa, các nguy cơ mất an toàn khi thực hiện truy cập
từ xa sử dụng giao thức telnet, từ đó đặt ra vấn đề cần bảo mật dữ liệu khi truy
cập từ xa. Và một trong những giải pháp được sử dụng để hạn chế các nguy
cơ đó chính là SSH. Do đó, tồn bộ nội dung của chương 2 sẽ được dùng để
nói về giao thức này.


×