Một hệthống mạng được kết nối với Internet sẽcó rất nhiều nguy cơbịtấn công. Khi dữliệu được
truyền đi trên mạng, nhiều khảnăng sẽbịHacker( là những người có hiểu biết sâu vềtin học và có
những kỹnăng tốt nhưng lại có những hành vi làm tổn hại người khác) đọc trộm dữliệu. Khi một hệ
thống liên lạc với nhau thông qua địa chỉ đểtruyền nhận dữliệu cũng dễbịHacker giảdanh đểlấy dữ
liệu hoặc những vấn đềvềVirus, có còn nhiều nguy cơkhác nữa khiến cho một hệthống mạng của
chúng ta trởnên không an toàn nghĩa là hệthống của chúng ta có thểbịtấn công bằng nhiều hình thức
khác nhau.Sau đây là một sốhình thức tấn công thường gặp
36 trang |
Chia sẻ: mamamia | Lượt xem: 2225 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Bài giảng Chương 1: lý thuyết an toàn mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chương 1: LÝ THUYẾT AN TOÀN MẠNG
1.1. Các rủi ro đối với một hệ thống mạng
Một hệ thống mạng được kết nối với Internet sẽ có rất nhiều nguy cơ bị tấn công. Khi dữ liệu được
truyền đi trên mạng, nhiều khả năng sẽ bị Hacker( là những người có hiểu biết sâu về tin học và có
những kỹ năng tốt nhưng lại có những hành vi làm tổn hại người khác) đọc trộm dữ liệu. Khi một hệ
thống liên lạc với nhau thông qua địa chỉ để truyền nhận dữ liệu cũng dễ bị Hacker giả danh để lấy dữ
liệu hoặc những vấn đề về Virus,…có còn nhiều nguy cơ khác nữa khiến cho một hệ thống mạng của
chúng ta trở nên không an toàn nghĩa là hệ thống của chúng ta có thể bị tấn công bằng nhiều hình thức
khác nhau.Sau đây là một số hình thức tấn công thường gặp:
Giả địa chỉ - là một kiểu tấn công mà kẻ tấn công đóng vai một hệ thống hợp pháp bằng cách đánh
cấp địa chỉ sau đó giả làm nạn nhân đã bị đánh cắp để lấy dữ liệu mà những đầu liên lạc phía bên kia
gứi tới.
Adware – phần mềm tích hợp trong quảng cáo. Nó có thể không có hại, mà cũng có thể thu thập dữ
liệu của người sử dụng hay máy tính của người sử dụng và chuyển nó về cho người quảng cáo nó.
Sự xác nhận – hành động để bảo đảm rằng một người hay một hệ thống đang cố gắng truy cập một
hệ thống được xác nhận đúng quyền.
Cracker – một người nào đó thâm nhập vào máy tính, thường là do thích thú hay ý đồ chính trị và
đôi khi vì lý do tài chính. Cracking là hành động thâm nhập vào máy tính.
Mật mã hóa – tiến trình chuyển đổi thông tin sang một mã bí mật, gọi là cipher text, bằng một giải
thuật mã hóa. Dịch vụ mật mã hóa có thể cung cấp tính bảo mật, toàn vẹn, xác thực và không thể từ
chối.
Cybercrime – một thuật ngữ tổng hợp được dùng để mô tả một dãy tấn công được tạo ra để chống
lại một tổ chức bằng các phương tiện điện tử.
Từ chối dịch vụ - tiến trình mà qua đó các người sử dụng hợp pháp, các khách hàng, client hay các
máy tính khác bị ngăn chặn khỏi việc truy cập tài nguyên trên một máy tính do một thành phần thứ 3
không được xác nhận. Điều này được thực hiện bằng cách làm tràn ngặp máy tính do các yêu cầu giả,
hay giả các yêu cầu hợp pháp.( Ví dụ như DDoS)
Hacker – nguồn gốc là để mô tả một người nào đó có hiểu biết rất sâu về máy tính và kỹ năng tốt
và khả năng lập trình.
Mã độc – là thuật ngữ cho một virus, các applet hostile hoặc đoạn mã được tải về từ web server hay
gửi trực tiếp từ một hệ thống này đến một hệ thống khác.
Spyware – phần mềm để giám sát một máy tính được sử dụng như thế nào và gửi báo cáo đến một
máy tính khác qua internet. Các chương trình spyware được tạo ra để ghi lại số thẻ tín dụng hay toàn bộ
username và password. Spyware cũng được dùng để khởi động một cuộc tấn công từ chối dịch vụ.
Trojan – là một dạng virus, các chương trình chạy âm thầm để xóa file hay làm xáo trộn nội dung
của chúng. Hơn nữa chúng còn cho phép máy tính bị điều khiển từ xa, bằng việc cung cấp cho ai đó
truy cập file hay ứng dụng.
Worm – là virus thuần túy về mạng. Chúng được thiết kế để khám phá và phát hiện các điểm yếu
trong một mạng máy tính để lan truyền chính chúng từ máy này sang máy khác.
1.2. Các bước tấn công vào một hệ thống mạng
Thông thường, một quá trình tấn công vào một hệ thống mạng trải qua 4 bước:
Thu thập thông tin
Truy cập ban đầu
Thực hiện leo quyền
Phi tang dấu vết
1.2.1. Tiến trình thu thập thông tin:
Bước đầu tiên trong thu thập thông tin là kiếm được một đích để tấn công. Một hacker có thể chọn
một người hay công ty để tấn công, hoặc tìm kiếm một đối tượng không được bảo vệ trên internet mà
dễ dàng tấn công. Số lượng thông tin có giá trị của người sử dụng internet có liên quan đến mức độ ta
sử dụng internet. Nghĩa là lướt web càng nhiều càng dễ bị tấn công. Nếu ta có một tên miền hay một
web site, hay một địa chỉ mail cho mục đích công cộng.
Nếu không tìm được một đích rõ ràng thì hacker cũng có rất nhiều công cụ hỗ trợ cho việc quét
các đích ngắm có thể có trên internet. Các đơn giản nhất làm sử dụng lệnh ping, quét rất nhanh hàng
ngàn máy tính. Đều này cho biết một máy tính có tồn tại trên mạng không.
Port Scan thì nâng cao hơn và thường được thực hiện trên máy tính riêng lẽ. Một Port Scan có thể
cho hacker biết rằng dịch vụ nào đang hoạt động, HTTP hay FTP. Mỗi một dịch vụ đang hoạt động
cung cấp một điểm đi vào tiềm ẩn cho hacker. Trên các máy tính không được bảo vệ, các port không
được dùng đáp ứng rằng chúng đã bị đóng, điều này cũng cho hacker biết rằng máy tính vẫn đang tồn
tại.
1.2.2. Tiến trình truy cập ban đầu
Các hacker khai thác tối đa các sơ hở tìm thấy trong giai đoạn thu thập thông tin và thiết lập một
điểm “đi vào” vào trong máy tính
1.2.3. Leo thang phân quyền
Một khi đã kết nối được đến một máy tính, bước kế tiếp là đạt được điều khiển càng nhiều càng tốt
Các hacker cố gắng đạt được quyền quản trị đến máy tính. Điểm mấu chốt là thu thập được quyền quản
trị - thường là mật khẩu. Hacker cố gắng tải về file chứa mật khẩu và giải mã nó.
Một cách khác là đặt một trojan horse vào máy tính đó. Nếu một hacker có thể đặt một chương trình
như Back Orifice, Subseven, hay NetBus trên một máy tính và chạy nó.
Các trojan horse khác có thể ghi lại các keystroke để bắt các mật khẩu và dữ liệu nhạy cảm. NPF cung
cấp 2 mức bảo vệ để chống lại trojan horse.
1.2.4. Tiến trình che đậy dấu vết:
Khi hacker chiếm được điều khiển một máy tính ở một mức nào đó, nhiệm vụ là che dấu mọi dấu
vết. Nếu ta chưa phát hiện một hacker đã thỏa hiệp mới máy tính rồi, thì ta không thể từng bước ngừng
các hành động này. Trên các máy sử dụng hệ điều hành Windows 2000/XP, các haker cố tắt việc kiểm
tra và thay đổi hoặc xóa đi các log file ghi sự kiện. Trên các hệ điều hành, các hacker có thể ẩn đi các
file để truy cập lần sau. Trong trường hợp cực đoan, các hacker có thể format ổ đĩa cứng để tránh bị
nhận dạng.
1.3. Các nguy cơ bị tấn công khi sử dụng TELNET
Ngày nay rất nhiều người có nhiều tài khoản máy tính. Nếu cũng bạn hiểu biết về user, bạn phải có
một tài khoản cá nhân với một nhà cung cấp dịch vụ Internet (ISP), một tài khoản làm việc trên mạng
nội bộ chủ, và một hoặc nhiều máy tính cá nhân tại nhà. Bạn cũng phải được cho phép sử dụng những
tài khoản khác của chính gia đình hoặc bạn bè của bạn.
Nếu bạn có nhiều tài khoản, tự nhiên bạn sẽ muốn kết nối giữa chúng. Ví dụ như bạn muốn chép
file giữa nhiều máy tính thông qua mạng, đăng nhập vào một tài khoản rất xa từ một máy khác, hoặc
truyền dòng lệnh đến một máy tính ở xa để thực hiện. Có nhiều chương trình khác nhau đã tồn tại để
phục vụ cho những mục đích đó như là FTP và RCP để truyền file, TELNET và RLOGIN để đăng
nhập từ xa, và RSH để thực hiện lệnh từ xa.
TELNET 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. Tên
của nó có nguồn gốc từ hai chữ tiếng Anh "telephone network" (mạng điện thoại), vì chương trình
phần mềm được thiết kế, tạo cảm giác như một thiết bị cuối được gắn vào một máy tính khác. Đối với
sự mở rộng của giao thức, chữ "telnet" còn ám chỉ đến một chương trình ứng dụng, phần người dùng
của giao thức - hay còn gọi là trình khách (clients). Trong bao nhiêu năm qua, TELNET vốn được cài
đặt sẵn trong hầu hết các hệ điều hành Unix và cả trên Window.
Trên rất nhiều hệ thống, chương trình ứng dụng "telnet" còn được dùng trong những phiên giao dịch
tương tác TCP ở dạng sơ đẳng (interactive raw-TCP sessions), và còn được dùng để thông nối với
những dịch vụ trên các máy chủ POP3, mà không cần đến những trình khách chuyên dụng. Cụm từ
tiếng Anh "to telnet" còn được dùng như là một động từ, có nghĩa là "thành lập" hoặc "sử dụng", một
kết nối dùng giao thức TELNET.
Nếu bạn truyền một file nhạy cảm thông qua Internet, có khả năng một kẻ xấu có thể chặn lại và
đọc dữ liệu. Thậm chí, nếu bạn đăng nhập vào một máy tính từ xa khác bằng việc sử dụng một chương
trình như TELNET, username và password của bạn có thể bị lộ khi chúng được truyền trên mạng.
Làm sao để ngăn chặn những vấn đề nghiêm trọng đó?. Bạn có thể cài một firewall, hoặc bạn có thể
dùng nhiều giải pháp khác nhau với độ phức tạp và giá thành khác nhau nhưng có lẽ phương pháp hiệu
quả và an toàn nhất là Bạn có thể dùng một chương trình mã hoá để chuyển dữ liệu thành một đoạn
code bí mật mà không ai có thể đọc được. SSH đã ra đời để thực hiện công việc đó.
Chương 2: GIỚI THIỆU SSH
2.1. Giao thức SSH là gì?
SSH (tiếng Anh: Secure Shell) là một giao thức mạng dùng để thiết lập kết nối mạng một cách bảo
mật. SSH hoạt động ở lớp trên trong mô hình phân lớp TCP/IP. Các công cụ SSH (như là OpenSSH,
PuTTy,...) cung cấp cho người dùng cách thức để thiết lập kết nối mạng được mã hoá để tạo một kênh
kết nối riêng tư. Hơn nữa tính năng tunneling (hoặc còn gọi là port forwarding) của các công cụ này
cho phép chuyển tải các giao vận theo các giao thức khác. Do vậy có thể thấy khi xây dựng một hệ
thống mạng dựa trên SSH, chúng ta sẽ có một hệ thống mạng riêng ảo VPN đơn giản.
Mỗi khi dữ liệu được gửi bởi một máy tính vào mạng, SSH tự động mã hoá nó. Khi dữ liệu được
nhận vào, SSH tự động giải mã nó. Kết quả là việc mã hoá được thực hiện trong suốt: người dùng có
thể làm việc bình thường, không biết rằng việc truyền thông của họ đã được mã hoá an toàn trên mạng.
2.2. Lịch sử phát triển các phiên bản SSH
SSH1 và giao thức SSH-1 được trình bày năm 1995 bởi Tatu Ylõnen, một nhà nghiên cứu ở trường
đại học kĩ thuật Helsinki của Phần Lan. Sau khi mạng trường đại học của ông ta là nạn nhân của một
cuộc tấn công đánh cắp password vào đầu năm đó.
Tháng 7 năm 1995, SSH1 được phát hành rộng rãi dưới dạng một phần mềm miễn phí có source
code, cho phép mọi người sao chép và sử dụng mà không thu phí. Vào cuối năm đó, ước tính có khoảng
20.000 người dùng trên 50 quốc gia đã sử dụng SSH1, và mỗi ngày Ylõnen nhận 150 mail yêu cầu hỗ
trợ. Để đáp lại, Ylõnen đã thành lập SSH Communications Security (SCS, vào
tháng 12 năm 1995 để duy trì, thương nghiệp hoá và tiếp tục phát triển SSH.
Cũng trong năm 1995, Ylõnen soạn thảo giao thức SSH-1 còn gọi là Internet Engineering Task
Force (IETF), nó diễn tả hoạt động cơ bản của phần mềm SSH1 trên thực tế. Nó là một giao thức có
phần quảng cáo nhưng còn một số lỗi và giới hạn nhưng rất phổ biến. Năm 1996, SCS giới thiệu một
phiên bản mới đó là phiên bản chính của giao thức, SSH 2.0 hay SSH-2, phiên bản này được kết hợp
chặt chẽ những thuật toán mới và không hợp với SSH-1. Trong lúc đó, IETF thành lập một nhóm làm
việc gọi là SECSH (Secure Shell) để chuẩn hoá giao thức và chỉ đạo sự phát triển của nó trên lợi ích
chung. Nhóm làm việc SECSH đã trình bày bản phác thảo Internet đầu tiên đối với giao thức SSH-2 vào
tháng 2 năm 1997.
Năm 1998, SCS phát hành sản phẩm phần mềm “SSH Secure Shell” (SSH2), dựa trên giao thức
SSH-2. Tuy nhiên, SSH2 không thay thế SSH1 trong một số lĩnh vực, có 2 lí do. Thứ nhất, SSH2 không
có một số tiện ích, các đặc điểm có ích và cấu hình tuỳ chọn như SSH1. Thứ hai, SSH2 có nhiều giới
hạn về việc đăng kí. Bản chính SSH1 đã có sẵn miễn phí từ Ylõnen và trường đại học kĩ thuật Helsinki.
Phiên bản mới hơn của SSH1 từ SCS vẫn có sẵn miễn phí cho hầu hết người dùng, thậm chí cả cấu hình
thương mại cũng miễn phí chỉ cần phần mềm đó không được trực tiếp bán cho việc thu lợi nhuận hoặc
được tặng như là một dịch vụ cho khách hàng. Vì thế, tuy SSH2 đã xuất hiện, nhưng hầu hết những
người đang sử dụng SSH1 đều nhận ra vài ưu điểm của SSH1 so với SSH2 và tiếp tục sử dụng SSH1,
ba năm sau khi SSH2 ra đời thì SSH1 vẫn là phiên bản được sử dụng phổ biến trên Internet và vượt qua
cả SSH2 là giao thức tốt hơn và bảo mật hơn.
Tuy nhiên, SSH2 cũng có hai sự phát triển hưa hẹn, đó là một bản nới lỏng của SSH2 bản quyền và
sự xuất hiện SSH-2 bổ sung. Năm 2000, SCS mở rộng SSH2 bản quyền để cho phép sử dụng khi làm
việc riêng lẻ đối với các tổ chức hoạt động phi lợi nhuận. Nó cũng được mở rộng cho phép dùng miễn
phí đối với Linux, NetBSD, FreeBSD và hệ điều hành OpenBSD. Cùng thời gian đó, OpenSSH
( đã được phát triển nổi bật như là một SSH bổ sung, được phát triển dưới
hoạt động của dự án OpenBSD ( và miễn phí sẵn bên dưới OpenBSD có đăng
kí. OpenSH hỗ trợ cả SSH-1 và SSH-2 trong một chương trình. Tuy OpenSSH được phát triển trên nền
OpenBSD nhưng nó cũng hoạt động được trên Linux, Solais, AIX và những hệ điều hành khác. Mặc dù
OpenSSH tương đối mới và không có vài đặc điểm có trong SSH1 và SSH2 nhưng nó đang trên đà phát
triển nhanh chóng và hứa hẹn trở thành bản SSH chính trong tương lai không xa.
Chương 3: BÊN TRONG GIAO THỨC SSH
3.1. Tổng quan về các đặc điểm của SSH
Các đặc điểm chính của giao thức SSH là:
- Tính bí mật (Privacy) của dữ liệu thông qua việc mã hoá mạnh mẽ
- Tính toàn vẹn (integrity) của thông tin truyền, đảm bảo chúng không bị biến đổi.
- Chứng minh xác thực (authentication) nghĩa là bằng chứng để nhận dạng bên gửi và bên nhận
- Giấy phép (authorization) :dùng để điều khiển truy cập đến tài khoản.
- Chuyển tiếp (forwarding) hoặc tạo đường hầm (tunneling) để mã hoá những phiên khác dựa trên
giao thức TCP/IP
3.1.1. Tính bí mật (Privacy)
Tính bí mật có nghĩa là bảo vệ dữ liệu không bị phơi bày. Mạng máy tính bình thường không bảo
đảm tính bí mật, bất cứ ai truy cập đến phần cứng của mạng hoặc đến những host kết nối với mạng đều
có thể sẽ đọc được tất cả dữ liệu đi qua mạng. Mặc dù mạng chuyển mạch hiện đại đã giảm những vấn
đề này trong mạng vùng cục bộ nhưng nó vẫn còn một vấn đề nghiêm trọng đó là mật khẩu dễ bị những
kẻ xấu đánh cắp.
SSH cung cấp tính bí mật bằng việc mã hoá dữ liệu đi qua mạng. Đó là việc mã hoá hai đầu dựa
trên khoá ngẫu nhiên (sinh ra để phục vụ cho một phiên kết nối và được huỷ đi khi phiên kết nối thành
công). SSH hỗ trợ nhiều thuật toán mã hoá đối với phiên dữ liệu, đó là những thuật toán mã hoá chuẩn
như: AES, ARCFOUR, Blowfish, Twofish, IDEA, DES và triple-DES (3DES)
3.1.2. Tính toàn vẹn (Integrity)
Tính toàn vẹn nghĩa là bảo đảm dữ liệu được truyền từ một đầu này đến đầu kia của mạng không bị
thay đổi. Giao thức SSH sử dụng phương pháp kiểm tra toàn vẹn mật mã, phương pháp này kiểm tra cả
việc dữ liệu có bị biến đổi hay không và dữ liệu đến có đúng là do đầu kia gửi hay không. Nó sử dụng
thuật toán băm khoá là MD5 và SHA-1.
3.1.3. Chứng minh xác thực (authentication)
Chứng minh xác thực là kiểm tra định danh của ai đó để xác định chính xác đúng là người đó hay
không. Mỗi kết nối SSH bao gồm hai việc xác thực: client kiểm tra định danh của SSH server (server
authentication) và server kiểm tra định danh của người sr dụng yêu cầu truy cập (user authentication).
Server authentication chắc chắn rằng SSH server là chính xác và không phải là kẻ lừa đảo để đề phòng
kẻ tấn công lại gửi kết nối mạng đến một máy khác. Server authentication cũng bảo vệ việc bị kẻ xấu
ngồi ở giữa hai bên, lừa gạt cả hai bên nghĩa là kẻ xấu sẽ nói với server nó là client và nói với client nó
là server để đọc được dữ liệu trao đổi giữa hai bên.
User authentication theo truyền thống là làm việc với mật khẩu. Để xác thực định danh của bạn, bạn
phải đưa ra mật khẩu, và dễ bị lấy cắp. Thêm nữa, để dễ nhớ một mật khẩu, người ta thường đặt nó
ngắn và có ý nghĩa nào đó nên dễ bị kẻ xấu đoán ra. Đối với mật khẩu dài hơn thì người ta thường chọn
những từ hoặc câu trong ngôn ngữ bẩm sinh nên cũng dễ bị bẻ khoá.
SSH hỗ trợ xác thực bằng mật khẩu, mã hoá mật khẩu khi nó truyền đi trên mạng. Đây là sự cải
thiện rất lớn so với những giao thức truy cập từ xa thông thường khác (Telnet, FTP) mà chúng gửi mật
khẩu qua mạng dưới dạng clear text. Tuy nhiên, việc chứng thực như thế vẫn chỉ là chứng thực mật
khẩu đơn giản vì thế SSH cung cấp cơ chế mạnh hơn và dễ sử dụng hơn: mỗi user có nhiều chữ kí khoá
công cộng (per-user public-key signature) và một cải tiến rlogin-style xác thực với định danh host được
kiểm tra bằng khoá công khai. Hơn nữa, những bản bổ sung khác nhau của SSH hỗ trợ vài hệ thống
khác bao gồm Kerberos, RSA, mật khẩu S/Key one-time và PAM. Một SSH client và SSH server đàm
phán với nhau để xác định cơ chế xác thực sẽ sử dụng dựa trên cấu hình của chúng và một server thậm
chí có thể yêu cầu nhiều kiểu xác thực.
3.1.4. Việc cấp giấy phép
Việc cấp giấy phép có tác dụng quyết định ai đó có thể hoặc không thể làm gì đó. Nó diễn ra sau
khi xác thực, bởi vì bạn không thể chấp nhận một ai đó có quyền gì khi chưa biết đó là ai. SSH server
có nhiều cách khác nhau để giới hạn hành động của client. Truy cập đến phiên đăng nhập tác động lẫn
nhau như TCP port và X Window forwarding, key agent forwarding, … có thể tất cả đều được điều
khiển mặc dù không phải tất các đặc điểm đều có sẵn trên tất cả các bản bổ sung SSH,và chúng không
luôn luôn tống quát hoặc linh hoạt như bạn ý muốn. Giấy phép có thể được điều khiển tại một mức
server rộng (ví dụ: /etc/ssh/sshd_config file đối với OpenSH) hoặc theo tài khoản phụ thuộc vào
phương thức xác thực sử dụng.
3.1.5. Chuyển tiếp (forwarding) hoặc tạo đường hầm (tunneling)
Chuyển tiếp hoặc tạo đường hầm là tóm lược dịch vụ dựa trên TCP khác như là Telnet hoặc IMAP
trong một phiên SSH mang lại hiệu quả bảo mật của SSH đến với các dịch vụ dựa trên TCP khác. Ví
dụ, một kết nối Telnet bình thường truyền username, password của bạn và phiên đăng nhập của bạn ở
dạng clear text. Bằng cách chuyển tiếp telnet thông qua SSH, tất cả dữ liệu sẽ tự động được mã hoá và
kiểm tra định danh và bạn có thể xác nhận dùng SSH tin cậy.
SSH hỗ trợ 3 kiểu chuyển tiếp:
TCP port forwarding:
SSH dùng TCP/IP làm cơ chế truyền, thường dùng port 22 trên máy server khi nó mã hoá và giải mã
lưu lượng đi trên mạng. Ở đây chúng ta nói đến một đặc điểm mã hoá và giải mã lưu lựong TCP/IP
thuộc về ứng dụng khác, trên cổng TCP khác dùng SSH. Tiến trình này gọi là port forwarding, nó có
tính trong suốt cao va khá mạnh. Telnet, SMTP, NNTP, IMAP và những giao thức không an toàn khác
chạy TCP có thể được bảo đảm bằng việc chuyển tiếp kết nối thông qua SSH. Port forwarding đôi khi
được gọi là tunneling bởi vì kết nối SSH cung cấp một “đường hầm” xuyên qua để kết nối TCP khác có
thể đi qua.
Giả sử bạn có một máy H ở nhà đang chạy IMAP và bạn muốn kết nối đến một IMAP server trên máy
S để đọc và gửi mail. Bình thường thì việc kết nối này không đảm bảo an toàn, tài khoản và mật khẩu
mail của bạn được truyền đi dưới dạng clear text giữa chương trình mail của bạn và server. Đối với
SSH port forwarding, bạn có thể định tuyến lại trong suốt kết nối IMAP ( tìm cổng TCP 143 trên server
S) để truyền đi thông qua SSH, mã hoá bảo đảm dữ liệu truyền đi trên kết nối. Máy IMAP server phải
chạy một SSH server cho port forwarding để cung cấp việc bảo đảm đó.
Tuy nhiên, SSH port forwarding chỉ hoạt động trên giao thức TCP và không làm việc được trên các
giao thức khác như UDP hay AppleTalk
X forwarding
X là một hệ thống window phổ biến đối với các trạm làm việc Unix, một trong những đặc điểm tốt
nhất của nó là tính trong suốt. Sử dụng X bạn có thể chạy ứng dụng X từ xa để mở các cửa sổ của
chúng trên màn hình hiển thị cục bộ của bạn
Agent forwarding
SSH client có thể làm việc với một SSH agent trên cùng một máy. Sử dụng mọt đặc trưng gọi là agent
forwarding, client cũng có thể liên lạc với các agent trên những máy từ xa. Điều thuận lợi là nó cho
phép client trên nhiều máy làm việc với một agent và có thể tránh vấn đề liên quan đến tường lửa.
3.2. Kiến trúc chung của một hệ thống SSH
SSH có khoảng một bộ 12 thuộc tính riêng lẻ, các thành phần tác động lẫn nhau cho ra các nét đặc
trưng riêng.
Hình 3-1. Kiến trúc SSH
SSH cũng có khoá (keys), phiên (sessions)