1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn Đề tài tìm hiểu về giao thức bảo mật ssh

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

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu về giao thức bảo mật SSH
Tác giả Nguyễn Thiên Thịnh, Trần Tiến Dũng, Nguyễn Hữu Phúc, Trần Quang Anh, Phí Quốc Tư Sơn
Người hướng dẫn Thầy Đỗ Xuân Chợ
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Cơ sở an toàn thông tin
Thể loại Bài tập lớn
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 22
Dung lượng 1,85 MB

Nội dung

Nếu không có SSH, họ sẽ phải lo ngại việcthông tin đăng nhập bị chặn, dẫn đến nguy cơ máy chủ bị tấn công bởi tin tặc.Tuy nhiên, với SSH, quản trị viên có thể thiết lập một kết nối được

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN

Đề tài: Tìm hiểu về giao thức bảo mật SSH

Môn học: Cơ sở an toàn thông tin

Nhóm BTL: SSH Nguyễn Thiên Thịnh B22DCCN835

Trang 2

Lời cảm ơn

Lời đầu tiên, nhóm chúng em xin gửi lời cảm ơn sâu sắc đến thầy Đỗ XuânChợ Trong suốt quá trình học tập và nghiên cứu môn An toàn bảo mật hệ thốngthông tin, chúng em đã nhận được sự quan tâm, hỗ trợ và hướng dẫn tận tình củathầy Nhờ đó, chúng em đã tích lũy được nhiều kiến thức quý báu để hoàn thành bàitiểu luận với đề tài: "Tìm hiểu về giao thức bảo mật SSH."

Trong quá trình thực hiện bài tiểu luận, chúng em biết sẽ khó tránh khỏinhững thiếu sót Em mong nhận được những góp ý từ thầy để bài làm của chúng emngày càng hoàn thiện hơn

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

2

Trang 3

2.1 Lớp Truyền Tải (Transport Layer) 92.3 Lớp Kết Nối (Connection Layer) 92.2 Lớp Xác Thực (Authentication Layer) 10III Tại sao SSH lại an toàn? 10

1 Bảo mật Dữ liệu trong Giao thức SSH 111.1 Mã hóa Bất đối xứng trong Khởi tạo Kết nối 111.2 Tạo và Sử dụng Khóa Phiên (Session Key) 121.3 Mã hóa Dữ liệu trong Kênh SSH 121.4 Kết hợp mã hóa Đối xứng và Bất đối xứng 12

3 Bảo Toàn Tính Toàn Vẹn 13

4 Truyền Tệp Tin Bảo Mật 13

5 Chuyển Tiếp Cổng và Tunneling 14

IV Thử các phương thức tấn công vào SSH 14

1 Tấn công dò mật khẩu (Brute-force attacks) 14

1.2 Thử nghiệm tấn công: 14

Trang 4

1.3 Cơ chế bảo vệ của SSH: 16

2 Tấn công trung gian (Man-in-the-Middle - MITM) 17

2.2 Thử nghiệm tấn công: 172.3 Cơ chế bảo vệ của SSH: 18

V SSH và tiêu chuẩn Zero Trust 19

1 Xác Thực Mạnh Mẽ (Strong Authentication) 19

2 Kiểm Soát Truy Cập Theo Chính Sách (Policy-Based Access Control) 19

3 Giám Sát và Đăng Nhập Mọi Hoạt Động (Monitoring and Logging) 19

4 Bảo Mật Dữ Liệu Trong Quá Trình Truyền Tải (Data Protection in Transit) 19

5 Kiểm Soát Thiết Bị (Device Control) 20

VI Tiêu chuẩn an toàn thông tin Việt Nam liên quan đến SSH 20

1 TCVN ISO/IEC 27001:2019 - Hệ thống Quản lý An toàn Thông tin 20

2 TCVN 11930:2017 - An toàn Công nghệ Thông tin: Các kỹ thuật kiểm soát và

3 TCVN 8628:2010 - Công nghệ thông tin - Các kỹ thuật bảo mật - Tiêu chuẩn

4

Trang 5

I Giới thiệu

Trước sự phức tạp và gia tăng thử thách trong lĩnh vực an ninh mạng, việcđảm bảo dữ liệu được bảo vệ và duy trì an toàn trong giao tiếp giữa các hệ thống đãtrở thành nhiệm vụ trọng yếu của các tổ chức và doanh nghiệp Sự tiến bộ vượt bậccủa công nghệ số cũng kéo theo nhiều nguy cơ tấn công mạng, đặc biệt là nhắm vàocác phương thức kết nối từ xa – một điểm nhắm hấp dẫn đối với tin tặc Để đối phóhiệu quả với những rủi ro tiềm ẩn này, các giải pháp bảo mật như Secure Shell(SSH) đã trở thành thành phần thiết yếu trong hạ tầng an ninh mạng hiện đại, đảmbảo an toàn và duy trì tính toàn vẹn cho thông tin

1 Sự ra đời của SSH

SSH, viết tắt của Secure Shell, là một giao thức cung cấp khả năng kết nối antoàn với một máy tính khác qua mạng không an toàn Được giới thiệu lần đầuvào năm 1995, SSH ra đời nhằm thay thế các phương thức truyền thống nhưTelnet, vốn chỉ chuyển dữ liệu dưới dạng văn bản thuần túy

Hãy tưởng tượng một quản trị viên hệ thống làm việc từ xa muốn quản lý máychủ tại trung tâm dữ liệu của công ty Nếu không có SSH, họ sẽ phải lo ngại việcthông tin đăng nhập bị chặn, dẫn đến nguy cơ máy chủ bị tấn công bởi tin tặc.Tuy nhiên, với SSH, quản trị viên có thể thiết lập một kết nối được mã hóa, bảo

vệ toàn bộ dữ liệu truyền qua internet Nhờ đó, họ có thể đăng nhập bằng tênngười dùng và khóa riêng, cho phép thực hiện các lệnh, truyền tệp, và cập nhật

hệ thống một cách an toàn mà không lo ngại việc bị theo dõi Khả năng truy cậpbảo mật này là rất cần thiết để bảo vệ tính toàn vẹn của các thông tin quan trọngcủa công ty

Qua đó, bài viết sẽ cung cấp cái nhìn sâu rộng về cách SSH góp phần bảo vệ hệthống thông tin của các tổ chức trước những mối đe dọa mạng ngày càng tinh vi,

Trang 6

khẳng định tầm quan trọng của SSH trong việc xây dựng một môi trường mạng

an toàn và tin cậy

6

Trang 7

cả lệnh và truy vấn từ người dùng đều được thực thi trên lớp này.

1.2 Lớp 6 - Trình Bày (Presentation Layer)

Tầng này chịu trách nhiệm mã hóa và giải mã thông tin SSH áp dụng nhiềuthuật toán mã hóa như AES, ChaCha20, và các hàm băm như SHA-2, MD5

Trang 8

để bảo vệ dữ liệu trong quá trình truyền tải Việc mã hóa ở tầng trình bày giúpngăn chặn nguy cơ dữ liệu bị nghe lén.

1.3 Lớp 4 - Giao Vận (Transport Layer)

SSH sử dụng giao thức TCP (Transmission Control Protocol) nhằm thiết lậpmột kênh truyền tải đáng tin cậy Tầng này đảm bảo rằng dữ liệu được truyền

đi không bị thất lạc và duy trì thứ tự đúng đắn SSH được cài đặt mặc định đểhoạt động qua cổng 22/TCP, giúp dữ liệu được truyền tải an toàn và có tínhxác thực cao

8

Trang 9

2 Kiến trúc

Kiến trúc của SSH có ba lớp chính: Lớp truyền tải, lớp xác thực và lớp kết nối

2.1 Lớp Truyền Tải (Transport Layer)

Lớp này chịu trách nhiệngười dùng nhập mã xác minh từ thiết bị di động

2.3 Lớp Kết Nối (Connection Layer)

Lớp này cung cấp một kênh liên lạc ảo cho nhiều phiên làm việc độc lập giữamáy khách và máy chủ, bao gồm:

● Quản lý kênh (channel): Lớp kết nối quản lý nhiều phiên (ví

dụ: truy cập shell, chuyển tập tin qua SCP/SFTP) bằng cáchchia chúng thành các kênh riêng biệt Mỗi kênh hoạt động độclập, cho phép chuyển dữ liệu song song mà không làm ảnhhưởng đến các kênh khác

● Chuyển tiếp cổng (port forwarding): SSH cho phép chuyển

tiếp các kết nối từ máy khách đến các dịch vụ khác thông qualớp kết nối, giúp tạo ra các kênh bảo mật cho các dịch vụ không

an toàn

Trang 10

m cung cấp tính năng bảo mật cơ bản cho kết nối, bao gồm:

● Mã hóa: Sử dụng các thuật toán mã hóa như AES, Triple DES,

hoặc ChaCha20 để bảo vệ dữ liệu khỏi bị đọc trộm

● Xác thực máy chủ: Lớp truyền tải đảm bảo tính toàn vẹn của

phiên làm việc bằng cách xác thực máy chủ với khách hàngthông qua khóa công khai Điều này giúp phát hiện sự giả mạonếu một kẻ tấn công cố gắng đóng vai trò máy chủ trong kếtnối

● Chống Tấn Công Replay và MITM: Bằng cách sử dụng nonce

và mã MAC, lớp truyền tải ngăn chặn việc phát lại gói tin từ cácphiên trước, đồng thời bảo vệ chống tấn công MITM

2.2 Lớp Xác Thực (Authentication Layer)

Lớp xác thực quản lý quá trình xác thực người dùng trước khi cho phép truycập vào hệ thống:

● Xác thực dựa trên mật khẩu hoặc khóa SSH: SSH hỗ trợ cả

mật khẩu và các cặp khóa công khai/riêng tư để xác thực ngườidùng Xác thực bằng khóa SSH đặc biệt mạnh mẽ do khóa riêng

tư không được chia sẻ trên mạng, làm giảm khả năng bị đánhcắp

● Xác thực nhiều lớp: SSH cũng có thể kết hợp xác thực nhiều

yếu tố (MFA) để tăng cường bảo mật, chẳng hạn như yêu cầu

10

Trang 11

III Tại sao SSH lại an toàn?

Mã hóa được sử dụng bởi giao thức SSH để bảo vệ cả máy chủ và máykhách Tất cả các tệp truyền đi, khóa và tên đăng nhập đều được mã hóa để ngănchặn các cuộc tấn công

1 Bảo mật Dữ liệu trong Giao thức SSH

SSH (Secure Shell) là một giao thức mạng an toàn, cho phép truyền tải dữliệu một cách bảo mật qua các kênh không an toàn Sở dĩ SSH có độ an toàncao là nhờ vào việc sử dụng các cơ chế mã hóa dữ liệu Dưới đây là nhữngyếu tố quan trọng giúp SSH bảo vệ an toàn dữ liệu trong suốt quá trình kếtnối

1.1 Mã hóa Bất đối xứng trong Khởi tạo Kết nối

Trong giai đoạn ban đầu của kết nối, SSH dùng mã hóa bất đối xứng

để trao đổi khóa và xác thực danh tính giữa máy chủ và máy khách Cácthuật toán như RSA (Rivest–Shamir–Adleman), DSA (Digital SignatureAlgorithm), và ECDSA (Elliptic Curve Digital Signature Algorithm) được sửdụng để đảm bảo:

● Xác thực danh tính: Máy khách nhận khóa công khai từ máy chủ và

chỉ máy chủ có khóa bí mật tương ứng mới có thể giải mã thông tinnày

● Bảo vệ khỏi tấn công giả mạo: Mã hóa bất đối xứng bảo đảm rằng

chỉ có máy chủ hợp lệ mới được kết nối, ngăn ngừa các đối tượng xấucan thiệp hoặc mạo danh trong quá trình khởi tạo

Trang 12

1.2 Tạo và Sử dụng Khóa Phiên (Session Key)

Sau khi xác thực hoàn tất, SSH chuyển sang sử dụng mã hóa bất đối xứng đểtạo ra khóa phiên (session key), một khóa đối xứng riêng biệt cho mỗi phiênlàm việc và dùng để mã hóa toàn bộ dữ liệu trao đổi

● Bảo mật phiên: Khóa phiên là duy nhất và không tái sử dụng, giúp

giảm nguy cơ tấn công và bảo vệ an toàn tuyệt đối cho mỗi lần kếtnối

● Hiệu suất cao: Mã hóa đối xứng nhanh hơn nhiều so với mã hóa bất

đối xứng, nên SSH chỉ dùng mã hóa bất đối xứng ban đầu để trao đổikhóa, sau đó toàn bộ dữ liệu được mã hóa bằng khóa đối xứng để tối

ưu hóa tốc độ

1.3 Mã hóa Dữ liệu trong Kênh SSH

Khi đã thiết lập khóa phiên, mọi dữ liệu được truyền qua kênh SSH đều sẽ

mã hóa với thuật toán đối xứng như AES (Advanced Encryption Standard),Blowfish, hoặc ChaCha20

● Bảo mật nội dung: Dữ liệu được mã hóa ngay tại mỗi gói, đảm bảo

không bị lộ hoặc đọc trộm trên mạng

● Chống can thiệp dữ liệu: Kết hợp các thuật toán băm như SHA-256

để tạo mã xác thực (MAC - Message Authentication Code) cho mỗigói dữ liệu, ngăn chặn mọi hành vi chỉnh sửa hoặc giả mạo dữ liệu khitruyền

1.4 Kết hợp mã hóa Đối xứng và Bất đối xứng

SSH kết hợp hai loại mã hóa nhằm đạt được cả hiệu quả và bảo mật:

12

Trang 13

● Mã hóa bất đối xứng: Bảo đảm quá trình trao đổi khóa ban đầu được

an toàn và tránh tấn công MITM (Man-In-The-Middle)

● Mã hóa đối xứng: Cung cấp tốc độ cao khi mã hóa dữ liệu, đảm bảo

dữ liệu được bảo mật suốt quá trình truyền tải mà không ảnh hưởngđến hiệu suất

2 Xác thực người dùng

SSH triển khai các phương thức xác thực mạnh mẽ để đảm bảo chỉ các thựcthể được phép mới có thể truy cập vào hệ thống từ xa Các phương pháp xácthực SSH bao gồm:

● Xác thực qua khóa công khai: Cơ chế này sử dụng cặp khóa công

khai và bí mật, trong đó máy khách giữ khóa bí mật còn khóa côngkhai lưu trên máy chủ từ xa Khi kết nối, máy chủ sẽ gửi một thửthách mà chỉ máy khách có khóa bí mật mới giải mã được, từ đó xácminh danh tính

● Xác thực bằng mật khẩu: SSH cũng hỗ trợ xác thực qua mật khẩu.

Người dùng nhập mật khẩu để đăng nhập, tuy nhiên, phương thức này

ít an toàn hơn do khả năng bị lộ hoặc bị đánh cắp mật khẩu

● Xác thực qua chứng chỉ hoặc 2FA: Các phương pháp này tăng

cường bảo mật bằng việc yêu cầu OTP hoặc chứng chỉ để xác thực,phù hợp với những hệ thống đòi hỏi mức độ an toàn cao hơn.Nhờ các cơ chế xác thực này, SSH đảm bảo chỉ người dùng có quyền truycập vào hệ thống, tránh các truy cập trái phép

3 Bảo Toàn Tính Toàn Vẹn

SSH sử dụng mã xác thực thông điệp (MAC) để đảm bảo tính toàn vẹncủa dữ liệu, ngăn chặn và phát hiện các hành vi sửa đổi trong quá trìnhtruyền

● MAC (Message Authentication Code): Đây là giá trị băm được tạo

từ nội dung gói dữ liệu truyền đi Khi trao đổi, máy khách và máy chủtính toán MAC và gửi cùng với dữ liệu

● Xác minh tính toàn vẹn: Bên nhận sẽ tính toán lại MAC và so sánh.

Nếu không khớp, gói dữ liệu có thể đã bị thay đổi và sẽ bị loại bỏ

Trang 14

4 Truyền Tệp Tin Bảo Mật

SSH cung cấp các giao thức SCP và SFTP để truyền tệp giữa các máy từ

xa an toàn

● SCP: Truyền tệp trực tiếp giữa hai máy qua kết nối SSH với dữ liệu

được mã hóa trong suốt quá trình truyền và xác thực bên nhận, giúpbảo vệ dữ liệu khỏi việc bị đọc trộm

● SFTP: Cung cấp tính năng quản lý tệp linh hoạt như duyệt thư mục,

tạo, xóa, và thay đổi quyền tệp từ xa Giao thức này mã hóa dữ liệu vàđảm bảo tính toàn vẹn trong quá trình truyền tải

Nhờ SCP và SFTP, SSH đáp ứng nhu cầu truyền tệp an toàn, đặc biệt hữu íchtrong môi trường doanh nghiệp và hệ thống nhạy cảm

5 Chuyển Tiếp Cổng và Tunneling

SSH hỗ trợ tunneling qua cơ chế chuyển tiếp cổng, giúp tạo các kênhkết nối an toàn cho nhiều mục đích khác nhau

● Chuyển tiếp cổng cục bộ: Cho phép máy khách truy cập vào tài

nguyên mạng nội bộ qua cổng SSH của máy chủ Ví dụ, máy khách từ

xa có thể truy cập vào cơ sở dữ liệu nội bộ qua SSH

● Chuyển tiếp cổng từ xa: Cho phép dịch vụ trên máy khách được truy

cập từ xa qua máy chủ SSH, hữu ích khi cần truy cập tài nguyên củamáy khách từ mạng bên ngoài

● Chuyển tiếp cổng động: Thiết lập một proxy linh hoạt thông qua

SOCKS, cho phép lưu lượng từ nhiều ứng dụng qua kênh SSH

IV Thử các phương thức tấn công vào SSH

1 Tấn công dò mật khẩu (Brute-force attacks)

1.1 Mô tả tấn công:

Trong tấn công brute-force, kẻ tấn công thử nhiều tổ hợp mật khẩukhác nhau để truy cập vào máy chủ SSH Nếu mật khẩu đơn giản hoặckhông an toàn, kẻ tấn công có thể đoán đúng và truy cập vào hệ thống

14

Trang 15

- Sử dụng xác thực bằng khóa công khai: Các thông báo

từ Hydra sẽ hiển thị "No valid authentication methodfound" hoặc "Authentication failed" cho mọi lần thử mậtkhẩu

Trang 16

Kết luận:

SSH sử dụng khóa công khai giúp ngăn chặn tấn côngbrute-force hiệu quả Ngoài ra bằng cách từ chối các lầnđăng nhập quá nhiều hoặc không cho phép xác thựcbằng mật khẩu nó sẽ khiến cho brute-force không thànhcông khi cấu hình bảo mật được thiết lập đúng cách

1.3 Cơ chế bảo vệ của SSH:

1.3.1 Xác thực bằng khóa công khai: SSH cung cấp phương thức

xác thực bằng khóa công khai thay vì chỉ dùng mật khẩu Vớicách thức này, khi sử dụng cặp khóa riêng - khóa công khai,việc dò mật khẩu trở nên vô ích vì SSH không lưu mật khẩu

mà thay vào đó sử dụng các khóa mã hóa phức tạp Cơ chế nàyloại bỏ hoàn toàn khả năng thu thập thông tin nhạy cảm, đảmbảo an toàn kể cả trong trường hợp có nguy cơ bị tấn công.1.3.2 Giới hạn đăng nhập thất bại: Phần lớn cấu hình SSH đều thiết

lập giới hạn số lần đăng nhập thất bại, nếu vượt quá mức này,

IP sẽ bị khóa tạm thời hoặc chặn truy cập Điều này giúp giảmnguy cơ thành công của các cuộc tấn công brute-force và ngănchặn việc dò mật khẩu liên tục

16

Trang 17

1.3.3 Firewall và hệ thống phát hiện xâm nhập: Các tường lửa và

hệ thống phát hiện xâm nhập (IDS/IPS) có khả năng nhận diện

và chặn đứng các yêu cầu brute-force vào cổng SSH, ngănchặn những nỗ lực tấn công liên tục vào hệ thống

2 Tấn công trung gian (Man-in-the-Middle - MITM)2.1 Mô tả tấn công:

Tấn công MITM xảy ra khi kẻ tấn công can thiệp vào kênh truyềnthông giữa máy khách và máy chủ, cho phép chúng theo dõi hoặc thayđổi dữ liệu trong quá trình truyền

2.2 Thử nghiệm tấn công:

Chuẩn bị:

- Máy tấn công: Công cụ Ettercap, Wireshark

- Máy nạn nhân: Có mở cổng ssh

Điều kiện thực hiện:

- IP của máy nạn nhân và máy tấn công trong cùng mạngThực hiện tấn công:

- Ettercap với ARP spoofing giữa máy nạn nhân và máychủ SSH

- Sử dụng Wireshark để theo dõi lưu lượng giữa hai máynày Lọc lưu lượng SSH trên cổng 22 và theo dõi dữ liệutruyền qua

Phản hồi từ máy nạn nhân:

- Khi kẻ tấn công chặn dữ liệu qua Wireshark hoặcEttercap, chúng sẽ chỉ thấy các gói tin được mã hóa vàkhông thể đọc được nội dung Wireshark sẽ hiển thị cácgói tin SSH với nội dung bị mã hóa, không thể hiểuđược thông tin bên trong

- Nếu kẻ tấn công cố gắng đóng giả máy chủ SSH, máykhách sẽ phát hiện sự thay đổi trong fingerprint và đưa

ra cảnh báo rằng fingerprint của máy chủ đã thay đổi.Khi người dùng thấy cảnh báo này, họ có thể từ chối kếtnối, ngăn chặn cuộc tấn công MITM

Trang 18

Kết luận:

Nhờ mã hóa toàn bộ dữ liệu và xác thực fingerprint,SSH bảo vệ người dùng khỏi tấn công MITM, đảm bảorằng dữ liệu không thể đọc hoặc thay đổi bởi bên thứ ba

2.3 Cơ chế bảo vệ của SSH:

2.3.1 Mã hóa end-to-end: SSH áp dụng mã hóa cho toàn bộ quá

trình trao đổi giữa máy khách và máy chủ, giúp dữ liệu trở nênkhông thể đọc được đối với các bên thứ ba Phương thức mãhóa này đảm bảo an toàn cho nội dung truyền tải, bảo vệ khỏicác nguy cơ tấn công

2.3.2 Xác thực fingerprint của máy chủ: Khi lần đầu kết nối SSH

với máy chủ, người dùng sẽ lưu lại dấu vân tay của máy chủ

đó Nếu dấu vân tay này thay đổi trong những lần kết nối tiếptheo, hệ thống sẽ cảnh báo người dùng Đây là cách giúp pháthiện và ngăn chặn các cuộc tấn công MITM, đảm bảo tính hợp

lệ của máy chủ

2.3.3 HMAC (Hash-based Message Authentication Code): SSH sử

dụng HMAC để kiểm tra tính toàn vẹn của dữ liệu truyền tải,ngăn ngừa tình trạng dữ liệu bị thay đổi hoặc thêm vào tráiphép Mọi chỉnh sửa từ phía kẻ tấn công sẽ được phát hiệnngay trong quá trình truyền

18

Ngày đăng: 14/02/2025, 15:35