Cai Dat SSL tren WEB SERVER

22
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 MNG §Ò tµi : TÌM HIU VSSL VÀ NG DNG TRÊN WEB SEVER GVHD : Th.S NGUYỄN ĐỨC BÌNH Sinh viên thc hin : NGUYN CÔNG LONG ĐỖ VĂN TRUYN Lp : An Ninh Mng N02 Th¸i Nguyªn, th¸ng 05 n¨m 2012

description

liên hệ:yahoo: thaingoclong_tn90mobile: 0973.809.853

Transcript of Cai Dat SSL tren WEB SERVER

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ÁOAN 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

2

MỤ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

3

LỜ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ôngngừ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ệntrự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 cungcấ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 trangWeb 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ềnWorld 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

5

nộ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 AccessProtocol) 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ũngnhư 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.

8

Phâ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óasau đượ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

AES

128,256

RC4-40

40IDEA

128 RC4-128 128RC2-

4040

DES-40

40DES

563DE

S168

Fortezza

80

9

Cuố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 DescriptionNsiiop 261 Dịch vụ IIOP trên TLS/SSLHttps 443 HTTP trên TLS/SSLSmtps 465 SMTP trên TLS/SSLNntps 563 NNTP trên TLS/SSLLdaps 636 LDAP trên TLS/SSL

Ftps-data 989 FTP-dữ liệu trên TLS/SSLFtps 990 FTP-điều khiển trên TLS/SSL

Telnets 992 TELNET trên TLS/SSLImaps 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 4Tuy 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 :http://www.thawte.com)

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. http://www.blackhat.com/ (BlackHat-DC-09-Marlinspike-Defeating-

SSL.pdf)

5. http://msopenlab.com/