Chương I: Tổng quan về an toàn thông tin Trong chương này em tìm hiểu tổng quan về an toàn thông tin hiện nay và các ứng dụng rộng lớn của nó. Chương II: Tổng quan về hệ thống thư điện tử Trong chương này em tìm hiểu cơ bản về khái niệm thư điện tử, cấu trúc hoạt động của một bức thư điện tử là như thế nào và các khái niệm cơ bản về các giao thức truyền nhận mail. Chương III: Bảo mật Mail Sever
Trang 1TRƯỜNG ĐẠI HỌC KỸ THUẬT HẬU CẦN CAND
KHOA ĐIỆN TỬ - VIỄN THÔNG
BÁO CÁO HỌC PHẦN: “AN TOÀN VÀ BẢO MẬT HỆ THỐNG THÔNG TIN”
ĐỀ TÀI: “BẢO MẬT MAIL SEVER”
LỚP D2C – KHÓA D2 – T36
(Nhóm) Học viên thực hiện: Nguyễn Lê Hoàng Anh
Nguyễn Hoàng Nam Nguyễn Ngọc Hải
Đỗ Văn Tuấn
NHÓM: 8
Giáo viên hướng dẫn: TS Phạm Thế Quế
Bắc Ninh – Năm 2016
Trang 2MỤC LỤC
Trang
LỜI NÓI ĐẦU 1
CHƯƠNG I TỔNG QUAN VỀ AN TOÀN THÔNG TIN 1.1 Các tính chất an toàn 3
1.2 Nguyên tắc hoạt động mạng theo mô hình Client/ server 3
1.2.1 Mô hình Client Server 3
1.2.2 Nhiệm vụ của máy server và client 5
1.3 Các ứng dụng Client/Server trên Internet 6
1.3.1 World Wide Web(www) 6
1.3.2 Thư điện tử (E-Mail) 6
1.3.3 Dịch vụ FTP (File Transfer Protocol) 7
1.3.4 Mục đích của giao thức FTP 8
1.3.5 Dịch vụ tên miền (Domain Name System - DNS) 9
CHƯƠNG II TỔNG QUAN VỀ HỆ THỐNG EMAIL 2.1 Hệ thống thư điện tử 10
2.1.1 Thư điện tử là gì 10
2.1.2 Lợi ích của thư điện tử 10
2.1.3 Hiện trạng email hiện nay 11
2.1.4 Cơ chế hoạt động của thư điện tử 12
2.1.5 Các thành phần 13
2.2 Các giao thức truyền nhận mail 13
2.2.1 Giao thức truyền email SMTP 13
2.2.2 Giao thức nhận mail POP3 14
2.2.3 Giao thức nhận mail IMAP 16
2.3 Cách thức phân giải địa chỉ 17
2.3.1 Mục đích của hệ thống DNS 17
2.3.2 Hoạt động của DNS 18
2.4 Định dạng của một email 20
2.4.1 Định dạng thông thường 20
Trang 3CHƯƠNG III BẢO MẬT MAIL SEVER
3.1 Các vấn đề thường gặp với hệ thống Mail server 22
3.1.1 Tấn công từ chối dịch vụ (Denial of service) 22
3.1.2 Open Relay 24
3.1.3 Giả mạo địa chỉ 25
3.1.4 Spam 25
3.1.5 Virus - Worm 29
3.2 Những giải pháp tăng cường cho Mail Server 29
3.2.1 An toàn môi trường đặt máy chủ mail 29
3.2.2 An toàn hệ điều hành 34
3.2.3 An toàn phần mềm máy chủ email 36
3.2.4 An toàn quản trị mail server 39
KẾT LUẬN 43
TÀI LIỆU THAM KHẢO 44
Trang 4MỤC LỤC HÌNH ẢNH
Trang
Hình 1.1 Client/Server model 3
Hình 1.2 Mô hình truyền nhận File FTP 8
Hình 1.3 Cấu trúc của hệ thống tên miền 9
Hình 2.1 Cơ chế hoạt động của thư điện tử 12
Bảng 2.1 Các header RFC 822 được MIME thêm vào .21
Bảng 2.2 Các kiểu MIME 21
Hình 3.1 Tấn công DDOS 23
Hình 3.2 Cơ chế Relay 24
Hình 3.3 DNS Blacklist 26
Hình 3.4 Bộ lọc Bayesian 27
Hình 3.5 Black/white list 28
Hình 3.6 Mail Server nằm trong hệ thống tường lửa 31
Hình 3.7 Mail server được đặt trong vùng DMZ 32
Hình 3.8: Mô hình Mail Gateways 33
Trang 5LỜI NÓI ĐẦU
Ngày nay, mạng Internet đã trở thành nền tảng chính cho sự trao đổithông tin trên toàn cầu Có thể thấy một cách rõ ràng là Internet đã và đang tácđộng lên nhiều mặt của đời sống chúng ta từ việc tìm kiếm thông tin, trao đổi dữliệu đến việc hoạt động thương mại, học tập nghiên cứu và làm việc trực tuyến Nhờ Internet mà việc trao đổi thông tin cũng ngày càng tiện lợi, nhanh chónghơn Thư điện tử là một trong những dịch vụ phổ biến và tiện lợi nhất của mạngInternet Khái niệm thư điện tử cũng không còn mấy xa lạ với mọi người Thưđiện tử giúp mọi người sử dụng máy tính kết nối Internet đều có thể trao đổithông tin với nhau Mọi giao dịch, trao đổi đều có thể thông qua thư điện tử
Vấn đề bảo mật thông tin doanh nghiệp đã lên đến mức báo động , hiệnnay việc quản lý hệ thống CNTT nói chung và hệ thống mail nói riêng khôngvững chắc có thể mất mát những thông tin mà doanh nghiệp nhiều năm xâydựng
Các hệ thống Mail Server chuyên dụng thì chi phí cao nhưng hoạt động
ổn định, nhanh và bảo mật cao thường thì chỉ triển khai cho các doanh nghiệplớn Đối với các doanh nghiệp vừa và nhỏ giải pháp thường là triển khai trên hệthống Linux-Unix hoặc Microsoft
Linux-Unix: Ưu điểm là miễn phí và mã nguồn mở, yêu cầu phần cứngthấp, nhanh và ổn định Nhược điểm khó triển khai và quản trị
Microsoft: Ưu điểm dễ dàng triển khai và quản trị, thân thiện với ngườidùng Nhược điểm giá thành tương đối và yêu cầu phần cứng cao
Việc đảm bảo an toàn với hệ thống mail Server cũng phải chú trọng từkhâu thiết kế đến thi công Phải an toàn từ mô hình mạng đến các ứng dụng trênServer Ngoài ra, vấn đề Virus và Spam vẫn là những nguy cơ đe dọa đến sự vậnhành ổn định của hệ thống, đồng thời nguy cơ mất mát hoặc bị đánh cắp dữ liệu
là rất cao, điều này ảnh hưởng trực tiếp đến lợi ích của người dùng và doanhnghiệp Vì thế khi triển khai xây dựng hệ thống mail cho doanh nghiệp cần phảitính tới các vấn đề về bảo mật chống Spam, Virus
Tuy nhiên, trong việc thiết lập các biện pháp an toàn cho hệ thống mailngoài các giải pháp sử dụng linux và Microsoft chúng ta có thể sử dụng các giảipháp bảo mật của các bên thứ 3 như: Symantec, Norton, Kapersky,… hay cácgiải pháp của các công ty Việt nam: CMC, BKIS, FPT, …
Nắm bắt được vấn đề đó, nên chúng em đã tìm hiểu nghiên cứu những
Trang 6vấn đề liên quan đến an toàn và bảo mật trên hệ điều hành Windows Nhằm hỗtrợ việc đảm bảo an toàn Mail Server.
Đề tài của chúng em gồm 3 chương:
Chương I: Tổng quan về an toàn thông tin
Trong chương này em tìm hiểu tổng quan về an toàn thông tin hiện nay vàcác ứng dụng rộng lớn của nó
Chương II: Tổng quan về hệ thống thư điện tử
Trong chương này em tìm hiểu cơ bản về khái niệm thư điện tử, cấu trúchoạt động của một bức thư điện tử là như thế nào và các khái niệm cơ bản về cácgiao thức truyền nhận mail
Chương III: Bảo mật Mail Sever
Trong chương này em đã tìm hiểu về các vấn đề thường gặp của Mailserver hiện nay, như là Spam, virus, hay giả mạo địa chỉ và hướng giải quyếttrong từng vấn đề cụ thể
Chúng em xin chân thành cảm ơn các thầy các cô đã tạo điều kiện giúp đỡ
để em hoàn thành báo cáo này Chúng em xin gửi lời cảm ơn chân thành tới thầygiáo TS Phạm Thế Quế đã hướng dẫn và giúp đỡ chúng em rất nhiều để emthực hiện đề tài: “Bảo mật Mail Server” của mình
Trang 7CHƯƠNG I TỔNG QUAN VỀ AN TOÀN THÔNG TIN 1.1 Các tính chất an toàn
Tính toàn vẹn (integrity): Tính chất này đảm bảo chống lại các tấn côngsửa đổi thông tin trong quá trình truyền tải Tính chất này không chỉ đảm bảocho các thông điệp đơn lẻ mà còn yêu cầu mở rộng cho luồng thông điệp Điềunày có nghĩa là trong một nguồn thông điệp thì tính chất này đảm bảo rằngkhông có thông điệp nào bị mất, giả mạo và chống lại các tấn công dùng lại.Tính toàn vẹn không chỉ là một tính chất an toàn mà nó còn là một tính chấtquan trọng cần phải có trong các vấn đề bảo mật, các thông điệp cần được đảmbảo an toàn và toàn vẹn mà còn phải chống lại được các lỗi trong quá trìnhtruyền tin
Tính bí mật (Confidentiality): Tính chất này đảm bảo chống lại các tấncông truy nhập trái phép dữ liệu và các tấn công phân tích luồng dữ liệu
Tính sẵn sàng (Avaiability): Tính sẵn sàng của một hệ thống thông tin làyêu cầu tài nguyên của hệ thông luôn phải khả dụng Bất cứ lúc nào thông tinđược truyền tải thì kênh truyền phải sẵn sàng đáp ứng, và người nhận cũng phảisẵn sàng xử lý thông tin nhận được
Authentication: Thẩm định quyền là tính chất nhằm đảm bảo rằng thôngtin được xác thực Hệ thống đảm bảo thực thi quá trình thẩm định quyền phảiđảm bảo chắc chắn người nhận dữ liệu
1.2 Nguyên tắc hoạt động mạng theo mô hình Client/ server
1.2.1 Mô hình Client Server
Hình 1.1 Client/Server model
Trang 8Mô hình client-server của máy tính là kiến trúc ứng dụng phân tán cácnhiệm vụ phân vùng hoặc khối lượng công việc giữa việc cung cấp tài nguyênhoặc là dịch vụ, được gọi là server, và yêu cầu dịch vụ được gọi là client Thôngthường Client và server làm việc với nhau thông qua một mạng máy tính trênphần cứng riêng biệt, nhưng cả máy client và server có thể nằm trên cùng một hệthống Một cỗ máy server là một máy chủ đang chạy một hay nhiều chươngtrình server cái mà chia sẻ tài nguyên của chúng với các máy client Một máyclient không chia sẻ bất kỳ tài nguyên nào của nó, nhưng yêu cầu một nội dunghoặc chức năng dịch vụ Do đó máy client bắt đầu phiên giao tiếp với server vàđợi các yêu cầu đang đến
Internet suy cho cùng cũng là kiến trúc Client/server Máy tính của bạnchạy phần mềm được gọi là client và nó tương tác với phần mềm khác đượcbiết như là server, server thì được đặt ở 1 máy tính từ xa Máy client thường làmột trình duyệt như là Internet Explorer, Netscape Navigator or Mozilla Cáctrình duyệt tương tác với server mà sử dụng một bộ chỉ lệnh được gọi là giaothức Các giao thức này sẽ giúp các dữ liệu được chuyển tiếp chính xác cácthông tin thông qua các yêu cầu từ một trình duyệt và hồi đáp đến server Có rấtnhiều giao thức sẵn có trên Internet Trình World wide web, là một phần củainternet, đem tất cả các giao thức dưới một gốc Bởi thế mà bạn có thể sử dụngHTTP, FTP, Telnet, email, từ một nền tảng -trình duyệt web của bạn
Đặc tính client server mô tả mối quan hệ của các chương trình kết hợptrong một ứng dụng Thành phần của server cung cấp một chức năng hoặc mộtdịch vụ cho một hoặc nhiều máy client nơi bắt đầu các yêu cầu dịch vụ Chươngtrình này có thể chuyển tiếp các yêu cầu các chương trình của máy khác cơ sở
dữ liệu gửi một yêu cầu đến máy chủ cơ sở dữ liệu tại một máy tính ngân hàngkhác Chức năng như là email exchange, truy cập web, và truy nhập cơ sở dữliệu, đều được xây dựng trên mô hình hình client-server Người dùng truy cậpvào dịch vụ của ngân hàng từ máy tính của họ sử dụng một máy trình duyệt web
để gửi một yêu cầu đến máy chủ web ở ngân hàng để khôi phục được thông tintài khoản Cân bằng được trả về cho máy khách cơ sở dữ liệu ngân hàng, nơi mà
nó sẽ quay trở lại máy client trình duyệt web hiển thị kết quả của người dùng
Mô hình client-server trở thành một trong những ý tưởng chính của mạng máy
Trang 9Tương tác giữa client và server thường được mô tả sử dụng sơ đồ trình tự.
Sơ đồ trình tự được theo chuẩn Unified Modeling Language
Các loại hình cụ thể của máy khách bao gồm trình suyệt web, email, vàchat
Các loại hình cụ thể của máy chủ bao gồm web server, ftp server,database servers, name servers, file servers, print servers Hầu hết các dịch vụweb cũng là loại servers
1.2.2 Nhiệm vụ của máy server và client
1.2.2.1 Nhiệm vụ của máy Client
Là thi hành một dịch vụ cho người dùng, bằng cách kết nối những chươngtrình ứng dụng ở máy Server, dựa vào những chuối nhập để chuyển yêu cầu đếnServer và nhận kết quả trả về từ Server hiện thị thông tin nhận được cho ngườidùng
1.2.2.2 Nhiệm vụ của máy Server
Luôn lắng nghe những kết nối đến nó trên những cổng liên quan đến giaothức mà Server phục vụ Khi máy Client khởi tạo kết nối, máy server chấp nhận
và tạo ra luồng riêng biệt phục vụ cho máy Client đó Ngoài ra máy Server phảiquản lý các hoạt động của mạng như phân chia tài nguyên chung (hay còn gọi làtài nguyên mạng) Trong việc trao đổi thông tin giữa các Client,…máy Server cóthể đóng vai trò là máy trạm(Client) Server phải được đảm bảo được hai yêucầu cơ bản nhất đối với chức năng Server: cho phép truyền dữ liệu nhanh chóng,đảm bảo an toàn bảo mật và không mất mát dữ liệu
1.2.2.3 Mô hình Client/Server
Là mô hình ảnh hưởng lớn nhất tới ngành công nghệ thông tin Mô hìnhnày đã biến những máy tính riêng lẻ có khả năng xử lý thấp thành một mạngmáy chủ và máy trạm có khả năng xử lý gấp hàng trăm ngàn lần những máy tínhmạnh nhất Mô hình còn giúp cho việc giải quyết những bài toàn phức tạp mộtcách dễ dàng hơn, bằng cách phân chia bài toàn lớn thành nhiều bài toàn con vàgiải quyết từng bài toàn con một
a Ưu điểm
- Các tài nguyên được quản lý tập trung
- Có thể tạo ra các kiểm soát chặt chẽ trong truy cập file dữ liệu
- Giảm nhẹ gánh nặng quản lý trên máy Client
- Bảo mật và back up dữ liệu từ Server
Trang 10b Nhược điểm
- Khá đắt tiền so với mạng ngang hàng (peer to peer) Giá lắp đặt server cao
- Server cũng chở thàng một điểm yếu của hệ thống, nghĩa là khi Serverhỏng thì toàn bộ hệ thống sẽ chết theo, do đó tính năng để kháng lỗi là một trongnhững yêu cầu quan trọng trong mô hình này
1.3 Các ứng dụng Client/Server trên Internet
1.3.1 World Wide Web(www)
World Wide Web là một dịch vụ của Internet Nó chưa thông tin bao gồmvăn bản, hình ảnh, âm thanh và thậm chí cả video được kết hợp nhau Web làkho thông tin khổng lồ: phong phú về nội dung, đa dạng về hình thức, thườngxuyên được cập nhật, đổi mới và phát triển không ngừng
Khả năng đặt hình ảnh lên Web Site bất ngờ làm cho thông tin trên Webtrở nên hấp dẫn hơn Ngoài ra HTTP (Hypertext Transfer Protocol) cho phéptrang Web kết nối với nhau qua các siêu liên kết (hyperlink), nhờ vậy mà ngườidùng dễ dàng "nhảy" qua các Website nằm ở hai đầu trái đất, World Wide Webchỉ là một phần cấu thành nên Internet ngoài ra còn có rất nhiều thành phần khácnhư: E-mail, Gopher, Telnet, Usenet Các trình duyệt ở các máy Client sẽ thaymặt người sử dụng yêu cầu những tập tin HTML từ Server Web bằng cách thiếtlập một kết nối với máy Server web và đưa ra các yêu cầu tập tin đến Server.Server nhận những yêu cầu này, lấy ra những tập tin và gởi chúng đến cửa sổcủa trình duyệt ở Client
Web Server là web cung cấp thông tin ở dạng siêu văn bản, được biểudiễn ở dạng trang Các trang có chứa các liên kết tham chiếu đến các trang kháchoặc đến các tài nguyên khác trên cùng một Web Server hoặc trên một WebServer khác Các trang tư liệu siêu văn bản sau khi soạn thảo sẽ được quản lýbởi chương trình Web Server chạy trên máy Server trong hệ thống mạng
1.3.2 Thư điện tử (E-Mail)
Electronic mail (Email ): Là một dịch vụ của Internet giúp cho việc traođổi thông điệp giữa những người dùng hay nhóm người dùng trên mạng Là dịch
vụ rất phổ biến và thông dụng trong mạng Internet/Intranet và hầu như khôngthể thiếu được trong Internet/Intranet hiện nay Dựa trên giao thức chuẩn
Trang 11tới khi máy đích nhận được Người nhận cũng chỉ thực hiện một số thao tác đơngiản để lấy thư, đọc thư và nếu cần thì cho in ra Thư điện tử có khả năng gửi tớinhiều người trong cùng một thời điểm Chuyển giao tài liệu một cách nhanhchóng với chi phí cực thấp.
Giao thức liên lạc : mặc dù gửi thư trên Internet sử dụng nhiều giao thứckhác nhau, nhưng giao thức SMTP (Single Message Transfer Protocol) đượcdùng trong việc vận chuyển mail giữa các trạm Là giao thức cơ bản để chuyểnthư giữa các máy Client, SMTP có một bộ gửi thư, một bộ nhận thư, và một tậphợp lệnh dùng để gởi thư từ người gửi đến người nhận Giao thức SMTP hoạtđộng theo mô hình khách/chủ (Client/ Server) với một tập lệnh đơn giản, trìnhkhách (SMTP mail Client) sẽ bắt tay với trình chủ (SMTP mail Server) gửi cácyêu cầu tiếp nhận mail Trình chủ đọc nội dung mail do trình khách gửi đến vàlưu vào một thư mục nhất định tương ứng với từng user trên máy chủ Phần này
sẽ được làm rõ hơn trong những chương sau
Cứ mỗi trạm e-mail thường bao gồm ít nhất là hai dịch vụ: POP3 (Post Office Protocol Version 3) có nhiệm vụ nhận/trả thư từ/tới e-mail client và dịch
vụ SMTP (Simple E-mail Transfer Protocol) có nhiệm vụ nhận/phân phối thư từ/
đến POP3 đồng thời trao đổi thư với các trạm e-mail trung gian IMAP(INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4 rev1) thực chất
là giao thức mới bổ sung và mở rộng hơn của giao thức POP3 còn thiếu IMAPcho phép đọc, xoá, gửi, di chuyển mail ngay trên máy chủ Điều này rất thuậntiện cho người nhận mail phải thường xuyên di chuyển mail từ máy này sangmáy khác trong quá trình làm việc
Phần khác của ứng dụng thư điện tử là cho phép người sử dụng đính kèm(attachments) theo thư một tập tin bất kỳ
Như vậy để gởi/nhận thư người sử dụng chỉ cần quan tâm tới cách sửdụng chương trình e-mail client Hiện nay có nhiều chương trình e-mail clientnhư Microsoft Outlook Express, Eudora Pro, Peagasus mail,
1.3.3 Dịch vụ FTP (File Transfer Protocol)
FTP (viết tắt của File Transfer Protocol) thường được dùng để trao đổi tậptin qua mạng lưới truyền thông dùng giao thức TCP/IP (chẳng hạn như Internet -mạng ngoại bộ - hoặc intranet - mạng nội bộ) Máy chủ FTP, dùng chạy phầnmềm cung cấp dịch vụ FTP, gọi là server, lắng nghe yêu cầu về dịch vụ của cácmáy tính khác trên mạng lưới Máy khách chạy phần mềm FTP dành cho người
Trang 12sử dụng dịch vụ, gọi là client Một khi hai máy đã liên kết với nhau, máy khách
có thể xử lý một số thao tác về tập tin, như tải tập tin lên máy chủ, tải tập tin từmáy chủ xuống máy của mình, đổi tên của tập tin, hoặc xóa tập tin ở máy chủv.v
FTP thường chạy trên hai cổng, 20 và 21, và chỉ chạy riêng trên nền củaTCP FTP server lắng nghe các yêu cầu dịch vụ từ những kết nối vào máy củacác FTP client, trên cổng 21 Đường kết nối trên cổng 21 này tạo nên một dòngtruyền điều khiển, cho phép các dòng lệnh được chuyển qua FTP server Đểtruyền tải tập tin qua lại giữa hai máy, chúng ta cần phải có một kết nối khác
- Để khởi tạo FTP từ trạm làm việc của mình người sử dụng chỉ gõ :
FTP <domain name or IP address>
- FTP sẽ thiết lập liên kết các trạm xa và bạn sẽ đăng nhập vào hệ thống (login/password) Vì FTP cho phép truyền tập tin theo cả hai chiều Để chuyển
tập tin của mình đến trạm ở xa dùng lệnh “put”, và ngược lại dùng lệnh get đểlấy thông tin về Ngoài ra trong một số trường hợp nó có thể đổi tên, tạo, xoá thư
mục… FTP Client sử dụng dịch vụ để lấy(get) các tập tin từ FTP Server về máy
của mình (download) hoặc gửi (put) các tập tin lên FTP server (upload).
ftp>put source-file destination-fileftp>get source-file destination-file
1.3.4 Mục đích của giao thức FTP
Mục đích của giao thức FTP, như được phác thảo trong bản RFC, là:
- Khuyến khích việc dùng chung tập tin (như chương trình ứng dụng vitính hoặc dữ liệu)
- Khuyến khích việc sử dụng máy tính ở xa một cách gián tiếp / ngấmngầm (implicit)
- Che đậy sự khác biệt về hệ thống lưu trữ tập tin giữa các máy chủ, hầucho người dùng không cần phải quan tâm đến những sự khác biệt riêng tư củachúng
- Truyền tải dữ liệu một cách đáng tin cậy và có hiệu quả cao
Trang 13Hình 1.2 Mô hình truyền nhận File FTP
1.3.5 Dịch vụ tên miền (Domain Name System DNS)
-Việc định danh các phần tử của liên mạng bằng các con số như trong địachỉ IP rõ ràng là không làm cho người sử dụng hài lòng, bởi chúng khó nhớ, dễnhầm lẫn Vì thế người ta đã xây dựng hệ thống đặt tên (name) cho các phần tửcủa Internet, cho phép người sử dụng chỉ cần nhớ đến các tên chứ không cầnnhớ đến các địa chỉ IP nữa Ta có thể biết thêm thông tin cách hoạt động củadịch vụ này thông qua RFC 1035
Hệ thống này được gọi là DNS (Domain Name System) Ðây là mộtphương pháp quản lý các tên bằng cách giao trách nhiệm phân cấp cho cácnhóm tên Mỗi cấp trong hệ thống được gọi là một miền (domain), các miềnđược tách nhau bởi dấu chấm Số lượng domain trong một tên có thể thay đổinhưng thường có nhiều nhất là 5 domain
Trang 14Hình 1.3 Cấu trúc của hệ thống tên miền
Trong hình vẽ ta thấy tên miền vnu.edu.vn thuộc nhánh tên miền vn Hệthống tên miền hoạt động theo nguyên tắc client- server, khi máy tính clienttham gia vào mạng cần biết địa chỉ IP tương ứng một domain thì DNS resolver
sẽ gửi truy vấn DNS cho DNS server Quá trình truy vấn sẽ dừng lại khi truyvấn DNS được gửi đến root server Các yêu cầu DNS thường sử dụng giao thứcUDP cổng 53
Trang 15CHƯƠNG II TỔNG QUAN VỀ HỆ THỐNG EMAIL 2.1 Hệ thống thư điện tử
2.1.1 Thư điện tử là gì
Để gửi một bức thư thông thường ta có thể mất một vài ngày với một bứcthư trong nước và nhiều thời gian để gửi một bức thư ra nước ngoài Do đó đểtiết kiệm thời gian và tiền bạc ngày này nhiều người đã sử dụng thư điện tử Thưđiện tử được gửi đến người nhận rất nhanh, dễ dàng và rẻ hơn nhiều so với sựdụng thư tay truyền thông Nói một cách đơn giản, thư điện là một thông điệp từmáy tính này đến một máy tính khác trên mạng máy tính mang nội dung cầnthiếu từ người gửi đến người nhận Do thư điện tử gửi qua lại trên mạng và sửdụng tín hiệu điện vì vậy tốc độ truyền rất nhanh Ngoài ra bạn có thể gửi hoặcnhận thư riêng hoặc các bức điện với file đính kèm như hình ảnh, các công văntài liệu, thậm chí cả bản nhạc hay các chương trình phần mềm…
Thư điện tử còn còn được gọi tắt là E-mail (Electronic Mail) là cách gửiđiện thư rất phổ biến E-mail có rất nhiều cấu trúc khác nhau tùy thuộc vào hệthống máy tính của người sử dụng Mặc dù khác nhau về cấu trúc nhưng tất cảđều có một mục đích chung là gửi hoặc nhận thư điện tử từ một nơi này đến nơikhác một cách nhanh chóng Ngày nay nhờ sự phát triển mạnh mẽ của Internet(Mạng lưới truyền tin toàn cầu) người ta có thể gửi thư tới các quốc gia trên toànthế giới Với lợi ích như vậy nên thư điện tử hầu như trở thành một nhu cầu cầnphải có của người sử dụng máy tính Giả sử như bạn đang là một nhà kinh doanhnhỏ và cần bán hàng trên toàn quốc Vậy làm thế nào mà bạn có thể liên lạc vớikhách hàng một cách nhanh chóng và dễ dàng Thư điện tử là cách giải quyết tốtnhất và nó đã trở thành một dịch vụ phổ biến trên Internet
Tại các nước tiên tiến cũng như các nước phát triển, các trường đại học,các cơ cấu thương mại, các cơ quan chính quyền… đều đã và đang kết nối hệthống máy tính của họ vào Internet để sự chuyển thư điện tử một cách nhanhchóng và dễ dàng
2.1.2 Lợi ích của thư điện tử
Thư điện tử có rất nhiều công dụng vì chuyển nhanh chóng và dễ dàng sửdụng Mọi người có thể trao đổi ý kiến tài liệu với nhau trong thời gian ngắn.Thư điện tử ngày càng đóng một vai trò quan trọng trong đời sống, khoa học,
Trang 16kinh tế xã hội, giao dục, an ninh quốc gia Ngày nay, người ta trao đổi với nhauhàng ngày những ý kiến, tài liệu với nhau bằng điện thư mặc dù cách xa nhauhàng ngàn cây số.
Vì thư điện tử phát triển dựa vào cấu trúc của Internet cho nên cùng với
sự phát triển của Internet, thư điện tử ngày nay càng phổ biến trên toàn thế giới.Người ta không ngừng tìm cách để khai thác đến mức tối đa về sự hữu dụng của
nó Thư điện tử phát triển được bổ sung thêm các tính năng sau:
- Một bức thư điện tử sẽ mang nhận dạng người gửi Như vậy người nhận
sẽ biết ai đã gửi cho mình một cách chính xác
- Người ra sẽ dùng thư điện tử để gửi thư viết bằng tay Có nghĩa là ngườinhận sẽ đọc thư điện tử mà người nhận đã viết bằng tay
- Thay vì gửi lá thư điện bằng chữ, người gửi có thể dùng điện thư để gửitiếng nói Người nhận sẽ lắng nghe được tiếng nói của người gửi khi nhận đượcthư
- Người gửi có thể gửi một cuộn phim hoặc là những ảnh lưu động chongười nhận
2.1.3 Hiện trạng email hiện nay
Với tốc độ tin học hóa diễn ra khá nhanh như hiện nay, E-mail ngày càngtrở thành phương tiện liên lạc không thể thiếu đối với mọi người, nhất là đối vớicác doanh nghiệp Chính vì nhu cầu đó việc xây dựng một mail server là hết sứccần thiết Nhưng việc chọn xây dựng mail server như thế nào cho phù hợp, hiệuquả và tốn ít chi phí nhất, đồng thời vẫn đảm bảo được tính sẵn sàng(Availability – Hoạt động ổn định, dễ dàng nâng cấp và bảo trì … ) và tính riêng
tư (Private – Bảo mật, bí mật … ) cho các doanh nghiệp
Gần đây người ta bắt đầu xây dựng những đường chuyển tải tốc độ caocho Internet và lưu lượng nhanh gấp trăm lần so với đường cũ Hy vọng rằng với
đà phát triển như vậy, sẽ có ngày mọi người trên Internet sẽ có được nhiều lợiích về việc sử dụng thư điện tử
Bên cạnh những lợi ích của điện tử đem lại cho chúng ta, thì nó cũng tiềm
ẩn các mối hiểm họa đối với thư tín điện tử như bị đọc lén thư, bị thu thập, phântích đường truyền, giả mạo, và bom thư… chính vì thế mà việc bảo mật cho thưtín điện tử ngày càng trở nên cấp thiết
Trang 172.1.4 Cơ chế hoạt động của thư điện tử
Hình 2.1 Cơ chế hoạt động của thư điện tử
Sử dụng hình vẽ trên để mô tả cách thức hoạt động của hệ thống E-mailhiện nay
Ví dụ:
Nguyễn dùng MUA (Mail User Agent- Phần mềm thư điện tử) của mình
để soạn một lá thư có địa chỉ người nhận là Trần với địa chỉ là Tran@b.org.Nguyễn send và MUA của Nguyễn áp dụng SMTP để gửi mẫu thông tin đếnSMTP server - MTA (Mail Transfer Agent- Máy chủ thư điện tử) của Nguyễn.Trong ví dụ thì máy chủ là smtp.a.org được cung cấp từ dịch vụ Internet củaNguyễn
MTA này sẽ đọc địa chỉ chỗ nhận (tran@b.org) và dựa vào phần tên miền
nó sẽ tìm hỏi địa chỉ của tên miền này, nơi có máy chủ sẽ nhận email gửi đến,qua hệ thống tên miền
Máy chủ DNS của b.org là ns.b.org sẽ trả lời về một bản ghi trao đổi thư
từ, đây là bảng ghi chỉ ra cách thức làm thế nào định tuyến cho email này Trongthí dụ thì mx.b.org là máy chủ từ dịch vụ cung ứng Internet của Trần
smtp.a.org gửi mẫu thông tin tới mx.b.org dùng giao thức SMTP, sau đó
nó sẽ phân phối lá thư đến hộp thư của Trần
Trần nhận thư trên máy MUA của Trần bằng cách áp dụng giao thức
Trang 182.1.5 Các thành phần
Chúng ta thấy các thành phần của hệ thống E-mail bao gồm:
- Mail user agent: tương tác với người dùng, soạn thảo, gửi hoặc nhậnemail
- SMTP server: gọi là Mail Transfer Agent (MTA) SMTP server sử dụng
để chuyển email từ người gửi đến POP server của người nhận, dùng giao thứcSMTP
- POP3 server: gọi là Mail Delivery Agent (MDA), lưu các thư nhận đượcvào hệ thống và khi cần người dùng sử dụng chương trình mail client lấy các thưnày về máy tính để đọc Chương trình mail client giao tiếp với POP server dựatrên giao thức POP3
- DNS server : trong mô hình trên chính là Name Server, nó lưu trữ 1hoặc nhiều bản ghi MX chỉ định server chịu trách nhiệm nhận email được gửiđến
Thông thường mail server hỗ trợ cả hai giao thức SMTP và POP3
2.2 Các giao thức truyền nhận mail
2.2.1 Giao thức truyền email SMTP
Giao thức SMTP (Simple Mail Transfer Protocol) hoạt động ở tầngApplication, là một giao thức dùng nền văn bản và tương đối đơn giản Trướckhi một thông điệp được gửi, người ta có thể định vị một hoặc nhiều địa chỉnhận cho thông điệp SMTP dùng cổng 25 của giao thức TCP Để xác định trìnhchủ SMTP của một tên miền nào đấy (domain name), người ta dùng một bản ghi
MX của DNS SMTP được sử dụng rộng rãi từ những năm 80 Theo thiết kế banđầu, SMTP hoạt động hoàn toàn dựa trên ký tự, dẫn đến sự khó khăn trong gửiemail, có dữ liệu nhị phân Sau này, giao thức MIME (Multi-purpose InternnetMail Extension) đã được đưa ra, kết hợp với SMTP để khắc phục nhược điểmđó
Sau đây là một phiên giao dịch dùng giao thức SMTP Kí hiệu bên gửiemail là: C, bên nhận là: S Các hệ thống máy tính đều có thể thiết lập một kếtnối bằng cách dùng những dòng lệnh telnet tới cổng 25, trên một máy khách
Trang 192.2.2 Giao thức nhận mail POP3
Giao thức nhận mail POP3 thuộc tầng Application trong mô hình OSI,hoạt động trên giao thức TCP, cổng 110 được mô tả trong RFC 1939 Ban đầuserver host bắt đầu một POP3 service bằng cách lắng nghe trên TCP port 110.Khi một client host mong muốn dùng POP3 service, nó thiết lập một kết nốiTCP với server host đó Khi kết nối được thiết lập, POP3 server gửi một chàohỏi Client và server POP3 sau đó trao đổi những lệnh và các trả lời cho đến khikết nối đó được đóng hay loại bỏ
Lệnh trong POP3 bao gồm một keyword (từ khoá) theo sau có thể là mộthay nhiều đối số tất cả các lệnh được kết thúc bởi một cặp CRLF Các từ khoá
và đối số được tách riêng ra bởi một ký tự trắng đơn , từ khoá dài 3 hay 4 ký tự.Mỗi đối số có thể lên đến chiều dài 40 ký tự
Các trả lời trong POP3 bao gồm phần chỉ định trạng thái và một từ khoá
Trang 20có thể theo sau là thông tin thêm vào Tất cả các trả lời được kết thúc bởi mộtcặp CRLF Chỉ có hai loại trả lời là: chỉ định trạng thái khẳng định (“+OK”) vàphủ định (“-ERR”)
Trả lời cho các lệnh là trả lời nhiều dòng Trong trường hợp này, nó chophép chỉ định một cách rõ ràng, sau khi gửi dòng đầu tiên của câu trả lời và mộtCRLF, một số dòng thêm vào được gửi đi, mỗi dòng kết thúc bằng một cặpCRLF Khi tất cả các dòng của trả lời đã được gửi đi bao gồm một số kết thúc hệbát phân (termination octe) (mã 046 hệ mười, “.”) và một cặp CRLF Nếu dòngnào của trả lời nhiều dòng bắt đầu với termination octet dòng đó là "byte-stuffed" bằng cách (pre-pending) treotermina_ tion octe đó của dòng trả lời Kể
từ đây một trả lời nhiều dòng được kết thúc với năm octet "CRLF.CRLF" Khixem xét một trả lời nhiều dòng client kiểm tra xem nếu dòng đó bắt đầu vớitermintion octet Nếu đúng và nếu những octet theo sau khác với CRLF, octetđầu tiên của dòng này (termination octet) được bỏ đi Nếu đúng và nếu những ký
tự kết thúc theo ngay sau nó, thì trả lời từ POP3 server này được kết thúc vớimột dòng chứa “.CRLF” không được coi là một phần của trả lời nhiều dòng đó
Một POP3 session tiến hành qua một số trạng thái trong thời gian sốngcủa nó Khi kết nối TCP được mở và một POP3 server gửi một chào hỏi Hộinghị sẽ đi vào trạng thái AUTHORIZATION (xác nhận) Trong trạng thái nàyclient phải định danh nó đến POP3 server Khi client định danh thành công,server thu được những tài nguyên kết hợp với client’s maildrop, và hội nghị đivào trạng thái TRANSACTION (giao dịch) Trong trạng thái này client yêu cầucác hành động trong vai trò của POP3 server khi client phát ra lệnh QUIT, hộinghị đi vào trạng thái UPDATE Trong trạng thái này giải phóng các tài nguyênthu nhận được trong trạng thái TRANSACTION và say goodbye Sau đó kết nốiTCP đóng lại
Một POP3 server có thể có một thời gian tự động logout không chủ động.Một thời gian như vậy phải tồn tại trong khoảng thời gian ít nhất là 10 phút.Trong khoảng thời gian nhận các lệnh từ client đủ để reset thời gian tự độnglogout đó Khi thời gian hết hiệu lực, hội nghị không đi vào trạng thái UPDATE,server sẽ đóng kết nối TCP mà không remove hay gửi một message nào choclient
Trang 21S: +OK POP3 server ready 1896.697170952@dbc.mtview.ca.us
C: APOP mrose c4c9334bac560ecc979e58001b3e22fb
The server may instead use USER and PASS
C: USER mrose
S: +OK User accepted
C: PASS mrosepass
S: +OK Pass accepted
S: +OK mrose’s maildrop has 2 messages (320 octets)
Trang 222.2.3 Giao thức nhận mail 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 xóa, đổi tên mailbox, kiểm tra thông điệpmới, thiết lập và xóa 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àoserver (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ỉdùng một máy cố đị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 Như vậy POP chỉ cung cấpquyền truy cập tới inbox của người sử dụng mà không hỗ trợ quyền truy nhậptới public 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
- Cho phép truy nhập và quản lý thông điệp từ nhiều máy khác nhau
- Hộ trợ 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ủaserver
2.3 Cách thức phân giải địa chỉ
Trong phần này chúng ta sẽ tìm hiểu về hệ thống tên miền DNS và tácdụng của nó trong việc truyền nhận email
Đến năm 1984, Paul Mockpetris thuộc viện USC’s Information SciencesInstitute phát triển một hệ thống quản lý tên miền mới (miêu tả trong chuẩn RFC882- 883) gọi là DNS(Domain Name System) và ngày nay nó ngày càng đượcphát triển và hiệu chỉnh bổ sung tính năng để đảm bảo yêu cầu ngày càng caocủa hệ thống
2.3.1 Mục đích của hệ thống DNS
Máy tính khi kết nối vào mạng Internet thì được gán cho một địa chỉ IPxác định Địa chỉ IP của mỗi máy tính là duy nhất và có thể giúp máy tính có thể
Trang 23dụng hệ thống để giúp cho máy tính tính toán đường đi một cách dễ dàng vàđồng thời cũng giúp cho người dùng dễ nhớ Do vậy, hệ thống DNS ra đời nhằmgiúp cho người dùng có thể chuyển đổi từ địa chỉ IP khó nhớ mà máy tính sửdụng sang một tên dễ nhớ cho người sử dụng và đồng thời nó giúp cho hệ thốngInternet dễ dàng sử dụng và ngày càng phát triển.
Hệ thống DNS sử dụng hệ thống cở sở dữ liệu phân tán và phân cấp hìnhcây, vì vậy việc quản lý sẽ dễ dàng và cũng rất thuận tiện cho việc chuyển hổi từtên miền sang địa chỉ IP và ngược lại Cũng giống như mô hình quản lý cá nhâncủa một đất nước, mỗi cá nhân sẽ có một tên xác định đồng thời cũng có địa chỉchứng minh thư để giúp quản lý con người một cách dễ dàng hơn
Vậy, tóm lại tên miền (domain name) là gì? Những tên gợi nhớ như
home.vnn.vn hoặc www.cnn.com thì được gọi là tên miền (domain name hoặc làDNS name) Nó giúp cho người sử dụng dễ dàng nhớ vì nó có dạng chữ màngười bình thường có thể hiểu và sử dụng hàng ngày Hệ thống DNS đã giúpcho mạng Internet thân thiện hơn với người sử dụng, do vậy, mạng internet pháttriển bùng nổ một vài năm gần đây Theo thống kê trên thế giới, vào thời điểmtháng 7/2000, số lượng tên miền được đăng ký là 93.000.000
Nói chung, mục đích của hệ thống DNS là:
- Địa chỉ IP khó nhớ cho người sử dụng những dễ dàng với máy tính
- Tên miền thì dễ nhớ với người dùng nhưng lại không dùng được vớimáy tính
- Hệ thống DNS giúp chuyển đổi từ tên miền sang địa chỉ IP và ngược lạigiúp người dùng dễ dàng sử dụng hệ thống máy tính
2.3.2 Hoạt động của DNS
Khi DNS client cần xác định cho một tên miền nó sẽ truy vấn DNSserver Truy vấn DNS và trả lời của hệ thống DNS cho client sử dụng thủ tụcUDP cổng 53, UDP hoạt động ở mức thứ 3(network) của mô hình OSI, UDP làthủ tục phi kết nối (connectionless), tương tự như dịch vụ gửi thư bình thườngbạn cho thư vào thùng thư và hy vọng có thể chuyển đến nơi bạn cần gửi tới
Mỗi một message truy vấn được gửi đi từ client bao gồm 3 thành phầnthông tin:
- Tên của miền cần truy vấn
- Xác định loại bản ghi là mail, web…
- Lớp tên miền
Trang 24Ví dụ : Tên miền truy vấn đầy đủ như :
“hostname.example.microsoft.com”, và loại truy vấn là địa chỉ A, Clienttruy vấn DNS hỏi “có bản ghi địa chỉ A cho máy tính có tên là
“hostname.example.microsoft.com” khi client nhận được câu trả lời của DNSserver nó sẽ xác định địa chỉ IP của bản ghi A
Nói tóm lại các bước của một truy vấn gồm có 2 thành phần như sau:
- Truy vấn sẽ bắt đầu ngay tại client computer để xác định câu trả lời
- Khi ngay tại client không có câu trả lời, câu hỏi sẽ được chuyển đếnDNS server để tìm câu trả lời
2.3.2.1 Tự tìm câu trả lời truy vấn
Bước đầu tiên của quá trình xử lý một truy vấn Tên miền sử dụng mộtchương trình trên ngay máy tính truy vấn để tìm câu trả lời cho truy vấn Nếutruy cấn có câu trả lời thì quá trình truy vấn kết thúc
Ngay tại máy tính truy vấn thông tin được lấy từ 2 nguồn sau:
- Trong file Hosts được cấu hình ngay tại máy tính Các thông tin ánh xạ
từ tên miền sang địa chỉ được thiết lập ở file này được sử dụng đầu tiên Nóđược tải ngay lên bộ nhớ cache của máy khi bắt đầu chạy DNS client
- Thông tin được lấy từ các câu trả lời của truy vấn trước đó Theo thờigian các câu trả lời truy cấn được lưu giữ trong vộ nhớ cache của máy tính và nóđược sử dụng khi có một truy vấn lặp lại một tên miền trước đó
2.3.2.2 Truy vấn DNS server
Khi DNS server nhận được một truy vấn, đầu tiên nó sẽ kiểm tra câu trảlời liệu có phải thông tin của bản ghi mà nó quản lý trong các zone của server.Nếu truy vấn phù hợp với bản ghi mà nó quản lý thì nó sẽ sử dụng thông tin đó
để trả lời (authoritatively answer) và kết thúc truy vấn
Nếu không có thông tin về zone của nó phù hợp để trả lời từ cả cache vàzone mà DNS server quản lý thì truy vấn sẽ tiếp tục Nó sẽ nhờ DNS server khác
để trả lời truy vấn đến khi tìm được câu trả lời thì thôi
Dữ liệu trên các DNS server gọi là các zone file chứa các thông tin, bảnghi về domain mà nó quản lý Các bản ghi chính bao gồm:
- Bản ghi A: Ánh xạ tên miền và địa chỉ IP tương ứng
- Bản ghi CNAME: Tên thay thế
Trang 25nhiệm cung cấp các thông tin liên quan đến domain
- Bản ghi MX (Mail eXchange): Ánh xạ mỗi domain với danh sách cácMail server Mỗi bản ghi MX có tham số reference number xác định độ ưu tiênvới Mail server có bản ghi MX tương ứng Giá trị nhỏ có độ ưu tiên cao hơn.Giả sử người dùng có email cần gửi đến địa chỉ: fotech@vnu.edu.vn MTA khởitạo thông điệp DNS gửi đến máy chủ phục vụ tên miền (vnu.edu.vn) tìm bản ghi
MX tương ứng với tên miền của email người nhận, thường nằm sau kí tự @ củađịa chỉ email DNS server trả lời một danh sách các Mail server Tiếp theo,client thiếp lập kết nối SMTP đến Mail server, thông thường kết nối được thiếtlập đến server có giá trị tham số nhỏ nhất, nếu kết nối không thiết lập được sẽchuyển sang Mail server có giá trị lớn hơn
DNS và Mail là 2 dich vụ có mối quan hệ mật thiết với nhau Dịch vụMail dựa vào dịch vụ DNS để chuyển Mail từ mạng bên trong ra bên ngoài vàngược lại Khi chuyển Mail, Mail Server nhờ DNS để tìm MX record để xácđịnh máy chủ nào cần chuyển Mail đến
Cú pháp record MX:
[ Domail_name] IN MX 0 [Mail_host]
Thông qua việc khai báo trên cho ta biết tương ứng với domain_nameđược ánh xạ trực tiếp vào Mail Host để chỉ định máy chủ nhận và xử lý Mail chotên miền
đề nó thường chứa ít nhất các trường sau:
- From: Địa chỉ email của người gửi
- To: Địa chỉ email của người nhận
- Subject: Tiêu đề của thư
Phần body: Là nội dung của bức thư Ban đầu, email được thiết kế chỉ hỗtrợ ký tự theo chuẩn ASCII, tức là email chỉ bao gồm các chữ cái Tiếng Anh.Định dạng thư điện tử MIME được đưa ra nhằm mở rộng khả năng của email, cóthể gửi và nhận các dữ liệu nhị phân, ảnh, biểu diễn được nhiều ngôn ngữkhác…