Upload
sang-dang
View
152
Download
6
Embed Size (px)
Citation preview
TRƯỜNG ĐẠI HOC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNGBỘ MÔN AN TOÀN HỆ THỐNG THÔNG TIN
TẬP BÀI GIẢNG
AN TOÀN THƯ ĐIỆN TỬ
THÁI NGUYÊN – 2014
MỤC LỤC
MỤC LỤC.......................................................................................................................................2
CHƯƠNG 1.....................................................................................................................................5
HỆ THỐNG THƯ TÍN ĐIỆN TỬ VÀ CÁC VẤN ĐỀ AN TOÀN................................................5
1.1. Hệ thống thư tín điện tử........................................................................................................5
1.1.1. Lịch sử phát triển...........................................................................................................5
1.1.2. Hệ thống thư tín điện tử.................................................................................................6
1.2. Các hiểm hoạ đối với thư tín điện tử....................................................................................7
1.2.1. Hiểm hoạ bị đọc lén.......................................................................................................7
1.2.2. Vấn đề thu thập..............................................................................................................9
1.2.3. Phân tích đường truyền................................................................................................10
1.2.4. Giả mạo........................................................................................................................12
1.2.5. Bom thư.......................................................................................................................13
CHƯƠNG 2...................................................................................................................................15
CÁC GIAO THỨC SỬ DỤNG CHO THƯ TÍN...........................................................................15
2.1. Các chế độ hoạt động trạm - chủ trong thư tín...................................................................15
2.2. Mở rộng thư tín Internet đa mục tiêu (MIME)...................................................................16
2.3. Các chuẩn truyền thư..........................................................................................................17
2.3.1. Giới thiệu.....................................................................................................................17
2.3.2. Giao thức truyền thư đơn giản (SMTP).......................................................................18
2.3.3. Các mở rộng của giao thức truyền thư đơn giản..........................................................28
2.4. Các chuẩn Client nhận thư..................................................................................................30
2.4.1. Giới thiệu.....................................................................................................................30
2.4.2. Giao thức nhận thư POP3............................................................................................30
2.4.3. Giao thức truy nhập thông báo Internet (IMAP).........................................................37
2.4.4. So sánh IMAP và POP.................................................................................................45
CHƯƠNG 3...................................................................................................................................47
AN TOÀN ỨNG DỤNG MÁY CHỦ TÍN VÀ NỘI DUNG THƯ...............................................47
3.1. An toàn ứng dụng máy chủ thư tín.....................................................................................47
3.1.1. Cài đặt máy chủ thư tín an toàn...................................................................................47
3.1.2. Cấu hình an toàn ứng dụng máy chủ thư tín................................................................48
3.2. Bảo vệ thư tín điện tử khỏi mã phá hoại.............................................................................50
3.2.1. Quét Virus....................................................................................................................51
3.2.2. Lọc nội dung................................................................................................................58
3.2.3. Các vấn đề liên quan đến lọc nội dung........................................................................59
3.3. Ngăn ngừa việc gửi thư hàng loạt.......................................................................................60
3.4. Chuyển tiếp thư có xác nhận...............................................................................................62
3.5. Truy nhập an toàn...............................................................................................................62
3.6. Truy nhập thư thông qua Web............................................................................................63
3.7. Bảng liệt kê các danh mục..................................................................................................64
CHƯƠNG 4...................................................................................................................................67
AN TOÀN THƯ TRÊN MÁY TRẠM..........................................................................................67
4.1. Cài đặt, thiết lập cấu hình, sử dụng các ứng dụng trạm an toàn.........................................67
4.1.1. Lấp lỗ hổng và cập nhật phần mềm trạm....................................................................67
4.1.2. Trạm thư an toàn..........................................................................................................68
4.1.3. Xác thực và truy nhập..................................................................................................69
4.1.4. An toàn đối với hệ thống xử lý của máy trạm.............................................................70
4.2. An toàn cho các thành phần cấu thành nội dung thư..........................................................71
4.3. Truy nhập các hệ thống thư tín điện tử dựa trên Web........................................................72
4.4. Bảng liệt kê danh mục........................................................................................................73
CHƯƠNG 5...................................................................................................................................76
QUẢN TRỊ AN TOÀN MỘT MÁY CHỦ THƯ..........................................................................76
5.1. Hoạch định quản trị an toàn các máy chủ thư.....................................................................76
5.1.1. Hoạch định việc cài đặt và triển khai máy chủ thư......................................................76
5.1.2. Các đối tượng quản trị cơ chế an toàn.........................................................................78
5.1.3. Thực hành quản trị.......................................................................................................80
5.1.4. Hoạch định an toàn hệ thống.......................................................................................82
5.1.5. Vấn đề con người trong việc an toàn cho máy chủ thư...............................................83
5.1.6. Các nguyên tắc cơ bản cho an toàn hệ thống thông tin...............................................84
5.2. Quản trị an toàn một máy chủ thư......................................................................................85
5.2.1. Nhật ký.........................................................................................................................85
5.2.2. Các thủ tục sao chép dự phòng máy chủ thư..............................................................88
5.2.3. Kiểm tra cơ chế an toàn của các máy chủ thư.............................................................91
5.2.4. Quản trị từ xa một máy chủ thư...................................................................................94
5.2.5. Bảng liệt kê các danh mục quản trị an toàn máy chủ thư............................................95
CHƯƠNG 6...................................................................................................................................98
AN TOÀN THƯ TÍN SỬ DỤNG MẬT MÃ................................................................................98
6.1. Giới thiệu các lược đồ an toàn thư......................................................................................98
6.2. Pretty Good Privacy............................................................................................................99
6.3. S/MIME............................................................................................................................102
6.4. Lựa chọn mã pháp tương ứng...........................................................................................104
6.5. Quản lý khóa.....................................................................................................................105
6.6. Sự lựa chọn giữa PGP và S/MIME...................................................................................106
TÀI LIỆU THAM KHẢO...........................................................................................................107
CHƯƠNG 1
3HỆ THỐNG THƯ TÍN ĐIỆN TỬ VÀ CÁC VẤN ĐỀ AN
TOÀN
1.1. Hệ thống thư tín điện tử
1.1.1. Lịch sử phát triển
Theo thống kê đến tháng một năm 2000, có khoảng 242 triệu người sử dụng
Internet. Trong đó hầu hết số người sử dụng Internet đều có tài khoản thư tín điện tử trên
một hoặc nhiều hệ thống thư tín khác nhau. Khởi nguồn của bước phát triển nhảy vọt trên
xuất phát từ năm 1971 khi Ray Tomlinson thực hiện gửi thành công một thông báo thư
tín điện tử ARPANET đầu tiên.
ARPANET là một dự án của ARPA Hoa Kỳ nhằm phát triển các giao thức truyền
thông để liên kết các nguồn tài nguyên trên các vùng địa lý khác nhau. Các ứng dụng xử
lý thông báo cũng được thiết kế trong các hệ thống của ARPANET, tuy nhiên chúng chỉ
được sử dụng trong việc gửi các thông báo tới người dùng trong nội bộ của một hệ thống.
Tomlinson đã sửa đổi hệ thống xử lý thông báo để người sử dụng có thể gửi các thông
báo cho các đối tượng nhận không chỉ trong một hệ thống mà trên các hệ thống
ARPANET khác. Tiếp theo sự cải tiến Tomlinson, nhiều công trình nghiên cứu khác đã
được tiến hành và thư tín điện tử đã nhanh chóng trở thành một ứng dụng được sử dụng
nhiều nhất trên ARPANET trước đây và Internet ngày nay.
1.1.2. Hệ thống thư tín điện tử
Vậy trong các hệ thống thư tín, thư điện tử được soạn thảo, phân phối và lưu trữ như
thế nào để tiện lợi cho việc thiết lập cơ chế an toàn. Đối với hầu hết người sử dụng thư
điện tử đều nôm na hiểu rằng để gửi một thông điệp thư điện tử ban đầu là việc soạn thảo
nội dung sau đó nội dung thông điệp điện tử sẽ được gửi từ hệ thống của người dùng đến
hộp thư của đối tượng nhận. Nghe thì có vẻ đơn giản nhưng các thao tác chuyển một thư
điện tử cũng không kém phần phức tạp so với khi chuyển một thư thông thường, nó cũng
được xử lý qua rất nhiều công đoạn trung gian trước khi đến được với đối tượng nhận.
Qui trình xử lý bắt đầu với việc soạn thảo nội dung thư. Hầu hết các ứng dụng thư ở
máy người sử dụng đều yêu cầu người dùng nhập một số trường chính như: chủ đề, nội
dung, đối tượng nhận, ... Khi việc nhập các trường này hoàn tất, người sử dụng thực hiện
thao tác gửi thư, thư cần gửi sẽ được chuyển đổi sang một định dạng chuẩn xác định bởi
RFC 822 (Standard for the Format of ARP Internet Text Messages). Về căn bản thông
báo sau khi chuyển đổi gồm hai phần: phần tiêu đề (header) và phần thân (body). Phần
tiêu đề gồm một số thông tin như: thời gian gửi, đối tượng gửi, đối tượng nhận, chủ đề,
thông tin về định dạng, ...Phần thân chính là nội dung của thư.
Khi một thư điện tử được chuyển đổi sang định dạng RFC 822 thì nó có thể được
truyền đi. Sử dụng kết nối mạng, các trình thư điện tử trên các máy trạm (gọi là các MUA
- Mail User Agent) được kết nối đến MTA (Mail Transport Agent) hoạt động trên máy
chủ thư tín. Sau khi kết thúc quá trình kết nối, MUA cung cấp định danh của đối tượng
gửi cho máy chủ thư tín. Tiếp theo MUA thông báo cho máy chủ thư tín biết các đối
tượng nhận. Tất cả các thao tác trên được thực hiện thông qua việc sử dụng các lệnh. Sau
khi nhận xong định danh các đối tượng nhận thư, từ đây việc phân phối thư sẽ do máy
chủ quản lý và thực hiện.
Khi máy chủ xử lý thư, một loạt các thao tác được thực hiện: định danh đối tượng
nhận, thiết lập kết nối, truyền thư. Sử dụng DNS máy chủ thư tín thực hiện chức năng gửi
xác định đối tượng nhận. Quá trình một máy chủ thư tín thiết lập một kết nối và truyền
thư tới một hoặc nhiều máy chủ khác được thực thi như đối với một máy trạm thư thông
thường. Tại thời điểm này có thể sảy ra một trong hai trường hợp. Nếu hộp thư của đối
tượng nhận và đối tượng gửi trên cùng một máy chủ thư tín, thư sẽ được phân phối sử
dụng dịch vụ phân phối cục bộ LDA. Nếu hộp thư của đối tượng nhận và đối tượng gửi
được đặt trên các máy chủ thư tín khác nhau, quá trình thực hiện gửi được lặp từ MTA
này đến MTA khác cho đến lúc đến được hộp thư của đối tượng nhận.
Khi một LDA quản lý thư thì một số tác vụ được thực hiện. Phụ thuộc vào quá trình
thiết lập cấu hình, LDA có thể phân phối hoặc xử lý thư dựa trên chế độ lọc thư được
định nghĩa trước khi phân phối hay không (chế độ lọc thư thường được thiết lập dựa trên
các thuộc tính của thư). Một khi thư đã được phân phối, nó sẽ được đưa vào hộp thư của
đối tượng nhận để lưu và chờ đối tượng nhận thực thi các tác vụ trên nó (như đọc,
xoá, ...). Mô hình dưới đây mô tả đường đi của một thư điện tử qua các thành phần đã đề
cập đến ở trên. Đây là qui trình thực thi việc gửi thư chung nhất trong một hệ thống thư
tín điện tử.
Hình 1.1 Hệ thống thư tín điện tử
1.2. Các hiểm hoạ đối với thư tín điện tử
1.2.1. Hiểm hoạ bị đọc lén
Cũng như đối với các ứng dụng khác trên mạng (các phiên đăng nhập từ xa, tải
thông tin sử dụng ftp, hội thoại trực tuyến, ...), thư tín điện tử cũng có thể bị đọc lén.
Nhưng ai là đối tượng muốn đọc lén nội dung thư của bạn? Câu trả lời phụ thuộc vào bạn
là ai, bạn đang làm gì, và ai quan tâm đến việc bạn đang làm. Dưới đây là một vài đối
tượng có thể đọc lén thư của bạn.
1.2.1.1. Chính phủ nước ngoài
Các tổ chức tình báo quân sự nước ngoài là các đối tượng nghe trộm với những thiết
bị tinh vi hiện đại nhất. Đọc trộm nội dung thư cá nhân là nghề của họ. Khi bắt đầu thời
kỳ chiến tranh lạnh, mỗi năm họ đã đầu tư nhiều tỷ Đô la cho việc thu thập, biên dịch và
phân tích dữ liệu của đối phương gửi qua mạng. Hiện tại khi thời kỳ chiến tranh lạnh đã
kết thúc, nhưng không có gì có thể khẳng định họ không thực hiện những gì họ đã từng
làm.
Mối quan hệ giữa quân đội Mỹ và các tổ chức tình báo là một một quan hệ “mờ
ám”, có rất nhiều ứng dụng được xây dựng bởi quân đội Mỹ hiện đang được sử dụng
trong lĩnh vực thương mại. Ở một số nước, mục tiêu thu thập tin tức của họ là nhằm vào
các công ty nước ngoài, thông tin thu thập được sẽ được sử dụng làm công cụ cạnh tranh
cho các công ty thuộc nước bản địa. Nhật Bản và Pháp là hai nước nổi tiếng nhất trong
việc “phạm tội” theo kiểu này, tất nhiên các nước phát triển khác cũng hoàn toàn có thể
làm được điều đó. Ví dụ NSA đã từng bị buộc tội là có hành vi chặn các cuộc điện thoại
giữa hai nước Châu Âu để ăn cắp thông tin và bán cho các đối tượng cạnh tranh khác.
1.2.1.2. Chính phủ trong nước
Việc sử dụng gián điệp công nghệ đối với công dân nước mình nhiều nhất được biết
đến là các nước như Trung Quốc, Bắc Triều Tiên, Cuba. Đối với Pháp, chính phủ chỉ cho
phép mã hoá thông tin trao đổi giữa các công dân với nhau khi thuật toán mã và khoá
được cấp bởi cơ quan có thẩm quyền. Còn đối với Đài Loan và Hàn Quốc thì họ yêu cầu
các công ty loại bỏ việc sử dụng mã hoá thông tin trong các cuộc kết nối thoại, dữ liệu, và
FAX.
Trong bản thân nước Mỹ, nhiều tổ chức thuộc Chính phủ cũng quan tâm đến việc
đọc trộm các thông tin cá nhân được trao đổi qua thư điện tử. Chẳng hạn đối với FBI, các
tổ chức dính dáng đến chính trị, ...
1.2.1.3. Cạnh tranh thương mại
Việc kinh doanh có thể bị do thám bởi các công ty cạnh tranh. Các thông tin đối thủ
cần quan tâm ở đây có thể là danh sách khách hàng, nội dung dự án, kế hoạch triển khai,
tiềm lực tài chính, ... Ví dụ Coca-Cola có thể trả hậu hĩnh cho ai biết được kế hoạch
quảng cáo mới của Pepsi, hãng Ford cũng có thể làm như vậy trong việc biết được thông
tin về mẫu xe mới của một hãng sản xuất xe hơi khác.
1.2.1.4. Tội phạm
Các đối tượng phạm tội có thể thu thập những thông tin có giá trị từ thư điện tử, đặc
biệt là loại tội phạm kinh tế. Cảnh sát ở nhiều nước đã phát hiện ra việc bọ điện tử được
gắn bất hợp pháp trên các kênh điện thoại nhằm giám sát và nghe trộm thông tin về số thẻ
tín dụng được truyền qua đường điện thoại. Không có lý do nào để có thể nói rằng chúng
không làm tương tự đối với thư tín điện tử khi các thông điệp được truyền trên mạng.
Nhiều công ty đã mở giao dịch điện tử mua bán qua mạng Internet, và đã có nhiều
mặt hàng được mua bán qua mạng thông qua thẻ tín dụng. Sẽ là rất dễ dàng để xây dựng
và thiết lập một ứng dụng chạy tự động quét các thông điệp trên máy tính người sử dụng
nhằm tìm kiếm các thông tin về số thẻ tín dụng trong các phiên giao dịch điện tử nói trên.
1.2.1.5. Bạn bè người thân
Cuối cùng, chính bạn bè, người thân của bạn cũng có thể là "gián điệp". Sử dụng
thuật ngữ "gián điệp" trong trường hợp này có thể là chưa được chính xác, nhưng những
đối tượng trên cũng cần được quan tâm khi thư tín điện tử được sử dụng để trao đổi các
thông tin riêng tư. Một ví dụ đơn giản, trong môi trường làm việc ở một văn phòng, đồng
nghiệp hoàn toàn có thể quan tâm đến những thông tin cá nhân được trao đổi qua thư tín
điện tử của chúng ta mà không chỉ dừng lại ở mục đích tò mò.
1.2.2. Vấn đề thu thập
Vấn đề lớn nhất khi muốn đọc một thông điệp được gửi qua đường thư tín điện tử
của một ai đó là việc tìm nó giữa một biển các thông điệp thư tín điện tử khác trên mạng.
Công việc này được người ta ví như việc "mò kim đáy biển". Tuy là một công việc khó
khăn nhưng hiện vẫn có các cơ quan hoặc tổ chức được sinh ra để làm công việc đó.
Chẳng hạn, một trong các công việc chính của NSA, NSA giám sát các luồng dữ liệu máy
tính vào, ra nước Mỹ và giữa các nước khác với nhau.
Nhiệm vụ thu thập thông tin từ các thông điệp thư tín điện tử được ví như nhiệm vụ
của một chàng Herculean. Năm 1994, theo thống kê dữ liệu máy tính vào ra nước Mỹ đã
đạt con số nhiều gigabytes, với hàng tỷ thông điệp được trao đổi trong một tháng. Trong
đó gồm thư tín điện tử, thông tin đăng nhập từ xa, dịch vụ truyền tệp, dữ liệu "chat" thời
gian thực, ... Để lưu trữ được lượng dữ liệu trên đã là một công việc lớn chứ chưa nói gì
đến việc đọc và phân tích chúng.
Tuy nhiên đối với các thông tin cần quan tâm, các máy tính có thể thực hiện việc
sàng lọc từ dòng dữ liệu trong thời gian thực. NSA hoàn toàn có thể thực hiện việc đưa
luồng dữ liệu vào ra nước Mỹ vào một hệ thống máy tính mạnh, hệ thống máy tính này sẽ
thực hiện việc tìm kiếm dữ liệu mà NSA quan tâm. Hệ thống máy tính này có thể tìm
kiếm dữ liệu theo từ khoá, giả sử các thông điệp thư tín điện tử có chứa từ khoá "nuclear"
(nguyên tử), "cryptography" (mật mã), hay "assassination" (cuộc ám sát), sẽ được lưu giữ
lại phục vụ cho mục đích phân tích sau.
Ngoài ra còn rất nhiều công nghệ khác được hệ thống máy tính của NSA sử dụng.
Họ có thể tìm kiếm dữ liệu từ một cá nhân hoặc một tổ chức cụ thể. Họ cũng có thể tìm
kiếm dữ liệu theo một cấu trúc cho trước. Tóm lại NSA được đầu tư rất nhiều tiền cho
vấn đề này, họ đã và đang thực hiện công việc trên trong một thời gian dài.
Điều quan trọng nhất là họ thực hiện công việc trên trong thời gian thực, và không
nhiều lắm dữ liệu được lưu. Họ hy vọng rằng dữ liệu mà họ thu thập trong ngày nào sẽ
được phân tích luôn trong ngày đó. Việc thu thập dữ liệu sẽ trở thành vô giá trị nếu dữ
liệu đó không được phân tích, bởi vậy vấn đề khăn chính là việc phân tích dữ liệu. NSA
có thể kết hợp rất nhiều công nghệ nhằm phân tích dữ liệu mà họ quan tâm, như mối quan
hệ giữa từ khoá nói lên dữ liệu cần tìm, đối tượng gửi nhận thông tin, ...
1.2.3. Phân tích đường truyền
Trong trường hợp nội dung thư được mã hoá, đối tượng đọc trộm (NSA chẳng hạn)
không thể đọc nội dung thư điện tử, họ có thể thu thập được một lượng thông tin không
nhỏ thông qua việc phân tích đường truyền.
Việc phân tích đường truyền dựa vào một trong các yếu tố như: bạn gửi thư điện tử
cho ai, bạn nhận thư điện tử từ ai, độ dài của các thông điệp thư điện tử, hoặc khi nào thư
điện tử được gửi. Có rất nhiều thông tin ẩn chứa trong các yếu tố kiểu như vậy nếu họ
biết cách khai thác.
Trước hết chúng ta hãy thử tìm hiểu lĩnh vực cung cấp dịch vụ điện thoại. Hầu hết
các quốc gia châu Âu không ghi chiết khoản mục trong các hoá đơn điện thoại như đối
với các công ty của Mỹ. Các hoá đơn điện thoại ở châu Âu chỉ liệt kê số lượng cuộc đàm
thoại đã sử dụng qua một thuê bao cụ thể, nhưng không ghi lại thời điểm cũng như địa
điểm của các cuộc đàm thoại đó. Đối với các hoá đơn thanh toán điện thoại của Mỹ, trong
đó liệt kê chi tiết tất cả các cuộc đàm thoại đối với một số thuê bao: thời điểm thực hiện,
số được gọi đến, và thời lượng cuộc gọi. Từ những thông tin các cuộc đàm thoại, các cơ
quan có chức năng của Mỹ có thể phân loại các đối tượng cần theo dõi hoặc đưa vào danh
sách các đối tượng cần đề phòng.
Tương tự như vậy đối với các thông điệp thư tín điện tử. Thậm chí khi các thông
điệp thư tín điện tử đã được mã hoá, phần đầu của thông điệp thư tín điện tử bao giờ cũng
thể hiện rõ đối tượng gửi, đối tượng nhận, thời điểm gửi, và độ dài của thông điệp. Trên
thực tế đã có những dịch vụ thư tín điện tử “ẩn danh”, nhằm che dấu đi những thông tin
chúng ta vừa liệt kê ở trên. Tuy nhiên theo các nhà phân tích về lĩnh vực này trên thế giới
đã cho rằng điều đó chẳng có nghĩa lý gì đối với các đối tượng nghe trộm cỡ NSA.
Một ví dụ cụ thể hơn, giả sử Eve nghi ngờ Alice là người ủng hộ chủ nghĩa khủng
bố. Trong khi đó tất cả thư tín điện tử của Alice được cô ấy mã hoá, bởi vậy Eve không
thể đọc được nội dung của các thông điệp thư tín điện tử được gửi nhận bởi Alice. Tuy
nhiên, Eve có thể thu thập tất cả các thông tin trên đường truyền của Alice. Eve biết tất cả
các địa chỉ thư điện tử của những người mà Alice thường liên lạc. Alice thường gửi các
thông điệp thư tín điện tử dài cho một người có tên là Bob, người thường phúc đáp ngay
sau đó với một thông điệp rất ngắn. Có thể cô ấy đã gửi Bob các mệnh lệnh và anh ta
phúc đáp lại việc đã nhận được các lệnh đó. Một ngày nào đó bỗng dưng có một bước
nhảy vọt trong việc trao đổi thư điện tử giữa Alice và Bob. Có thể họ đang lập một kế
hoạch gì đó. Và sau đó là sự im lặng, không có một thông điệp thư điện tử nào được trao
đổi qua lại giữa họ. Ngày tiếp theo toà nhà chính phủ bị đánh bom. Điều này đã đủ làm
bằng chứng để bắt giữ họ chưa còn tuỳ thuộc vào nhiều bằng chứng khác, nhưng ít nhất
chúng đã đem lại cho các cơ quan quan tâm đến lĩnh vực này không ít thông tin quý giá.
Khủng bố không phải là đối tượng duy nhất bị theo dõi thông qua việc phân tích
đường truyền. Việc phân tích đường truyền trao đổi thông điệp thư tín điện tử cũng là
một công cụ để FBI căn cứ trong việc điều tra tội phạm buôn bán ma tuý.
Trong lĩnh vực kinh tế xã hội, một công ty sẽ nghĩ sao khi một thành viên trong
công ty đó thường xuyên liên lạc thư điện tử với một đối thủ cạnh tranh. Điều gì sẽ xảy ra
nếu một người hay ghen nhận thấy vợ hoặc chồng mình thường xuyên liên hệ với “đối
thủ tiềm năng” thông qua thư điện tử.
Tóm lại việc phân tích đường truyền thư điện tử là một công cụ thông minh trong
việc ăn cắp thông tin cá nhân.
1.2.4. Giả mạo
Giả mạo là một vấn đề an toàn khác trên mạng máy tính nói chung. Khái niệm ngắn
nhất về giả mạo là việc người này giả danh là một người khác. Việc giả mạo có thể xuất
phát từ mục đích trêu đùa, làm mất danh dự, bôi nhọ người khác hoặc là công cụ để lừa
gạt.
Hàng ngày có rất nhiều thông điệp thư tín được gửi một cách tự động đến hộp thư
của người sử dụng trên mạng Internet, với chủ đề kiểu như “tôi là người thích làm phiền
người khác và tôi tự hào về điều đó” hoặc với chủ đề như một khẩu hiệu trong việc phân
biệt chủng tộc, phân biệt giới tính. Nội dung của các thông điệp thư tín điện tử này hoàn
toàn không có ý nghĩa gì. Sau đó một thời gian lại có một thư khác cũng xuất phát từ
cùng một tài khoản với lời xin lỗi về việc đã gửi thư điện tử thứ nhất. Nói chung không
nên tin vào bất kỳ điều gì trong các thông điệp thư tín kiểu như vậy, đấy chỉ là một trò
trêu đùa trên mạng.
Một ví dụ khác, Eve muốn bôi nhọ Alice. Cô ta viết một thư điện tử buộc tội một ai
đó, viết tên của Alice ở cuối thư, giả mạo thông tin cá nhân của Alice trên phần tiêu đề
của thư (điều này được thực hiện một cách dễ dàng đối với các tin tặc), sau đó cô ta gửi
một bản copy tới một tạp chí nào đó, như The New York Times chẳng hạn.
Một kiểu giả mạo khác chúng ta có thể lấy ví dụ như kiểu tấn công của kẻ thứ ba
trong mật mã. Ví dụ, Bob và Alice hợp tác với nhau trong một dự án nào đó, và họ
thương xuyên trao đổi thông tin với nhau qua thư điện tử. Eve giả danh là Bob gửi thư
điện tử cho Alice và nói rằng tài khoản thư điện tử trước đây đã bị huỷ bỏ. Tương tự như
vậy đối với Bob và nếu cả Bob và Alice đều tin vào nội dung thư điện tử nhận được thì
mọi liên hệ giữa Alice và Bob được thực hiện thông qua người thứ ba là Eve. Khi đó Eve
sẽ biết mọi thông tin về dự án mà Bob và Alice đang hợp tác. Eve sẽ là người đánh cắp
thông tin trao đổi giữ Bob và Alice chừng nào Bob và Alice chưa trao đổi trực tiếp hoặc
thông qua điện thoại.
Hiểm hoạ mạo danh có thể được khắc phục thông qua việc sử dụng chữ ký điện tử.
Với chữ ký điện tử Alice (trong ví dụ trên) hoàn toàn có thể kiểm tra được những thông
điệp thư tín điện tử nào là thật sự của Bob. Và cũng không ai có thể mạo danh Alice để
gửi các thông điệp điện tử cho người khác.
1.2.5. Bom thư
Nếu bạn đang sử dụng thư điện tử, bạn có thể đã từng nhận được một số thông điệp
thư điện tử được gửi một cách tự nguyện từ một địa chỉ nào đó tới mà chưa được sự cho
phép của bạn, những thông điệp thư điện tử đó được gọi là spam. Spam là một kiểu thư
rác trên Internet, spam được sử dụng cho rất nhiều mục đích: quảng cáo, quấy rối, ...
Nếu là một người mới sử dụng Internet có thể bạn chỉ nhận được một số ít thông
điệp điện tử không mong muốn như trên. Nhưng khi bạn đã sử dụng Internet được một
vài năm bạn có thể đã cảm thấy rất khó chịu khi nhận được hàng loạt thư điện tử mà mình
không hề mong muốn.
Dưới đây là một số kiểu thư điện tử thường xuyên xuất hiện trong hộp thư của bạn:
Các thông điệp điện tử được gửi từ các công ty thương mại nào đó mà bạn
chưa hề có mối quan hệ trước đây.
Thư điện tử có mục đích quảng cáo cho các sản phẩm hoặc dịch vụ bất hợp
pháp, mờ ám hoặc thậm chí là có mục đích đánh lừa
người nhận.
Các thư điện tử được gửi từ một địa chỉ không rõ ràng.
Các thư không hề có địa chỉ để người nhận có thể phúc đáp
Nếu bạn đã từng nhận được một mẩu bom thư nào đó, có thể bạn đã có cảm giác bối
rối, và tự mình đặt ra những câu hỏi như: thông điệp này là gì vậy? Nó được gửi từ đâu
đến và bằng cách nào những người gửi thư có được địa chỉ hộp thư của mình?
Khi những băn khoăn của mình vừa qua đi thì bạn đã nhận được liên tiếp các thư
rác tiếp theo, và như vậy chúng đã gây nên sự bực mình cho bạn. Có thể, bạn sẽ viết thư
than phiền với người gửi thư rác, nhưng sự bực mình của bạn sẽ tăng lên khi biết thư điện
tử than phiền của mình sẽ không đến được đối tượng mình cần gửi, vì kẻ gửi thư rác
thường nguỵ trang hoặc dựng giả một hộp thư nào đó khi gửi cho bạn.
Một số loại bom thư:
Thư điện tử thương mại tự nguyện (UCE - Unsolicited Commercial
Email): là các thông điệp thư điện tử mà người sử dụng nhận được ngoài ý
muốn, với nội dung nhằm quảng cáo cho một sản phẩm hay một dịch vụ
nào đó. Loại bom thư này còn được gọi là "Junk mail".
Thư điện tử gửi hàng loạt (UBE - Unsolicited Bulk Email): được biết đến
như các thông điệp điện tử được gửi với số lượng lớn cho hàng nghìn thậm
chí hàng triệu người nhận. UBE có thể được sử dụng cho mục đích thương
mại, trong trường hợp đó nó cũng là UCE. Nhưng nó cũng có thể được sử
dụng cho nhiều mục tiêu khác, như vận động bầu cử trong lĩnh vực chính
trị, hay chỉ đơn giản là gây rối hệ thống thư điện tử.
Các thông điệp thư điện tử kiếm tiền nhanh (MMF - Make Money Fast):
thường các thông điệp này là một chuỗi các thư cùng một mẫu. Nội dung
của các thông điệp thư điện tử kiểu này gợi ý người nhận rằng họ có thể trở
nên giàu có nếu thực hiện theo các bước như:
Hãy gửi tiền cho người có tên đầu tiên trong danh sách (danh sách được
gửi kèm theo thư)
Loại bỏ tên của người đó, bổ sung tên của mình vào cuối danh sách và
chuyển thông điệp đó cho người khác.
Các thông điệp thư điện tử MMF được xem là trò sổ số bất hợp pháp ở nước Mỹ.
Các tấn công sự nổi tiếng: là các thông điệp thư điện tử mà người sử dụng cho là nó được gửi từ một người hoặc một tổ chức cụ thể, nhưng thực tế nó lại được gửi từ một địa chỉ nào đó khác. Mục đích của các thông điệp điện tử kiểu này không phải nhằm quảng cao cho sản phẩm hay dịch vụ, mà nhằm mục đích làm cho người nhận giận người gửi xuất hiện trong thư.
CHƯƠNG 2
CÁC GIAO THỨC SỬ DỤNG CHO THƯ TÍN
2.1. Các chế độ hoạt động trạm - chủ trong thư tín
Trong mục này chúng ta tìm hiểu một số khái niệm cơ bản về các mô hình trạm chủ
được sử dụng trong thư tín điện tử. Có 3 mô hình được sử dụng là:
Mô hình Offline: Trong mô hình này, một ứng dụng thư client kết nối định kỳ tới
máy chủ thư tín. Nó tải tất cả các thông báo tới máy client và xoá các thông báo này
khỏi máy chủ thư tín. Sau đó, quá trình xử lý mail được diễn ra cục bộ trên máy
client đó.
Mô hình Online: Mô hình này thường được sử dụng với các giao thức hệ thống tệp
trên mạng (NFS). Trong chế độ này, một ứng dụng client thao tác với dữ liệu
mailbox trên máy chủ thư tín. Một kết nối tới máy chủ thư tín được duy trì trong
suốt phiên làm việc. Không có dữ liệu mailbox nào được giữ trên máy client; client
lấy dữ liệu từ máy chủ thư tín khi cần.
Mô hình Disconnected: Đây là một mô hình biến thể của mô hình Offline và mô
hình Online, được sử dụng bởi giao thức PCMAIL. Trong mô hình này, một client
tải một vài thông báo từ máy chủ thư tín, thao tác với chúng trong mô hình offline,
rồi sau đó chuyển các thay đổi đến máy chủ thư tín. Vấn đề đồng bộ được quản lý
(khi có nhiều client) thông qua phương pháp nhận danh duy nhất cho mỗi thông
báo.
Mỗi một mô hình có ưu và nhược điểm, ta có thể so sánh đặc điểm của các mô hình
này trong bảng dưới đây:
Đặc điểm Offline Online Disconnected
Có thể sử dụng nhiều client Không Có Có
Thời gian kết nối tới máy chủ thư tín
là tối thiểu
Có Không Có
Sử dụng nguồn tài nguyên của máy
chủ thư tín ít nhất
Có Không Không
Sử dụng ổ đĩa của client ít nhất Không Có Không
Nhiều mailbox ở xa Không Có Có
Khởi động nhanh Không Có Không
Xử lý mail khi không kết nối online Có Không Có
2.2. Mở rộng thư tín Internet đa mục tiêu (MIME)
RFC 822 cung cấp chuẩn cho việc truyền các thông điệp thư tín điện tử chứa các nội
dung dạng văn bản. Tuy nhiên, chuẩn này không trợ giúp các thông điệp thư tín điện tử
có các thành phần đính kèm (như thông điệp thư tín điện tử có đính kèm các tài liệu word
hoặc các tệp hình ảnh). Để thay thế cho các định nghĩa trong RFC 822, "mở rộng phần
thư tín Internet đa mục tiêu (MIME)" đã được phát triển. Đối với phần tiêu đề (header)
của các thông điệp vẫn tuân theo chuẩn RFC 822, việc sửa đổi và phát triển cho phần mở
rộng MIME được thực hiện đối với nội dung của thông điệp. MIME sử dụng một số quy
ước để thể hiện những nội dung riêng trong một thông điệp thư tín điện tử.
Ví dụ minh hoạ cho các kiểu nội dung như sau:
Âm thanh- dùng để truyền các âm thanh hoặc dữ liệu bằng âm thanh.
Ứng dụng- sử dụng để truyền ứng dụng hoặc dữ liệu nhị phân.
Hình ảnh- dùng để truyền dữ liệu hình ảnh.
Thông điệp- dùng để đóng gói thông điệp thư tín khác
Đa phần- được sử dụng để liên kết nhiều phần thân của thông điệp, có thể
là các kiểu khác nhau của dữ liệu thành một thông điệp cụ thể.
Văn bản- được sử dụng để biểu diễn những thông tin dưới dạng văn bản
theo một bộ ký tự nhất định nào đó .
Video- dùng để truyền video hoặc dữ liệu hình ảnh động, có thể có âm
thanh như một phần của phần định dạng dữ liệu video tổng hợp.
Hiện tại có 5 tài liệu mô tả MIME là: RFCs 2045, 2046,2047,2048 và 2049. Trong
đó mô tả định dạng cho phần thân thông điệp, các kiểu truyền thông, mã định dạng không
thuộc chuẩn của Mỹ, …. Ngoài những tính năng được bổ sung đã liệt kê, các tính năng
quan trọng khác của thư tín như phần đính kèm thông điệp, nhúng trực tiếp phần dữ liệu
dưới định dạng ngôn ngữ siêu văn bản (HTML) cũng được đưa ra trong các tài liệu trên.
Lưu ý rằng, mặc dù các phần mở rộng MIME cho phép sử dụng nội dung thông điệp
dạng nhị phân, nhưng nội dung dưới dạng nhị phân phải được biểu diễn dưới định dạng
Base64 để phù hợp với chuẩn qui định trong RFC 822.
2.3. Các chuẩn truyền thư
2.3.1. Giới thiệu
Nhằm đảm bảo độ tin cậy và khả năng tương tác giữa các ứng dụng thư tín khác
nhau, các tiêu chuẩn truyền thư tín được thiết lập. Trong trường hợp đơn giản nhất, việc
truyền tải thư là quá trình một thông điệp thư tín được gửi từ người sử dụng cục bộ này
tới người sử dụng cục bộ khác, khi đó LDA chịu trách nhiệm xác định và chuyển thông
điệp thư tín điện tử đến hộp thư thích hợp. Trong trường hợp phức tạp hơn, khi đối tượng
nhận bên ngoài nhóm cục bộ, cần phải có một MTA để gửi thông điệp từ máy chủ thư tín
cục bộ tới máy chủ thư tín từ xa. Tuỳ vào kiểu và phạm vi của hệ thống hiện có, mà một
hoặc nhiều MTA khác nhau được sử dụng, và bản thân mỗi cặp MTA có thể sử dụng các
giao thức truyền thư khác nhau.
Giao thức chuyển giao MTA phổ biến nhất hiện nay là giao thức truyền thư đơn
giản (SMTP). SMTP là chuẩn cho việc truyền các thông điệp điện tử trên Internet (chi tiết
về giao thức này chúng tôi sẽ trình bày trong phần tiếp theo). Bởi vậy hầu hết các hệ
thống thư tín điện tử trên Internet đều hỗ trợ giao thức SMTP cho việc truyền thư.
2.3.2. Giao thức truyền thư đơn giản (SMTP)
Jon Postel thuộc Trường đại học Nam California đã phát triển SMTP vào tháng 8
năm 1982. SMTP là một giao thức truyền thư tín điện tử một cách tin cậy và hiệu quả.
SMTP độc lập đối với các hệ thống truyền tải đặc biệt và chỉ yêu cầu kênh truyền
dữ liệu tin cậy (cổng 25/TCP). Một dịch vụ truyền tải (TCP, X.25, …) cung cấp một môi
trường truyền thông liên tiến trình (IPCE, Interprocess Communication Environment).
Một IPCE có thể bao gồm một mạng, nhiều mạng, hoặc tập con của một mạng. Như vậy,
điều quan trọng ở đây là các hệ thống (hoặc các IPCE) không phải là các mạng one-to-
one. Một tiến trình có thể truyền thông trực tiếp với tiến trình khác thông qua IPCE đã
được biết. Mail là một ứng dụng hoặc là sự sử dụng truyền thông giữa các tiến trình. Mail
có thể được truyền thông giữa các tiến trình trong các IPCE lưu chuyển thông qua một
User
HÖ thèng
file
Sender-SMTP
Receiver-SMTP HÖ
thèng file
SMTP commands/replies
Hình 2.1: Mô hình sử dụng SMTP
tiến trình đã kết nối với 2 hoặc nhiều IPCE. Đặc biệt hơn nữa, mail có thể được lưu
chuyển giữa các máy trên các hệ thống truyền tải khác nhau bằng một máy gồm có cả 2
hệ thống truyền tải đó. Dưới đây chúng ta sẽ đi tìm hiểu mô hình cụ thể của SMTP.
2.3.2.1. Mô hình hoạt động của SMTP
Thiết kế SMTP được dựa trên mô hình truyền thông sau: tương tự như một yêu cầu
thư của người sử dụng, Sender-SMTP thiết lập một kênh truyền tải 2 chiều tới một
Receiver-SMTP. Receiver-SMTP hoặc là đích hoặc là điểm tạm thời. Các lệnh SMTP
được sinh ra bởi Sender-SMTP và gửi tới Receiver-SMTP. Đáp lại SMTP được gửi từ
Receiver-SMTP các lệnh tới Sender-SMTP.
Mỗi khi kênh truyền thông được thiết lập, thì Sender-SMTP gửi một lệnh MAIL chỉ
rõ người gửi thư. Nếu Receiver-SMTP có thể chấp nhận thư đó thì nó đáp lại OK. Sau đó
Sender-SMTP gửi lệnh RCPT định danh người nhận thư. Nếu Receiver-SMTP có thể
chấp nhận thư đó cho người nhận thì nó đáp lại OK; ngược lại, nếu Receiver-SMTP
không chấp nhận thì nó loại bỏ thư đó. Sender-SMTP và Receiver-SMTP có thể thoả
thuận với nhau là sẽ có nhiều người nhận. Sau khi đã thoả thuận xong những người nhận
thư thì Sender-SMTP gửi dữ liệu thư, và đưa kèm chuỗi đặc biệt <CRLF> để kết thúc.
Nếu Receiver-SMTP đã xử lý dữ liệu mail thành công thì nó đáp lại OK (là lời thoại mỗi
khi hoàn thành một bước giữa Sender-SMTP và Receiver-SMTP). Mô hình sử dụng
SMTP được thể hiện như sau:
SMTP cung cấp các kỹ thuật truyền tải thư điện tử, trực tiếp từ máy của người gửi
tới máy của người nhận khi 2 máy được kết nối cùng một dịch vụ truyền tải (chủ yếu sử
dụng TCP), hoặc gửi qua một hoặc nhiều Server-SMTP lưu chuyển khi các máy nguồn
và đích không được kết nối cùng dịch vụ truyền tải. Để có thể cung cấp các khả năng lưu
chuyển thì Server-SMTP phải được cung cấp tên máy đích cuối cùng (tên mailbox đích).
Tham số của lệnh MAIL là reverse-path (tuyến ngược) để chỉ ra thư được chuyển từ
người nào. Tham số của lệnh RCPT là forward-path (tuyến thuận) để chỉ ra thư được
chuyển tới người nào. forward-path là một tuyến đích trong khi đó reverse-path là tuyến
trả về (có thể được sử dụng để trả về một thông điệp tới người gửi khi xuất hiện những
lỗi trên thông điệp lưu chuyển). Khi cùng một thông điệp được gửi tới nhiều người nhận
thì SMTP giúp sự truyền tải chỉ có một bản sao của dữ liệu cho tất cả người nhận trên
cùng một máy đích.
Các lệnh hỏi đáp khi gửi thư có cú pháp chặt chẽ. Riêng phúc đáp cũng có thể là
một mã dạng số. Những ví dụ về gửi thư và các lệnh khi gửi và đáp lại sẽ được chúng tôi
trình bài ở phần sau. Các ký tự của lệnh hỏi đáp có thể tuỳ ý: có thể là chữ hoa, chữ
thường, hoặc cả hai. Điều này không đúng đối với tên người dùng trên mailbox. Đối với
một số trường hợp khác tên người sử dụng dễ bị ảnh hưởng, và các cài đặt SMTP quản lý
trong trường hợp tên người sử dụng khi chúng xuất hiện trên các tham số mailbox. Tên
máy cũng không bị ảnh hưởng vấn đề này. Các lệnh hỏi đáp nằm trong tập ký tự ASCII.
Khi dịch vụ truyền tải cung cấp một kênh truyền tải 8-bit (octet), thì các ký tự 7-bit cũng
được truyền tải như là một octet nhưng bit cao sẽ lấy giá trị 0.
2.3.2.2. Các thủ tục truyền SMTP
Trong mục này chúng tôi sẽ trình bày các thủ tục sử dụng trong SMTP. Trước tiên
thủ tục thư cơ bản truyền tải thư tín. Tiếp theo là mô tả về các thủ tục gửi thư, kiểm tra
các tên trong mailbox và mở rộng danh sách thư, gửi tới các terminal hoặc kết hợp với
các mailbox, mở và đóng phiên giao dịch, lưu chuyển thư. Trong tài liệu này không đề
cập đến vấn đề phân vùng thư và thay đổi vai trò chương trình khi truyền thông qua kênh
truyền tải, để thêm thông tin bạn có thể tham khảo trong RFC 821.
Thủ tục truyền tải
Thủ tục truyền tải SMTP có 3 bước:
Bước 1: Sử dụng lệnh MAIL để định danh người gửi.
Bước 2: Một hoặc nhiều lệnh RCPT để định danh thông tin người nhận.
Bước 3: Sử dụng lệnh DATA để xác định dữ liệu thư.
Các lệnh trên có cú pháp như sau:
MAIL <SP> FROM:<reverse-path> <CRLF>
RCPT <SP> TO:<forward-pa th> <CRLF>
DATA <CRLF>
Ví dụ người gửi tiendq gửi thư tại máy vdc tới người dùng thaith, toannq và khoanc
trên máy vol như sau:
S: MAIL FROM:<[email protected]>
R: 250 OK
S: RCPT TO:<[email protected]>
R: 250 OK
S: RCPT TO:<[email protected]>
R: 550 No such user here
S: RCPT TO:<[email protected]>
R: 250 OK
S: DATA
R: 354 Start mail input; end with <CRLF>.<CRLF>
S: Blah blah blah...
S: ...etc. etc. etc.
S: <CRLF>.<CRLF>
R: 250 OK
Trong đó S của bên gửi và R của bên nhận (quy ước này sẽ được sử dụng cho tất cả
các ví dụ). Ví dụ trên chỉ chấp nhận mail của thaith và toannq, còn khoannc không được
chấp nhận bởi không có mailbox trên máy vol.
Thủ tục gửi mail
Trong một số trường hợp thì thông tin đích trong <forward-path> bị sai, Receiver-
SMTP sẽ nhận biết đích đúng khi <forward-path> đúng. Khi đó sẽ xảy ra một trong 2
lệnh đáp lại dưới đây được sử dụng để cho phép người gửi liên lạc với đích được cho là
đúng.
251 User not local; will forward to <forward-path>
hoặc 551 User not local; please try <forward-path>
Lệnh đáp lại 251 chỉ ra rằng Receiver-SMTP nhận ra mailbox của người sử dụng
trên một máy khác và xác định đúng forward-path sẽ được sử dụng về sau (lưu chuyển
qua nhiều SMTP). Lệnh 551 chỉ ra rằng Receiver-SMTP nhận ra mailbox của người sử
dụng trên một máy khác và xác định đúng forward-path sử dụng ngay lúc đó. Ví dụ:
S: RCPT TO:<[email protected]>
R: 251 User not local; will forward to <Postel@USC-
ISIF.ARPA>
hoặc
S: RCPT TO:<[email protected]>
R: 551 User not local; please try <[email protected]>
Kiểm tra và mở rộng danh sách thư
SMTP cung cấp thêm một số đặc tính như: kiểm tra tên người sử dụng bằng lệnh
VRFY, và mở rộng danh sách mail bằng lệnh EXPN. Các lệnh này có cú pháp như sau:
VRFY <SP> <string> <CRLF>
EXPN <SP> <string> <CRLF>
Trong đó lệnh VRFY sẽ kiểm tra về thông tin của tên người sử dụng <string> đã chỉ
ra, lệnh EXPN định danh <string> cho một danh sách thư (có thể gửi thư cho tất cả người
nhận có cùng định danh).
Ví dụ về kiểm tra tên người sử dụng như sau:
S: VRFY Smith
R: 250 Fred Smith <[email protected]>
hoặc
S: VRFY Smith
R: 251 User not local; will forward to <Smith@USC-
ISIQ.ARPA>
hoặc
S: VRFY Jones
R: 550 String does not match anything.
hoặc
S: VRFY Jones
R: 551 User not local; please try <Jones@USC-
ISIQ.ARPA>
hoặc
S: VRFY Gourzenkyinplatz
R: 553 User ambiguous.
Ví dụ về mở rộng danh sách mail như sau:
S: EXPN Example-People
R: 250-Jon Postel <[email protected]>
R: 250-Fred Fonebone <[email protected]>
R: 250-Sam Q. Smith <[email protected]>
R: 250-Quincy Smith <@USC-ISIF.ARPA:Q-Smith@ISI-
VAXA.ARPA>
R: 250-<[email protected]>
R: 250 <[email protected]>
hoặc
S: EXPN Executive-Washroom-List
R: 550 Access Denied to You.
Phân phối tới mailbox và terminal
Mục đích chính của SMTP là phân phối các thông điệp tới mailbox của người sử
dụng. Một số ít dịch vụ phân phối thông điệp tới các terminal của người sử dụng (người
sử dụng được kích hoạt). Việc phân phối thông điệp tới các mailbox của người sử dụng
được gọi là "mailing", còn phân phối thông điệp tới các terminal của người sử dụng được
gọi là "sending" (người dùng gửi thông điệp thông qua terminal). Dưới đây là 3 lệnh đã
được định nghĩa để hỗ trợ "sending".
SEND <SP> FROM:<reverse-path> <CRLF>
SOML <SP> FROM:<reverse-path> <CRLF>
SAML <SP> FROM:<reverse-path> <CRLF>
Lệnh SEND yêu cầu dữ liệu thư được phân phối tới terminal của người sử dụng.
Nếu người sử dụng đó không đặt chế độ kích hoạt (hoặc không chấp nhận thông điệp tới
terminal) thì sẽ trả về mã 450 bằng lệnh RCPT. Lệnh SOML (send or mail) yêu cầu dữ
liệu mail được phân phối tới terminal của người sử dụng nếu người dùng đó đã đặt chế độ
kích hoạt. Nếu người dùng đó không được kích hoạt (không chấp nhận thông điệp tới
terminal) thì dữ liệu mail sẽ được chuyển vào mailbox của người sử dụng. Lệnh SAML
(send and mail) yêu cầu dữ liệu mail được phân phối tới terminal của người sử dụng nếu
người dùng đó đã đặt chế độ kích hoạt (và chấp nhận thông điệp tới terminal). Trong một
số trường hợp khác dữ liệu mail mới được đưa vào mailbox của người sử dụng.
Đóng và mở phiên giao dịch
Tại thời điểm kênh truyền tải được mở thì có sự trao đổi thông tin để chắc chắn rằng
các máy đang truyền thông với nhau. Hai lệnh sau đây được sử dụng để đóng mở phiên
giao dịch cho kênh truyền tải.
HELO <SP> <domain> <CRLF>
QUIT <CRLF>
Trong lệnh HELO máy sẽ gửi lệnh tự định danh cho nó, tương tự như một lời chào
"Chào các bạn, tôi là <domain>". Ví dụ mở kết nối như sau:
R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready
S: HELO USC-ISIF.ARPA
R: 250 BBN-UNIX.ARPA
Lệnh QUIT thực hiện đóng kênh truyền tải thông tin, ví dụ:
S: QUIT
R: 221 BBN-UNIX.ARPA Service closing transmission channel
Lưu chuyển mail
Từ khoá forward-path có thể là một tuyến nguồn có dạng "@ONE, @TWO:
JOE@THREE", trong đó ONE, TWO, và THREE là các máy. Dạng này được sử dụng để
làm nổi bật sự khác nhau giữa một địa chỉ và một tuyến. Mailbox là một địa chỉ tuyệt đối,
và tuyến là thông tin về cách thức nhận mail.
Theo khái niệm thì các phần tử của forward-path được chuyển thành reverse-path
khi thông điệp được lưu chuyển từ một Server-SMTP tới Server-SMTP khác (reverse-
path coi là một tuyến nguồn ngược). Khi một Server-SMTP xoá định danh của nó khỏi
forward-path và thay định danh của Server-SMTP đó vào reverse-path, thì nó phải sử
dụng định danh phải được biết bởi đối tượng nó sẽ gửi tới. Nếu khi thông điệp đến tại
một Server-SMTP phần tử đầu tiên của forward-path không phải là bộ định danh của
Server-SMTP đó thì phần tử đó không bị xoá khỏi forward-path mà được dùng để xác
định Server-SMTP tiếp theo cần tiếp tục gửi thông điệp tới. Trong một số trường hợp
khác thì Server-SMTP thêm bộ định danh của nó vào reverse-path.
Sử dụng nguồn định tuyến Receiver-SMTP để nhận mail đã được lưu chuyển từ
Server-SMTP khác. Khi đó Receiver-SMTP có thể chấp nhận hoặc huỷ bỏ tác vụ lưu
chuyển mail theo đúng cách mà nó chấp nhận hoặc huỷ bỏ mail của một người dùng cục
bộ. Receiver-SMTP truyền tải các tham số lệnh bằng cách chuyển bộ định danh của nó từ
forward-path thành định danh của reverse-path. Sau đó Receiver-SMTP sẽ trở thành
Sender-SMTP, thiết lập một kênh truyền tải cho SMTP tiếp theo trong forward-path, và
tiếp tục gửi mail. Máy đầu tiên trong reverse-path sẽ là máy gửi các lệnh SMTP, và máy
đầu tiên trong forward-path sẽ là máy nhận các lệnh SMTP.
Chú ý: forward-path và reverse-path xuất hiện trong các lệnh gửi và đáp lại của
SMTP, nhưng không cần thiết trong các thông điệp. Điều đó có nghĩa là không cần thiết
các đường dẫn này cho thông điệp và đặc biệt cú pháp này chỉ xuất hiện trong các trường
tiêu đề của thông điệp như:"To:", "From:", "CC:",...
Nếu Server-SMTP đã chấp nhận tác vụ lưu chuyển thư và sau đó tìm đúng forward-
path hoặc thư không được phân phối với một lý do nào đó, thì thông điệp thông báo
"undeliverable mail" không thể phân phối mail và gửi nó về nơi xuất phát. Thông báo này
phải bắt đầu từ Server-SMTP của máy đó. Tất nhiên, các Server-SMTP không gửi thông
điệp thông báo lỗi cùng thông điệp đó. Một cách để phòng chống lỗi lặp đó là chỉ ra một
reverse-path có giá trị null trong lệnh MAIL của một thông điệp thông báo lỗi như sau:
MAIL FROM:<>
Ví dụ chúng ta có một hệ thống lưu chuyển như sau: Thông báo trong lệnh trả lời từ
JOE tại máy HOSTW và gửi thông qua máy HOSTX tới HOSTY với những hướng dẫn
lưu chuyển trên máy HOSTZ. Sự giao dịch giữa máy HOSTY và HOSTX ngay bước đầu
tiên trả về thông điệp thông báo lỗi không phân phối thư như sau:
S: MAIL FROM:<>
R: 250 ok
S: RCPT TO:<@HOSTX.ARPA:[email protected]>
R: 250 ok
S: DATA
R: 354 send the mail data, end with .
S: Date: 23 Oct 81 11:22:33
S: From: [email protected]
S: To: [email protected]
S: Subject: Mail System Problem
S: Sorry JOE, your message to [email protected] lost.
S: HOSTZ.ARPA said this:
S: "550 No Such User"
S: .
R: 250 ok
2.3.2.3. Các lệnh SMTP cơ bản
Để kết thúc mục này chúng tôi đưa ra bảng các lệnh cơ bản của SMTP để các bạn
tiện tham khảo.
1 HELO HELO <SP> domain>
<CRLF>
Định danh Sender-SMTP đối
với Receiver-SMTP, tham số
<domain> thường là tên máy.
2 MAIL MAIL <SP> FROM:<reverse-
path> CRLF>
Khởi tạo phiên giao dịch mail
tới một hoặc nhiều mailbox
và đồng thời định danh người
gửi bằng tham số reverse-
path
3 RCPT RCPT <SP> TO:<forward-
path> <CRLF>
Định danh một người nhận
dữ liệu mail thông qua tham
số forward, nếu nhiều người
nhận thì sử dụng nhiều dòng
lệnh.
4 DATA DATA <CRLF> Các dòng sau lệnh này sẽ là
dữ liệu thư.
5 RSET RSET <CRLF> Chỉ ra phiên giao dịch thư
hiện tại sẽ bị loại bỏ.
6 SEND SEND <SP> FROM:<reverse-
path> CRLF>
Khởi tạo phiên giao dịch dữ
liệu thư phân phối tới một
hoặc nhiều terminal. Tham số
reverse-path để định danh
người gửi.
7 SOML SOML <SP> FROM:<reverse-
path> <CRLF>
Khởi tạo phiên giao dịch dữ
liệu mail phân phối tới một
hoặc nhiều terminal hoặc
nhiều mailbox. Tham số
reverse-path để định danh
người gửi.
8 SAML SAML <SP> FROM:<reverse-
path> <CRLF>
Khởi tạo phiên giao dịch dữ
liệu mail phân phối tới một
hoặc nhiều terminal và nhiều
mailbox. Tham số reverse-
path để định danh người gửi.
9 VRFY VRFY <SP> <string>
<CRLF>
Yêu cầu người nhận mail xác
nhận một người sử dụng.
10 EXPN EXPN <SP> <string>
<CRLF>
Yêu cầu xác nhận tham số để
định danh một danh sách thư.
11 HELP HELP [<SP> <string>]
<CRLF>
Người nhận gửi thông tin trợ
giúp tới người gửi.
12 NOOP NOOP <CRLF> Nhận được lệnh này từ phía
người gửi, tức là không thực
hiện gì khác, thì người nhận
trả lời OK.
13 QUIT QUIT <CRLF> Lệnh này yêu cầu người nhận
gửi tín hiệu trả lời OK, sau đó
đóng phiên giao dịch.
14 TURN TURN <CRLF> Lệnh này yêu cầu người nhận
hoặc là phải gửi tín hiệu OK
và sau đó đóng vai trò là
Sender-SMTP, hoặc là phải
gửi tín hiệu từ chối và trả về
đúng vai trò Receiver-SMTP.
2.3.3. Các mở rộng của giao thức truyền thư đơn giản
Cùng với số lượng người sử dụng thư điện tử ngày càng tăng, các phần mềm thư
client và các SMTP server ngày được bổ sung thêm nhiều tính năng mới. Đối với các
máy chủ SMTP người ta đã mở rộng thêm chức năng cho giao thức truyền thư đơn giản
SMTP. Năm 1993, RFC 1455 đã giới thiệu chung về phần mở rộng cho giao thức truyền
thư đơn giản SMTP. Các tài liệu tiếp theo được ra đời nhằm cụ thể hoá cho RFC 1425 là
RFC 1651 vào năm 1994 và RFC 1869 vào năm 1995. Các RFC này bổ sung thêm ba
phần chính cho SMTP nguyên thuỷ, bao gồm:
Các lệnh SMTP mới (RFC 1425)
Đăng ký các mở rộng dịch vụ SMTP (RFC 1651)
Các tham số bổ sung cho các lệnh SMTP MAIL FROM và RCPT TO (RFC 1869).
Để tương thích với các máy chủ SMTP thế hệ cũ, cần phải có một phương thức
nhằm cho phép ứng dụng thư client xác định xem máy chủ có hỗ trợ các phần mở rộng
hay không. Công việc này được thực hiện qua lệnh “enhanced hello” (EHLO). Khi kết
nối với một máy chủ, người sử dụng thư tín có thể dùng lệnh EHLO. Nếu máy chủ hỗ trợ
các phần mở rộng SMTP, máy chủ sẽ phúc đáp kết quả thực hiện lệnh đã thành công và
liệt kê phần mở rộng hiện máy chủ đó hỗ trợ. Nếu máy chủ không hỗ trợ phần mở rộng
SMTP, sẽ có thông báo kết quả thực hiện lệnh không thành công, khi đó MUA phải thực
hiện lệnh HELO chuẩn. Các máy chủ hỗ trợ các giao thức truyền thư đơn giản mở rộng
được xem như cũng được xem như các máy chủ Extended SMTP (ESMTP).
Dưới đây là một ví dụ về phần giao dịch với máy chủ sử dụng câu lệnh mở rộng
EHLO.
telnet mail.dcs.vn 25
Connected to mail.dcs.vn
Escape character is '^]'
220 test.mail.vn ESMTP Service (Sample Mail Server String)
EHLO test.mail.vn
250 test.mail.vn says hello
250-HELP
250-EXPN
250 SIZE 20971520
...
Trong ví dụ trên, máy chủ chỉ hỗ trợ một phần mở rộng- SIZE. Tuy nhiên, trên thực
tế một server có thể hỗ trợ nhiều phần mở rộng khác nhau. Bảng dưới đây sẽ liệt kê một
số mở rộng cho SMTP được công bố trong các RFC tương ứng. Ví dụ, RFC 2554 chỉ ra
lệnh và giao thức mới cho việc định danh và xác thực người sử dụng.
SMTP Extensions RFC
Mở rộng dịch vụ SMTP cho việc khai báo độ lớn của thông điệp
thư điện tử
1870
Mở rộng dịch vụ SMTP cho đường dẫn lệnh 2920
Mở rộng dịch vụ SMTP cho việc truyền các thông điệp thư điện
tử MIME dưới dạng nhị phân với dung lượng lớn
3030
Mở rộng dịch vụ SMTP cho việc xác thực 2554
Mở rộng dịch vụ SMTP cho việc bảo mật SMTP thông qua giao
thức TLS
2487
Mở rộng dịch vụ SMTP cho việc trả mã lỗi mở rộng 2034
Mở rộng dịch vụ SMTP cho việc bắt đầu một hàng đợi thông điệp
từ xa
1985
Mở rộng dịch vụ SMTP cho việc thông báo trạng thái phân phối
thư
1891
2.4. Các chuẩn Client nhận thư
2.4.1. Giới thiệu
Khi một thông điệp được LDA phân phối, người sử dụng cần phải truy nhập tới
máy chủ thư để nhận thông điệp. Các phần mềm mail client (MUA) được sử dụng để truy
nhập đến các máy chủ thư và nhận các thông điệp thư tín. Hiện tại có nhiều phương pháp
cho phép người sử dụng có thể truy cập đến hộp thư của mình, một trong các phương
pháp đơn giản nhất là truy cập trực tiếp bằng cách sử dụng các lệnh.
Một hệ thống thư điện tử đơn giản là một hệ thống thư tín cho phép tất cả người sử
dụng có thể truy nhập trực tiếp tới hộp thư của họ. Đối với mỗi tài khoản người dùng
trong hệ thống sẽ tương ứng có một thư mục trong thư mục home. Khi các thông điệp thư
tín được nhận, người sử dụng có thể dùng dòng lệnh dựa trên các chương trình thư như
các lệnh “mail” hoặc “pine” để truy cập trực tiếp tới hộp thư.
POP3 Client
POP3 Server
TCP connection
AUTHORIZATION state
TRANSACTION state
UPDATE state
Đối với người sử dụng, đặc biệt là người sử dụng bên ngoài, việc truy nhập đến máy
chủ thư thông qua thao tác dòng lệnh là một yếu tố làm mất an toàn cho tài khoản thư của
họ. Để giảm bớt rủi ro, các giao thức truy nhập hộp thư được sửa đổi. Hai giao thức truy
cập hộp thư hiện được sử dụng phổ biến nhất là POP3 và IMAP. Dưới đây chúng ta sẽ
tìm hiểu chi tiết về hai giao thức hiện đang được sử dụng phổ biến trên.
2.4.2. Giao thức nhận thư POP3
Giao thức POP3 được sử dụng để truy nhập và lấy các thông điệp thư điện tử từ
mailbox trên máy chủ thư tín. POP3 được thiết kế hỗ trợ xử lý mail trong chế độ Offline.
Theo chế độ này, các thông báo mail được chuyển tới máy chủ thư tín và một chương
trình thư client trên một máy trạm kết nối tới máy chủ thư tín đó và tải tất cả các thông
báo mail tới máy trạm đó. Và sau đó, tất cả quá trình xử lý mail được diễn ra trên chính
máy trạm này.
2.4.2.1. Nguyên tắc hoạt động và các lệnh của giao thức POP3
Hoạt động của giao thức POP3 được thể hiện ở hình dưới đây:
Hình 2.2 Sơ đồ hoạt động của POP3
Một POP3 Server được thiết lập chế độ đợi ở cổng 110. Khi POP3 client muốn sử
dụng dịch vụ POP3, nó thiết lập một kết nối TCP tới máy server ở cổng 110. Khi kết nối
TCP được thiết lập, POP3 server sẽ gửi một lời chào tới client. Phiên làm việc giữa client
và server được thiết lập. Sau đó client gửi các lệnh tới server và server đáp lại (response)
các lệnh đó tới tận khi đóng kết nối hoặc kết nối bị huỷ bỏ.
Một phiên POP3 có 3 trạng thái là: AUTHORIZATION, TRANSACTION và
UPDATE.
Trạng thái AUTHORIZATION: Một khi kết nối TCP được mở và POP3 server gửi
lời chào (greeting) tới client thì phiên vào trạng thái AUTHORIZATION, trong
trạng thái này server sẽ xác thực client. Khi server xác thực client thành công thì
phiên vào trạng thái TRANSACTION.
Trạng thái TRANSACTION: Tiếp theo trạng thái AUTHORIZATION là trạng thái
TRANSACTION. Trong trạng thái này, client có thể truy nhập tới mailbox của
mình trên server để kiểm tra, nhận thư...
Trạng thái UPDATE: Khi client gửi lệnh QUIT tới server từ trạng thái
TRANSACTION, thì phiên vào trạng thái UPDATE, trong trạng thái này server gửi
goodbye tới client và đóng kết nối TCP, kết thúc phiên làm việc. Nếu client gửi lệnh
QUIT từ trạng thái AUTHORIZATION, thì phiên PO3 sẽ kết thúc mà không vào
trạng thái UPDATE.
2.4.2.2. Các lệnh trong giao thức POP3
Các lệnh trong POP3 có thể có một hoặc nhiều đối số. Kết thúc của lệnh bởi một
cặp CRLF. Các từ khoá và đối số trong lệnh là các ký tự trong ASCII.
Một lời đáp lại (response) từ POP3 server gồm một mã trạng thái và theo sau là các
thông tin. Có hai mã trạng thái hiện hành là: thành công (+OK) và lỗi (-ERR).
Cơ chế xác thực và các lệnh trong trạng thái AUTHORIZATION.
Khi phiên POP3 vào trạng thái AUTHORIZATION, client phải nhận danh và xác
thực chính nó với POP3 server. Trong tài liệu này trình bày hai cơ chế xác thực: Cơ chế
thứ nhất sử dụng kết hợp hai lệnh USER và PASS; cơ chế xác thực thứ hai sử dụng lệnh
APOP. Ngoài ra còn có các cơ chế xác thực khác được mô tả trong RFC 1734.
Xác thực sử dụng kết hợp hai lệnh USER và PASS:
Để xác thực sử dụng kết hợp lệnh USER và PASS, trước hết client phải gửi lệnh
USER với tham số là tên người dùng đến server, sau khi server đáp lại với mã trạng thái
là thành công (+OK) thì tiếp theo client gửi lệnh PASS kèm tham số mật khẩu của người
dùng để hoàn thành cơ chế xác thực cho user này. Nếu POP3 server đáp lại với mã trạng
thái là +OK thì quá trình xác thực cho user này thành công, còn ngược lại (mã trạng thái
là -ERR) thì xác thực không thành công và client phải sử dụng lại lệnh PASS để xác thực
lại.
Lệnh USER
Cú pháp: USER name
Đối số: name là tên người dùng.
Mô tả: Được sử dụng trong trạng thái AUTHORIZATION để gửi tên của user tới
POP3 server. Server sẽ đáp lại thành công (+OK) nếu nhập tên user là đúng và ngược lại
sẽ trả lại mã lỗi (-ERR). Chú ý: trong các ví dụ kể từ đây, ký hiệu C: được gửi từ Client
và S: là response của Server.
Ví dụ:
C: USER mrose
S: +OK mrose is a real hoopy frood
...
C: USER frated
S: -ERR sorry, no mailbox for frated here
Lệnh PASS
Cú pháp: PASS password
Đối số: password là mật khẩu của user để truy nhập tới mailbox.
Mô tả: Lệnh này chỉ được sử dụng trong trạng thái AUTHORIZATION để gửi mật
khẩu của người dùng tới POP3 server. Lệnh này phải được thực hiện sau lệnh USER và
một khi server đáp lại lệnh USER là thành công.
Ví dụ:
C: USER mrose
S: +OK mrose is a real hoopy frood
C: PASS secret
S: +OK mrose's maildrop has 2 messages (320
octets)
...
C: USER mrose
S: +OK mrose is a real hoopy frood
C: PASS secret
S: -ERR maildrop already locked
Cơ chế xác thực sử dụng lệnh APOP
Cú pháp: APOP name disgest
Đối số:
name: tên của user
disgest: một chuỗi MD5 disgest
Mô tả: Việc xác thực trong phiên sử dụng kết hợp lệnh USER/PASS có nhược điểm
là mật khẩu được truyền rõ trên mạng. Để khắc phục nhược điểm này thì cơ chế xác thực
sử dụng lệnh APOP được sử dụng trong giao thức POP3. Phương pháp xác thực này cho
phép cả xác thực và bảo vệ replay bằng cách không gửi mật khẩu ở dạng rõ trên mạng.
Một server cài đặt lệnh APOP sẽ gửi kèm một timestamp vào trong lời chào
(greeting) tới client (greeting được gửi khi kết nối TCP được thiết lập giữa POP3 client
và PO3 server). Dạng của timestamp được mô tả trong RFC 822 và chúng phải khác nhau
mỗi lần POP3 server gửi lời chào tới client. Ví dụ, trên ứng dụng UNIX, mỗi tiến trình
riêng biệt được sử dụng cho timestamp của một POP3 server, cú pháp của timestamp có
thể là:
<process-ID.clock@hostname>
Trong đó 'process-ID' là số hiệu tiến trình (PID), clock là clock của hệ thống và
hostname là tên miền đầy đủ.
POP3 client sẽ lấy timestamp này (bao gồm cả dấu ngoặc nhọn) cùng với bí mật
dùng chung mà chỉ client và server được biết (mật khẩu truy nhập mailbox của người
dùng) để tính toán tham số disgest sử dụng giải thuật MD5. Sau đó gửi lệnh APOP với
các tham số đi kèm tới server.
Khi POP3 server nhận lệnh APOP, nó kiểm tra disgest đó. Nếu disgest đúng, thì
POP3 server sẽ đáp lại tới client thành công (+OK) và phiên PO3 vào trạng thái
TRANSACTION. Trái lại, server sẽ thông báo lỗi tới client và phiên POP3 vẫn ở trạng
thái AUTHORIZATION.
Ví dụ:
S: +OK POP3 server ready [email protected]>
C: APOP mrose c4c9334bac560ecc979e58001b3e22fb
S: +OK maildrop has 1 message (369 octets)
Trong ví dụ này bí mật dùng chung là chuỗi 'tanstaaf'. Do đó đầu vào của giải thuật
MD5 này là chuỗi <[email protected]>tanstaaf
Đầu ra có giá trị là c4c9334bac560ecc979e58001b3e22fb
Các lệnh trong trạng thái TRANSACTION
Các lệnh trong trạng thái TRANSACTION là: STAT, LIST, TOP, NOOP, RETR,
DELE, UIDL, QUIT và RSET
STT Tên lệnh Cú pháp Mô tả
1 STAT STAT Lệnh STAT được sử dụng để nhận số tổng
thông báo và tổng số byte của các thông báo
đó trong mailbox.
2 LIST LIST [msg] [msg] là số nhận danh thông báo
Lệnh LIST được sử dụng có hoặc không tham
số. Nếu không có tham số, LIST sẽ trả lại số
nhận danh và kích cỡ của mỗi thông báo trong
mailbox.
3 RETR RETR msg msg: là số nhận danh của thông báo
Server sẽ gửi toàn bộ thông báo tương ứng với
số nhận danh thông báo tới client
4 DELE DELE msg msg: là số nhận danh của thông báo
Lệnh DELE đánh dấu một thông báo để xoá.
Khi phiên làm việc kết thúc thì tất cả các thông
báo bị đánh dấu là xoá mới bị xoá hẳn.
5 RSET RSET msg msg: là số nhận danh của thông báo
Lệnh này thì ngược với lệnh DELE, tức là nó
được sử dụng để bỏ đánh dấu xoá thông báo
được thực hiện bởi lệnh DELE.
6 NOOP NOOP Lệnh này đơn giản chỉ là để kiểm tra kết nối
đến Server. Server sẽ đáp lại với mã trạng thái
+OK
7 TOP TOP msg
[n]
msg: là số nhận danh thông báo.
n: là số dòng
Nếu không có đối số [n] thì lệnh TOP sẽ lấy
header của thông báo được chỉ ra từ server.
Nếu có đối [n] thì TOP sẽ lấy herder của thông
báo cùng với n dòng của thông báo.
8 UIDL UIDL
[msg]
msg: là số nhận danh thông báo.
Nếu không có đối số [msg] thì lệnh UIDL sẽ
trả lại các nhận danh duy nhất của mỗi thông
báo (unique-id). Nếu có đối số [msg] thì UIDL
sẽ trả lại nhận danh duy nhất cho thông báo
đó. Nhận danh duy nhất của một thông báo là
một chuỗi gồm 1 đến 70 ký tự trong khoảng
0x21 đến 0x7E, nhận danh này là duy nhất cho
mỗi thông báo, nó được duy trì trong phiên
làm việc thậm chí phiên kết thúc mà không vào
trạng thái UPDATE.
9 QUIT QUIT Vào trạng thái UPDATE, kết thúc phiên
POP3.
2.4.2.3. Ví dụ về các lệnh sử dụng trong giao thức POP3
Trong các ví dụ dưới đây được thực hiện bởi sử dụng chương trình Telnet để thao tác với mailbox trên POP3 mail server. Máy trạm được cài đặt hệ điều hành Win98 và POP3 server cài MDEAMON.
Để chạy bắt đầu từ Start/Run gõ lệnh telnet <tên_pop_server> 110
Ví dụ1: Một phiên làm việc PO3 sử dụng các lệnh USER, PASS, STAT, LIST, NOOP, RETR, QUIT
Hình 2.3 Ví dụ phiên làm việc các lệnh POP3
Ví dụ 2: Một phiên làm việc PO3 sử dụng các lệnh USER, PASS, STAT, LIST,
UIDL, DELE, RSET, TOP, QUIT
Hình 2.4 Ví dụ phiên làm việc POP3
2.4.3. Giao thức truy nhập thông báo Internet (IMAP)
IMAP là một giao thức cho phép client truy nhập email trên một server, không chỉ
tải thông điệp thư điện tử về máy của người sử dụng (POP) mà có thể thực hiện các công
việc như: tạo, sửa, xoá, đổi tên mailbox, kiểm tra thông điệp mới, thiết lập và xoá cờ
trạng thái,...
IMAP được thiết kế trong môi trường người dùng có thể đăng nhập vào server
(cổng 143/tcp) từ các máy trạm khác nhau. Nó rất hữu ích khi việc tải thư của người dùng
không về một máy cố định, bởi không phải lúc nào cũng chỉ sử dụng một máy tính.
Trong khi đó POP không cho phép người sử dụng tác động lên các thông điệp trên server.
Đơn giản POP chỉ được phép tải thư điện tử của người dùng đang được quản lý trên
server, trong inbox của người sử dụng đó. Như vậy, POP chỉ cung cấp quyền truy nhập
tới inbox của người sử dụng mà không hỗ trợ quyền truy nhập tới pulbic folder (IMAP).
Sử dụng IMAP với các mục đích sau:
Tương thích đầy đủ với các chuẩn thông điệp Internet (ví dụ MIME).
Cho phép truy nhập và quản lý thông điệp từ nhiều máy tính
khác nhau.
Hỗ trợ cả 3 chế độ truy nhập: online, offline, và disconnected.
Hỗ trợ truy nhập đồng thời tới các mailbox dùng chung.
Phần mềm bên client không cần thiết phải biết kiểu lưu trữ file
của server.
2.4.3.1. Hoạt động của IMAP
Kết nối IMAP bao gồm: kết nối mạng cho client/server, khởi tạo trên server hay
gọi là "hello message", và những tương tác client/server tiếp theo. Những tương tác này
bao gồm: lệnh từ client, dữ liệu trên server, và trả lời trên server. Tương tác giữa IMAP
client và IMAP server thực hiện dựa vào các giao thức gửi/nhận của client/server. Cụ
thể sự tương tác được thể hiện như sau.
Giao thức gửi của client và nhận của server
Khi hoạt động, bên client gửi một lệnh, mỗi lệnh có một định danh (sắp xếp theo
alphabel, ví dụ: A00001, A00002) được gọi là một thẻ. Mỗi thẻ này được sinh từ phía
client cho từng lệnh khác nhau. Có 2 trường hợp dòng lệnh gửi từ phía client không được
coi là một lệnh: Thứ nhất, tham số lệnh được trích dẫn trong dấu ngoặc. Thứ hai, tham số
lệnh yêu cầu thông tin phản hồi từ phía server (xem lệnh AUTHENTICATE ở mục sau).
Trong từng trường hợp thì server gửi một thông tin trả lời (cho lệnh tiếp theo bên phía
client) nếu nó đã có các octet và phần lệnh còn lại tương ứng. Chú ý rằng đặt trước thông
tin trả lời là một dấu "+".
Nếu server nhận ra một lỗi dòng lệnh, thì nó gửi thông tin trả lời là BAD để huỷ bỏ
lệnh và chống việc gửi thêm lệnh từ phía client. Server có thể gửi một thông tin trả lời
cho nhiều lệnh khác nhau cùng một thời điểm (trong trường hợp gửi nhiều lệnh), hoặc dữ
liệu không gán thẻ. Trong trường hợp khác khi yêu cầu tiếp tục gửi lệnh đang chờ, thì
client thực hiện theo thông tin trả lời lệnh từ phía server và đọc thông tin trả lời khác từ
server đến. Trong tất cả các trường hợp, thì client phải gửi các thông tin hoàn thành lệnh
trước khi khởi tạo lệnh mới.
Giao thức nhận bên server đọc dòng lệnh từ phía client gửi sang, phân tích lệnh và
các tham số, sau đó truyền tải dữ liệu trên server và thông tin hoàn thành lệnh sang client.
Giao thức gửi của server và nhận của client
Dữ liệu đã truyền tải sang client và tất nhiên gồm cả thông tin trạng thái thông báo
chưa kết thúc lệnh (đặt trước là dấu "*", được gọi là không gán thẻ). Dữ liệu trên server
có thể được gửi theo lệnh từ phía client, hoặc có thể được gửi từ phía server mà không
cần theo lệnh từ phía client. Tất nhiên không có sự khác nhau về cú pháp giữa 2 cách gửi
này. Thông tin hoàn thành đáp lại từ phía server để chỉ ra rằng công việc thực hiện đã
hoàn thành hoặc bị lỗi. Nó được gán thẻ tương tự thẻ lệnh đã sử dụng cho các lệnh bên
phía client. Do vậy, nếu có nhiều hơn một lệnh thì thẻ sử dụng trong thông tin hoàn thành
lệnh từ phía server còn nhằm dùng để xác nhận sự tương ứng với lệnh mà nó cần thông
báo. Thông tin hoàn thành lệnh từ phía server sử dụng một trong 3 chuỗi sau: OK để
thông báo lệnh đã thực hiện thành công, NO để thông báo lệnh thực hiện lỗi, và BAD để
thông báo bị lỗi khi sử dụng giao thức (lệnh không được công nhận, hoặc cú pháp lệnh
sai).
Giao thức nhận của client đọc thông báo từ phía server gửi sang, sau đó nó thực
hiện theo thông báo đó dựa theo dấu hiệu (+, hoặc *) trên thông báo. Chú ý rằng, một
client phải chấp nhận bất kỳ thông báo nào đó từ phía server ở mọi thời điểm, bao gồm cả
dữ liệu của server mà nó đã yêu cầu. Dữ liệu của server được ghi lại, do đó client có thể
tham chiếu tới bản sao mà không cần gửi lệnh yêu cầu dữ liệu tới server. Nhưng điều này
chỉ thực hiện được khi dữ liệu của server đã được ghi lại.
2.4.3.2. Các lệnh IMAP
Trong mục này chúng tôi đưa ra danh sách lệnh IMAP, các lệnh này được tổ chức
theo trạng thái mà lệnh được phép thực thi. Các lệnh được phép với nhiều trạng thái,
nhưng ở đây chúng tôi chỉ đưa ra tối thiểu trạng thái mà lệnh được phép. Để xem chi
tiết về cú pháp chuẩn của các lệnh IMAP bạn tham khảo RFC 2062, 2060. Dưới đây
chúng tôi chỉ đưa ra các tham số, thông tin báo lệnh, thông báo hoàn thành lệnh, và mục
đích sử dụng của các lệnh này.
STT Mô tả lệnh
1 CAPABILITY
Các tham số: none
Phúc đáp: *: CAPABILITY
Kết quả trả về: OK hoặc BAD
Chức năng: Yêu cầu đưa ra danh sách các khả năng mà server hỗ trợ.
2 NOOP
Các tham số: none
Phúc đáp: không
Kết quả trả về: OK hoặc BAD
Chức năng: khởi tạo chu kỳ lấy hoặc cập nhật trạng thái thông điệp
hoặc khởi tạo bộ thời gian tự logout trên server.
3 LOGOUT
Các tham số: none
Phúc đáp: *: BYE
Kết quả trả về: OK hoặc BAD
Chức năng: thông báo ngắt kết nối.
4 AUTHENTICATE
Các tham số: tên kỹ thuật xác thực
Phúc đáp: dữ liệu yêu cầu
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Chỉ ra một kỹ thuật xác thực server (tham khảo RFC
1731). Nếu server hỗ trợ kỹ thuật này, thì nó thực hiện trao đổi giao
thức xác thực để xác thực và định danh client. Nếu kỹ thuật này
không được hỗ trợ bởi server, thì server huỷ bỏ lệnh này bằng cách
gửi lại thông báo NO.
5 LOGIN
Các tham số: mật khẩu, người dùng
Phúc đáp: none
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Định danh client đối với server và đưa mật khẩu dạng text
để xác thực người dùng.
6 SELECT
Các tham số: tên mailbox
Phúc đáp: *: FLAGS, EXITS, RECENT hoặc OK *: UNSEEN,
PERMANENTFLAGS.
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Chọn mailbox đã chỉ ra để truy nhập.
7 EXAMINE
Các tham số: tên mailbox
Phúc đáp: *: FLAGS, EXITS, RECENT hoặc OK *: UNSEEN,
PERMANENTFLAGS.
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Tương tự lệnh SELECT nhưng mailbox đã chọn là read-
only, không thể thay đổi thuộc tính PERMANENT của mailbox.
8 CREATE
Các tham số: tên mailbox
Phúc đáp: none
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Tạo mailbox với tên đã chỉ ra.
9 DELETE
Các tham số: tên mailbox
Phúc đáp: none
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Xoá mailbox đã chỉ ra.
10 RENAME
Các tham số: tên mailbox cũ, tên mailbox mới
Phúc đáp: none
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Đổi tên mailbox đã tồn tại thành tên mailbox mới.
11 SUBSCRIBE
Các tham số: tên mailbox
Phúc đáp: none
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Thêm mailbox vào tập các mailbox có trạng thái "active"
hoặc "subscribed" của server.
12 UNSUBSCRIBE
Các tham số: tên mailbox
Phúc đáp: none
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Xoá mailbox đã chỉ ra trong tập các mailbox có trạng thái
"active" hoặc "subscribed" của server.
13 LIST
Các tham số: tên tham chiếu, tên mailbox
Phúc đáp: *: LIST
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Trả về tập các tên client có hiệu lực.
14 LSUB
Các tham số: tên tham chiếu, tên mailbox
Phúc đáp: *: LSUB
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Trả về tập các tên người dùng có khai báo trạng thái
"active" hoặc "subscribed".
15 STATUS
Các tham số: tên mailbox, tên trạng thái dữ liệu
Phúc đáp: *: STATUS
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Yêu cầu các trạng thái dữ liệu cho mailbox đã chỉ ra.
16 APPEND
Các tham số: tên mailbox, [các cờ], [ngày/tháng], thông điệp
Phúc đáp: none
Kết quả : OK hoặc NO hoặc BAD
Chức năng: Nối thêm thông điệp vào cuối mailbox đích đã chỉ ra.
17 CHECK
Các tham số: none
Phúc đáp: none
Kết quả trả về: OK hoặc BAD
Chức năng: Yêu cầu điểm kiểm soát mailbox đã chọn (ví dụ, trạng
thái vùng nhớ của mailbox trên server).
18 CLOSE
Các tham số: none
Phúc đáp:
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Xoá vĩnh viễn tất cả các thông điệp có thiết lập cờ \Delete
của mailbox đã chọn, và trả về trạng thái đã xác thực.
19 EXPUNGE
Các tham số: none
Phúc đáp: *: EXPUNGE
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Xoá vĩnh viễn tất cả các thông điệp có thiết lập cờ \Delete
của mailbox đã chọn, và trả thông báo OK tới client.
20 SEARCH
Các tham số: OPTIONAL [CHARSET], tiêu chuẩn tìm kiếm
Phúc đáp: *: SEARCH
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Tìm kiếm các mailbox có tiêu chuẩn tìm kiếm đã
đưa ra.
21 FETCH
Các tham số: tập thông điệp, danh mục dữ liệu
Phúc đáp: *: FETCH
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Lấy dữ liệu đính kèm thông điệp trong mailbox.
22 STORE
Các tham số: tập thông điệp, danh mục dữ liệu, giá trị của danh mục
dữ liệu
Phúc đáp: *: FETCH
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Thay đổi dữ liệu đính kèm thông điệp trong mailbox.
23 COPY
Các tham số: tập thông điệp, tên mailbox
Phúc đáp: none
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Lệnh này sao lưu các thông điệp đã chỉ ra vào mailbox
đích đã xác định.
24 UID
Các tham số: tên lệnh, các tham số lệnh
Phúc đáp: *: FETCH, SEARCH
Kết quả trả về: OK hoặc NO hoặc BAD
Chức năng: Lệnh này thể hiện ở 2 dạng: Dạng thứ nhất, nó sử dụng
lệnh COPY, FETCH, hoặc STORE và các tham số của các lệnh tương
ứng. Dạng thứ 2, nó sử dụng lệnh SEARCH và các tham số của lệnh
này.
2.4.4. So sánh IMAP và POP
Như đã trình bày ở các mục trên thì điểm khác biệt giữa 2 giao thức nhận mail đó
là: POP được thiết kế xử lý mail ở chế độ "offline"; còn IMAP hỗ trợ cả 3 chế độ
"offline", "online", và "disconnected". Trong mục này chúng tôi sẽ so sánh một cách
ngắn gọn về các công nghệ POP và IMAP.
Đặc điểm chung về các công nghệ POP và IMAP
Hỗ trợ chế độ offline.
Mail được phân phối tới một Mail server đã chia sẻ (luôn được
kích hoạt).
Mail đến có thể nhận từ một máy client có nhiều kiểu platform
khác nhau.
Mail đến có thể nhận từ bất cứ nơi nào trong mạng.
Các giao thức rất rõ ràng và chuẩn theo các RFC đã được công bố
trên mạng.
Sử dụng hiệu quả trên nhiều phần mềm miễn phí (có cả source).
Cho các client trên máy PC, Mac, và Unix.
Sử dụng hiệu quả trên nhiều phần mềm thương mại.
Định hướng mạng Internet; không yêu cầu sử dụng SMTP mail gateway.
Các giao thức chỉ giải quyết vấn đề truy nhập; cả 2 đều có khả năng nhận các mail
được gửi dựa trên giao thức SMTP.
Hỗ trợ các ID thông điệp cố định (cho hoạt động "disconnected").
Ưu điểm của POP
Giao thức đơn giản hơn và dễ thực hiện hơn.
Có nhiều phần mềm client sử dụng hơn.
Ưu điểm của IMAP
Có thể thao tác các cờ trạng thái thông điệp trên server.
Có thể lưu trữ các thông điệp tương tự như khi lấy chúng.
Có thể truy nhập và quản lý nhiều mailbox.
Hỗ trợ cập nhật và truy nhập đồng thời tới các mailbox đã chia sẻ.
Có thể truy nhập dữ liệu không phải là mail: NetNews, documents,...
Cũng có thể sử dụng lược đồ offline để tối thiểu thời gian kết nối và không gian đĩa.
Có cả phần giao thức quản lý cấu hình người sử dụng.
Xây dựng tối ưu khả năng "online", đặc biệt cho các kết nối tốc độ thấp.
CHƯƠNG 3
AN TOÀN ỨNG DỤNG MÁY CHỦ TÍN VÀ NỘI DUNG
THƯ
3.1. An toàn ứng dụng máy chủ thư tín
3.1.1. Cài đặt máy chủ thư tín an toàn
Việc cài đặt và thiết lập cấu hình an toàn ứng dụng máy chủ thư đối với hệ điều
hành sẽ được bàn luận chi tiết hơn trong chương 5. Do vậy về tổng quan chúng ta có thể
chỉ cần quan tâm đến việc cài đặt và thiết lập cấu hình cho một số các dịch vụ được yêu
cầu đối với một máy chủ thư, và tạm bỏ qua những rủi ro có thể xuất hiện do chưa thực
hiện việc lấp lỗ hổng và cập nhật hệ thống.
Trong quá trình cài đặt thiết lập cấu hình cho máy chủ thư nếu thấy bất kỳ ứng
dụng, dịch vụ hay script nào không cần thiết nên loại bỏ ngay trước khi kết thúc quy trình
cài đặt.
Trong quá trình cài đặt máy chủ thư, những bước sau cần được thực hiện:
Cài đặt phần mềm máy chủ thư trên máy chủ chuyên dụng,
Cài đặt ở mức tối thiểu các dịch vụ Internet cần có.
Áp dụng các công nghệ lấp lỗ hổng và nâng cấp hệ thống để chống các
hiểm hoạ biết trước.
Tạo ra các phân vùng đĩa (logic hoặc vật lý) sử dụng cho việc cài đặt ứng
dụng thư.
Loại bỏ hoặc disable tất cả dịch vụ được cài đặt bởi ứng dụng chủ thư
không cần thiết (ví dụ: thư dựa trên Web, FTP, tiện ích quản lý từ xa, ...)
Loại bỏ tất cả những tiện ích không rõ nguồn gốc khỏi máy chủ thư.
Loại bỏ tất cả tiện ích được sử dụng làm ví dụ hoặc các công cụ đã được sử
dụng để test khỏi máy chủ thư.
Áp dụng các cơ chế an toàn có sẵn đối với một server
Thiết lập lại cấu hình cho các giao thức SMTP, POP, và IMAP.
Loại bỏ các lệnh không cần thiết hoặc có thể gây nguy hiểm cho máy chủ
thư (Ví dụ, VRFI và EXPN)
3.1.2. Cấu hình an toàn ứng dụng máy chủ thư tín
Hầu hết các hệ điều hành trên các máy chủ thư đã cung cấp khả năng phân quyền
cho việc truy nhập đến hệ thống các file, các thiết bị, và nguồn tài nguyên trên máy chủ
đó. Bất cứ nguồn tài nguyên nào trên máy chủ mà mail server có thể truy nhập đến đều là
tiềm năng có thể chia sẻ cho tất cả người sử dụng trong hệ thống thư tín. Phần mềm mail
server hỗ trợ bổ sung việc truy nhập đến các tệp tin, các thiết bị, và nguồn tài nguyên
nhằm quản lý và vận hành các hoạt động của nó. Quan trọng nhất là việc làm sao có thể
đồng nhất các quyền được thiết lập bởi hệ điều hành và chính bản thân phần mềm mail
server. Bên cạnh đó phải đảm bảo được rằng các đối tượng sử dụng mail không được trao
quá nhiều hoặc quá ít quyền.
Như vậy người quản trị máy chủ thư cần tìm ra phương pháp làm thế nào để thiết
lập cấu hình tốt nhất việc quản lý truy nhập để bảo vệ thông tin được lưu trữ trên máy chủ
thư công khai trong hai mối quan hệ dưới đây:
Hạn chế sự truy nhập của ứng dụng mail server tới các nguồn tài nguyên phụ của
máy tính.
Hạn chế sự truy cập của người sử dụng đến hệ thống thông qua các quyền bổ sung
được hỗ trợ bởi máy chủ thư, nơi mà những mức điều khiển truy nhập được thiết lập
chi tiết hơn.
Việc thiết lập cấu hình quản lý truy nhập có thể ngăn cấm các thông tin nhạy cảm,
riêng tư khỏi những hiểm hoạ khi một máy chủ thư được công khai hoá. Hơn nữa, quản
lý truy nhập có thể được sử dụng nhằm giới hạn việc sử dụng nguồn tài nguyên trong
trường hợp máy chủ thư bị tấn công từ chối dịch vụ (DoS).
Những đối tượng điển hình trên máy chủ thư cần được quản lý truy nhập bao gồm:
– Các tiện ích phần mềm và các tệp cấu hình của phần mềm mail server.
– Các hệ thống file trực tiếp liên quan đến cơ chế bảo mật:
Các tệp lưu giá trị băm của mật khẩu và các tệp được sử dụng cho
việc xác thực.
Các tệp chứa thông tin uỷ quyền được sử dụng trong việc quản lý truy
nhập
Các thông tin về khoá mã phục vụ cho việc đảm bảo tính bí mật, toàn
vẹn và chống chối bỏ.
– Các tệp chứa thông tin kiểm toán và nhật ký của server
– Các phần mềm hệ thống khác và tệp cấu hình của chúng
Đảm bảo rằng ứng dụng mail server chỉ hoạt động như một đối tượng (nhóm hoặc
một thực thể đơn lẻ) với các quyền truy nhập được quản lý một cách chặt chẽ. Bởi vậy,
việc định danh mới người dùng, nhóm người dùng được thực hiện bởi phần mềm máy
chủ thư cũng cần được quản lý bởi hệ thống. Việc tạo mới người dùng, nhóm người dùng
cần độc lập và duy nhất đối với người dùng hoặc nhóm người dùng khác. Đây là điều
kiện quyết định nhằm thực thi việc quản lý truy nhập sẽ được mô tả trong những bước
tiếp theo. Mặc dù ban đầu máy chủ có thể được khởi tạo với quyền cao nhất (quyền root
đối với hệ thống Unix, hay quyền quản trị đối với các hệ thống Windows NT/2000/XP),
tuy nhiên không nên cho phép server tiếp tục chạy với mức quản lý truy nhập trên.
Bên cạnh đó cần sử dụng chính hệ điều hành của máy chủ thư để hạn chế việc truy
nhập đến hệ thống tệp bởi các tiến trình hay các dịch vụ thư. Các tiến trình trên chi được
phép truy nhập với quyền read-only đến các tệp cần thiết trong việc thực thi các dịch vụ
mail, và không có quyền truy nhập đến các tệp khác, chẳng hạn như các tệp nhật ký của
server. Sử dụng hệ điều hành trên máy chủ thư để quản lý:
Những tệp tạm (temporary files) được tạo ra bởi ứng dụng máy chủ thư bị giới hạn
trong các thư mục phụ tương ứng.
Việc truy nhập đến các tệp tạm được thiết lập bởi ứng dụng máy chủ thư cũng bị
giới hạn đối các tiến trình khác của mail server.
Cũng cần thiết phải đảm bảo rằng mail server không thể lưu các tệp ngoài các cấu
trúc tệp đã được xác định bởi mail server. Điều này có thể được cấu hình trên chính mail
server hoặc cấu hình hệ điều hành trong việc quản lý tất cả các tiến trình chạy trên máy
chủ. Phải đảm bảo được rằng các thư mục và các tệp (bên ngoài cây thư mục đã được xác
định) không thể bị truy nhập, ngay cả khi người dùng biết được đường dẫn của chúng.
Trên các máy chủ Unix và Linux, nên sử dụng "chroot jail" cho ứng dụng mail
server. Sử dụng chroot thay đổi view của mail server trên hệ thống file của máy chủ, cụ
thể là thư mục root được hiển thị sẽ không phải là thư mục root thực sự của hệ thống mà
nó chỉ là một phần con của thư mục root hệ thống. Bởi vậy, nếu mail server đánh sập, kẻ
tấn công chỉ có thể truy nhập trong giới hạn phần con của hệ thống file trên máy chủ. Đây
là một hình thức nâng cao độ an toàn rất hiệu quả.
Nhằm giảm ảnh hưởng của các loại tấn công DoS, nên thiết lập cấu hình máy chủ
thư nhằm hạn chế số lượng nguồn tài nguyên hệ thống mà trong quá trình vận hành có thể
gây tổn hại.
Dưới đây là một vài ví dụ:
Cài đặt hộp thư của người sử dụng trên các ổ cứng hoặc các phân vùng
logic khác nhau hơn là trên chính hệ điều hành hay ứng dụng máy chủ thư.
Giới hạn cho phép dung lượng đính kèm.
Bảo đảm các tệp nhật ký sẽ được lưu trữ ở vị trí với dung lượng
phù hợp.
Những thao tác trên nhằm chống lại các tấn công làm tràn hệ thống tệp trong quá
trình vận hành máy chủ thư dẫn đến máy chủ thư bị đánh sập. Ngoài ra, phương pháp trên
còn có thể chống lại các tấn công kiểu chiếm dụng khả năng truy nhập ngẫu nhiên đến bộ
nhớ sử dụng các tiến trình không mong muốn làm cho tốc độ xử lý của hệ thống chậm lại
hoặc thậm chí bị phá huỷ, và như vậy làm cho mail server mất đi tính sẵn sàng. Các thông
tin nhật ký được sinh bởi hệ thống trên đó cài đặt mail server sẽ giúp người quản trị có
thể nhận ra các kiểu tấn công dạng này.
3.2. Bảo vệ thư tín điện tử khỏi mã phá hoại
Thư điện tử đã và đang được sử dụng như một công cụ cho việc gửi các tệp dữ liệu
dạng nhị phân dưới hình thức các tệp đính kèm. Ban đầu, chúng không gây ra các rủi ro
cho sự an toàn bởi vì các tệp đính kèm thường chỉ là các tài liệu hoặc các tệp hình ảnh
dung lượng nhỏ. Ngày càng có nhiều tổ chức, cá nhân sử dụng thư điện tử cho cho việc
giao dịch hàng ngày, dung lượng và kiểu định dạng của các tệp đính kèm từ đó mà cũng
ngày một gia tăng. Ngày nay, rất nhiều thư điện tử được gửi với các tệp đính kèm là các
chương trình chạy, tranh ảnh, nhạc và âm thanh. Vấn đề đặt ra ở đây là loại tệp đính kèm
nào được phép, hay một tệp với định dạng bất kỳ nào đó cũng có thể được trao đổi qua
thư điện tử dưới dạng tệp đính kèm.
Quyết định khi nào thì cho phép đính kèm có thể là một quyết định không phải dễ.
Không cho phép gửi theo các tệp đính kèm trong thư điện tử sẽ làm đơn giản hoá một hệ
thống và làm cho hệ thống an toàn hơn; Tuy nhiên, sẽ làm giảm sự hữu dụng vốn có của
hệ thống thư tín điện tử. Nói chung việc cho phép đính kèm là một nhu cầu thực tế của
người sử dụng. Tuy nhiên, người quản trị hệ thống thư cần xác định trước các kiểu định
dạng dữ liệu sẽ được cho phép đính kèm.
Cách tiếp cận đơn giản nhất là cho phép đính kèm tất cả các loại tệp. Nếu như vậy,
cần cài đặt các bộ quét virus trên đường truyền thư điện tử nhằm lọc bỏ các mã phá hoại,
thậm chí có thể phải sử dụng các tiện ích ở phía client nhằm cấm các hoạt động xuất phát
từ các đính kèm dạng chương trình chạy.
Một cách tiếp cận tốt hơn đó là lọc các kiểu đính kèm là tiềm năng có thể gây nguy
hiểm cho hệ thống (các tệp đính kèm có phần mở rộng vbs, ws, wsc chẳng hạn) ở ngay
mail server hoặc trên mail gateway, kết hợp với việc quét virus đối với các tệp cho phép
đính kèm.
Vi-rút có thể được truyền qua các thư điện tử theo dạng vi-rút thư hoặc là vi-rút
đính kèm. Nếu một máy chủ thư không được cài đặt phần mềm chống vi-rút, hoặc đã
được cài đặt nhưng phần mềm chống virus hoạt động không hiệu quả, khả năng đe doạ sự
an toàn cho người sử dụng đầu cuối sẽ tăng lên. Một số phần mềm thư điện tử máy trạm
phổ biến hiện nay có nguy cơ cao trong việc lây nhiễm và truyền các vi rút sinh ra từ thư
điện tử. Các loại virut trên là đặc trưng cho kết quả hỗ trợ các nội dung tích cực của các
trạm thư điện tử, chẳng hạn các thông điệp HTML. Việc ngăn cấm hoặc cho phép các nội
dung có tính hoạt động như trên cần được thực hiện bởi các nhà xây dựng các ứng dụng
thư điện tử.
Nhiều loại nội dung có thể được xem là nội dung hoạt động. Điển hình là các nội
dung dưới dạng các script hoặc các control object. Các kiểu nội dung hoạt động phổ biết
nhất được biết đến hiện nay là ActiveX, Java, JavaScrip, và Visual Basic Script. Các vi
rút dưới dạng nội dung hoạt động và mã phá hoại có thể ảnh hưởng đến MUA. Để khắc
phục điều đó, người quản trị nên cấu hình nhằm quản lý chặt chúng và đưa ra nhưng
thông báo cho người sử dụng đầu cuối.
3.2.1. Quét Virus
Chống sự phá hoại xuất phát từ nội dung hoạt động chỉ là bước đầu tiên nhằm bảo
vệ người sử dụng đầu cuối. Bước tiếp theo là bảo vệ việc sinh virus từ những tệp đính
kèm. Để bảo vệ khỏi virut và các mã nguy hiểm khác, nhất thiết phải thực thi việc quét
virus tại một hay nhiều khâu trong quá trình phân phối thư điện tử. Việc quét virut có thể
được thực hiện trên bức tường lửa nơi dữ liệu thư điện tử bắt đầu vào mạng của một cơ
quan hay tổ chức nào đó, ngay trên máy chủ thư điện tử hay trên các máy trạm của người
sử dụng đầu cuối. Mỗi lựa chọn có điểm mạnh và điểm yếu riêng. Nếu nguồn tài nguyên
cho phép, việc sử dụng nhiều hơn một sự lựa chọn ở trên sẽ đem lại sự an toàn cao hơn.
Việc quét virut tại bức tường lửa hay tại các khâu truyền thư trung gian là một lựa
chọn phổ biến. Trong trường hợp này, bức tường lửa hay các khâu trung gian sẽ chặn các
thông điệp thư điện tử trước khi chúng đến được máy chủ thư điện tử của một tổ chức
hoặc một công ty nào đó. Chương trình quét virus trên bức tường lửa sẽ thực hiện quét
các thông điệp trên, nếu không phát hiện ra có virus thông điệp thư điện tử sẽ được
chuyển đến máy chủ thư của tổ chức hay công ty đó để phân phát. Bức tường lửa nghe
trên cổng TCP 25 cho kết nối SMTP, nhận các thông điệp, quét virut rồi chuyển chúng
đến máy chủ thư điện tử được cấu hình để nghe trên cổng nào đó chứ không nhất thiết
là cổng 25 như thông thường. Một bất lợi của phương án này là việc quét liên tục dòng
dữ liệu SMTP có thể giảm hiệu suất làm việc của bức tường lửa. Để khắc phục điều này
là chuyển chức năng quét virut sang một máy chủ chuyên dụng khác.
Hình 3.1 Mô hình quét virus trên Firewall
Dưới đây là một số lợi ích quét virut cho thư điện tử tại bức tường lửa:
Thư điện tử có thể được quét virut theo cả hai hướng (trong và ngoài mạng
của một tổ chức hoặc công ty nào đó)
Virut có thể bị chặn lại trước khi xâm nhập mạng.
Có thể quét virut các thư vào mạng mà không cần thay đổi lớn cấu hình
máy chủ thư điện tử hiện tại.
Có thể quản lý tập trung việc quét virut để đảm bảo sự tuân thủ chính sách
an toàn của tổ chức
Các bức tường lửa thường hỗ trợ nhiều giao thức khác nhau, vì vậy chúng
ta có thể sử dụng chương trình quét virus cho các giao thức khác (ví dụ
như HTTP, FTP).
Nhược điểm của việc cài đặt trình quét virut trên bức tường lửa:
Yêu cầu sửa đổi lớn cấu hình máy chủ thư điện tử hiện tại khi quét virut
cho thư điện tử theo hướng ra ngoài mạng.
Không thể quét virut các thư điện tử đã mã hoá
Không bảo vệ được người sử dụng nội bộ khi xuất hiện virus ở mạng trong
của công ty hay tổ chức trừ khi mạng được cấu hình để tất cả dòng dữ liệu
truyền qua giao thức SMTP được định tuyến qua một bộ quét chuyên dụng
trước khi đến máy chủ thư điện tử của công ty hay tổ chức đó.
Yêu cầu máy chủ có cấu hình cao để chịu tải.
Lựa chọn thứ hai là cài đặt trình quét virut cho thư điện tử trên chính máy chủ thư
điện tử. Lựa chọn này rất hữu ích cho việc bảo vệ thư điện tử khỏi các virut được người
sử dụng trong mạng nội bộ gửi cho người sử dụng ở một mạng khác vì các thông điệp đó
thường không được bức tường lửa quét virus.
Bất lợi chủ yếu của quét virut trên máy chủ thư điện tử là tác động tiêu cực đến hiệu
suất làm việc của máy chủ thư điện tử do yêu cầu phải quét tất cả các thông điệp. Một bất
lợi nữa là việc quét virut trên máy chủ thư điện tử thường yêu cầu biến đổi lớn về cấu
hình máy chủ thư điện tử hiện tại.
Hình 3.2 Mô hình quét virus trên chính máy chủ thư
Dưới đây là một số ưu nhược điểm của phương án này.
Ưu điểm:
Thư điện tử có thể được quét virut theo cả hai hướng (trong và ngoài)
Có thể thực hiện việc quản lý trung tâm để đảm bảo tuân thủ chính sách
bảo mật của tổ chức.
Có thể bảo vệ người sử dụng nội bộ khi có một virut trong mạng nội bộ
của tổ chức hay công ty
Nhược điểm:
Quét virut yêu cầu biến đổi lớn về cấu hình máy chủ thư điện tử
hiện tại.
Không thể quét virut được các thư điện tử đã được mã hoá.
Yêu cầu máy chủ thư phải có cấu hình cao khi sử dụng cho công ty hay tổ
chức có nhiều người sử dụng.
Các phần mềm thư điện tử server như Microsoft Exchange và các phiên bản mới
của Sendmail đã hỗ trợ việc tích hợp quét virut tại máy chủ thư điện tử. Bắt đầu từ
Exchange phiên bản 5.5, Service Pack 3, và Microsoft Exchange 2000, Microsoft đã tạo
ra một giao diện lập trình ứng dụng chống virut (AVAPI) được thiết kế để plug-in các
trình quét virut. Microsoft Exchange có thể được mở rộng để tạo các chức năng như: quét
virut trong các tệp đính kèm, quét toàn bộ hộp thư, phát hiện và loại bỏ virus, .... Nhiều
chương trình quét virut plug-in cho Microsoft Exchange có khả năng chặn các loại tệp
đính kèm dựa trên các tên file hay mở rộng của file. Ví dụ, để giới hạn khả năng lây
nhiễm các virut macro, một tổ chức có thể chặn tất cả các loại file Microsoft Office thông
thường như .doc, .dot, và .xls.
Sendmail phiên bản 8.10 hoặc cao hơn cung cấp các API quản lý cho phép tích hợp
các trình quét virut và phần mềm lọc nội dung trong MTA. Chú ý rằng, với bất kỳ một
phần mềm quét virus nào thì các các nhà quản trị máy chủ thư điện tử cũng cần phải cập
nhật danh sách virus mới nhất.
Dù lựa chọn phương án quét virus trên bức tường lửa hay trên chính các máy chủ
thư điện tử, chúng ta cần:
Phát hiện và quét tất cả các virut đã biết và các loại mã nguy hiểm khác.
Hỗ trợ quét thông minh (trợ giúp một số biện pháp bảo vệ khỏi các virut
mới hoặc chưa được biết)
Trợ giúp việc lọc nội dung
Kết hợp với cơ chế ngăn ngừa khả năng phá vỡ hệ thống bởi các nguy cơ
khác
Dễ dàng trong việc quản lý
Hỗ trợ việc cập nhật tự động
Cập nhật thường xuyên (yếu tố bắt buộc)
Có thể định danh và áp dụng quy tắc cho các loại nội dung khác nhau
Một lựa chọn nữa là cài đặt trình quét virut trên các máy trạm, tức trên chính các
máy của người sử dụng đầu cuối. Thư điện tử được quét khi người sử dụng mở. Ưu điểm
lớn của phương án này là việc quét virut được phân tán trên nhiều máy, do đó sẽ có ảnh
hưởng rất ít đến hiệu suất làm việc của mỗi hệ thống riêng.
Hình 3.3 Quét vi rút được thực hiện trên các trạm của người sử dụng.
Thách thức lớn nhất trong việc thực hiện quét vi rút trên các trạm của người sử dụng
là rất khó quản lý các trình quét virut, đặc biệt là trong việc quản lý tập trung và việc cập
nhật. Tuy nhiên, hiện tại đã có các giải pháp hỗ trợ việc quản lý tập trung các bộ quét vi
rút trên các máy khác nhau. Một điểm yếu khác là người sử dụng sẽ là người kiểm soát
bộ quét vi rút; như vậy họ có thể tự mình vô hiệu hoá một số hoặc tất cả chức năng của
nó (có thể do ngẫu nhiên hay vô tình).
Lợi ích của việc quét virus trên các máy khách:
Không yêu cầu bất kỳ sửa đổi nào trên mail server
Có thể quét các thư điện tử được mã hoá khi người sử dụng giải mã chúng
Việc quét virus được phân tán trên nhiều máy và do đó hạn chế tối đa ảnh
hưởng của việc quét đối với máy chủ.
Cung cấp khả năng bảo vệ cho những người sử dụng bên trong thậm chí
khi nguồn gốc của virus xuất phát từ một người sử dụng bên trong.
Các bất lợi khi quét vi rút máy khách như sau:
Khó quản lý tập trung
Những người sử dụng có thể cập nhật chậm các bộ quét vi rút, dẫn đến
việc ảnh hưởng đến cả một tập thể
Người sử dụng có thể loại bỏ các chức năng của trình quét virus
Chỉ quét các thông điệp vàoKhông xử lý được virus trên bức tường lửa
hoặc trên máy chủ thư điện tử trung tâm.
Sẽ là hiệu quả nếu thực hiện ít nhất hai phương án quét vi rút mà chúng ta đã biết
đến ở trên. Lựa chọn an toàn nhất là thực hiện một bộ quét vi rút trung tâm hoá (hoặc tại
bức tường lửa, hoặc trên máy chủ thư) kết hợp với phương án quét virus trên các máy của
người sử dụng đầu cuối. Như vậy chúng ta sẽ có nhiều tầng bảo vệ và kết hợp được các
ưu điểm của các phương án trên
Có lẽ quan trọng nhất là việc khuyến cáo người sử dụng về sự nguy hiểm của các vi
rút nhiễm thư điện tử, mã phá hoại, để họ:
Không bao giờ mở các tệp đính kèm được gửi từ những địa chỉ không rõ
ràng.
Không bao giờ mở các tệp đính kèm khi nghi ngờ chúng có virus (ví dụ
các tệp đính kèm có tên: attachment.txt.vbs, attachment.exe).
Nghi ngờ các thư điện tử từ những người gửi quen biết mà dùng tiêu đề
hoặc nội dung không phù hợp với mối quan hệ hiện tại ( ví dụ: một bức thư
điện tử với tiêu đề : " Anh yêu em" từ một đồng nghiệp bình thường) hoặc
các chủ đề chung chung( ví dụ: "hãy bấm vào đây")
Quét tất cả các tệp đính kèm bằng một bộ quét vi rút trước khi mở, bằng
cách cấu hình bộ quét vi rút để nó có thể thực hiện một cách tự động nhiệm
vụ này.
Cập nhật cơ sở dữ liệu virus của một bộ quét vi rút hàng ngày, hàng tuần
hoặc khi xuất hiện virus mới.
Một sự quan tâm khác liên quan đến các tệp đính kèm là dung lượng vốn có của nó.
Do các yêu cầu trong việc xử lý và lưu trữ đối với các thông điệp có dung lượng lớn, các
máy chủ xử lý thư sẽ đưa ra dung lượng tối đa để được chấp nhận đối với một thông điệp
thư tín điện tử. Khi một tệp nhị phân (như tệp ảnh) được đính kèm vào thông điệp thư
điện tử, nó sẽ không được gửi như định dạng ban đầu mà nó sẽ được mã hoá dưới định
dạng mới. Như đã đề cập trong chương 1, các tệp đính kèm dưới dạng nhị phân được
chuyển thành dạng Base64. Khi chuyển sang định dạng này sẽ làm tăng 33% dung lượng
của thông điệp thư điện tử. Như vậy một thông điệp chỉ gồm phần tiêu đề cơ bản và tệp
đính kèm 1MB sẽ trở thành một thông điệp với dung lượng xấp xỉ 1.33MB.
Thực hiện giới hạn dung lượng sẽ đem lại lợi ích cho máy chủ thư như:
Giảm độ trễ trong việc phân phối thư điện tử
Giảm yêu cầu lưu trữ
Giảm yêu cầu đối với cấu hình của máy chủ.
3.2.2. Lọc nội dung
Trên thực tế, việc lọc nội dung làm việc theo nguyên lý tương tự thực hiện quét vi
rút trên bức tường lửa hoặc máy chủ thư. Về bản chất, đây là quá trình thực hiện việc tìm
một đặc tính nào đó có xuất hiện trong nội dung thư hay không. Khi thực thi việc quét
virus hoặc ngăn cấm một loại tệp nào đó (căn cứ vào phần mở, tên tệp hay định dạng tệp)
thì chỉ đảm bảo được một mức độ an toàn nào đó. Thực tế đã chứng minh khả năng gây
tổn hại cho hệ thống xuất phát từ các nội dung thư và các tệp đính kèm còn lớn hơn nhiều
so với virus hay các loại mã phá hoại khác. Chính vì thế, một số biện pháp lọc nội dung
cần được triển khai đối với một hệ thống thư điện tử.
Nói chung, các quy tắc được định nghĩa nhằm cách ly, làm sạch, ngăn chặn hoặc
xoá bất kỳ dữ liệu nào đi qua máy chủ cần căn cứ vào kết quả của quá trình quét.
Dưới đây là một số thành phần tiêu biểu có thể bị chặn và xử lý bởi các bộ lọc:
Thư điện tử chứa nội dung đáng ngờ (Ví dụ: Active X, JavaScript), chúng
sẽ được gỡ bỏ phần mã gây nên sự nghi ngờ trước khi chuyển đến người sử
dụng.
Thư dạng bom thư có thể bị xoá
Các tệp có dung lượng lớn có thể bị dừng phân phát tại các giờ không cao
điểm (tại thời điểm lượng dữ liệu giao dịch nhiều).
Một đặc điểm chính nữa của các gói lọc nội dung là cho phép việc quét dữ liệu được
gửi ra bên ngoài mạng. Việc phân tích từ vựng có thể được thực hiện, như vậy sẽ quét
được các thông điệp chứa từ và cụm từ được xem là tương ứng với chức năng sử dụng
thư điện tử của một tổ chức hay công ty nào đó. Việc phân tích từ vựng cũng có thể được
sử dụng nhằm lưu lại các thông tin trao đổi qua thư điện tử có nội dung chống lại công ty,
hoặc các thư có mục đích tấn công theo kiểu bom thư xuất phát từ tổ chức hay công ty
đó. Mặt khác, việc phân tích từ vựng còn có thể được sử dụng để quản lý các thông tin
nhạy cảm của một công ty hay tổ chức, khi chúng có nguy cơ bị rò rỉ theo đường thư điện
tử.
Trước khi thực hiện giải pháp lọc, cần phải xác định được tình trạng hoạt động hiện
tại của mạng và các ứng dụng trên mạng. Công việc này có thể được thực hiện nhờ các
công cụ phân tích mạng (Sniffer); phân tích router, bức tường lửa và các tệp nhật ký của
máy chủ. Ngoài ra thông tin về tình trạng hoạt động của mạng có thể nhận được từ chính
những người quản lý mạng đó. Bên cạnh đó cũng cần phân tích chính sách an toàn hiện
tại đã được thiết lập hệ thống (hoặc một chính sách an toàn đã được phác thảo trước
nhưng chưa được thực thi). Việc xác định một cách rõ ràng các chính sách an toàn là một
yếu tố rất quan trọng trong việc chuyển các mục tiêu an toàn của một tổ chức hay công ty
thành các quy tắc lọc. Một vấn đề cũng cần được quan tâm và việc thiết lập các thuộc tính
lọc phải được thực hiện một cách chính xác, nếu không sẽ dẫn đến tình trạng các nội
dung cần lọc lại không được lọc, trong khi các thông tin hoàn toàn hợp lệ lại bị chặn bởi
các bộ lọc.
Hiện tại có nhiều ứng dụng lọc nội dung khác nhau có thể hỗ trợ cho hầu hết các hệ
thống truyền thông điệp thư điện tử. Một bộ lọc nội dung được xem là hiệu quả nhất là bộ
lọc có thể lọc được tất cả các thư đi và đến một mạng của một công ty hay tổ chức nào
đó. Nhiều sản phẩm mới đã kết hợp được các chức năng như lọc nội dung, quét vi rút và
hạn chế kiểu tệp được phép gửi qua thư điện tử. Việc kết hợp các tính năng trên trong
cùng một sản phẩm sẽ giúp giảm nhẹ việc quản trị cơ chế an toàn của một mạng.
3.2.3. Các vấn đề liên quan đến lọc nội dung
Mặc dù việc lọc nội dung thư điện tử rất quan trọng đối với cơ chế an toàn mạng
của các tổ chức, tuy nhiên các qui tắc pháp lý cần được đưa ra trước khi thực hiện các qui
tắc lọc. Bên cạnh việc thực hiện lọc nội dung trên mạng thực tế cần có những văn bản
pháp lý đi kèm xác định rõ ràng cơ chế an toàn cho tổ chức. Chính sách sử dụng an toàn
thư điện tử nên được in thành văn bản một cách rõ ràng, thư điện tử sẽ bị theo dõi, quản
lý và sẽ có những chế tài tương ứng đối với những thư điện tử có thể làm phương hại đến
lợi ích của tổ chức. Văn bản qui định các chính sách an toàn trên cần được người thực thi
hiểu và thực hiện theo. Mặc dù chính sách an toàn chung có thể được thực hiện nhưng
vấn đề bảo đảm cho những thông tin cá nhân của mỗi đối tượng trong tổ chức đó cũng
cần được quan tâm. Ví dụ, trong một số trường hợp mỗi cá nhân có quyền giữ bí mật về
thông tin trong các thư điện tử riêng của mình. Vậy cơ chế an toàn chung của công ty
phải chịu trách nhiệm về việc có thể rò rỉ các thông tin trên. Nếu không có chính sách cụ
thể cho vấn đề này, rất dễ dẫn đến sự tranh chấp rất khó giải quyết.
Tương tự như vậy, trong một số tình huống, các thông điệp thư điện tử được xem
như có giá trị pháp lý tương đương như các chứng từ văn bản viết tay khi chúng được
ký chữ ký số. Điều này có nghĩa là các thông điệp thư điện tử (bao hàm cả thư điện tử
cá nhân) cần được lưu trữ và bảo quản theo đúng qui tắc quản lý các văn bản pháp lý
khác. Như vậy, mọi đối tượng thuộc tổ chức, công ty đó cần có nhận thức rõ ràng về
chính sách an toàn. Cụ thể hơn chính sách an toàn phải được chuyển tới tận tay đối
tượng người sử dụng trong công ty. Hơn nữa, nó còn được xem như một yêu cầu trong
hợp đồng lao động hoặc một điều kiện làm việc được quy định trong hợp đồng đối với
người sử dụng.
Các vấn đề có liên quan như cơ sở pháp lý, quyền cá nhân, quyền của người quản
trị, ... cần được xem xét một cách kỹ lưỡng trước khi xây dựng chính sách an toàn. Để
chắc chắn một điều rằng chính sách an toàn đã được các chuyên gia xem xét kỹ nhằm
đảm bảo tính chính xác về mặt pháp lý và không vi phạm quyền của người lao động. Bên
cạnh đó, cũng cần có sự phân hoạch rõ ràng các đối tượng và chức năng của họ trong
công ty để có thể đặt ra các an toàn cho phù hợp. Việc hạn chế sử dụng nguồn tài nguyên
trên Internet sẽ giúp cho việc thực hiện chính sách an toàn một cách triệt để, tuy nhiên
với xu thế hiện này yêu cầu trên là không hợp lý. Đây là nơi các công cụ lọc nội dung thư
có thể phát huy vai trò của mình.
3.3. Ngăn ngừa việc gửi thư hàng loạt
Ngày nay luôn có các đối tượng muốn khai thác các phương tiện truyền thông để
công khai hoá các ý tưởng hoặc sản phẩm của họ. Trong đó, thư điện tử không phải là
trường hợp ngoại lệ. Thuật ngữ chung nhất dùng cho các thông điệp kiểu này là thư điện
tử thương mại tự nguyện (UCE – Unsolicited Comercial Email) hoặc Spam. Hầu hết
người sử dụng thư điện tử đều ít nhất một lần nhận được các thư điện tử không mong
muốn trên. Để khắc phục hiện tượng trên các nhà quản trị có thể buộc phải quản lý lưu
lượng thư đi qua server. Lợi ích trong việc thực hiện kiểm soát UCE là giảm dung lượng
hộp thư từ đó giảm các yêu cầu về không gian lưu trữ trên các máy chủ thư.
Để kiểm soát các thông điệp UCE, các nhà quản trị cần phải giải quyết hai vấn đề
chính:
Đảm bảo rằng các UCE không được gửi từ các máy chủ thư mà họ quản lý.
Thực hiện việc kiểm soát các thông điệp thư điện tử đến, đây cũng chính
nội dung chính của mục này.
Vì Internet không có cơ quan nào có đủ thẩm quyền kiểm soát chung, nên các nhà
quản trị các máy chủ thư đã thiết lập ra các danh sách gồm các máy chủ thư thường được
sử dụng để gửi các thư điện tử kiểu spam. Các danh sách này được các nhà quản trị xem
là các danh sách đen mang tính mở (ORBs - Open Relay Blacklists). Nhiều ứng dụng
máy chủ thư phổ biến hiện nay có tính năng từ chối không nhận các thông điệp xuất phát
từ các ORBs nào đó. Các danh sách trên được cập nhật thường xuyên; do đó, máy chủ
được thiết lập cấu hình từ chối không nhận thư điện tử xuất phát từ các máy chủ có trong
danh sách đen sẽ làm giảm đi sự phiền toái mà spam có thể gây ra cho người sử dụng.
Dưới đây là trích dẫn phần nội dung của tệp cấu hình Sendmail nhằm quản lý các
ORB.
Bên cạnh đó, phần lớn các máy chủ thư có thể được cấu hình để từ chối việc nhận
các thông điệp điện tử được gửi đến từ một tập tên miền xác định nào đó. Dưới đây là
phần trích dẫn từ một tệp cấu hình truy nhập của sendmail có chức năng kiểm soát UCE
thông qua việc cho phép hoặc từ chối các thông điệp thư điện tử được chuyển tiếp từ một
tập tên miền nào đó.
.....
Feature ('dnsbl', relays.mail-abuse.org')
Feature ('dnsbl','input.orbs.org'
.....
local.com Relay # cho phép rơ le từ local.com
Spammers.net Reject # ngăn các thư từ spammers.net
(127.0.0.1) OK# bảo vệ thư từ máy chủ riêng này
3.4. Chuyển tiếp thư có xác nhận
Như được đề cập đến trong phần trước, việc thiết lập cấu hình xác thực các thư
chuyển tiếp sẽ làm giảm khả năng gửi thư hàng loạt qua một máy chủ thư. Một lợi ích
nữa trong việc xác thực các thư chuyển tiếp là làm tăng khả năng an toàn và tính khả
dụng của hệ thống.
Hiện có hai phương pháp được hỗ trợ việc quản lý các thư chuyển tiếp. Phương
pháp thứ nhất là kiểm soát các mạng con hoặc tên miền mà từ đó các thông điệp thư điện
tử được gửi đi. Phương pháp này rất hiệu quả trong trường hợp hệ thống thư điện tử được
thiết lập trong một dải địa chỉ cho trước. Tuy nhiên, nếu trong hệ thống có những người
dùng từ xa với các dải địa chỉ khác nhau thì việc áp dụng phương pháp này sẽ không
mang lại hiệu quả. Để giải quyết vấn đề người sử dụng từ xa, cần có một cấu hình mạnh
hơn.
Phương pháp thứ hai là yêu cầu người sử dụng tự xác nhận họ trước khi họ muốn
một thông điệp nào đó. Phương pháp này được gọi là chuyển tiếp thư có xác nhận hoặc
SMTP AUTH, là một mở rộng của giao thức SMTP nhằm hỗ trợ việc xác thực người sử
dụng. Nhưng rất tiếc rằng, cấu hình mặc định của hầu hết các máy chủ thư là không thực
thi việc xác nhận chuyển tiếp. Do đó, người quản trị máy chủ thư phải tự thiết lập cấu
hình chức năng này. Xác nhận chuyển tiếp là một trong các tính năng được sử dụng ít
nhất nhưng tác dụng trong việc nâng cao độ an toàn cho các máy chủ thư là rất lớn.
3.5. Truy nhập an toàn
Trong chương 1 chúng ta đã đề cập đến các giao thức truyền thư và truy nhập hộp
thư khác nhau. Giống như nhiều giao thức Internet khác, hầu hết các giao thức trên chưa
được tích hợp sẵn các chức năng mã hoá và xác thực. Việc chưa được tích hợp các tính
năng bảo mật và xác thực có thể dẫn đến ba vấn đề người sử dụng có thể gặp phải. Thứ
nhất, đối với người sử dụng gửi các thông điệp thư điện tử, nội dung của chúng có thể bị
chặn bắt và đọc bất hợp pháp trên đường truyền, thậm chí các nội dung đó có thể bị giả
mạo hoặc thay đổi. Thứ hai, người nhận không thể kiểm tra xuất xứ cũng như tính toàn
vẹn của các thông điệp thư điện tử. Thứ ba, nếu không sử dụng cơ chế thông tin xác thực
sử dụng một lần thì khi một người dùng truy nhập vào hộp thư của mình mọi thông tin
được sử dụng để đăng nhập được gửi dưới dạng rõ trên mạng, như vậy các đối tượng tấn
công có thể nghe lén và sử dụng lại. Hiện nay, cấu hình mặc định cho hầu hết các phần
mềm thư điện tử khách được thiết lập ở chế độ gửi mật khẩu rõ tạo điều kiện chặn bắt cho
các máy tính khác trong bản thân mạng cục bộ của người dùng hoặc bất kỳ một máy nào
đó có chức năng chuyển mật khẩu đến máy chủ thư điện tử có thể.
Vấn đề cuối cùng có thể được giải quyết thông qua việc áp dụng phương pháp
thường được sử dụng để bảo vệ dịch vụ Web - sử dụng giao thức bảo mật tầng vận tải
(TLS - Transport Layer Security). TLS được thiết kế dựa trên giao thức bảo mật tầng
socket phiên bản 3 (SSLv3 - Secure Socket Layer version 3). Chúng ta có thể sử dụng
TLS kết hợp với các giao thức POP, IMAP, và SMTP để bảo mật cho dữ liệu giao dịch
giữa các máy khách thư điện tử và máy chủ thư điện tử.
Dưới đây là một ví dụ trong tệp cấu hình của Sendmail, thiết lập việc sử dụng giao
thức TLS:
3.6. Truy nhập thư thông qua Web
Ngày càng có nhiều tổ chức cung cấp trình duyệt web có thể truy nhập vào hệ thống
thông điệp thư tín điện tử. Khả năng truy nhập thư điện tử thông qua giao diện Web cho
phép chúng ta thực hiện cơ chế an toàn cho cả phía client và phía máy chủ. Lĩnh vực bảo
đảm an toàn cho các trang Web nằm ngoài phạm vi của giáo trình này. Tuy nhiên khi sử
dụng giao diện Web để truy nhập đến hệ thống thư tín điện tử, chúng ta cần chú ý:
….
define ('CERT_DIR','MAIL_SETTING_DIR''certs')dnl
define('confCACERT_PATH','CERT_DIR')dnl
define('confCACERT','CERT_DIR/CAcert.pem')dnl
define('confSERVER_CERT','CERT_DIR/mycert.pem')dnl
define('confSERVER_KEY','CERT_DIR/mykey.pem')dnl
Không nên cài đặt cả phần mềm Web server và phần mềm mail server trên
cùng một máy chủ.
Cần thiết lập cơ chế bảo mật giao dịch Web sử dụng giao thức SSL/TLS.
3.7. Bảng liệt kê các danh mục
Đã thực hiện Công việc
Ứng dụng máy chủ thư tín
Cài đặt phần mềm mail server trên máy chủ
Cài đặt tối thiểu các dịch vụ Internet cần thiết
Áp dụng các biện pháp lấp lỗ hổng và cập nhật hệ thống nhằm
chống lại các điểm yếu
Loại bỏ hoặc làm mất tác dụng tất cả các dịch vụ đã được cài
đặt nhưng không cần thiết
Loại bỏ tất cả các tài liệu ra khỏi máy chủ
Áp dụng các cơ chế an toàn mẫu trên máy chủ
Thiết lập lại cấu hình các dịch vụ SMTP, POP và IMAP (và
các dịch vụ khác nếu cần thiết)
Làm mất tác dụng các lệnh mail không cần thiết hoặc nguy
hiểm (như VRFY, EXPN)
Thiết lập cấu hình hệ thống và điều khiển truy nhập mail
server
Giới hạn khả năng truy nhập của ứng dụng máy chủ thư đến
các nguồn tài nguyên khác của máy chủ
Giới hạn khả năng truy nhập từ người dùng thông qua cơ chế
điều khiển truy nhập bổ sung của máy chủ thư.
Thiết lập cấu hình ứng dụng máy chủ thư hoạt động như một
người dùng hoặc một nhóm có định danh riêng và duy nhất với
các điều khiển truy nhập nhất định
Đảm bảo rằng phần mềm máy chủ thư không được chạy với
vai trò là root hay người quản trị
Thiết lập cấu hình hệ thống để phần mềm máy chủ thư có thể
ghi các tệp nhật ký nhưng không thể đọc chúng
Thiết lập cấu hình hệ thống để các tệp tạm thời được tạo bởi
phần mềm máy chủ thư được lưu trên các thư mục được bảo
vệ
Thiết lập cấu hình hệ thống để ngăn cấm việc các tiến trình
máy chủ thư truy nhập đến các tệp tạm.
Đảm bảo rằng phần mềm máy chủ thư không thể lưu các tệp
ngoài thư mục đã được chỉ ra
Thiết lập cấu hình để phần mềm máy chủ thư chạy trong chế
độ chroot jail khi sử dụng môi trường Unix hoặc Linux
Cài đặt các hộp thư người dùng trên một đĩa cứng hoặc một
phân vùng logic riêng (không cùng trên phân vùng với hệ điều
hành và phần mềm máy chủ thư)
Giới hạn dung lượng của các tệp đính kèm trong một thư điện
tử
Đảm bảo rằng các tệp nhật ký sẽ được lưu trên vùng bộ nhớ có
dung lượng phù hợp
Nội dung và tệp đính kèm gây tổn hại
Cài đặt bộ quét vius trung tâm (trên gateway, firewall hoặc
trên chính máy chủ thư)
Cài đặt trình quét virus cho tất cả các máy trạm thư
Cập nhật cơ sở dữ liệu virus cho các bộ quét virus theo định kỳ
hoặc khi xuất hiện virus mới
Khuyến cáo người sử dụng về mức độ nguy hiểm của virus và
phương pháp làm giảm sự nguy hiểm của chúng
Thông báo đến người dùng nếu hệ thống có vấn đề
Thiết lập cấu hình bộ lọc nội dung để ngăn các thông điệp nghi
ngờ
Thiết lập cấu hình bộ lọc nội dung để ngăn các thông điệp
UCE
Thiết lập cấu hình phân tích từ vựng nếu cần thiết
Tạo chính sách lọc nội dung
Thiết lập cấu hình máy chủ từ chối các thông điệp chuyển tiếp
từ các địa chỉ trong danh sách đen
Thiết lập cấu hình máy chủ từ chối các thông điệp chuyển tiếp
từ tên miền được chỉ ra
Thiết lập cấu hình xác nhận chuyển tiếp
Thiết lập cấu hình sử dụng xác thực có mã hoá
Thiết lập cấu hình máy chủ thư hỗ trợ khả năng truy nhập qua
Web chỉ khi sử dụng SSL/TLS.
CHƯƠNG 4
AN TOÀN THƯ TRÊN MÁY TRẠM
Hàng ngày có hàng trăm, nghìn mail client truy nhập đến các máy chủ thư. Bởi vậy
dù cơ chế an toàn được thiết lập cho các máy chủ thư có cao đến đâu thì việc đảm bảo an
toàn bên phía client cũng là một vấn đề rất quan trọng đối với sự an toàn chung của hệ
thống. Trên nhiều khía cạnh, rủi ro đối với phía client là lớn hơn đối với máy chủ thư.
Nhiều đề xuất đã được đưa ra nhằm xem xét và giải quyết các mức an toàn cụ thể cho các
phần mềm thư máy trạm. Việc xác định rõ cơ chế an toàn cho các phần mềm thư máy
trạm cụ thể không được đề cập ở đây, mà chúng ta chỉ giới thiệu những gì chung nhất có
thể áp dùng cho hầu hết các phần mềm thư máy trạm.
4.1. Cài đặt, thiết lập cấu hình, sử dụng các ứng dụng trạm an toàn
4.1.1. Lấp lỗ hổng và cập nhật phần mềm trạm
Bước quan trọng nhất trong việc thiết lập cơ chế an toàn các phần mềm thư điện tử
máy trạm là đảm bảo rằng tất cả người sử dụng đang được sử dụng phiên bản mới nhất,
có độ an toàn cao nhất của phần mềm thư máy trạm với việc áp dụng tất cả công nghệ
lấp lỗ hổng cần thiết. Để định danh các điểm yếu của phần mềm thư máy trạm cụ thể
nào đó chúng ta có thể tham khảo từ trang Web http:// icat.nist.gov, của viện tiêu chuẩn
công nghệ (NIST) quốc gia Mỹ.
Dưới đây là danh sách các trang Web cung cấp các công cụ lấp lỗ hổng cho từng
loại phần mềm thư máy trạm:
Edura: http://www.edura.com/
Lotus Notes: http://www.lotus.com/home.nsf/welcome/downloads
Microsoft Outlook:http://www.microsoft.com/office/outlook/default.htm
Microsoft Outlook Express:http://windowsupdate.microsoft.com/
Netscape:http://home.netscape.com/smartupdate/
Việc cập nhật cho Outlook là khá phức tạp hơn bởi vì đây là một phần mềm thư
điện tử máy trạm hoạt động trong sự liên kết với trình duyệt Microsoft Internet Explorer.
Các cấu hình được thiết lập và điểm yếu của Internet Explorer có thể có sự ảnh hưởng tới
sự an toàn của Outlook; do vậy, bên cạnh việc cập nhật cho Outlook chúng ta cũng cần
thực hiện việc cập nhật cho cả Internet Explorer. Nếu việc chạy một phiên bản an toàn
của một phần mềm thư điện tử máy trạm không thành công sẽ giảm tính hiệu quả của các
biện pháp thiết lập cơ chế an toàn sẽ được bàn trong các mục tiếp theo.
4.1.2. Trạm thư an toàn
Nói chung các công ty khi xây dựng phần mềm thư điện tử cho máy trạm thường đã
tích hợp sẵn các tính năng an toàn, và các tính năng này có khả năng thực thi cao trên
thực tế. Nhưng nếu chỉ dừng lại ở mức sử dụng cấu hình mặc định của các phần mềm thư
điện tử máy trạm người sử dụng sẽ chưa lợi dụng hết được các cơ chế an toàn vốn có của
chúng.
Nói chung với mỗi phần mềm thư điện tử máy trạm chúng ta cần thực hiện cấu hình
một số tính năng sau:
Vô hiệu hoá khả năng mở thư tự động
Vô hiệu hóa việc mở tự động thư tiếp theo
Vô hiệu hoá việc xử lý thư có nội dung tích cực. Điều này sẽ xuất hiện những rắc
rối đối với các phần mềm thư điện tử hoạt động trong mối liên hệ với trình duyệt, vì
khi vô hiệu hoá tính năng này sẽ ảnh hưởng đến chức năng của trình duyệt trong
việc hiện thị các trang Web. Trong những trường hợp như vậy, việc lựa chọn chức
năng nào sẽ bị vô hiệu hoá, chức năng nào không phải được thực hiện một cách
hết sức cẩn thận. Một công việc khác là cần xác định những vùng an toàn riêng
biệt cho phần mềm thư điện tử và trình duyệt. Như vậy sẽ cho phép trình duyệt bị
có ít chức năng bị cấm hơn so với các phần mềm thư máy trạm.
Thiết lập " vùng an toàn" cho Outlook:
Vô hiệu hoá khả năng tải các ActiveX không được ký
Vô hiệu hoá các quyền Java
Vô hiệu hoá các script tích cực
Vô hiệu hoá các script của Java Applet
Lưu ý rằng việc thiết lập ở trên là dành cho Outlook trình duyệt Internet Explorer
5.5. Những phiên bản khác của ứng dụng trên cũng có các bước thiết lập cấu hình tương
tự. Ngoài ra, việc thực hiện các thao tác cấu hình trên sẽ có tác dụng đối với cả Outlook
và trình duyệt Internet Explorer.
– Thiết lập cấu hình cho Eudora:
Vô hiệu hoá việc "Cho phép thực thi trong nội dung HTML"
Vô hiệu hoá Microsoft viewer
Vô hiệu hoá MAPI.
– Thiết lập cấu hình Netscape:
Không lựa chọn "Enable Java"
Không lựa chọn "Enable JavaScript for Mail and News"
Không lựa chọn "Send email address as anonymous FTP Password"
Loại bỏ "Microsoft ActiveX Portability Container for Netscape" như các
plug-in hỗ trợ ActiveX khác.
4.1.3. Xác thực và truy nhập
Trước đây mọi ứng dụng thư điện tử máy trạm không yêu cầu xác thực người sử
dụng bởi vì quyền truy nhập đến các hộp thư được dựa trên quyền của hệ điều hành trong
việc quản lý hệ thống tệp và quyền của người sử dụng đối với tệp mailbox. Với phát triển
sau này các MUAs được cung cấp chức năng truy cập những hộp thư từ xa thông qua các
giao thức POP và IMAP, việc xác thực người sử dụng trở thành một yêu cầu không thể
thiếu. Việc xác thực người sử dụng được thực hiện thông qua việc họ nhập các thông tin
về tên người sử dụng và mật khẩu để truy nhập đến hộp thư. Để tạo khả năng thân thiện
hơn với người dùng các thông tin được sử dụng để truy nhập đến máy chủ thư được lưu
trong một tệp cấu hình. Bên cạnh tính tiện dụng mà giải pháp này đem lại cho người sử
dụng, thì đây cũng là một điểm yếu đối với phần mềm thư điện tử máy trạm. Các thông
tin trên tệp cấu hình có thể bị đánh cắp bởi các đối tượng xâm phạm nhằm truy nhập đến
hộp thư của người sử dụng để khai thác thông tin một cách bất hợp pháp.
Để tăng khả năng an toàn của các tiện ích thư điện tử máy trạm, chúng ta cần vô
hiệu hoá chức năng tự động nhập thông tin truy nhập của người sử dụng thông qua tệp
cấu hình. Nếu không thể vô hiệu hoá chức năng này thì tệp cấu hình phải được lưu một
cách an toàn (chọn nơi lưu và có các biện pháp bảo vệ). Nhiều hệ điều hành đã cung cấp
một số mức an toàn trong việc phân quyền và quản lý truy nhập có thể sử dụng để bảo vệ
tệp cấu hình. Đáng tiếc là một số hệ điều hành phổ thông như Window95/98/ME lại
không hỗ trợ khả năng này. Đối với các hệ điều hành hỗ trợ khả năng trên cần đảm bảo
rằng tệp cấu hình phải được thiết lập thuộc tính chỉ được truy nhập bởi chủ thể tạo nên
nó. Ngoài ra cũng cần đảm bảo rằng tệp cấu hình phải được đặt trong thư mục được quản
lý bởi chủ sở hữu. Trong trường hợp hệ điều hành không hỗ trợ khả năng phân quyền và
quản lý truy nhập đối với các tệp tin, thì giải pháp tốt nhất là loại bỏ mật khẩu ra khỏi tệp
cấu hình hoặc sử dụng việc mã hoá để bảo vệ tệp cấu hình.
Có nhiều ứng dụng khác có thể được sử dụng để thiết lập việc truyền thông máy
trạm và máy chủ thư tín điện tử. Với cấu hình mặc định của các giao thức SMTP, POP
hay IMAP, thì chức năng mã hoá chưa có. Điều này sẽ giúp cho đối tượng xâm phạm bất
hợp pháp có thể ngăn chặn, khai thác hay biến đổi các thông tin như mật khẩu, tên người
sử dụng thậm chí cả nội dung của thư. Giải pháp khắc phục điểm yếu trên là sử dụng các
giao thức bảo mật như TLS/SSL để mã hoá dữ liệu trong quá trình truyền thông giữa máy
chủ và máy trạm thư. Hiện nay nhiều phần mềm thư điện tử máy trạm đã hỗ trợ khả năng
sử dụng các giao thức trên.
4.1.4. An toàn đối với hệ thống xử lý của máy trạm
Nhiều hệ điều hành hiện nay đã hỗ trợ khả năng thiết lập cấu hình và các biện pháp
nhằm nâng cao độ an toàn cho máy trạm thư một cách trực tiếp hoặc gián tiếp. Hệ điều
hành là một thành phần quan trọng trong sự an toàn chung của của một máy trạm thư.
Hệ điều hành trên các máy trạm thư cần được:
Cập nhật các giải pháp lấp lỗ hổng có độ an toàn cao nhất.
Thiết lập cấu hình cho phép truy nhập đến các thông điệp được lưu trữ nội
bộ và các tệp cấu hình của máy trạm thư đối với một hoặc một số người
dùng nhất định nào đó.
Thiết lập cấu hình (chỉ đối với những máy dùng hệ điều hành Windows)
Windows Script Host (WSH):
Loại bỏ WSH hoặc chỉ cho phép người quản trị truy nhập.
Thay đổi việc thực thi mặc định của các tệp có phần mở rộng được liệt kê
dưới đây trong quá trình thực hiện soạn thảo
WSC (Windows Script Component)
WSH (Windows Script Host Settings File)
WS (Windows Script)
WSF (Windows Script File)
VBS (Visual Basic Script)
VBE (VBScript Encoded File)
JS (JavaScript)
JSE (JavaScript Encoded File)
Trên các máy trạm thư sử dụng hệ điều hành Windows, cần đảm bảo rằng
chúng được thiết lập cấu hình để hiển thị đầy đủ phần mở rộng của các tệp
(như vậy sẽ đảm bảo cho người sử dụng có thể phân biệt được một cách rõ
ràng hơn các tệp được gửi đính kèm, ví dụ như iloveyou.txt.vbs hay
iloveyou.txt)
Cài đặt trình quét virus và thiết lập cấu hình để tiện ích này có thể quét một
cách tự động tất cả những thông điệp thư điện tử đến và các tệp đính kèm
khi chúng được mở ra.
Đảm bảo rằng hệ điều hành chỉ cho phép các ứng dụng khác chạy trên nó
các đặc quyền ở mức tối thiểu nhất, bởi vì tất cả các mã phá hoại đều chạy
trên nền an toàn đã được thiết lập của môi trường mà nó chạy trên đó.
Đảm bảo rằng các thành phần quan trọng của hệ điều hành được bảo vệ
khỏi các loại mã phá hoại.
Sử dụng ứng dụng mã hoá tệp để bảo vệ thư được lưu trữ trên đĩa cứng của
người sử dụng (điều này đặc biệt quan trọng cho những máy tính xách tay,
dữ liệu rất dễ bị đánh cắp).
Thiết lập cấu hình để hệ điều hành tự động khoá máy sau một thời gian
không hoạt động nào đó.
4.2. An toàn cho các thành phần cấu thành nội dung thư
Cũng giống như Internet, thư tín đang ngày càng được sử dụng nhiều cho các lĩnh
vực thương mại cũng như trong việc trao đổi các thông tin nhạy cảm khác. Việc mã hoá
sẽ được sử dụng để gửi thông điệp thư điện tử một cách an toàn. Hai phương pháp cơ bản
áp dụng cho việc mã hoá thư tín là S/MIME và PGP. Cả hai phương pháp này đều đưa ra
các mức bảo vệ tương tự nhau, nhưng cấu trúc của chúng là khác nhau. Hầu hết các phần
mềm thư điện tử máy trạm đều hỗ trợ S/MIME, trong khi PGP được ứng dụng dưới dạng
các thành phần plug-in. Việc lựa chọn phương pháp nào trong hai phương pháp trên còn
căn cứ vào việc đáp ứng các yêu cầu của tổ chức hay công ty muốn áp dụng cơ chế an
toàn này. Nói chung, thư điện tử nếu không được mã hoá sẽ được coi như là một cái bưu
thiếp - bất cứ ai cũng có thể đọc và sửa đổi.
Đối với một phần mềm thư điện tử máy trạm khi được thiết lập cấu hình để gửi và
nhận những thông điệp đã được mã hoá, tất cả những thông điệp đã nhận sẽ được lưu trữ
dưới dạng đã được mã hoá. Một phần mềm thư điện tử máy khách thư tín cũng có thể
được thiết lập cấu hình để gửi, nhận các thông điệp thư điện tử không được mã hoá, áp
dụng cho những nơi chỉ quan tâm đến tính toàn vẹn là chủ yếu. Căn cứ vào tính nhạy cảm
của nội dung thông điệp thư điện tử mà người sử dụng có thể thiết lập cấu hình để mỗi
lần đọc thư điện tử đó người đọc cần nhập mật khẩu.
4.3. Truy nhập các hệ thống thư tín điện tử dựa trên Web
Theo quan điểm của người sử dụng, việc truy nhập đến máy chủ thư điện tử thông
qua việc sử dụng một máy chủ Web sẽ đem đến sự hiệu quả và giao diện sử dụng thân
thiện hơn. Tuy nhiên, vấn đề an toàn cho hệ thống thư cần được xem xét một cách cẩn
thận trước khi đưa ra quyết định sử dụng giao diện Web để thực hiện giao dịch thư điện
tử. Hầu hết các vấn đề liên quan đến cơ chế an toàn trong trường hợp này cũng tương tự
như đối với các phần mềm thư điện tử thông thường. Ví dụ, việc truy nhập thư điện tử
dựa trên Web với cấu hình mặc định việc gửi mật khẩu và dữ liệu khác cũng ở dạng rõ
như khi sử dụng POP và IMAP. Đối với nơi có yêu cầu an toàn cao, người quản trị cần
thiết lập cấu hình để máy chủ thư chỉ chấp nhận các kết nối Web thông qua các giao thức
bảo mật SSL/TLS hỗ trợ thuật toán mã hoá 128-bit. Với việc sử dụng các giao thức trên
mọi dữ liệu (thông tin đăng nhập, nội dung thư điện tử) sẽ được mã hoá trong các giao
dịch giữa máy chủ Web (sử dụng cho thư) và các máy trạm người sử dụng chạy trình
duyệt. Chú ý rằng dữ liệu chỉ được bảo mật trong giao dịch, còn dữ liệu thư điện tử lưu
trên các máy chủ và máy trạm là không được bảo mật. Trong trường hợp này, chúng ta có
thể sử dụng các phương pháp mã hoá thư điện tử như S/MINE hoặc PGP. Tuy nhiên các
hệ thống truyền thư dựa trên Web không hỗ trợ trực tiếp việc sử dụng phương pháp trên.
Một giải pháp có thể thực hiện được là mã hoá dữ liệu một cách offline sau đó dán nó vào
trong trình duyệt truyền (phương pháp này có thể dễ dàng thực hiện với PGP).
Khả năng truy nhập dựa trên giao diện Web thường được áp dụng cho các hệ thống
có yêu cầu bảo mật thấp. Do đó khi muốn sử dụng giao dịch Web cho một hệ thống thư
nào đó các nhà hoạch định cần nhận thức đầy đủ về những rủi ro cho hệ thống
Rủi ro lớn của các hệ thống thư điện tử dựa trên Web là chúng có thể được truy
nhập từ các máy tính công cộng (có thể là từ các máy tính trong phòng thí nghiệm, trong
thư viện, hoặc ngay trong các quán caffe Internet). Trong các tình huống này, trình duyệt
có thể được thiết lập cấu hình để nhớ tên người sử dụng và mật khẩu. Nếu người sử dụng
không chú ý đến cấu hình trên, người sử dụng không được cấp quyền cũng có thể sử
dụng chính máy tính đó để truy nhập vào hệ thống thư điện tử của một công ty hay tổ
chức nào đó. Một nguy hiểm khác, đối với các máy tính công cộng có thể bộ ghi nhật ký
bàn phím, thao tác gõ bàn phím của người dùng khi làm việc một hệ thống thư sẽ được
ghi lại, trong đó có cả thông tin về tên người sử dụng và mật khẩu đăng nhập. Dữ liệu này
có thể sẽ được khai thác nhằm tấn công hệ thống thư hoặc ăn cắp thông tin của người
dùng. Các trình duyệt Web cũng lưu lại một số thông tin trong quá trình người sử dụng
thao tác ở dạng các tệp tạm, các thông tin này chỉ tồn tại ở một giai đoạn nhất định.
Nhưng sau mỗi phiên làm việc nếu người sử dụng không xoá chúng đi trước khi đóng
trình duyệt, thì kẻ xấu có thể sử dụng chính các thông tin đó để đăng nhập vào hệ thống
thư với vai trò của người sử dụng. Việc dùng các giao thức SSL/TLS nói chung có thể
khắc phục được các mối nguy hiểm trên.
Sự an toàn của các hệ thống thư điện tử dựa trên Web bị ảnh hưởng rất lớn từ yếu
tố con người trong quá trình sử dụng. Do đó, mọi người sử dụng trong hệ thống cần
được đào tạo một cách cẩn thận, và họ phải hiểu rõ vai trò của mình đối với sự an toàn
chung, trước khi được trao quyền truy nhập
hệ thống.
4.4. Bảng liệt kê danh mục
Đã thực hiện Thao tác cần thực hiện
Lấp lỗ hổng và cập nhật các phần mềm thư máy trạm
Nâng cấp phần mềm thư điện tử với phiên bản có độ an toàn
cao nhất
Áp dụng các biện pháp lấp lỗ hổng cần thiết cho các phần
mềm thư máy trạm
Áp dụng các biện pháp lấp lỗ hổng cần thiết cho trình duyệt
Web (trong trường hợp phần mềm thư được tính hợp trong
trình duyệt)
An toàn máy trạm
Vô hiệu hoá việc tự động hiển thị nội dung thư
Vô hiệu hoá việc tự động mở thư tiếp theo
Vô hiệu hoá việc xử lý các nội dung thư tích cực
Thiết lập an toàn cho việc xác thực và truy nhập
Vô hiệu hoá lưu lại tên người sử dụng và mật khẩu của các
máy trạm
Thiết lập cấu hình sử dụng phương pháp mã hoá (SMIME
hoặc PGP)
Thiết lập cấu hình để máy trạm chỉ nhận và lưu thư đã được
mã hoá
Chỉ thiết lập và cài đặt các plug-in cần thiết và có nguồn gốc
rõ ràng
Thiết lập cấu hình để truy nhập hệ thống thư dựa trên Web
thông qua giao thức bảo mật SS/TLS
Đào tạo người sử dụng để họ nhận thức được những điểm yếu
khi sử dụng giao diện Web truy nhập thư
Các cấu hình cho Microsoft Outlook
Vô hiệu hoá việc tải các ActiveX đã được ký
Vô hiệu hoá việc tải các ActiveX không được ký
Vô hiệu hoá việc phân quyền của Java
Vô hiệu hoá các Script tích cực
Vô hiệu hoá các Script của Java Applet
Cấu hình cho Eudora
Vô hiệu hoá “Allow executables in HTML content”
Vô hiệu hoá Microsoft viewer
Vô hiệu hoá MAPI
Cấu hình Netscape
Không chọn mục “Enable Java”
Không chọn mục “Enable JavaScript for Mail and News”
Không chọn “Send email address as anonymous FTP
Password”
Loại bỏ Microsoft ActiveX Portability Container for Netscape
An toàn hệ điều hành máy trạm
Bảo đảm rằng hệ điều hành đã được cập nhật hầu hết các
phương pháp lấp lỗ hổng
Thiết lập cấu hình hệ điều hành cho phép một hoặc một số các
user cụ thể nào đó có thể truy nhập đến các thông điệp và các
tệp cấu hình.
Loại bỏ Windows Script Host (WSH)
Cấu hình hệ điều hành hiển thị đầy đủ phần mở rộng của các
tệp
Đảm bảo rằng các thành phần quan trọng khác của hệ điều
hành được bảo vệ trước các mã phá hoại
Sử dụng phương pháp mã hoá để bảo vệ thư điện tử lưu trên ổ
cứng của máy tính người sử dụng
Thiết lập cấu hình để máy trạm tự động khoá sau một thời
gian không hoạt động
CHƯƠNG 5
QUẢN TRỊ AN TOÀN MỘT MÁY CHỦ THƯ
5.1. Hoạch định quản trị an toàn các máy chủ thư
Công việc quan trọng nhất khi triển khai một máy chủ thư điện tử an toàn là việc lập
kế hoạch một cách cẩn thận trước khi đi vào qui trình cài đặt, thiết lập cấu hình và triển
khai máy chủ thư đó. Một kế hoạch được lập cẩn thận sẽ đảm bảo cho máy chủ thư đạt
được mức độ an toàn cao nhất và nó có thể hoạt động trong mối liên hệ với các chính
sách an toàn chung. Trên thực tế đã xuất hiện nhiều vấn đề liên quan đến sự an toàn và
quá trình thực thi thực tế của một máy chủ thư do thiếu sự hoạch định cho các thao tác
quản trị.
5.1.1. Hoạch định việc cài đặt và triển khai máy chủ thư
Sự an toàn cần được xem xét ngay từ giai đoạn lập kế hoạch cho việc xây dựng và
phát triển các hệ thống nhằm mục đích nâng cao độ an toàn đồng thời giảm giá thành đến
mức có thể trong việc triển khai thực hiện. Sẽ rất khó khăn và phải trả giá đắt nếu chỉ đặt
vấn đề an toàn khi đã bắt tay vào việc triển khai và cài đặt thật. Các tổ chức thường đưa
ra những quyết định về việc thiết lập cấu hình cho các máy khi đã có kế hoạch triển khai,
sử dụng, và phát triển được thiết kế hoàn chỉnh, chi tiết. Khi có một hoạch định tốt sẽ
giúp cho các tổ chức đưa ra quyết định cân đối giữa các yếu tố như tính tiện dụng, khả
năng thực thi, và các rủi ro có thể phải chấp nhận.
Trong các giai đoạn lập kế hoạch đối với một máy chủ thư các yếu tố dưới đây cần được
xem xét:
– Xác định các mục đích của máy chủ thư tín
Loại thông tin nào sẽ được xử lý hoặc truyền qua máy chủ thư.
Yêu cầu về mức an toàn cho thông tin trên.
Các dịch vụ nào khác sẽ được máy chủ thư hỗ trợ (nói chung nên sử
dụng máy chủ cho một mục đích làm máy chủ thư là bảo đảm nhất)
Các yêu cầu về độ an toàn cho các dịch vụ bổ sung trên.
Vị trí của máy chủ trong mô hình chung của mạng
– Định danh các dịch vụ mạng sẽ được máy chủ hỗ trợ, cung cấp qua các giao thức
sau đây:
SMTP
POP
IMAP
– Định danh tất cả các phần mềm dịch vụ (có thể là các phần mềm dạng client hoặc
dạng server) được cài đặt trên máy chủ thư hoặc các máy chủ hỗ trợ cho máy chủ
thư.
– Định danh người sử dụng hay phân loại người sử dụng sẽ phải có trên máy chủ thư
và bất kỳ máy chủ hỗ trợ nào khác.
– Xác định các quyền cho mỗi loại người sử dụng sẽ phải có trên máy chủ thư và các
máy chủ hỗ trợ.
– Quyết định phương pháp xác thực người sử dụng và phương pháp bảo vệ các thông
tin sử dụng để xác thực
– Xác định cách thức truy nhập thích hợp cho các nguồn tài nguyên thông tin cho
phép
– Xác định ứng dụng thư điện tử máy chủ nào sẽ đáp ứng các yêu cầu cần xây dựng
hệ thống. Nên để ý đến các phần mềm máy chủ thư mặc dù ít được biết đến, và có
thể không phong phú về các chức năng nhưng lại có thể cung cấp mức an toàn cao
hơn. Nói chung để lựa chọn một phần mềm thư máy chủ, dưới đây là một số vấn đề
cần xem xét:
Giá cả
Khả năng tương thích với hạ tầng cơ sở hiện tại
Kiến thức hiện tại của người sử dụng
Quan hệ với phần mềm hiện đang sử dụng (nếu có)
Các lỗ hổng trong quá khứ
Các chức năng được hỗ trợ
– Hợp tác chặt chẽ với nhà phân phối phần mềm trong giai đoạn lập
kế hoạch
Sự lựa chọn phần mềm máy chủ thư sẽ xác định sự lựa chọn hệ điều hành. Tuy
nhiên, trong khả năng có thể, những người quản trị mail server phải chọn một hệ điều
hành hỗ trợ các tính năng dưới đây:
Tiếp xúc tối thiểu với các môi trường có thể gây tổn thương
Khả năng cấm việc thực thi các tác vụ mức quản trị (hay root) đối với các
user được uỷ quyền
Khả năng từ chối việc truy nhập thông tin trên máy chủ
Khả năng vô hiệu hoá các dịch vụ mạng không cần thiết đã có sẵn trong hệ
điều hành hoặc các phần mềm server
Khả năng ghi nhật ký các hoạt động máy chủ thích hợp cho việc dò tìm sự
xâm nhập bất hợp pháp
Ngoài ra, các tổ chức phải xem xét khả năng sẵn có của nhân viên giàu kinh nghiệm
đã được đào tạo để quản trị máy chủ và các ứng dụng khác trên máy chủ. Nhiều tổ chức
đã rút ra được những bài học kinh nghiệm quí giá từ việc đánh giá sai khả năng quản trị
hệ thống của nhân viên, một nhân viên có thể là chuyên gia quản trị trên một môi trường
hệ điều hành này, nhưng lại rất ít kiến thức đối với môi trường hệ điều hành khác.
Như một yêu cầu tự nhiên, vị trí vật lý của máy chủ thư là một vấn đề rất quan trọng
cho việc nâng cao độ an toàn cho hệ thống. Khi xác định vị trí đặt máy chủ thư trong một
môi trường mạng chung, cần xem xét những vấn đề có liên quan dưới đây:
– Vị trí đặt máy chủ thư có tạo cơ chế bảo vệ an toàn vật lý thích hợp không? Ví dụ:
Các khoá
Truy nhập bộ đọc thẻ
Cổng bảo vệ
Các hệ thống phát hiện xâm nhập vật lý (ví dụ, cảm biến chuyển động,
máy quay phim)
– Vị trí đặt máy chủ thư có điều kiện môi trường phù hợp hay không? có thể duy trì
độ ẩm và nhiệt độ cần thiết cần thiết không?.
– Có nguồn dự trữ không?
5.1.2. Các đối tượng quản trị cơ chế an toàn
Vì sự an toàn của máy chủ thư gắn chặt với đặc điểm an ninh hệ thống thông tin
chung của tổ chức, do vậy các nhân viên công nghệ thông tin và an toàn hệ thống cần
quan tâm đến việc lập kế hoạch, thực thi và quản trị máy chủ thư. Phần này sẽ giới thiệu
vai trò và trách nhiệm của họ đối với sự an toàn của máy chủ thư. Tất nhiên đây chỉ là các
vai trò và trách nhiệm chung, có thể tổ chức, công ty này có thể áp dụng nhưng một tổ
chức hay công ty khác thì không.
Các nhà quản lý thông tin cao cấp
Các nhà quản lý IT cao cấp/CIO phải luôn nắm được tình trạng an toàn hệ thống
chung. Các nhà quản lý IT cao cấp phải chỉ đạo và tư vấn việc bảo vệ hệ thống thông tin
cho các đối tượng khác trong toàn bộ tổ chức.
Các nhà quản lý IT cao cấp/CIO chịu các trách nhiệm dưới đây khi trong việc quản
lý máy chủ thư:
Kết hợp sự phát triển và duy trì các chính sách an toàn thông tin, các tiêu chuẩn
thông tin, ... của tổ chức
Kết hợp sự phát triển và duy trì việc thay đổi quy trình quản lý và quản trị trong tổ
chức.
Đảm bảo việc nhất quán trong chính sách an toàn chung của tổ chức.
Phối hợp với các đối tượng mức cao hơn nhằm đưa ra các qui định chung trong việc
sử dụng thư điện tử.
Các nhà quản lý chương trình an toàn hệ thống thông tin
Các đối tượng quản lý chương trình an ninh hệ thống thông tin (ISSM) giám sát
việc thực hiện, tuân thủ, các tiêu chuẩn, nội quy, quy định trong chính sách an toàn của tổ
chức. Các ISSM cần thực thi các trách nhiệm dưới đây (liên quan đến máy chủ thư):
Tiếp tục phát triển và thực thi các tiêu chuẩn (chính sách an ninh)
Tuân thủ các chính sách, các tiêu chuẩn và các yêu cầu an toàn
Phải định danh được các hệ thống chống đối, dự đoán được các sự cố bất ngờ, có kế
hoạch khôi phục hệ thống nếu có rủi ro xảy ra.
Các nhà chức trách an toàn các hệ thống thông tin
Các nhà chức trách an toàn hệ thống thông tin (ISSO - Information System Security
Officer) chịu trách nhiệm giám sát tất cả các lĩnh vực an toàn thông tin đối với các thực
thể của một tổ chức. Họ đảm bảo rằng thực tiễn an toàn thông tin của tổ chức tuân theo
các thủ tục, các chuẩn và các chính sách đã đề ra. Các ISSO chịu các trách nhiệm dưới
đây đối với một máy chủ thư:
Phát triển các tiêu chuẩn và thủ tục an toàn nội bộ cho các máy chủ thư và hỗ trợ hạ
tầng mạng.
Phối hợp trong việc phát triển và cài đặt các công cụ, lược đồ, và công nghệ an toàn.
Tiếp tục duy trì hồ sơ cấu hình chuẩn của các máy chủ thư và hỗ trợ hạ tầng mạng
được kiểm soát bởi tổ chức bao gồm hệ điều hành, bức tường lửa, các bộ định tuyến
và các ứng dụng máy chủ thư.
Tiếp tục duy trì hoạt động của các hệ thống thông qua việc tiến hành kiểm tra sự an
toàn theo định kỳ.
Các nhà quản trị máy chủ thư và quản trị mạng.
Các nhà quản trị mail server là các kiến trúc sư hệ thống chịu trách nhiệm toàn bộ
thiết kế tổng thể, triển khai và duy trì máy chủ thư. Các nhà quản trị mạng chịu trách
nhiệm thiết kế tổng thể, triển khai và duy trì một mạng. Hàng ngày, các nhà quản trị máy
chủ thư và quản trị mạng phải giải quyết các yêu cầu an toàn của hệ thống (hay các hệ
thống) cụ thể mà họ chịu trách nhiệm. Các vấn đề an toàn nảy sinh và các giải pháp khắc
phục có thể xuất phát từ bên ngoài (ví dụ, cố định và lấp lỗ hổng theo yêu cầu của các
nhóm xử lý sự cố máy tính) hay ngay trong tổ chức (ví dụ, theo yêu cầu của phòng phụ
trách an ninh). Các nhà quản trị này chịu các trách nhiệm dưới đây đối với máy chủ thư:
Cài đặt và thiết lập cấu hình các hệ thống phù hợp với chính sách an toàn chung của
tổ chức và các cấu hình mạng chuẩn.
Duy trì các hệ thống trong sự an toàn cao, thông qua việc sao lưu theo theo định kỳ
Theo dõi tính nguyên vẹn của hệ thống, các mức bảo vệ và các sự kiện liên quan
khác có liên quan đến sự an toàn
Tiếp tục dò lỗi bảo mật trong mỗi đối với các nguồn tài nguyên của hệ thống thông
tin.
Thực hiện các thử nghiệm an toàn theo yêu cầu.
5.1.3. Thực hành quản trị
Thực hành việc quản trị một cách thích hợp là yếu tố quan trọng nhất cho việc hoạt
động và duy trì máy chủ thư an toàn. Sự thực hành an toàn sẽ bổ sung cho việc xây dựng
các chính sách, tiêu chuẩn, thủ tục và tài liệu hướng dẫn nhằm đảm bảo tính bí mật, tính
toàn vẹn và tính sẵn sàng của các nguồn tài nguyên hệ thống thông tin.
Để bảo đảm sự an toàn cho một máy chủ thư và cơ sở hạ tầng mạng, các thao tác
thực hành dưới đây cần được thực hiện:
Chính sách an toàn thông tin có tổ chức: Chính sách an toàn sẽ chỉ ra trách nhiệm
đối với các lĩnh vực cụ thể cho từng đối tượng thuộc tổ chức trong sự an toàn chung
của hệ thống (Ví dụ: đối tượng nào chịu trách nhiệm cài đặt, kiểm toán, ... và tổng
kết). Chính an toàn sẽ quy định những gì thuộc về chính sách an toàn hệ thống
thông tin cơ bản và mục đích thực tế của chúng. Nói chung, trong một công ty hay
tổ chức thì CIO và các cấp cao hơn là những người sẽ chịu trách nhiệm phác thảo ra
chính sách an toàn cho tổ chức, công ty đó.
Quản lý và kiểm soát việc thay đổi, và thiết lập cấu hình: quản lý việc thay đổi là
một quá trình kiểm soát việc sửa đổi về thiết kế chung, về phần cứng, phần mềm
của một hệ thống. Kiểm soát việc thiết lập cấu hình là quá trình giám sát việc thiết
lập cấu hình theo chỉ dẫn của chính sách an toàn chung.
Quản lý và đánh giá rủi ro: Đánh giá rủi ro là một quá trình phân tích và giải thích
rủi ro. Quá trình này bao gồm xác định phạm vi, đánh giá, thu thập, phân tích dữ
liệu liên quan đến rủi ro và giải thích các kết quả phân tích rủi ro. Quản lý rủi ro là
quá trình lựa chọn và thực thi việc kiểm soát để giảm rủi ro đến mức tối thiểu có thể
chấp nhận.
Các cấu hình tiêu chuẩn hoá: Các tổ chức nên phát triển rộng rãi các cấu hình an
toàn đã được tiêu chuẩn hoá cho các hệ thống và các ứng dụng. Đây là tài liệu chính
hướng dẫn cho các nhà quản trị máy chủ thư và mạng qui trình thiết lập cấu hình an
toàn cho hệ thống của họ theo chính sách an toàn đã chung đề ra.
Nhận thức về sự an toàn và vấn đề đào tạo: Một chương trình đào tạo về sự an toàn
cho nhân viên là yêu cầu đối với bất kỳ tổ chức hay công ty nào muốn có một hệ
thống thông tin an toàn. Mục đích của khoá đào tạo là làm cho người sử dụng và cả
người quản trị nhận thức về trách nhiệm của họ đối với sự an toàn chung, hướng dẫn
họ thay đổi những thói quen có thể gây hại đến sự an toàn chung.
Dự đoán sự cố, duy trì tính hoạt động liên tục và kế hoạch khôi phục sự cố: dự đoán
sự cố, duy trì tính hoạt động liên tục và lập kế hoạch khôi phục sự cố là các kế
hoạch được lập trước nhằm đảm bảo cho hệ thống vẫn hoạt động trong trường hợp
xấu nhất là bị tấn công đánh sập.
5.1.4. Hoạch định an toàn hệ thống
Mục tiêu của việc hoạch định an toàn máy tính nói chung là để bảo vệ tài sản thông
tin ( thông tin và các nguồn tài nguyên thông tin). Các kế hoạch bảo vệ tài sản thông tin
phải làm cho các nhà quản lý và chủ sở hữu thông tin tin tưởng rằng thông tin của họ
không bị mất mát, sai lệch, truy nhập không được uỷ quyền hoặc bị sửa đổi.
Kế hoạch an toàn hệ thống cung cấp ở mức tổng quan và cơ bản nhất về sự an toàn
và tính riêng tư cho các chủ thể, trên cơ sở đó kế hoạch an toàn riêng của từng công ty, tổ
chức được xây dựng.
Mục đích của kế hoạch an toàn hệ thống là nhằm (NIST 98):
Cung cấp toàn cảnh các yêu cầu an toàn của hệ thống và mô tả việc thực thi để đáp
ứng những yêu cầu đó
Phác hoạ trách nhiệm và những chế tài có liên quan cho các cá nhân truy cập hệ
thống.
Chủ sở hữu hệ thống thường có trách nhiệm trong việc chuẩn bị kế hoạch an toàn,
triển khai kế hoạch và theo dõi sự hiệu quả của nó trong quá trình hoạt động. Các kế
hoạch an toàn cần mô tả chi tiết trách nhiệm của các đối tượng (người sử dụng đầu cuối,
chủ sở hữu thông tin, quản trị hệ thống, và quản trị an toàn hệ thống) đối với hệ thống.
Nói chung, một kế hoạch an toàn hệ thống hiệu quả phải bao gồm những nội dung
dưới đây (NIST98):
Sự định danh hệ thống: Phần đầu tiên của kế hoạch an ninh hệ thống cung cấp thông
tin định danh cơ bản về hệ thống. Bao gồm thông tin mô tả chung, những ai chịu
trách nhiệm cho hệ thống, mục tiêu của hệ thống và mức nhạy cảm của hệ thống.
Điều khiển quản lý: Phần này mô tả tiêu chuẩn đánh giá sự điều hành quản lý đã đư-
ợc định hướng nhằm đáp ứng các yêu cầu bảo vệ một hệ thống thông tin.
Quản lý vận hành: Phần này chỉ ra những phương pháp an toàn, tập trung chủ yếu
vào các lược đồ làm cơ sở cho việc triển khai và thực thi của con người. Việc quản
lý trên phải được đặt đúng nơi nhằm tăng cường an toàn cho một hệ thống cụ thể
(hoặc một nhóm hệ thống). Để thực hiện được chúng cần yêu cầu những người có
chuyên môn kỹ thuật hoặc chuyên gia.
Quản lý kỹ thuật: quản lý kỹ thuật tập trung vào những quản lý an toàn cho hệ thống
máy tính hoạt động. Việc quản lý kỹ thuật có thể cung cấp sự bảo vệ một cách tự
động các tấn công như truy nhập bất hợp pháp, truy nhập sai, tạo sự thuận tiện cho
việc dò tìm nguyên nhân mất an toàn, ngoài ra nó cũng hỗ trợ các yêu cầu an toàn
cho sự ứng dụng và dữ liệu.
5.1.5. Vấn đề con người trong việc an toàn cho máy chủ thư
Thách thức với chi phí lớn nhất trong việc duy trì sự an toàn và phát triển một máy
chủ thư là phải có một nguồn nhân lực cần thiết nhằm thực hiện các chức năng được yêu
cầu. Nhiều tổ chức đã không lường trước được một cách đầy đủ về chi phí và kỹ năng
cần thiết để có thể duy trì được một máy chủ thư an toàn. Sự không lường trước được
một cách đầy đủ trên thường dẫn đến việc các nhân viên phải làm việc quá sức và hệ
thống mất an toàn. Ngay từ giai đoạn lên kế hoạch, tổ chức đó cần xác định được các yêu
cầu về nguồn nhân lực. Nguồn nhân lực thích hợp và hiệu quả là yếu tố quan trọng nhất
của một máy chủ thư an toàn.
Khi xem xét nguồn nhân lực trong việc triển khai và phát triển một máy chủ thư,
các tổ chức cần cân nhắc một số vấn đề dưới đây:
Yêu cầu về nhân sự: Cần có nhân sự trong những lĩnh vực nào? Ví dụ nhân sự cho
việc quản trị hệ thống, nhân sự cho việc quản lý máy chủ thư, nhân sự quản trị
mạng, các ISSOs, ...
Các kỹ năng cần thiết: kỹ năng nào là cần thiết cho các công việc như lập kế hoạch,
phát triển, duy trì một máy chủ thư an toàn? Ví dụ kỹ năng trong việc quản trị hệ
thống, kỹ năng trong việc quản trị mạng, chuyên gia trong lĩnh vực xử lý các nội
dung tích cực, kỹ năng lập trình, ….
Nguồn nhân lực có sẵn: Cần xác định nguồn nhân lực có sẵn của tổ chức? Kỹ năng
hiện tại của họ mạnh trong lĩnh vực nào, liệu có thể sử dụng hiệu quả cho việc phát
triển duy trì máy chủ thư hay không? Nếu trường hợp nguồn nhân lực và kỹ năng
hiện tại của họ không đáp ứng được những yêu cầu đã đặt ra, tổ chức đó cần cân
nhắc các giải pháp sau:
Thuê thêm nguồn nhân lực
Đào tạo nguồn nhân lực hiện có
Khi dự án đã hoàn thành và máy chủ thư đã đi vào hoạt động, cần dự trù được số
lượng cũng như kỹ năng cần có của nguồn nhân lực cần thiết trong việc duy trì, quản trị
hệ thống. Mức độ đe doạ và các điểm yếu của các hệ thống công nghệ thông tin nói
chung và các máy chủ thư nói riêng là liên tục có sự thay đổi theo sự phát triển của công
nghệ. Nguồn nhân lực (số lượng, kỹ năng) phù hợp trong thời điểm hiện tại sẽ không còn
phù hợp trong tương lai, thậm chí là một tương lai ngắn, do đó nguồn nhân lực sử dụng
cho việc quản trị và duy trì các máy chủ thư cần được bổ sung và đào tạo theo định kỳ.
5.1.6. Các nguyên tắc cơ bản cho an toàn hệ thống thông tin
Khi đưa ra các vấn đề an toàn cho các máy chủ thư chúng ta không thể bỏ qua các
nguyên tắc cơ bản cho sự an toàn thông tin nói chung:
Sự đơn giản: Các lược đồ an toàn càng đơn giản, càng dễ thực hiện càng
tốt.
Dự phòng để đảm bảo an toàn: Nếu có sự cố sảy ra, hệ thống phải được đặt
trong trạng thái mất an toàn (khi đó có thể một số chức năng của hệ thống
sẽ bị cấm hoạt động). Chúng ta có thể để mất một số chức năng của hệ
thống nhưng không để hệ thống mất an toàn.
Sự điều chỉnh: Thay vì cho phép truy nhập trực tiếp đến các nguồn tài
nguyên thông tin, các bộ điều khiển chính sách truy nhập được triển khai.
Ví dụ, có thể sử dụng các quyền đối với hệ thống file, uỷ quyền, bức tường
lửa, mail gateway.
Thiết kế mang tính mở: Hệ thống an toàn không nên phụ thuộc vào sự bí
mật của trong cài đặt hoặc phụ thuộc vào chính các thành phần
của nó.
Tách đặc quyền: Càng phân nhỏ được các chức năng càng tốt. Thuật ngữ
phân tách chức năng có thể được áp dụng cho cả các hệ thống và cho cả
các đối tượng sử dụng đầu cuối. Đối với các hệ thống, các chức năng như
đọc, ghi, sửa, và thực thi cần được tách riêng. Tương tự như vậy, đối với
người sử dụng đầu cuối các vai trò của họ cũng cần được tách riêng đến
mức có thể.
Đặc quyền tối thiểu: Việc thực hiện một chức năng không được gián tiếp
hay trực tiếp ảnh hưởng đến chức năng khác.
Tự nguyện: Người sử dụng nên hiểu sự cần thiết của vấn đề an toàn. Để đạt
được điều đó có thể thông qua việc đào tạo và giáo dục người sử dụng. Bên
cạnh đó, các lược đồ an toàn cần được xây dựng trên cơ sở góp ý của
người dùng. Ví dụ, nếu người sử dụng nhận thấy các lược đồ an toàn là
quá cồng kềnh, phức tạp trong các thao tác thực hiện, họ có thể cho những
lời khuyên, như vậy tính thực tế của các lược đồ an toàn sẽ cao hơn.
Cơ chế chung tối thiểu: Khi cung cấp khả năng truy nhập cho tiến trình
máy chủ thư truy nhập đến một cơ sở dữ liệu thì không nên cấp quyền truy
nhập đến cơ sở dữ liệu đó cho bất kỳ một ứng dụng nào khác trên hệ thống.
Phòng bị có chiều sâu: cần hiểu rằng một lược đồ an toàn đơn sẽ không
mang lại hiệu quả cao. Do đó, khi thiết kế các lược đồ an toàn cần tạo ra
các tầng.
Ghi lại các tấn công: Việc ghi lại nhật ký cần được duy trì, như vậy khi có
sự cố chúng ta sẽ có các bằng chứng tấn công gây nên sự cố đó.
5.2. Quản trị an toàn một máy chủ thư
5.2.1. Nhật ký
Ghi nhật ký là một yếu tố quan trọng trong lĩnh vực an toàn nói chung. Việc ghi
nhật ký chính xác và theo dõi thông tin được ghi trong nhật ký là rất cần thiết. Các tệp
nhật ký thường chỉ ghi lại các sự kiện đáng ngờ. Cần thiết lập các cơ chế ghi lại các thông
tin trên và sử dụng các thông tin đó để tạo cơ sở cho việc phát hiện sự xâm nhập trái
phép.
Nhật ký mạng và hệ thống có thể cảnh báo người quản trị máy chủ thư khi có một
sự kiện nghi ngờ xuất hiện. Kết hợp với việc phân tích các thông tin bổ sung từ nhật ký
của chính phần mềm thư trên máy chủ, chúng ta có thể suy đoán được nguyên nhân, mục
đích của sự kiện trên.
Một số chức năng của nhật ký phần mềm thư máy chủ:
Cảnh báo cho các hoạt động bị nghi ngờ cần được điều tra thêm.
Ghi lại dấu vết các hoạt động của đối tượng xâm nhập
Hỗ trợ việc phục hồi hệ thống
Hỗ trợ việc điều tra các sự kiện xuất hiện tiếp theo
Cung cấp các thông tin cho việc xử lý tranh chấp
Việc lựa chọn và triển khai phần mềm máy chủ thư truyền thư cụ thể sẽ quyết định
việc thiết lập cấu hình ghi nhật ký cho các nhà quản trị. Các phần tiếp theo dưới đây sẽ
đưa ra một số hướng dẫn chung nhất có thể áp dụng cho hầu hết các phần mềm máy chủ
thư phổ thông hiện nay.
5.2.1.1. Thiết lập cấu hình ghi nhật ký
Khả năng ghi nhật ký của các sản phẩm thư máy chủ là rất khác nhau, dưới đây chỉ
đề cập đến các cấu hình chung nhất. Nên thiết lập chế độ ghi nhật ký cho phần mềm thư
máy chủ ở mức chi tiết nhất (“maximum” , “detailed”, …). Khi đó các sự kiện dưới đây
sẽ được ghi lại:
– Nhật ký của máy cục bộ.
Các lỗi thiết lập IP.
Các vấn đề liên quan đến cấu hình khác (DNS, Windows Internet Naming Service)
Các lỗi cấu hình phần mềm thư (không tương thích với DNS: lỗi cấu hình cục bộ,
lỗi bí danh).
Cơ sở dữ liệu bí danh quá hạn.
Thiếu nguồn tài nguyên hệ thống (dung lượng đĩa trống, bộ nhớ, CPU)
Xây dựng lại cơ sở dữ liệu bí danh
– Nhật ký liên quan đến các kết nối
Đăng nhập (thành công hoặc không thành công)
Các vấn đề an toàn
Lỗi giao diện
Mất kết nối (các vấn đề về mạng)
Giao thức có vấn đề
Thời gian chờ kết nối
Từ chối kết nối
Sử dụng các câu lệnh VRFI và EXPN
– Đăng nhập liên quan đến thông điệp
Gửi thay (send on behalf of)
Gửi như (send as)
Các địa chỉ không đúng định dạng
Thống kê thư
Tạo các thông báo lỗi
Không thực hiện được việc phân phát thư
Thư chưa gửi được
Phần mềm máy chủ truyền thư cung cấp khả năng cho phép hoặc vô hiệu hoá việc
các điều khiển truy nhập xác định trong trong quá trình khởi động. Mức điều khiển này
có ích cho việc bỏ qua sự thay đổi vô tình các tệp nhật ký do các lỗi trong việc quản lý
truy nhập tệp.
5.2.1.2. Tổng kết và duy trì nhật ký
Tổng kết các tệp nhật ký là một yêu cầu thực tế và nó có thể đòi hỏi mất nhiều thời
gian. Các tệp nhật ký phản ánh mức độ an toàn của hệ thống, vì chức năng của chúng là
ghi lại các sự kiện đã sảy ra. Ngoài ra, các tệp này thường rất có ích trong việc cung cấp
các thông tin khác như việc sử dụng CPU, lưu lượng mạng bất thường. Khi các tệp nhật
ký được sử dụng để chứng thực các bằng chứng khác, việc tổng kết lại nhật ký sẽ tuân
theo thứ tự. Ví dụ, nếu IDS ghi lại thông tin có một kết nối vào máy chủ thư lúc 8:17 phút
sáng cố gắng sử dụng câu lệnh VRFI, thì một bản tổng kết nhật ký tương ứng sẽ được tạo
ngay trước thời điểm 8:17. Tần số việc tổng kết nhật ký phụ thuộc vào các yếu tố sau
đây:
Lưu lượng máy chủ nhận được
Mức đe doạ chung.
Các mối đe doạ xác định.
Các lỗ hổng của máy chủ thư
Giá trị dữ liệu và các dịch vụ được máy chủ truyền thư hỗ trợ
Các bản tổng kết này sẽ được thực hiện hàng ngày, hàng tuần hay khi một hành
động đáng ngờ xuất hiện. Công việc này có thể trở thành gánh nặng cho người quản trị.
Để giảm gánh nặng này cho các nhà quản trị, các công cụ phân tích tự động các tệp nhật
ký đã được phát triển.
Tuy nhiên, việc phân tích các tệp nhật ký cần được thực hiện chi tiết hơn. Bởi vì
một tấn công tiêu biểu có thể bao gồm hàng trăm yêu cầu được gửi tới máy chủ thư, trong
khi đó kẻ tấn công có thể cố gắng che dấu sự tấn công của mình bằng cách tăng khoảng
cách giữa hai lần gửi yêu cầu. Trong trường hợp này việc tổng kết nhật ký theo từng ngày
riêng hoặc từng tuần có thể không nhận ra sự tấn công. Khi tăng thời gian tổng kết nhật
ký kê theo tháng hoặc theo quí, nhiều tấn công xuất phát từ cùng một máy hoặc cùng một
lớp mạng sẽ dễ dàng bị nhận ra.
Các tệp nhật ký cần được bảo vệ để đảm bảo rằng nếu kẻ tấn công thực hiện phá
hoại một máy chủ thư, các tệp nhật ký sẽ không bị thay đổi nhằm che dấu cuộc tấn công
đó. Mặc dù phương pháp mã hoá bảo vệ các tệp nhật ký, nhưng giải pháp tốt nhất là để
lưu trữ các tệp nhật ký là nên ghi chúng lên một máy riêng (không cùng với máy chủ
thư). Máy này thường được gọi là các máy nhật ký hay các máy nhật ký hệ thống.
Các tệp nhật ký nên được lưu dự phòng một cách thường xuyên. Việc lưu dự phòng
các tệp nhật ký theo từng giai đoạn thời gian có thể rất quan trọng bởi nhiều lý do: làm
bằng chứng pháp lý, các vấn đề đã xảy ra đối với chủ thư, ... Việc chia khoảng thời gian
để lưu dự phòng các tệp nhật ký phụ thuộc vào các yếu tố::
Các yêu cầu pháp lý
Các yêu cầu của tổ chức
Dung lượng nhật ký
Giá trị của các dịch vụ và dữ liệu
Mức đe doạ
5.2.1.3. Các công cụ phân tích tự động tệp nhật ký
Lưu lượng dữ liệu truyền qua máy chủ thư là rất lớn, dung lượng các tệp nhật ký vì
thế cũng sẽ tăng lên rất nhanh. Bởi vậy cần cài đặt các công cụ phân tích các tệp nhật ký
tự động trên các máy chủ thư nhằm làm giảm gánh nặng cho các nhà quản trị. Các dụng
cụ này phân tích các tệp nhật ký trên máy chủ thư và xác định các sự kiện đáng ngờ và
bất thường.
Hiện nay có rất nhiều công cụ (có công cụ là các sản phẩm thương mại, cũng có
những công cụ được cung cấp miễn phí) hỗ trợ việc phân tích một cách chính qui. Một số
tổ chức muốn sử dụng hai hoặc nhiều hơn các bộ phân tích tự động tệp nhật ký nhằm
giảm nguy cơ bỏ qua hiểm hoạ hoặc các sự kiện quan trọng khác đã được ghi lại trong
các tệp nhật ký.
5.2.2. Các thủ tục sao chép dự phòng máy chủ thư
Việc duy trì tính toàn vẹn của dữ liệu trên máy chủ thư là một trong các chức năng
quan trọng nhất của người quản trị. Đây là một chức năng cực kỳ quan trọng bởi vì các
máy chủ thư thường là khâu dễ bị gây hại nhất trong mạng chung của một tổ chức hay
công ty. Bên cạnh đó, trong quá trình hoạt động phần cứng hoặc phần mềm cấu thành các
máy chủ thư rất có thể sẽ bị hư hỏng hoặc không hoạt động.
Máy chủ thư cần được người quản trị sao lưu dự phòng một cách thường xuyên vì
một số lý do:
Một máy chủ thư có thể không hoạt động được do bị tấn công hoặc do nguyên nhân
phần cứng hoặc phần mềm có vấn đề.
Thông thường việc giải quyết tranh chấp trong một số trường hợp người ta căn cứ
vào dữ liệu được sao lưu dự phòng chứ không căn cứ vào dữ liệu hiện tại trên máy
chủ thư.
Để thực hiện việc sao lưu dữ liệu trên các máy chủ thư, các tổ chức cần thiết lập
chính sách cho vấn đề này. Nội dung của chính sách chịu ảnh hưởng của ba yếu tố:
Các yêu cầu pháp lý.
Các luật và qui định hiện hành(áp dụng cho các chủ thể là Chính phủ,
nhà nước và các tổ chức quốc tế).
Các yêu cầu kiện tụng, tranh chấp
Các yêu cầu về nhiệm vụ
Bằng hợp đồng
Thực hành chung
Đánh giá dữ liệu cho tổ chức
Các chính sách và hướng dẫn có tổ chức
Mặc dù chính sách dự phòng máy chủ thư của từng tổ chức là khác nhau, nhưng các
chính sách đó cần phải giải quyết được một số vấn đề sau:
Mục đích của chính sách dự phòng máy chủ thư
Ai sẽ chịu ảnh hưởng bởi chính sách dự phòng máy chủ thư
Máy chủ thư nào được cần thực hiện chính sách dự phòng
Định nghĩa các thuật ngữ chính, đặc biệt là các thuật ngữ về kỹ thuật và pháp luật
Mô tả một cách chi tiết các yêu cầu theo ngôn ngữ pháp luật, thương mại, ....
Phác thảo tần số dự phòng
Phác thảo các thủ tục nhằm bảo đảm dữ liệu sẽ hoàn toàn được bảo vệ và lưu trữ.
Phác thảo các thủ tục nhằm bảo đảm dữ liệu khi không có yêu cầu lưu thêm sẽ bị
huỷ hoàn toàn (không có khả năng khôi phục lại).
Có văn bản rõ ràng về việc xử lý kiện tụng tranh chấp.
Liệt kê các trách nhiệm cho việc duy trì, bảo vệ và huỷ dữ liệu.
Tạo bảng phân loại thông tin và giai đoạn sao lưu tương ứng của nó.
Có văn bản về qui định trách nhiệm cho các trung tâm, phòng ban chịu trách nhiệm
sao lưu dữ liệu nếu chúng tồn tại
Có ba kiểu sao lưu dự phòng chính hiện đang tồn tại:
Sao lưu đầy đủ: là sao lưu dự phòng hoàn chỉnh một máy chủ thư bao gồm hệ điều
hành, các ứng dụng và dữ liệu lưu trữ trên máy chủ thư đó.
Thuận lợi của việc sao lưu dự phòng toàn bộ là chúng ta có một bản
sao dự phòng đầy đủ (các tham số cấu hình, dữ liệu, ...), như vậy sẽ rất
dễ cho việc khôi phục trang thái khi gặp sự cố.
Bất lợi của việc sao lưu dự phòng toàn bộ là vấn đề thời gian và nguồn
tài nguyên để thực hiện.
Sao lưu dự phòng tăng: chỉ thực hiện sao lưu đối với dữ liệu có sự thay đổi so với
lần sao lưu trước đó (có thể là sao lưu đầy đủ).
Sao lưu dự phòng sai khác: thực hiện sao lưu dự phòng cả dữ liệu cũng như các
tham số cấu hình đã bị thay đổi so với lần sao lưu dự phòng đầy đủ cuối cùng.
Trong ba kiểu sao lưu dự phòng trên, việc sao lưu dự phòng toàn bộ được thực hiện
với chu kỳ dài thời gian hơn (thường là theo hàng tuần, hàng tháng hoặc khi xuất hiện ra
sự thay đổi quan trọng), còn sao lưu dự phòng tăng và sao lưu dự phòng sai khác được
thực hiện thường xuyên hơn (thường là theo ngày hoặc theo từng tuần).
Tần số của việc sao lưu dự phòng được quyết định bởi các yếu tố
dưới đây:
Sự thay đổi thông tin và các tham số cấu hình trên các máy chủ thư
Lượng dữ liệu sẽ được sao lưu dự phòng
Khả năng hỗ trợ của các thiết bị dự phòng
Thời gian có thể cho việc thực hiện sao lưu dự phòng
Tính quan trọng của dữ liệu
Mức đe doạ mà máy chủ thư gặp phải
Khả năng khôi phục lại dữ liệu mà không cần đến dữ liệu đã được sao lưu dự
phòng.
Các công cụ sao lưu dự phòng khác
Khi thực hiện việc sao lưu dự phòng, cần thoả mãn một số tiêu chí
dưới đây:
Chỉ thực hiện đọc một lần.
Phải có khả năng lưu trữ và kiểm tra tính đúng đắn của dữ liệu được sao lưu dự
phòng.
Phải có khả năng sắp xếp và gắn nhãn thời gian cho thông tin được sao lưu dự
phòng.
Hỗ trợ khả năng khai thác, tìm kiếm, thống kê dễ dàng đối với thông tin được sao
lưu dự phòng.
Duy trì ít nhất hai bản copy ở hai địa điểm địa lý khác nhau.
5.2.3. Kiểm tra cơ chế an toàn của các máy chủ thư
Giai đoạn kiểm tra cơ chế an toàn của các máy chủ thư công khai là rất cần thiết.
Nếu không có giai đoạn kiểm tra, sẽ không khẳng định được rằng các biện pháp an toàn
hiện tại có thể hoạt động, các biện pháp lấp lỗ hổng được người quản trị áp dụng có thực
hiện đúng các chức năng như đã quảng cáo hay không? Hiện tại có rất nhiều công nghệ
kiểm tra sự an toàn, nhưng phương pháp quét lỗ hổng được biết đến như một phương
pháp phổ thông nhất. Việc thực hiện quét lỗ hổng giúp người quản trị xác định các lỗ
hổng và kiểm tra xem các biện pháp an toàn hiện đang được áp dụng có hiệu quả hay
không. Việc kiểm tra sự thâm nhập trái phép cũng được sử dụng nhưng không thường
xuyên và thường chỉ là một phần trong việc tổng kiểm tra thâm nhập trái phép cho mạng
chung của cả tổ chức.
5.2.3.1. Quét lỗ hổng
Quét lỗ hổng là các công cụ hoạt động tự động, được sử dụng để xác định các lỗ
hổng và cấu hình sai của máy chủ. Trong đó có nhiều sản phẩm quét lỗ hổng có cả chức
năng cung cấp thông tin về việc làm giảm nhẹ thiệt hại do các lỗ hổng đã được phát hiện
gây nên.
Các công cụ quét lỗ hổng cố gắng xác định các lỗ hổng trên các máy được quét. Các
lỗ hổng có thể là: các phiên bản phần mềm quá hạn, lỗi lấp lỗ hổng, lỗi nâng cấp hệ
thống, … cho các máy chủ. Để hoàn thành được các chức năng trên, các công cụ quét lỗ
hổng trước hết thường xác định cụ thể hệ điều hành, các ứng dụng phần mềm chính hiện
có trên máy chủ sau đó kiểm tra các lỗ hổng đã được phát hiện trước đây đối với chúng.
Việc kiểm tra trên được thực hiện trên một cơ sở dữ liệu lớn lưu các lỗ hổng đã được
phát hiện trên các hệ điều hành và các ứng dụng phổ thông, hay được sử dụng hiện nay.
Tuy nhiên, các công cụ quét lỗ hổng cũng có một số điểm yếu. Nhìn chung, các
công cụ này chỉ định danh được lỗ hổng mà không đánh giá độ rủi ro chung cho máy chủ
được quét. Mặc dù quá trình quét đã được tự động hoá, nhưng các công cụ quét lỗ hổng
cũng thường có tỷ lệ lỗi khá cao (ví dụ một lỗi thường gặp trong các công cụ quét lỗ hổng
là đưa ra các báo cáo đối với các lỗ hổng không tồn tại). Điều này có nghĩa là để có một
kết quả chính xác các chuyên gia, người quản trị cần có một bước phân tích thêm. Hơn
nữa, các công cụ quét lỗ hổng không có khả năng định danh cho các lỗ hổng cho các
chương trình, các ứng dụng do người dùng xây dựng.
Các công cụ quét lỗ hổng phụ thuộc vào giai đoạn cập nhật cơ sở dữ liệu các lỗ
hổng để nhận biết các lỗ hổng mới nhất. Trước khi chạy công cụ quét, người quản trị nên
cài đặt sự cập nhật mới nhất cho các cơ sở dữ liệu lỗ hổng. Tần số của việc cập nhật cơ sở
dữ liệu lỗ hổng phụ thuộc vào từng công cụ quét.
Các công cụ quét lỗ hổng thường hiệu quả trong việc phát hiện ra các lỗ hổng đã
được biết đến nhiều hơn là các lỗ hổng ít xuất hiện vì không thể có một sản phẩm nào lại
có thể định danh được tất cả các lỗ hổng đã biết trong một khoảng thời gian nhất định.
Hơn nữa, các nhà xây dựng công cụ quét thường muốn công cụ của mình có thể chạy với
tốc độ nhanh (muốn phát hiện nhiều lỗ hổng thì cần nhiều phép thử, như vậy sẽ làm chậm
tiến trình quét chung).
Các công cụ quét lỗ hổng có thể cung cấp các khả năng sau:
Định danh các máy đang hoạt động trên mạng
Định danh các dịch vụ (cổng) hiện đang được kích hoạt trên các máy.
Định danh các ứng dụng.
Định danh các hệ điều hành.
Định danh các lỗ hổng tương ứng với hệ điều hành và các ứng dụng đã
phát hiện.
Kiểm tra việc tuân thủ chính sách an toàn của các ứng dụng trên
máy chủ.
Việc quét lỗ hổng cần sự trợ giúp từ sức lao động với trình độ cao của con người
trong việc giải thích kết quả của quá trình quét. Nó cũng có thể gây tổn hại đến hoạt động
của mạng do quá trình quét sẽ làm tăng băng thông và giảm thời gian đáp ứng trên mạng.
Tuy nhiên, việc quét lỗ hổng là rất quan trọng cho việc làm giảm bớt các lỗ hổng, trước
khi chúng bị phát hiện và được khai thác bởi các mục đích bất hợp pháp. Việc quét lỗ
hổng nên được thực hiện theo định kỳ hàng tuần, hàng tháng, hoặc khi nào cơ sở dữ liệu
lỗ hổng mới được phát hành.
Nói chung, trên thực tế nên sử dụng nhiều hơn một công cụ quét lỗ hổng, bởi như
đã đề cập ở trên, không có một công cụ nào có thể phát hiện được tất cả các lỗ hổng đã
được biết. Theo các chuyên gia trong lĩnh vực này, nên sử dụng hai công cụ quét lỗ hổng,
một thuộc lớp các sản phẩm thương mại, một thuộc lớp các sản phẩm miễn phí.
Các kết quả của quá trình quét cần được đóng thành tài liệu phục vụ cho việc phân
tích, đánh giá. Cần chú ý rằng đối với các công cụ quét không phải là các sản phẩm
thương mại, thì kết quả của quá trình quét nhất định phải được chính xác hoá thông qua
sự phân tích của các chuyên gia.
5.2.3.2. Tấn công thử
Tấn công thử là một phép kiểm tra sự an toàn, trong đó các nhà đánh giá độ an toàn
cố gắng tấn công các tính năng an toàn của hệ thống trên cơ sở những hiểu biết của họ về
thiết kế và qui trình triển khai hệ thống đó. Mục đích của việc tấn công thử nhằm đánh
giá sức chịu của các biện pháp bảo vệ hệ thống, thông qua việc sử dụng các công cụ và
kỹ thuật chung đã được các hacker phát triển. Tấn công thử là một yêu cầu không thể
thiếu trong các hệ thống mạng quan trọng và phức tạp.
Việc tấn công thử có thể không có mấy ý nghĩa đối với chương trình an toàn thông
tin của các tổ chức. Tuy nhiên, nó là công việc yêu cầu trình độ cao (ở mức chuyên gia)
nhằm tối thiểu hoá rủi ro cho các hệ thống được sử dụng làm mục tiêu tấn công thử. Quá
trình tấn công thử có thể làm cho mạng hoạt động chậm, thậm chí có bị thể phá huỷ.
Tấn công thử sẽ đem lại cho chúng ta các lợi ích sau đây:
Kiểm tra mạng sử dụng các phương pháp và công cụ mà các hacker thường
sử dụng để tấn công.
Kiểm tra sự tồn tại của các lỗ hổng.
Không chỉ dừng lại ở việc xác định lỗ hổng mà còn giải thích cho việc có
thể khai thác các lỗ hổng này để tấn công.
Chứng minh các lỗ hổng không chỉ tồn tại đơn thuần trên lý thuyết.
Hỗ trợ về mặt phương pháp luận cho việc giải quyết các vấn đề an toàn.
5.2.4. Quản trị từ xa một máy chủ thư
Một khuyến cáo rất quan trọng từ các chuyên gia là không nên cho phép việc quản
trị các máy chủ thư từ xa khi chưa đánh giá hết các khả năng rủi ro có thể. Cấu hình an
toàn nhất là không cho bất kỳ một sự quản trị nào từ xa (tất nhiên, điều này không thể áp
dụng cho tất cả các tổ chức sử dụng thư điện tử trên thực tế). Rủi ro của việc quản trị từ
xa phụ thuộc vào vị trí của máy chủ thư trong mạng chung. Đối với một máy chủ thư
được đặt sau bức tường lửa, việc quản trị từ xa hoặc cập nhật nội dung có thể được thực
hiện từ các máy mạng bên trong mà không làm phát sinh thêm rủi ro. Nói chung trong
mọi trường hợp không nên cho phép việc quản trị máy chủ thư từ một vị trí nằm ngoài
mạng được bảo vệ.
Nếu một tổ chức hay công ty nào đó có nhu cầu quản trị hoặc cập nhật thông tin từ
xa trên một máy chủ thư, cần đảm bảo rằng các bước dưới đây được thực hiện trong điều
kiện an toàn có thể:
– Sử dụng lược đồ xác thực an toàn cao (như sử dụng mật mã khoá công khai, xác
thực hai yếu tố)
Hạn chế các máy có thể được sử dụng để quản trị từ xa hoặc cập nhật
nội dung trên máy chủ thư.
Hạn chế thông qua các user được uỷ quyền
Hạn chế thông qua địa chỉ IP
Hạn chế ngay cả với các máy thuộc mạng trong
– Sử dụng các giao thức an toàn hơn (như secure shell, HTTPS,) và không sử dụng
các giao thức có độ an toàn thấp (như Telnet, FTP, HTTP).
– Cấp quyền tối thiểu cho việc quản trị từ xa hay cập nhật nội dung
– Không cho phép việc quản trị từ xa trên Internet xuyên qua bức tường lửa trừ khi
được thực hiện thông qua một cơ chế bảo mật mạnh, ví dụ như đường hầm mạng
riêng ảo.
– Thay đổi các tài khoản và mật khẩu mặc định của các ứng dụng hay tiện ích quản trị
từ xa.
– Không mount bất kỳ một tệp nào ở mạng trong từ máy chủ thư.
5.2.5. Bảng liệt kê các danh mục quản trị an toàn máy chủ thư
Đã thực hiện Thao tác cần thực hiện
Nhật ký
Nhật ký về lỗi thiết lập IP
Nhật ký về vấn đề cấu hình
Nhật ký về các lỗi cấu hình máy chủ thư (không tương thích với
DNS, lỗi cấu hình cục bộ, cơ sở dữ liệu bí danh quá hạn)
Nhật ký về sự kiện cơ sở dữ liệu bí danh hết hạn
Nhật ký về việc thiếu các nguồn tài nguyên hệ thống (dung
lượng đĩa trống, bộ nhớ, CPU)
Nhật ký về việc xây dựng lại cơ sở dữ liệu bí danh
Nhật ký về việc đăng nhập
Nhật ký về các vấn đề an toàn (ví dụ bom thư)
Nhật ký về việc mất các kết nối
Nhật ký về lỗi giao thức
Nhật ký về thời gian chờ kết nối
Nhật ký về các từ chối kết nối
Nhật ký về việc sử dụng các lệnh VRFY và EXPN
Nhật ký gửi thay
Nhật ký gửi thư
Nhật ký địa chỉ không đúng định dạng
Nhật ký về việc thu thập thông điệp
Nhật ký về việc tạo các thông điệp lỗi
Nhật ký về việc không phân phối được thư
Lưu các tệp nhật ký trên các máy riêng
Sao lưu nhật ký theo yêu cầu
Tổng hợp nhật ký từng ngày
Tổng hợp nhật ký theo tuần
Sử dụng các công cụ phân tích các tệp nhật ký
Sao lưu dự phòng máy chủ thư
Tạo chính sách sao lưu dự phòng
Sao lưu dự phòng tăng hoặc sai khác theo định kỳ từ một ngày
đến một tuần
Sao lưu dự phòng đầy đủ theo định kỳ một từ tuần đến một
tháng
Đặt giai đoạn cho việc bắt đầu lại sao lưu dự phòng
Kiểm tra sự an toàn
Chia giai đoạn quét lỗ hổng trên máy chủ thư và mạng cung cấp
dịch vụ mạng
Cập nhật cho công cụ quét lỗ hổng trước khi thực hiện quét
Chính xác hoá kết quả quét
Thực hiện tấn công thử máy chủ thư trên mạng
Khắc phục các điểm yếu phát hiện khi tấn công thử
Quản trị máy chủ thư từ xa
Sử dụng lược đồ xác thực mạnh
Hạn chế các máy có thể sử dụng cho việc quản trị từ xa
Sử dụng các giao thức bảo mật
Cấp quyền tối thiểu cho việc quản trị từ xa
Thay đổi tài khoản và mật khẩu của các ứng dụng hay tiện ích
quản trị từ xa
Không cho phép việc quan trị từ xa từ Internet trừ khi sử dụng
cơ chế an toàn cao như mạng riêng ảo
CHƯƠNG 6
AN TOÀN THƯ TÍN SỬ DỤNG MẬT MÃ
6.1. Giới thiệu các lược đồ an toàn thư
Hai lược đồ đầu tiên cho việc bảo mật nội dung thư đầu cuối là Prety Good Privacy (PGP) và Secure Multipurpose Internet Mail Extension (S/MIME). Cả hai đều dựa trên cùng một yếu tố là mật mã khoá công khai, trong đó mỗi người sử dụng có một cặp khoá: một khoá công khai mà ai cũng có thể có và một khoá bí mật mà chỉ người sử dụng là chủ hữu cặp khoá mới có. Khoá công khai của đối tượng nhận được sử dụng để mã hoá dữ liệu cần gửi, và dữ liệu đã được mã hoá này chỉ được giải mã khi sử dụng khoá bí mật tương ứng. Khoá bí mật của người gửi sẽ được sử dụng để tạo chữ ký điện tử trên dữ liệu được gửi đi, việc xác nhận chữ ký điện tử trên sẽ được kiểm tra bởi bất kỳ ai có khoá công khai tương ứng. Công nghệ chữ ký điện tử có sử dụng đến việc tạo một bản tóm lược dữ liệu cần ký thông qua việc sử dụng các hàm băm (hàm hash), với việc sử dụng hàm băm dữ liệu sẽ được ký một cách hiệu quả hơn (để hiểu rõ hơn cần có nhiều kiến thức hơn trong lĩnh vực mật mã).
Xuất phát từ nhiều lý do, trong đó lý do quan trọng nhất là khi sử dụng mật mã khoá công khai sẽ phải trả giá về thời gian tính toán. Để làm giảm thời gian xử lý, mật mã khoá đối xứng cũng được sử dụng trong việc bảo mật nội dung thư điện tử. Mật mã khoá đối xứng yêu cầu có một khoá đơn được chia sẻ trước giữa các đối tượng cần trao đổi thông tin, đối với thư điện tử là các đối tượng nhận và các đối tượng gửi. Như vậy, khắc phục được nhược điểm của mật mã khoá công khai là thời gian xử lý, thì mật mã khoá đối xứng lại vướng phải nhược điểm là cần phân phối khoá trước.
Một lược đồ tiêu biểu kết hợp giữa hai hệ mật trên ra đời sử dụng cho thư điện tử, lược đồ này có thể được tóm tắt như sau:
Bên đối tượng gửi
Sinh ra một khoá ngẫu nhiên Mã hoá thông điệp cần gửi sử dụng một thuật toán mã hoá khoá đối xứng (khoá sinh
ngẫu nhiên ở trên). Mã hoá khoá đối xứng sử dụng khoá công khai của đối tượng nhận với thuật toán
mã hoá khoá công khai tương ứng. Gửi cả thông điệp đã được mã và khoá đối xứng đã được mã cho đối tượng nhận.
Bên phía đối tượng nhận
Sử dụng khoá bí mật giải mã khoá đối xứng đã được mã (với thuật toán mã hoá khoá công khai tương ứng)
Dùng khoá đối xứng để giải mã thông điệp đã được mã hoá (với thuật toán tương ứng như bên gửi)
Ưu điểm của lược đồ này là:
Thuật toán mã hoá khoá công khai chỉ được sử dụng để mã khoá đối xứng
Khoá dùng cho thuật toán mã hoá đối xứng không phải phân phối trước.
Mặc dù S/MIME và PGP là hai lược đồ mã hoá thư điện tử được dùng phổ biến hiện nay, nhưng cũng có nhiều lược đồ khác đã được đề xuất kể từ khi phát minh ra thư điện tử. Hai trong số đó chúng ta có thể kể đến là lược đồ PEM (đầu tiên được phát triển năm 1987) và MIME Object Security Services (MOSS). Tuy nhiên trong phạm vi tập bài giảng này chúng ta sẽ không đề cập sâu hơn đến chúng.
Mặc dù mã hoá thư điện tử nâng cao độ an toàn, nhưng khi sử dụng dịch vụ này cần chú ý:
Việc quét virus và lọc nội dung thư tại bức tường lửa và ngay trên máy chủ thư sẽ gặp rắc rối với nội dung thư đã được mã hoá. Nếu trên bức tường lửa và máy chủ thư không có phương pháp để giải mã thư điện tử thì chúng không thể thực hiện việc quét virus và lọc nội dung.
Các thao tác mã, giải mã sẽ cần thời gian xử lý. Các tổ chức có hệ thống máy tính lạc hậu sẽ không muốn sử dụng tính năng mã hoá, trừ khi họ có khả năng nâng cấp hệ thống máy tính.
Các thư điện tử được mã hoá sẽ có dung lượng lớn hơn và bởi vậy yêu cầu thêm về băng thông mạng. Thực tế dung lượng tăng lên bao nhiêu phụ thuộc vào rất nhiều yếu tố: thuật toán mã hoá, cỡ khoá, dung lượng thư cần mã,...
Để sử dụng tính năng mã hoá sẽ kéo theo một số tác vụ khác như: phân phối khoá, khôi phục khoá, và huỷ bỏ các khoá mã
6.2. Pretty Good Privacy
PGP ra đời lần đầu tiên vào năm 1991. Khởi đầu PGP là một phần mềm miễn phí,
nhưng sau đó nó được phát triển thành hai phiên bản: phiên bản thương mại và phiên bản
miễn phí. Việc tải phiên bản miễn phí, hoặc đăng ký mua phiên bản thương mại có thể
được thực hiện thông qua rất nhiều địa chỉ Web, bảng dưới đây liệt kê một số trang Web
chính mà ở đó người sử dụng có thể tải PGP. OpenPGP hiện tại được định nghĩa bởi
IETF (Internet Engineering Task Force).
Danh sách các Web sai cung cấp PGP
Tổ chức URL
International PGP Site http://www.pgpi.org
MIT PGP Freeware Distribution http://web.mit.edu/network/pgp.html
PGP site (Phiên bản thương mại) http://www.pgp.com
OpenPGP site http://www.openpgp.org
Phiên bản hiện tại (năm 2002) của PGP là phiên bản 7.0, được xây dựng bởi công ty
PGP. Phiên bản này hỗ trợ một số thuật toán mật mã được đề xuất bởi NIST, bao gồm:
Chuẩn mã hoá dữ liệu (DES - Data Encryption Standard), 3 DES, cho việc mã hoá dữ liệu.
Chuẩn mã hoá tiên tiến (AES - Advanced Encryption Standard) cho việc mã hoá dữ liệu.
Thuật toán chữ ký điện tử (DSA - Digital Signature Algorithm) cho các chữ kỹ số.
RSA cho các chữ ký số
Thuật toán băm an toàn (SHA-1 - Secure Hash Algorithm) cho việc băm dữ liệu.
Chú ý:
Để biết thêm chi tiết về chuẩn mã hoá dữ liệu DES và 3DES có thể
truy nhập vào trang: http://csrc.ncsl.nist.gov/cryptval
Để biết thêm chi tiết về thuật toán AES có thể truy nhập vào trang:
http://csrc.nist.gov/encryption/aes
Để biết thêm chi tiết về DSA và DSS có thể truy nhập vào trang:
http://www.itl.nist.gov/fipspub/fip186.html
Để biết thêm chi tiết về SHA và SHS có thể truy nhập vào trang:
http://csrc.nist.gov/cryptval/shs.html
Các phiên bản khác của PGP có thể hỗ trợ các lược đồ mã hoá khác. Các tổ chức thuộc liên bang Mỹ được yêu cầu sử dụng các thuật toán mà chính phủ liên bang Mỹ đã chấp nhận, các tổ chức khác cũng thường sử dụng các thuật toán trên vì chúng đã kiểm tra và kiểm định tính an toàn. Thực tế đã có rất nhiều thuật toán mã hoá không được chấp
nhận đã bị phá, đây cũng có thể xem là một trong các lỗ hổng cho thư điện tử khi chúng được sử dụng.
Nếu một tổ chức hay công ty nào đó lựa chọn PGP, họ cần áp dụng các hướng dẫn
được liệt kê trong bảng dưới đây:
Bộ các thuật toán mật mã
An toàn mức cao nhất Mã hoá: Sử dụng AES với 256 bít
khoá.
Chữ ký số và hàm băm: Chuẩn chữ ký
số DSS với độ dài khoá là 1024 bít
hoặc lớn hơn, thuật toán băm SHA-1
An toàn và thực thi Mã hoá: Sử dụng AES với 128 bít
khoá
Chữ ký số và hàm băm: DSS với khoá
có độ dài 1024 bít hoặc lớn hơn, SHA-
1
An toàn và tương thích Mã hoá: 3DES, 168/112 bít khoá
Chữ ký số và hàm băm: DSS với khoá
có độ dài 1024 bít hoặc lớn hơn, SHA-
1
Xác thực và phát hiện giả mạo Chữ ký số và hàm băm: DSS với khoá
có độ dài 1024 bít hoặc lớn hơn, SHA-
1
Mặc dù PGP đã sử dụng mật mã khoá công khai, nhưng chỉ trong việc ký các bản
tóm lược của thông điệp, còn việc mã hoá nhiều thành phần thực sự của thông điệp được
thực hiện bởi thuật toán mã hoá khoá đối xứng như đã đề cập ở phần trước. Dưới đây là
các mô tả vắn tắt về qui trình ký và mã hoá thư điện tử sử dụng PGP (các bước có thể
xuất hiện theo thứ tự khác nhau):
PGP tạo một khoá phiên ngẫu nhiên (trong một vài cài đặt của PGP, nguồn sinh
ngẫu nhiên được lấy từ sự di chuyển chuột trên màn hình của người sử dụng)
Thông điệp thư điện tử được mã hoá bằng khoá phiên sinh ngẫu nhiên và một thuật
toán mã hoá khoá đối xứng (3DES, AES).
Khoá phiên được mã hoá bằng khoá công khai của đối tượng nhận.
Sử dụng hàm băm SHA-1 để sinh bản tóm lược của thông điệp điện tử, và giá trị
tóm lược này sẽ được thực hiện ký điện tử sử dụng khoá bí mật của đối tượng gửi.
Khoá phiên đã mã hoá được đính kèm theo thông điệp thư điện tử.
Thông điệp thư điện tử được gửi cho đối tượng nhận.
Đối tượng nhận thực hiện ngược lại qui trình trên để nhận được khoá phiên và giải mã và kiểm tra chữ ký thông điệp thư điện tử. Các phần mềm thư điện tử máy trạm phổ thông như Netscape Messenger, Eudora, Micrsoft Outook yêu cầu việc cài đặt plug-in để thiết lập khả năng gửi nhận các thông điệp thư điện tử được mã hoá bởi PGP. Các địa chỉ Web cung cấp PGP cũng hỗ hỗ trợ các hướng dẫn về việc sử dụng PGP với các ứng dụng thư máy trạm khác nhau.
6.3. S/MIME
S/MIME lần đầu tiên được giới thiệu vào năm 1995 bởi RSA Data Security. S/MIME dựa trên chuẩn mật mã khoá công khai tương ứng PKCS#7 (Public Key Cryptography Standard #7) sử dụng cho định dạng dữ liệu các thông điệp thư điện tử đã được mã hoá, và chuẩn X.509 phiên bản 3 cho các chứng chỉ điện tử. Các thông tin về các chuẩn RSA PKCS có thể tra cứu từ trang chủ của PKCS: http;//www.rsasecurity.com/rsalabs/pkcs/index.html
S/MIME phiên bản 2 đã được chấp nhận một cách rộng rãi từ nền công nghiệp thư điện tử trên Internet. Mặc dù nó không xem là một chuẩn (theo IETF), nhưng nó được xác định trên các RFCs dưới đây:
RFC 2311: S/MIME Version 2 Message Specification RFC 2312: S/MIME Version 2 Certificate Handling RFC 2313: PKCS#1- RSA Encryption Version 1.5 RFC 2314: PKCS#10 - Certification Request Syntax Version 1.5 RFC 2315: PKCS#7 - Cryptographic Message Syntax Version 1.5 RFC 2268: Mô tả thuật toán mã hoá RC2
S/MIME phiên bản 3 được phát triển bởi IETF S/MIME Working Group và được
chấp nhận là chuẩn của IETF vào tháng 7 năm 1999. S/MIME phiên bản 3 được xác định
bởi các RFC:
RFC 2630: Cryptographic Message Syntax
RFC 2633: S/MIME Version 3 Message Specification
RFC 2632: S/MIME Version 3 Certificate Handling
RFC 2631: Diffie-Hellman Key Agreement Method
RFC 2634: Enhanced Security Services for S/MIME
Trang chủ của S/MIME Working Group có địa chỉ:
http://www.ietf.org/html.chaters/smime-charter.html.
Bởi vì phiên bản đầu tiên của S/MIME được phát triển vào năm 1995, nên chuẩn
S/MIME phải tuân theo cơ chế quản lý xuất khẩu mật mã hiện của nước Mỹ. Điều này có
nghĩa là các cài đặt S/MIME bị áp đặt hỗ trợ thuật toán mã hoá không có độ an toàn cao
là RC2 với 40 bít khoá. Việc quản lý cơ chế xuất khẩu mật mã bây giờ đã mở hơn rất
nhiều. Tuy nhiên, do từng đã bị yêu cầu chỉ hỗ trợ thuật toán RC2 40-bít, nên S/MIME
thường được xem như là một sản phẩm hỗ trợ mật mã yếu, hiện nay điều này chỉ đúng
nếu như một thuật toán yếu được chọn, S/MIME đã được tích hợp nhiều thuật toán mã
hoá, cho phép hỗ trợ phương pháp mã hoá có độ bảo mật cao.
Đặc tính có giá trị nhất của S/MIME là nó được xây dựng ngay bên trong các phần
mềm thư máy trạm và gần như trong suốt với người sử dụng. Bởi tính đóng gói của các
ngành công nghiệp phần mềm ngày nay rất cao (đặc biệt là sản phẩm của các hãng lớn
như Microsoft, Netscape, ...), nên S/MIME đã tồn tại một cách mặc định trong các bộ cài
đặt của các phần mềm thư máy trạm phổ thông hiện nay như Netscape Messager và
Outlook, Outlook Express. Tương tự như PGP, không có một sai lầm thực sự nào được
phát hiện trong giao thức S/MIME. Tuy nhiên, như trên các URL đã mô tả, S/MIME sử
dụng thuật toán RC2 40-bít đã bị phá trên các máy Windows (có thể tham khảo thông tin
này ở trang: http://www.counterpane.com/smime.html)
S/MIME phiên bản 3 hỗ trợ hai thuật toán mã hoá dữ liệu được giới thiệu bởi NIST
là DES và 3DES, và một thuật toán do IETF bổ sung là AES. Để làm tương thích được
với các phiên bản thấp hơn, bị hạn chế bởi việc quản lý cơ chế xuất khẩu mật mã,
S/MIME cũng hỗ trợ các thuật toán RC2 40-bít và RC2 64-bít.
Nói chung, các tổ chức không nên sử dụng thuật toán RC2 40 bít (độ an toàn thấp
nhất) hoặc DES (độ an toàn thấp) cho các thư tín điện tử hay các cuộc trao đổi dữ liệu
khác có tính chất nhạy cảm. Cả hai thuật toán trên được cho là rất yếu trong môi trường
hiện nay và chỉ nên dùng nó khi không còn cách nào khác (ví dụ trong trường hợp bắt
buộc, hoặc phải làm việc với các phiên bản cũ của S/MIME). RC2 64 bít có độ an toàn
cao hơn RC2 40 bít và DES và tốc độ của nó cũng cao hơn DES và 3DES. Tuy nhiên,
RC2 64 bít có độ an toàn thấp hơn 3DES, nên chỉ nên giới hạn việc dùng nó trong trường
hợp tương thích là yêu cầu số một. Việc thực thi các thuật toán dường như chỉ là một
công bố của S/MIME từ khi các thao tác mã hoá và giải mã được thực hiện trên các máy
trạm. Khi an toàn là yêu cầu số một, 3DES là thuật toán có độ an toàn cao nhất hiện được
hỗ trợ bởi S/MIME, và hy vọng trong tương lai AES sẽ nhanh chóng được tích hợp cho
các phần mềm thư máy trạm hiện đang được sử dụng phổ thông.
6.4. Lựa chọn mã pháp tương ứng
Sự lựa chọn thuật toán mã hoá thích hợp phụ thuộc và rất nhiều yếu tố và có sự thay
đổi đối với từng tổ chức hay công ty. Mặc dù chúng ta thường nghĩ nên dùng các thuật
toán có độ an toàn cao nhất trong số các thuật toán đã được tích hợp sẵn, nhưng không
phải điều đó lúc nào cũng đúng. Mức an toàn của các thuật toán mã hoá càng cao thì
tương ứng yêu cầu về tài nguyên trên các máy trạm và tốc độ truyền thông cũng càng cao
(quá trình mã hoá có thể làm tăng dung lượng của các thông điệp thư điện tử). Ngoài ra,
một số quốc gia trên thế giới vẫn duy trì việc hạn chế xuất, nhập khẩu, và việc dùng các
phương pháp mã hoá. Tương tự như vậy, họ có thể dựa vào việc cấp các bằng sáng chế
và các bản quyền có thể tác động đến việc các lược đồ mã hoá có được sử dụng ở một
nước cụ thể nào đó hay không. Cuối cùng, việc lựa chọn chuẩn mã hoá cho thư điện tử
(PGP, S/MIME, ...) là giới hạn của việc có thể lựa chọn các thuật toán mã hoá.
Nhìn chung, các yếu tố chung nhất có thể giúp cho việc lựa chọn một thuật toán mã
hoá bao gồm:
– Độ an toàn được yêu cầu
Giá trị của dữ liệu của các tổ chức hay công ty sử dụng thư điện tử. Giá trị của dữ
liệu càng cao thì yêu cầu về độ an toàn cho thuật toán mã hoá càng cao.
Giá trị thời gian của dữ liệu. Nếu dữ liệu chỉ có giá trị trong một khoảng thời gian
ngắn (chẳng hạn chỉ được tính trong số ít ngày) thì các thuật toán mã hoá yếu cũng
có thể được sử dụng. Ví dụ đối với các mật khẩu yêu cầu phải thường xuyên đổi
hàng ngày bởi vì phương pháp mã hoá mật khẩu chỉ có giai đoạn tồn tại là 24 giờ.
Mối đe doạ đối với dữ liệu. Mức độ đe doạ càng cao thì yêu cầu phương pháp mã
hoá có an toàn càng cao.
Các công cụ bảo vệ khác có thể sẽ làm giảm yêu cầu về mức độ an toàn của các
thuật toán mã hoá. Một ví dụ được sử dụng như các phương pháp bảo vệ truyền
thông là thiết lập một kênh riêng thay cho việc sử dụng Internet.
– Yêu cầu về tính thực thi, các yêu cầu về tính thực thi càng cao nói chung thường
phải gắn với các thuật toán mã hoá yếu hơn. Điều này bình thường không cần xem
xét đối với thư điện tử.
– Nguồn tài nguyên của hệ thống. Nguồn tài nguyên ít, như tốc độ CPU thấp, bộ nhớ
nhỏ thường sử dụng các thuật toán mã hoá yếu hơn. Nhưng đây không phải là một
yếu tố tiêu biểu đối với thư điện tử.
– Các hạn chế trong xuất, nhập khẩu và sử dụng
– Các lược đồ mã hoá được hỗ trợ bởi các phần mềm thư điện tử máy trạm hoặc của
chính các hệ điều hành.
6.5. Quản lý khóa
Sự khác nhau lớn nhất giữa PGP và S/MIME là mô hình quản lý khoá. Mô hình
mặc định truyền thống mà PGP sử dụng cho việc quản trị khoá được biết đến với thuật
ngữ "vòng tròn của sự tin cậy", mô hình này không có trung tâm phát hành khoá cũng
như sự phê duyệt của các đối tượng có thẩm quyền. Vòng tròn tin cậy dựa trên người sử
dụng cho việc kiểm soát và quản lý. Mô hình này phù hợp với các người dùng riêng rẽ và
các tổ chức có qui mô rất nhỏ, đối với các hệ thống lớn mô hình này không có khả năng
hoạt động.
Ngược lại, S/MIME và một số các phiên bản mới hơn của PGP mô hình đã được
thiết kế theo kiểu phân tầng. Tiêu biểu thường có một trung tâm đăng ký và phê chuẩn
thẩm quyền, được biết đến với tên là CA (Certificate Authority) cùng với các trung tâm
có thẩm quyền đăng ký ở mức thấp hơn.
Dưới đây là một số tổ chức CA được biết đến như các tổ chức thứ ba hỗ trợ cho
S/MIME:
Tên CA URL
Baltimore http://www.baltimore.com
Entrust http://www.entrust.com
Verisign http://www.verisign.com
Mặc định S/MIME được thiết lập khả năng để các phần mềm máy trạm thư phụ
thuộc vào sự tin cậy của các CA trung gian trong các phiên giao dịch S/MIME. Các cơ
quan có thẩm quyền có thể là các tổ chức thứ ba như đã liệt kê ở bảng trên, nhưng cũng
có thể là một CA được quản lý bởi chính các tổ chức sử dụng thư điện tử.
6.6. Sự lựa chọn giữa PGP và S/MIME
Việc lựa chọn giữa PGP và S/MIME phụ thuộc vào một số yếu tố. Các phiên bản
thương mại mới nhất của PGP đã được bổ sung các tính năng nhằm hoàn thiện sản phẩm
như S/MIME, tạo nên sự khác biệt rất ít giữa chúng. Khi triển khai cả hai chuẩn trên cũng
cung cấp các tính năng bổ sung như mã hoá đĩa hoặc mã hoá tệp, như vậy có thể sử dụng
để bảo vệ các thông tin ngoài thư điện tử trên các máy.
Các ưu điểm của PGP gồm
Tương thích với các nhóm người sử dụng nhỏ
An toàn hơn với sự trợ giúp của thuật toán mã hoá dữ liệu AES, trong khi
S/MIME chưa tích hợp thuật toán này cho các phần mềm thư điện tử phổ
thông.
Có phiên bản miễn phí.
Không yêu cầu (có hỗ trợ nếu yêu cầu) một cơ sở hạ tầng khoá công khai
bên ngoài (PKI - Public Key Infrastructure), trong khi S/MIME yêu cầu
các tổ chức phải trả một khoản kinh phí để có được các chứng chỉ điện tử
hoặc tự họ phải sở hữu một trung tâm cấp phát và quản lý chứng chỉ.
Có thể dùng với bất kỳ một phần mềm thư điện tử máy trạm nào.
Các ưu điểm của S/MIME
Thích hợp với các nhóm người sử dụng lớn như các tổ chức hoặc các công
ty.
Là chuẩn mã hoá thư điện tử được sử dụng rộng rãi nhất.
Hỗ trợ sẵn trong hầu hết các ứng dụng thư điện tử máy trạm.
Trong suốt hơn đối với người sử dụng đầu cuối.
TÀI LIỆU THAM KHẢO[1] Miles Tracy, Wayne Jansen. Guidelines on Electronic Mail Securrity. U.S
Department of Commerce (năm 2007).
[2] Richard Blum, “Open Source E-mail Security”, Sams, 2002.
[3] James Stanger, “E-mail Virus Protection Handbook”, Syngress, 2000.
[4] Steven Furnell, Paul Dowland, “E-mail Security”, IT Governance Publishing, 2010.