Bài giảng An toàn thư tín điện tử

Tổng quan về hệ thống thư tín điện tử • Các giao thức sử dụng cho thư tín điện tử • An toàn máy chủ thư tín điện tử và nội dung thư tín điện tử • An toàn thư tín trên máy trạm • Quản trị an toàn hệ thống thư tín điện tử • An toàn thư tín sử dụng mật mã • Thực hành xây dựng và quản trị hệ thống thư tín điện tử, xây dựng hệ webmail, mail client

pdf169 trang | Chia sẻ: mamamia | Lượt xem: 2416 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Bài giảng An toàn thư tín điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
AN TOÀN THƯ TÍN ĐIỆN TỬ Nội dung • Tổng quan về hệ thống thư tín điện tử • Các giao thức sử dụng cho thư tín điện tử • An toàn máy chủ thư tín điện tử và nội dung thư tín điện tử • An toàn thư tín trên máy trạm • Quản trị an toàn hệ thống thư tín điện tử • An toàn thư tín sử dụng mật mã • Thực hành xây dựng và quản trị hệ thống thư tín điện tử, xây dựng hệ webmail, mail client TỔNG QUAN VỀ THƯ TÍN ĐIỆN TỬ TỔNG QUAN VỀ THƯ TÍN ĐIỆN TỬ • Nội dung: – Khái niệm email – Lịch sử phát triển – Cách thức hoạt động – Các hiểm hoạ đối với thư tín điện tử TỔNG QUAN VỀ THƯ TÍN ĐIỆN TỬ • Khái niệm email: – Email là thư dựa trên ký tự được gửi qua máy tính từ người này đến người khác – Email là phương pháp lý tưởng cho việc gửi tài liệu bằng cách đính kèm – Email là cách liên lạc với mọi người, với cơ quan làm việc hoặc bất cứ ở đâu trên thế giới miễn là ở đó có kết nối vào mạng internet TỔNG QUAN VỀ THƯ TÍN ĐIỆN TỬ • Lịch sử phát triển: – Năm 1971 Ray Tomlinson thực hiện gửi thành công một thông báo thư tín điện tử đầu tiên trong mạng ARPANET – 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 – Sau đó 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 TỔNG QUAN VỀ THƯ TÍN ĐIỆN TỬ • Cách thức hoạt động: – Soạn thảo thư: Thực hiện nhập các trường chính như: chủ đề, nội dung, đối tượng nhận, ... – Gửi thư: Thư 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). – Thư sau khi chuyển đổi sẽ 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ư. TỔNG QUAN VỀ THƯ TÍN ĐIỆN TỬ • Cách thức hoạt động: – Thư được gửi từ máy của người dùng (MUA- Mail User Agent) – MUA kết nối đến MTA (Mail Transport Agent- nằm trên máy chủ thư) – MUA cung cấp cho MTA: Định danh đối tượng gửi, định danh đối tượng nhận thư – Máy chủ thư sẽ thực hiện các thao tác: Định danh đối tượng nhận, thiết lập kết nối, truyền thư. – Máy chủ thư sẽ kiểm tra xem đối tượng nhận có nằm trong miền thuộc máy chủ thư hay không, nếu như thuộc thì máy chủ thư sẽ sử dụng dịch vụ phân phối cục bộ LDA (Local Delivery Agent) để phân phối thư. Còn nếu không thuộc nó sẽ gửi tiếp thư đến máy chủ thư có tên miền tương ứng • Mô hình hệ thống thư điện tử TỔNG QUAN VỀ THƯ TÍN ĐIỆN TỬ • Các hiểm họa đối với thư điện tử: – Bị đọc lén thư (cá nhân, chính phủ trong nước, ngoài nước, các tổ chức vv..) – Thu thập và phân tích đường truyền – Giả mạo (giả mạo người gửi thư) – Bom thư TỔNG QUAN VỀ THƯ TÍN ĐIỆN TỬ CÁC GIAO THỨC SỬ DỤNG CHO THƯ TÍN ĐIỆN TỬ • Nội dung – Giao thức SMTP – Giao thức POP3 – Giao thức IMAP CÁC GIAO THỨC SỬ DỤNG CHO THƯ TÍN ĐIỆN TỬ Giao thức SMTP Giao thức SMTP • Do Jon Postel thuộc Trường đại học Nam California đã phát triển vào tháng 8 năm 1982 • Được sử dụng để truyền thư tín điện tử một cách tin cậy và hiệu quả. • Chạy trên tầng TCP/IP và sử dụng cổng 25 Giao thức SMTP A B Step 1 Step 2 Step 3 Send Req ACK A Local Mail Server Send Mail ACK A Local Mail Server will store and queue Local Mail Server DNS Query DNS Server Reply with IP address resolution Giao thức SMTP Step 4 Step 5 Step 6 Server A Server B REQ ACK Server A Server B: receive/store Send ACK Server B B Ring ACK SMTP protocol • Việc trao đổi mail sử dụng TCP/IP được thực hiện qua MTA (Message Transfer Agent) – MTA chịu trách nhiệm hướng mail tới địa chỉ đích theo đúng yêu cầu – MTA sử dụng bản ghi MX (Mail Exchange) từ máy chủ DNS để xác định nơi cần gửi tới • SMTP có vai trò gắn kết giữa các MTA Giao thức SMTP Sending Host Queue Local MTA Local MTA Local MTA Relay MTA Relay MTA Local MTA Local MTA User Mailboxes Local MTA Receiving Host Across the internet Queue of mail Queue of mail User B User A • Mô hình hoạt động của SMTP Giao thức SMTP User HÖ thèng file Sender- SMTP Receiver- SMTP HÖ thèng file SMTP commands/replies Mail • 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. • Receiver-SMTP trả lời các lệnh gửi từ Sender-SMTP • Thủ tục truyền trong SMTP 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: Sử dụng 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 FROM: RCPT TO: DATA Giao thức SMTP Ví dụ người gửi hongdq gửi thư tại máy fis-kma.edu tới người dùng thaith, toannq và khoanc trên máy fit-kma.edu như sau: S: MAIL FROM: R: 250 OK S: RCPT TO: R: 250 OK S: RCPT TO: R: 550 No such user here S: RCPT TO: R: 250 OK S: DATA R: 354 Start mail input; end with . S: Blah blah blah... S: ...etc. etc. etc. S: . R: 250 OK Giao thức SMTP Giao thức SMTP • Thủ tục gửi thư: – Forward-path là thông tin chỉ đến địa chỉ đích tới của thư – 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 đú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 • Ví dụ: S: RCPT TO: R: 251 User not local; will forward to <Postel@USC- ISIF.ARPA> hoặc S: RCPT TO: R: 551 User not local; please try Giao thức SMTP • 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 EXPN Giao thức SMTP • Ví dụ về kiểm tra tên người sử dụng như sau: S: VRFY Smith R: 250 Fred Smith 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 hoặc S: VRFY Gourzenkyinplatz R: 553 User ambiguous. Giao thức SMTP Giao thức SMTP • Ví dụ về mở rộng danh sách mail như sau: S: EXPN Example-People R: 250-Jon Postel R: 250-Fred Fonebone R: 250-Sam Q. Smith R: 250-Quincy Smith <@USC-ISIF.ARPA:Q-Smith@ISI- VAXA.ARPA> R: 250- R: 250 hoặc S: EXPN Executive-Washroom-List R: 550 Access Denied to You. Giao thức SMTP • Phân phối tới mailbox và terminal – 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 FROM: SOML FROM: SAML FROM: Giao thức SMTP • Đó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 QUIT – 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à ". 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 Giao thức SMTP • Lưu chuyển mail – Đó là quá trình chuyển thư từ một SMTP Server này sang một SMTP Server khác – Hai tham số dùng cho quá trình chuyển là: forward-path và reverse-path – Forward-path chứa địa chỉ của SMTP Server mà thư sẽ được chuyển tới tiếp theo – Reverse-path là địa chỉ SMTP Server mà thư vừa đi qua Giao thức SMTP • Các lệnh SMTP cơ bản – HELO HELO domain> Định danh Sender-SMTP đối với Receiver-SMTP, tham số thường là tên máy. – MAIL MAIL FROM: 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 – RCPT RCPT TO: Đị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. – DATA DATA Các dòng sau lệnh này sẽ là dữ liệu thư. – RSET RSET Chỉ ra phiên giao dịch thư hiện tại sẽ bị loại bỏ. – SEND SEND FROM: 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. Giao thức SMTP • SOML SOML FROM: 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. • SAML SAML FROM: 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. • VRFY VRFY Yêu cầu người nhận mail xác nhận một người sử dụng. • EXPN EXPN Yêu cầu xác nhận tham số để định danh một danh sách thư. • HELP HELP [ ] Người nhận gửi thông tin trợ giúp tới người gửi. • NOOP NOOP 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. Giao thức SMTP • QUIT QUIT 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. • TURN TURN 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. Giao thức SMTP • Các mở rộng của giao thức SMTP – 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 – Các mở rộng được đưa ra trong các tài liệu RFC, 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). Giao thức SMTP – Để tương thích giữa các máy SMTP thế hệ cũ và mới thì 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) – 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 Giao thức SMTP • Các thành phần mở rộng của SMTP CÁC GIAO THỨC NHẬN THƯ Giao thức POP3 (Post office protocol – version 3) • 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 • 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 sử dụng POP3 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 đó Giao thức POP3 • Nguyên tắt 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: POP3 Client POP3 Server TCP connection AUTHORIZATION state TRANSACTION state UPDATE state Giao thức 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ỏ các giao thức nhận thư Giao thức POP3 • Một phiên POP3 có 3 trạng thái là: AUTHORIZATION, TRANSACTION và UPDATE – 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: 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 Giao thức POP3 • 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). Giao thức POP3 • Cơ chế xác thực và các lệnh trong trạng thái AUTHORIZATION. – Có 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 Giao thức POP3 – Xác thực sử dụng kết hợp hai lệnh USER và PASS: • 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 Giao thức POP3 • 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 Giao thức POP3 • 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 – 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 Giao thức POP3 – 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 – 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à: • 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 Giao thức POP3 • 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 1896.697170952@dbc.mtview.ca.us> 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 tanstaaf Đầu ra có giá trị là c4c9334bac560ecc979e58001b3e22fb Giao thức POP3 • 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 Giao thức POP3 Giao thức POP3 GIAO THỨC IMAP Internet Messages Access Protocol Giao thức 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 Giao thức 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. Giao thức IMAP • 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 Giao thức IMAP • 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 – 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ẻ Giao thức IMAP – 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 IMAP • Giao thức gửi của server và nhận của client – Dữ liệu đã truyền tải sang client 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 – 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