ĐẠ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
Mã
Ý 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
Mã
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.