Tìm hiểu về SSL và ứng dụng trên web sever

Web Server (Máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server. Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html. - Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một n hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác. (các mã Script, các chương trình, và các file Multimedia). - Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name. - Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các tông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn.

pdf22 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3904 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Tìm hiểu về SSL và ứng dụng trên web sever, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1®¹i häc th¸I nguyªn Tr­êng ®¹i häc c«ng nghÖ th«ng tin & truyÒn th«ng BÁO CÁO AN NINH MẠNG §Ò tµi : TÌM HIỂU VỀ SSL VÀ ỨNG DỤNG TRÊN WEB SEVER GVHD : Th.S NGUYỄN ĐỨC BÌNH Sinh viên thực hiện : NGUYỄN CÔNG LONG ĐỖ VĂN TRUYỀN Lớp : An Ninh Mạng N02 Th¸i Nguyªn, th¸ng 05 n¨m 2012 2MỤC LỤC LỜI NÓI ĐẦU…………………………………………………………………….2 I. Giới thiệu về SSL……………………………………………………………..3 I.1 Lịch sử phát triển của giao thức SSL……………………………………………………3 I.1.1 Tại sao sử dụng SSL?………………………………………………………………3 I.1.2 Giao thức SSL là gì?………………………………………………………………..4 I.1.3 Các phiên bản của SSL…………………………………………………………......4 I.2 Cấu trúc của giao thức SSL……………………………………………………………...5 I.2.1 Giao thức SSL Record ………………………………………………………………6 I.2.2 Giao thức SSL Change Cipher Spec………………………………………………..8 I.2.3 Giao thức SSL Alert………………………………………………………………………………....9 I.2.4 Giao thức SSL Handshake………………………………………………………………….10 I.3 Các thuật toán mã hóa dùng trong SSL………………………………………………… 12 II. Ứng dụng của SSL…………………………………………………………………...13 II.1 Các ứng dụng phổ biến của SSL………………………………………………………. 13 II.2 Ứng Dụng SSL Trên Web Server………………………………………………………14 II.2.1 Web Server ? ……………………………………………………………………….14 II.2.2 Giải Pháp Bảo Vệ Web Server……………………………………………………...16 II.2.3 Quy Trình Và Cài Đặt SSL…………………………………………………………18 III. Demo …………………………………………………………………………………. 19 TÀI LIỆU THAM KHẢO……………………………………………………………………..20 3LỜI NÓI ĐẦU -Như chúng ta đã biết thì kể từ khi Internet ra đời. Cùng theo đó lĩnh vực công nghệ tin không ngừng phát triền, kèm theo Mạng Internet mang lại rất nhiều tiện ích hữu dụng cho người sử dụng, một trong các tiện ích phổ thông của Internet là hệ thống thư điện tử (email), trò chuyện trực tuyến (chat), máy truy tìm dữ liệu (search engine), các dịch vụ thương mại và chuyển ngân, và các dịch vụ về y tế giáo dục như là chữa bệnh từ xa hoặc tổ chức các lớp học ảo. Chúng cung cấp một khối lượng thông tin và dịch vụ khổng lồ trên Internet. - Nguồn thông tin khổng lồ kèm theo các dịch vụ tương ứng chính là hệ thống các trang Web liên kết với nhau và các tài liệu khác trong WWW (World Wide Web). =>Đó là một kênh trao đổi thông tin rất hữu ích và nhanh chong . Song tất cả không phải là toàn mỹ , nghĩa là mọi thông tin khi bạn trao đổi thông qua Internet có thể bị bên thứ 3 tác động vào hay là lộ mất mát thông tin…vv Để khắc phục những hạn chế đó người ta đã phát triển nên các giao thức giúp phần nào hạn chế điều đó. Trong đó biết tới một giao thức góp phần tối ưu công việc bảo mật thông tin trên nền World Wide Web. Đó là giao thức SSL (viết tắt Secure Sockets Layer) Hôm nay nhóm em xin trình bày những hiểu biết về giao thức SSL cũng như ứng dụng của nó trên Web Server. 4“ Tìm hiểu SSL và ứng dụng trên web sever ” Đề tài có thể còn nhiều thiếu sót mong Thầy và các bạn đóng góp ý kiến để đề tài được hoàn thiện hơn.Chúng em xin cảm ơn sự hướng dẫn của Thầy Ths. Nguyễn Đức Bình đã giúp chúng em hoàn thành đề tài này. Tìm hiểu SSL và ứng dụng trên Web Sever I. Giới thiệu về SSL I.1 Lịch sử phát triển của giao thức SSL I.1.1 Tại sao sử dụng SSL? - Như chúng ta đã biết công nghệ thông tin ngày càng phát triển và thay đổi hàng ngày hàng giờ. Đồng thời cùng với sự ra đời của Internet, thì đã góp phần tăng thêm một kênh truyền tải thông tin. - Ngày nay việc bảo mật thông tin là yếu tố quan trọng để quyết định sự sống còn của một tổ chức ,một công ty hay doanh nghiệp . Với sự phát triển nhanh chóng của công nghệ đã mang lại nhiều tiện ích cho người dùng nhưng đồng thời cũng đặt ra một nhu cầu hết sức cấp thiết về sự an toàn và bảo mật .Và SSL chính là giải pháp tốt nhất hiện nay đáp ứng những nhu cầu đó và nó được coi như là “lá chắn cuối cùng” trong bảo mật thương mại điện tử. - Việc truyền các thông tin nhạy cảm trên mạng rất không an toàn vì những vấn đề sau: + Bạn không thể luôn luôn chắc rằng bạn đang trao đổi thông tin với đúng đối tượng cần trao đổi. + Dữ liệu mạng có thể bị chặn ,vì vậy dữ liệu có thể bị 1 đối tượng thứ 3 khác đọc trộm, thường được biết đến như attacker . + Nếu attacker có thể chặn dữ liệu, attacker có thể sửa đổi dữ liệu trước khi gửi nó đến người nhận. - Như vậy SSL được đã được phát triển nhằm giải quyết triệt để các vấn đề trên I.1.2 Giao thức SSL là gì? - SSL (Secure Sockets Layer) là giao thức an ninh thông tin mạng được sử dụng rộng rãi nhất hiện nay nhằm mã hóa và cung cấp một kênh an toàn giữa các máy tính trên Internet hoặc mạng 5nội bộ. SSL thường được sử dụng khi một trình duyệt web cần kết nối bảo mật đến một máy chủ web. - Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer (SSL) đã được sử dụng rộng rãi trên World Wide Web trong việc xác thực và mã hoá thông tin giữa client và server. Tổ chức IETF (Internet Engineering Task Force ) đã chuẩn hoá SSL và đặt lại tên là TLS (Transport Layer Security). Mặc dù là có sự thay đổi về tên nhưng TSL chỉ là một phiên bản mới của SSL. Phiên bản TSL 1.0 tương đương với phiên bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn. - SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ cho rất nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giao thức ứng dụng tầng cao hơn như là HTTP (Hyper Text Transport Protocol), IMAP ( Internet Messaging Access Protocol) và FTP (File Transport Protocol). => Để đảm bảo tính bảo mật thông tin trên internet hay bất kì mạng TCP/IP nào thì SSL (Secure Socket Layer) ra đời kết hợp với những yếu tố sau để thiết lập giao dịch an toàn: *Xác thực: đảm bảo tính xác thực của trang mà bạn sẽ làm việc ở đầu kia của kết nối. Cũng như vậy, các trang Web cũng cần phải kiểm tra tính xác thực của người sử dụng. *Mã hoá: đảm bảo thông tin không thể bị truy cập bởi đối tượng thứ ba. Để loại trừ việc nghe trộm những thông tin “ nhạy cảm” khi nó được truyền qua Internet, dữ liệu phải được mã hoá để không thể bị đọc được bởi những người khác ngoài người gửi và người nhận. *Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch và nó phải thể hiện chính xác thông tin gốc gửi đến. I.1.3 Các phiên bản của SSL - Giao thức SSL ban đầu được phát triển bởi Netscape.Ngày nay Visa, MasterCard, American Express cũng như nhiều công ty giải pháp tài chính hàng đầu khác trên thế giới đã và đang ứng dụng SSL trong thương mại điện tử. - Cho đến bây giờ, có ba phiên bản của SSL: * SSL 1.0: được sử dụng nội bộ chỉ bởi Netscape Communications. Nó chứa một số khiếm khuyết nghiêm trọng và không bao giờ được tung ra bên ngoài. * SSL 2.0: được kết nhập vào Netscape Communications 1.0 đến 2.x. Nó có một số điểm yếu liên quan đến sự hiện thân cụ thể của cuộc tấn công của đối tượng trung gian. Trong một nỗ lực nhằm dùng sự không chắc chắn của công chúng về bảo mật của SSL, Microsoft cũng đã giới thiệu giao thức PCT cạnh tranh trong lần tung ra Internet Explorer 6đầu tiên của nó vào năm 1996. *SSL 3.0: Netscape Communications đã phản ứng lại sự thách thức PCT của Microsoft bằng cách giới thiệu SSL 3.0 vốn giải quyết các vấn đề trong SSL 2.0 và thêm một số tính năng mới. Vào thời điểm này, Microsoft nhượng bộ và đồng ý hỗ trợ SSL trong tất cả các phiên bản phần mềm dựa vào TCP/IP của nó . I.2 Cấu trúc của giao thức SSL SSL được thiết kế để dùng TCP cung cấp 1 dịch vụ bảo mật đầu cuối-đến-đầu cuối đáng tin cậy.SSL không phải là một giao thức đơn mà là 2 lớp giao thức,như minh họa dưới đây: Hình 5: Chồng giao thức SSL - Theo hình này, SSL ám chỉ một lớp (bảo mật) trung gian giữa lớp vận chuyển (Transport Layer) và lớp ứng dụng (Application Layer). SSL được xếp lớp lên trên một dịch vụ vận chuyển định hướng nối kết và đáng tin cậy, chẳng hạn như được cung cấp bởi TCP. - SSL Record Protocol cung cấp các dịch vụ bảo mật cơ bản cho nhiều giao thức khác nhau ở các lớp trên.Trong thực tế, Hyper Text Transfer Protocol (HTTP),cung cấp dịch vụ trao đổi cho tương tác Web client/server,có thể hoạt động trên đỉnh của SSL.Ba giao thức lớp trên được định nghĩa như là các phần của SSL: Handshake Protocol, Change Cypher Spec Protocol và Alert Protocol.Các giao thức mang tính đặc trưng-SSL này được dùng trong phần quản lý trao đổi SSL - Như vậy có ta thấy SSL có 2 lớp giao thức hay 4 thành phần con của SSL: + SSL Handshake Protocol. 7+ SSL Change Cipher Spec Protocol. + SSL Alert Protocol. + SSL Record Protocol. II.2.1 Giao Thức SSL Record Protocol. SSL Record Protocol cung cấp 2 dịch vụ cho kết nối SSL: + Confidentiality (tính cẩn mật): Handshake Protocol định nghĩa 1 khóa bí mật được chia sẻ, khóa này được sử dụng cho mã hóa quy ước các dữ liệu SSL. + Message integrity (tính toàn vẹn thông điệp):Handshake Protocol cũng định nghĩa 1 khóa bí mật được chia sẻ, khóa này được sử dụng để hình thành MAC (mã xác thực message). - Hình sau chỉ ra toàn bộ hoạt động của SSL Record Protocol.SSL Record Protocol nhận 1 message ứng dụng sắp được truyền đi,phân mảnh dữ liệu thành nhiều block,nén dữ liệu 1 cách tùy chọn,áp dụng vào 1 MAC,mã hóa,thêm vào header,và truyền khối kết quả thu được trong 1 segment TCP.Dữ liệu nhận được được giải mã,kiểm tra ,giải nén,sắp xếp lại và phân phối đến người sử dụng ở lớp cao hơn. 8Phân mảnh :Mỗi message của lớp bên trên được phân mảnh thành các block ,mỗi block là 214byte (16384 byte) hoặc ít hơn. Nén: Nén phải là không mất mát thông tin và có thể không làm tăng chiều dài nội dung nhiều hơn 1024 byte (Dĩ nhiên,người ta mong muốn nén làm co lại dữ liệu hơn là nới rộng dữ liệu.Tuy nhiên ,với những block ngắn,có thể ,do định dạng quy ước,thuật toán nén thực sự làm cho output dài hơn input).Trong SSLv3 (cũng như phiên bản hiện tại của TLS),không có thuật toán nén nào được chỉ rõ,vì vậy thuật toán nén mặc định là null. Tính toán MAC (mã xác thực message) trên dữ liệu đã được nén.Để thực hiện cần dùng đến1 khóa bí mật được chia sẻ.Phép tính được định nghĩa như sau: hash(MAC_write_secret || pad_2 || hash(MAC_write_secret || pad_1 ||seq_num ||SSLCompressed.type || SSLCompressed.length || SSLCompressed.fragment)) trong đó: + || : phép nối/hoặc. +MAC_write_secret: khóa bí mật được chia sẻ. + hash: thuật toán băm mã hóa, MD5 hoặc SHA-1. + pad_1: byte 0x36 (0011 0110) được lặp lại 48 lần (384 bit) cho MD5 và 40 lần (320 bit) cho SHA-1. + pad_2: byte 0x5c (0101 1100) được lặp lại 48 lần cho MD5 và 40 lần cho SHA-1. +seq_num: sequence number cho message nay +SSLCompressed.type: giao thức ở lớp trên được dùng để xử lí phân mảnh này. +SSLCompressed.length: chiều dài của phân mảnh đã được nén. +SSLCompressed.fragment: phân mảnh đã được nén (nếu nén không được dùng, phân mảnh ở dạng plaintext). Mã hóa theo phương pháp mã hóa đối xứng:Mã hóa có thể không làm tăng chiều dài nội dung hơn 1024 byte,vì vậy chiều dài tổng cộng không vượt quá 214+2048. Các thuật toán mã hóa sau được cho phép: Block cipher (Mã hóa khối) Stream cipher (Mã hóa luồng) Thuật toán Kích thước khóa Thuật toán Kích thước khóa AE S 128,25 6 RC4- 40 40 IDE A 128 RC4-128 128 RC2- 40 40 DES- 40 40 DE S 56 3DE S 168 Fortezz a 80 9Cuối cùng của xử lí SSL Record Protocol là gắn thêm vào1 header ,bao gồm các mục sau: Content Type (8 bit): giao thức lớp trên được dùng để xử lí phân mảnh đi kèm. Major Version (8 bit): chỉ ra phiên bản SSL tối đa được dùng. Ví dụ, SSLv3,giá trị này là 3. Minor Version (8 bit) : chỉ ra phiên bản tối thiểu được dùng.Ví dụ, SSLv3 ,giá trị này là 0. Compressed Length (16 bit) : chiều dài theo byte của phân mảnh plaintext (hoặc chiều dài theo byte của phân mảnh đã nén nếu nén được dùng).Gía trị lớn nhất là 214+2048. I.2.2 Giao thức SSL Change Cipher Spec Protocol Giao thức SSL Change Cipher Spec là giao thức đơn giản nhất trong ba giao thức đặc trưng của SSL mà sử dụng giao thức SSL Record . Giao thức này bao gồm một message đơn 1 byte giá trị là 1. Mục đích chính của message này là sinh ra trạng thái tiếp theo để gán vào trạng thái hiện tại,và trạng thái hiện tại cập nhật lại bộ mã hóa để sử dụng trên kết nối này. I.2.3 Giao thức SSL Alert Giao thức SSL Alert được dùng để truyền cảnh báo liên kết SSL với đầu cuối bên kia.Như với những ứng dụng khác sử dụng SSL, alert messages được nén và mã hóa, được chỉ định bởi trạng thái hiện tại. Mỗi message trong giao thức này gồm 2 bytes .Byte đầu tiên giữ giá trị cảnh báo(1) hoặc nguy hiểm(2) để thông báo độ nghiêm ngặt của message.Nếu mức độ là nguy hiểm,SSL lập tức chấp dứt kết nối.Những kết nối cùng phiên khác vẫn có thể tiếp tục nhưng sẽ không kết nối nào khác trên phiên này được khởi tạo thêm.Byte thứ hai chứa một mã chỉ ra cảnh báo đặc trưng.Đầu tiên , chúng ta liệt kê những cảnh báo đó mà luôn ở mức nguy hiểm ( được định nghĩa từ những thông số SSL): 10 unexpected_message: message không thích hợp bad_record_mac: MAC không chính xác decompression_failure: việc giải nén nhận input không thích hợp(ví dụ như không thể giải nén hoặc giải nén lớn hơn độ dài tối đa cho phép). handshake_failure: bên gửi không thể thương lượng một bộ chấp nhận được của các thông số bảo mật được đưa ra từ những lựa chọn có sẵn 11 illegal_parameter: một trường trong một handshake message thì vượt khỏi dãy hoặc trái với những trường khác Phần còn lại của cảnh báo thì như sau: close_notify: thông báo cho bên nhận rằng bên gửi sẽ không gửi thêm message nào nữa trong kết nối này.Mỗi nhóm thì được yêu cầu gửi một close_notify cảnh báo trước khi kết thúc phần ghi của một kết nối. no_certificate: có thể được gửi để trả lời cho một yêu cầu certificate nếu không certificate thích hợp nào có sẵn. bad_certificate: certificate nhận được thì không hợp lệ(ví dụ như chứa một chữ ký không xác minh) unsupported_certificate: dạng certificate nhận được thì không hỗ trợ. certificate_revoked: certificate đã bị thu hồi bởi nhà cung cấp. certificate_expired: certificate đã hết hạn đăng ký. certificate_unknown: một số phát sinh không nói rõ xuất hiện trong quá trình xử ký certificate làm cho nó không thể chấp nhận. I.2.4 Giao Thức SSL Handshake Giao thức này cho phép server và client chứng thực với nhau và thương lượng cơ chế mã hóa , thuật toán MAC và khóa mật mã được sử dụng để bảo vệ dữ liệu được gửi trong SSL record.Giao thức SSL Handshake thường được sử dụng trước khi dữ liệu của ứng dụng được truyền đi. Cơ chế giao thức SSL Handshake: 1) Client sẽ gửi cho server số phiên bản SSL đang dùng, các tham số của thuật toán mã hoá, dữ liệu được tạo ra ngẫu nhiên (đó chính là digital signature) và một số thông tin khác mà server cần để thiết lập kết nối với client. 2) Server gửi cho client số phiên bản SSL đang dùng, các tham số của thuật toán mã hoá, dữ liệu được tạo ra ngẫu nhiên và một số thông tin khác mà client cần để thiết lập kết nối với server. Ngoài ra server cũng gửi certificate của nó đến client, và yêu cầu certificate của client nếu cần. 3) Client sử dụng một số thông tin mà server gửi đến để xác thực server. Nếu như server không được xác thực thì người sử dụng sẽ được cảnh báo và kết nối không được thiết lập. Còn nếu như xác thực được server thì phía client sẽ thực hiện tiếp bước 4. 13 4) Sử dụng tất cả các thông tin được tạo ra trong giai đoạn bắt tay ở trên, client (cùng với sự cộng tác của server và phụ thuộc vào thuật toán được sử dụng) sẽ tạo ra premaster secret cho phiên làm việc, mã hoá bằng khoá công khai (public key) mà server gửi đến trong certificate ở bước 2, và gửi đến server. 5) Nếu server có yêu cầu xác thực client, thì phía client sẽ đánh dấu vào phần thông tin riêng chỉ liên quan đến quá trình “bắt tay” này mà hai bên đều biết. Trong trường hợp này, client sẽ gửi cả thông tin được đánh dấu và certificate của mình cùng với premaster secret đã được mã hoá tới server. 6) Server sẽ xác thực client. Trường hợp client không được xác thực, phiên làm việc sẽ bị ngắt. Còn nếu client được xác thực thành công, server sẽ sử dụng khoá bí mật (private key) để giải mã premaster secret, sau đó thực hiện một số bước để tạo ra master secret. 7) Client và server sẽ sử dụng master secret để tạo ra các session key, đó chính là các khoá đối xứng được sử dụng để mã hoá và giải mã các thông tin trong phiên làm việc và kiểm tra tính toàn vẹn dữ liệu. 8) Client sẽ gửi một lời nhắn đến server thông báo rằng các message tiếp theo sẽ được mã hoá bằng session key. Sau đó nó gửi một lời nhắn đã được mã hoá để thông báo rằng phía client đã kết thúc giai đoạn “bắt tay”. 9) Server cũng gửi một lời nhắn đến client thông báo rằng các message tiếp theo sẽ được mã hoá bằng session key. Sau đó nó gửi một lời nhắn đã được mã hoá để thông báo rằng server đã kết thúc giai đoạn “bắt tay”. 10) Lúc này giai đoạn “bắt tay” đã hoàn thành, và phiên làm việc SSL bắt đầu. Cả hai phía client và server sẽ sử dụng các session key để mã 14 hoá và giải mã thông tin trao đổi giữa hai bên, và kiểm tra tính toàn vẹn dữ liệu I.3 Các thuật toán mã hóa dùng trong SSL - Các thuật toán mã hoá (cryptographic algorithm -cipher) là các hàm để mã hoá và giải mã thông tin. - Giao thức SSL hỗ trợ rất nhiều các thuật toán mã hoá, sử dụng trong quá trình xác thực server và client, truyền tải các certificates và thiết lập các khoá của từng phiên giao dịch - Client và server có thể hỗ trợ các bộ mật mã (cipher suite) khác nhau tuỳ thuộc vào phiên bản SSL đang dùng, chính sách về độ dài khoá cảm thấy chấp nhận được - điều này liên quan đến mức độ bảo mật của thông tin, …. Một số thuật toán SSL sử dụng : - DES (Data Encryption Standard) - DSA (Digital Signature Algorithm): - MD5 (Message Digest algorithm): - RSA: là thuật toán mã hoá công khai dùng cho cả quá trình xác thực và mã hoá dữ liệu được Rivest, Shamir, and Adleman phát triển. - RSA key exchange: là thuật toán trao đổi khoá dùng trong SSL dựa trên thuật toán RSA. - RC2 and RC4: - SHA-1 (Secure Hash Algorithm): - Các thuật toán trao đổi khoá như KEA, RSA key exchange được sử dụng để 2 bên client và server xác lập khoá đối xứng mà họ sẽ sử dụng trong suốt phiên giao dịch SSL. Và thuật toán được sử dụng phổ biến là RSA key exchange - Các phiên bản SSL 2.0 và SSL 3.0 hỗ trợ cho hầu hết các bộ mã hoá. Người quản trị có thể tuỳ chọn bộ mã hoá sẽ dùng cho cả client và 15 server. Khi một client và server trao đổi thông tin trong giai đoạn bắt tay (handshake), họ sẽ xác định bộ mã hoá mạnh nhất có thể và sử dụng chúng trong phiên giao dịch SSL. II. Ứng dụng của SSL II.1 Các ứng dụng phổ biến của SSL Tuy đến nay vẫn còn tồn tại một số lỗ hổng có thể bị khai thác nhưng SSL vẫn là giao thức bảo mật cao nhất mà chưa một giao thức bảo mật nào có thể thay thế vai trò của nó . Nó phổ biến đến mức nếu thấy tên một giao thức có hậu tố “s” thì người ta biết ngay giao thức ứng dụng đó được kết hợp kèm với SSL. Sau đây là một số port phổ biến của những ứng dụng đi kèm SSL được IANA( Internet Assigned Numbers Authority) công nhận : Hình 1 - Ngoài một số ứng dụng phổ biến hiện nay của SSL như bảo mật trong Remote Desktop Protocol cho kết nối Terminal Service, Http cho Outlook Name Port Description Nsiiop 261 Dịch vụ IIOP trên TLS/SSL Https 443 HTTP trên TLS/SSL Smtps 465 SMTP trên TLS/SSL Nntps 563 NNTP trên TLS/SSL Ldaps 636 LDAP trên TLS/SSL Ftps-data 989 FTP-dữ liệu trên TLS/SSL Ftps 990 FTP-điều khiển trên TLS/SSL Telnets 992 TELNET trên TLS/SSL Imaps 994 IRC trên TLS/SSL 16 Web Access hay Smtp/Imap/Pop3 cho mail , ứng dụng quan trọng của SSL mà không thể không nhắc tới là SSL VPN - Đó là lý do tại sao không chỉ các nhà cung cấp thiết bị mạng phần cứng đang đua nhau trong việc phát triển các sản phẩm hổ trợ SSL VPN mà cả những nhà cung cấp thiết bị mạng “mềm” như Microsoft cũng đưa nó vào sản phẩm Windows Server 2008 và Windows Vista Service Pack 1 của mình với cơ chế Secure Socket Tunneling Protocol (SSTP). II.2 Ứng Dụng SSL Trên Web Server II.2.1 Web Server ? - Web Server (Máy phục vụ Web): máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server. Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html. - Máy Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một n hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác. (các mã Script, các chương trình, và các file Multimedia). - Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name. - Khi máy tính của bạn kết nối đến một Web Server và gửi đến yêu cầu truy cập các tông tin từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại cho bạn những thông tin mà bạn mong muốn. 17 Hình 2 - Server phải hoạt động liên tục 24/24 giờ, 7 ngày một tuần và 365 ngày một năm, để phục vụ cho việc cung cấp thông tin trực tuyến. -Có nhiều loại Web Server khác nhau, nhưng chủ yếu trên thị trường chỉ thường sử dụng Apache và IIS (Internet Information Server của Microsoft). Hình 3 18 II.2.2 Giải Pháp Bảo Vệ Web Server - Truyền thông HTTP được định nghĩa cho máy chủ Web nói chung, thông thường là các trang thông tin. - Một số phương pháp cho Web Server an toàn hơn(hình vẽ): Hình 4 Tuy nhiên nếu đang nghĩ đến việc chạy một trang điện tử hoặc các dịch vụ Web khác yêu cầu phiên giao dịch an toàn thì bạn cần phải mã hóa dữ liệu được truyền thông giữa máy chủ Web và các máy khách của nó. Trường hợp thường được sử dụng nhất đó là Secure Sockets Layer (SSL), SSL sử dụng mã hóa khóa công khai để bảo vệ thông tin bí mật của người dùng (như là thẻ tín dụng, số tài khoản ngân hàng) vẫn được truyền tải trên Web. Trong bài viết này sẽ giới thiệu 2 phương pháp: + Cách cài đặt SSL trên máy chủ Internet Information Services (IIS) Web trên Win Server.( Xin một chứng chỉ cho web) + Cách cài đặt SSL trên máy chủ Apache Web Server trên hệ điều hành CenTos( Tự tạo một chứng chỉ web) 19 II.2.3 Quy Trình Và Cài Đặt SSL II.2.3.1 Quy trình cài đặt 1. Chọn 1 Server Cho ứng dụng 2. Tạo 1 CSR(Certificate Signing Request)(tùy theo Server đã chọn mà có cách thức tạo khác nhau) * Ở bước này 1 Private Key sẽ được tạo ra cùng lúc với CSR. 3. Đăng kí tạo SSL Certificate từ 1 CA(Certificate Authority). ( ví dụ xin chứng chỉ free : 4. Cài đặt SSL tùy theo yêu cầu của từng Server. Trong đó thì : CSR-Certificate Signing Request:Là một block Text được mã hóa được lấy từ server mà ta sẽ dùng Certificate. Nó chứa những thông tin xác thực như :organization name, common name (domain name), locality, and country và publickey và một private key sẽ được tạo cùng lúc tạo CSR . Nội dung 1 CSR thường là : 20 + Định dạng của SCR : Hấu hết các CSR được mã hóa theo Base64 -----BEGIN CERTIFICATE REQUEST----- MIIByjCCATMCAQAwgYkxCzAJBgNVBAYTAlVTMRMwEQYDVQQ IEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV 3MRMwEQYDVQQKEwpHb29nbGUgSW5jMR8w HQYDVQQLExZJbmZvcm1hdGlvbiBUZWNobm9sb2d5MRcwFQYDVQ QDEw53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQ AwgYkCgYEApZtYJCHJ4VpVXHfVIlstQTlO4qC03hjX+ZkPyvdYd1Q4+ qbAeTwXmCUKYHThVRd5aXSqlPzyIBwieMZrWFlRQddZ1IzXAlVRD WwAo60KecqeAXnnUK+5fXoTI/UgWshre8tJ+x/TMHaQKR/cIWPhqaQh sJuzZbvAdGA80BLxdMCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4 GBAIhl4PvFq+e7ipARgI5ZM+GZx6mpCz44DTo0JkwfRDf+BtrsaC0q68e Tf2XhYOsq4fkHQ0uA0aVog3f5iJxCa3Hp5gxbJQ6zV6kJ0TEsuaaOhEko9 sdpCoPOnRBm2i/XRD2D6iNh8f8z0ShGsFqjDgFHyF3o+lUyj+UC6H1Q W7bn -----END CERTIFICATE REQUEST----- 21 Certificate Authorety ( CA ): - Là tổ chức cấp phát chữ kí điện tử.Nó giữ lại những thông tin nó ban hành và những thông tin để phát hành chữ kí điện tử đó. -Tính phí hoặc free: + Free : StartCom,Cacert ,các trial cua các CA, Godaddy (Opensource) + Tinh phí :Verisign,Comodo,DigiCert,Entrust,GlobalSign,Godady II.2.3.1 Cài đặt SSL Như ở mục trên đã trình bày xin đưa ra 2 phương pháp cài đặt SSL trên 2 loại Web erver phổ biến đó là IIS và Apache + Cách cài đặt SSL trên máy chủ Internet Information Services (IIS) Web trên Win Server.( Xin một chứng chỉ cho web) + Cách cài đặt SSL trên máy chủ Apache Web Server trên hệ điều hành CenTos.( Tự tạo một chứng chỉ web) III. Demo * Cài đặt SSL máy chủ IIS. * Cài đặt SSL máy chủ Apache. 22 Tài Liệu Tham Khảo 1.Cryptography and Network Security Principles and Practices, Fourth Edition –By William Stallings 2.Security Cryptographic Principles, Algorithms and Protocols –By Man Young Rhee 3. MCP 70-299: Implementing and Administering Security in a Microsoft Windows Server 2003 Network 4. (BlackHat-DC-09-Marlinspike-Defeating- SSL.pdf) 5.

Các file đính kèm theo tài liệu này:

  • pdfsslset_120515003436_phpapp02_7451.pdf