Secure Sockets Layer (SSL)

Một phần của tài liệu Khóa luận tốt nghiệp: Xây dựng Firewall & IPS trên checkpoint pot (Trang 33)

Ngày nay, người dùng Internet trao đổi rất nhiều loại thông tin trên mạng từ trao đổi thưđiện tử thông thường đến các thông tin chi tiết trong thẻ tín dụng của mình, do đó họ muốn những dữ liệu đó phải được bảo mật khi truyền trên mạng công cộng.

Để làm được điều này người ta đã ứng dụng giao thức SSL để bảo vệ các dữ liệu trong quá trình trao đổi giữa tất cả các dịch vụ mạng sử dụng TCP/IP để hỗ trợ các tác vụ

truyền thông mạng giữa máy chủ và máy khách.

Giao thức SSL đầu tiên do Netscape phát triển, mục đích để bảo mật dữ liệu gửi/nhận trên Internet của các giao thức thuộc lớp ứng dụng như HTTP, LDAP hay POP3.

SSL sử dụng giao thức TCP để cung cấp các kết nối bền vững, bảo mật và được xác thực giữa các điểm cuối với nhau (ví dụ như giữa client và server). Mặc dù có thể sử dụng SSL để bảo vệ dữ liệu liên quan đến bất kỳ dịch vụ nào, nhưng SSL chủ yếu được dùng trong các ứng dụng HTTP (server và client). Ngày nay hầu hết các HTTP server đều hỗ trợ các phiên SSL, ở phía client các trình duyệt Internet Explorer và Netscape Navigator đều hỗ trợ SSL.

Hình 1: SSL giữa tầng ứng dụng và tầng TCP/IP

1.7.2 Nhiệm vụ và cấu trúc của SSL

Những mục đích chính của việc phát triển SSL là:

• Xác thực server và client với nhau: SSL hỗ trợ sử dụng các kỹ thuật mã hoá khoá chuẩn (mã hoá sử dụng khoá công khai) để xác thực các đối tác truyền thông với nhau. Hầu hết các ứng dụng hiện nay xác thực các client bằng cách sử dụng chứng chỉ số, SSL cũng có thể sử dụng phương pháp này để xác thực client.

• Đảm bảo toàn vẹn dữ liệu: trong một phiên làm việc, dữ liệu không thể bị làm hỏng dù vô tình hay cố ý.

đánh cắp trên đường truyền và chỉ có đúng người nhận mới có thểđọc được các dữ liệu đó. Các dữ liệu được bảo vệ bao gồm các những dữ liệu liên quan đến chính hoạt động giao thức (các thông tin trao đổi trong quá trình thiết lập phiên làm việc SSL) và các dữ liệu thực trao đổi trong phiên làm việc.

Thực tế SSL không phải là một giao thức đơn mà là một bộ các giao thức, có thể được chia làm 2 lớp:

1. Giao thức đảm bảo sự an toàn và toàn vẹn dữ liệu: lớp này chỉ có một giao thức là SSL Record Protocol

2. Các giao thức thiết kếđể thiết lập kết nối SSL: lớp này gồm có 3 giao thức: SSL Handshake Protocol, SSL ChangeCipherSpecProtocol và SSL Alert Protocol.

Hình 2: Các lớp giao thức SSL

SSL sử dụng các giao thức này để thực hiện các nhiệm vụ được đề cập ở trên. SSL Record Protocol chịu trách nhiệm mã hoá và đảm bảo toàn vẹn dữ liệu. Như ta thấy trong hình 2, giao thức này còn chịu trách nhiệm đóng gói các dữ liệu của các giao thức SSL khác tức là cũng liên quan đến các tác vụ kiểm tra dữ liệu SSL.

Ba giao thức còn lại chịu trách nhiệm quản lý các phiên, quản lý các tham số mã hoá và truyền các thông điệp SSL giữa client và server. Trước khi đi vào chi tiết về vai trò của từng giao thức chúng ta hãy xem xét hai khái niệm mang tính nền tảng liên quan tới việc sử dụng SSL.

1.7.3 Phiên SSL và kết nối SSL

Các khái niệm đề cập ở trên là các khái niệm cơ bản của công nghệ SSL. Ngoài ra còn có rất nhiều thuộc tính khác của SSL mà chúng ta sẽ xem xét ởđây:

 Connection (kết nối): là một liên kết client/server logic với những kiểu dịch vụ

thích hợp. SSL connection là một kết nối điểm nối điểm giữa 2 nút mạng.

 Session (phiên): là một sự kết hợp giữa một client và một server xác định bằng một bộ các tham số ví dụ thuật toán sẽ sử dụng, số hiệu phiên v.v... Khi một phiên SSL giữa một client và một server được thiết lập bằng giao thức SSL Handshake Protocol thì

tất cả các kết nối sau này được thiết lập giữa cặp server/client đó sẽ sử dụng chung bộ tham sốđó mà không phải tiến hành thoả thuận lại.

Điều đó có nghĩa là trong một phiên SSL giữa một client và một server có thể có nhiều kết nối giữa client và server đó. Về lý thuyết cũng có thể có nhiều phiên SSL dùng chung một kết nối, nhưng trên thực tế không sử dụng đến khảnăng này. Khái niệm phiên và kết nối SSL liên quan đến nhiều tham số sử dụng trong truyền thông hỗ trợ SSL giữa client và server. Trong quá trình thoả thuận của giao thức handshake ngoài việc chọn các phương pháp mã hoá dữ liệu thì một loạt các tham số của Session State cũng được chọn, Session State bao gồm:

 Session identifier: là định danh do server tạo ra và gán cho mỗi phiên làm việc với một client nhất định,

 Peer certificate: chứng chỉ X.509 của nút còn lại của phiên, phương pháp nén: xác định phương pháp nén dữ liệu trước khi mã hoá.

 Mô tả thuật toán CipherSpec: xác định thuật toán để mã hoá dữ liệu (ví dụ: thuật toán DES) và thuật toán băm dữ liệu (ví dụ MD5) sẽ sử dụng trong phiên.

 Master secret: là một số bí mật 48 byte được server và client dùng chung,

Cờ “is resumable”: cho biết có thể sử dụng phiên này để khởi tạo các kết nối mới được không. Ngoài ra còn có một số tham số khác:

Số ngẫu nhiên của Server và client: dữ liệu ngẫu nhiên do cả client và server sinh ra cho mỗi kết nối.

 Server write MAC secret: chìa khoá bí mật do server sử dụng để mã hoá dữ liệu của server.

Server write key: chìa khoá mà server dùng để mã hoá và client dùng để giải mã dữ liệu. Client write key: chìa khoá mà client dùng để mã hoá và server dùng để giải mã dữ liệu. Sequence number (số thứ tự): server và client quản lý một cách riêng rẽ các số thứ tựđể đánh số các thông điệp gửi và nhận cho mỗi kết nối.

1.7.4 SSL Record Protocol

SSL Record Protocol sử dụng để trao đổi tất cả các kiểu dữ liệu trong một phiên – bao gồm các thông điệp, dữ liệu của các giao thức SSL khác và dữ liệu của ứng dụng.

SSL Record Protocol liên quan đến việc bảo mật và đảm bảo toàn vẹn dữ liệu.

Mục đích của SSR Record Protocol là thu nhận những thông điệp mà ứng dụng chuẩn bị gửi, phân mảnh dữ liệu cần truyền, đóng gói, bổ xung header tạo thành một đối tượng gọi là bản ghi (record), bản ghi đó được mã hoá và có thể truyền bằng giao thức TCP. Bước đầu tiên của quá trình chuẩn bị truyền dữ liệu là phân mảnh dữ liệu, tức là chia nhỏ dòng dữ liệu thành các mảnh kích thước 16KB (hoặc nhỏ hơn). Những mảnh dữ liệu này sau đó có thểđược nén trước khi truyền. Sau đó bắt đầu quá trình tạo các bản ghi cho mỗi đơn vị dữ liệu bằng cách bổ xung thêm header, một số byte cho đủ kích thước qui định của bản ghi nếu kích thước bản ghi chưa đủ và cuối cùng là phần MAC.

MAC (Message Authentication Code) là mã xác thực thông điệp sử dụng để khi phát dữ liệu trong các phiên SSL. Phần header của mỗi bản ghi chứa 2 thông tin quan trọng đó là độ dài của bản ghi và độ dài của khối dữ liệu thêm vào phần dữ liệu gốc. Phần dữ liệu của một bản ghi gồm: dữ liệu gốc, các byte bổ xung cho đủ kích thước gói tin qui định,

giá trị MAC được sử dụng để kiểm chứng sự toàn vẹn của thông điệp chứa trong bản ghi gửi cùng với MAC đó. MAC là kết quả của một của một hàm băm theo một thuật toán bămđược qui định trước (ví dụ MD5 hoặc SHA-1).MAC được tính toán dựa trên việc áp dụng hàm băm trên các dữ liệu sau: khoá bí mật, dữ liệu gốc, phần thông tin bổ xung, số thứ tự.

Khoá bí mật ở đây có thể là khoá ghi MAC của client (client write MAC secret) hoặc của server (server write MAC secret) tuỳ thuộc vào ai là người tạo gói tin.

Sau khi nhận được một gói tin thì bên nhận tự tính lại giá trị MAC và so sánh với giá trị MAC chứa trong gói tin đó. Nếu hai giá trị MAC đó giống nhau có nghĩa là dữ liệu hông bị thay đổi trong quá trình truyền trên mạng. Độ dài của trường MAC phụ thuộc vào

Tiếp theo, phần dữ liệu cộng với MAC sẽđược mã hoá sử dụng phương pháp mã hoá (đối xứng) đã thoả thuận trước ví dụ DES hoặc triple DES. Như vậy là cả dữ liệu và MAC đều được mã. Phần dữ liệu đã được mã hoá đó được gắn thêm header bao gồm các trường sau:

Kiểu nội dung (content type): xác định dữ liệu nào chứa trong gói tin để quyết định xem giao thức nào ở lớp cao hơn sẽ chịu trách nhiệm xử lý dữ liệu của gói tin đó. Các giá trị có thể của trường này là: change_cipher_spec, alert, handshake và

application_data tham chiếu đến các giao thức tương ứng ở mức cao hơn.

Phiên bản chính (major version): phần chỉ số chính của phiên bản SSL đang sử dụng. Ví dụ với SSL 3.0 thì giá trị trường này là 3.

Phiên bản phụ (minor version): phần chỉ số phụ của phiên bản SSL đang sử dụng. Ví dụ với SSL 3.0 thì giá trị trường này là 0.

Sau khi tính toán xong các trường này, bản ghi đã được tạo xong và sẵn sàng để gửi đến cho máy đích. Toàn bộ quá trình chuẩn bị bản ghi trước khi gửi được mô tả trong hình 3.

Hình 3: Quá trình tạo một bản ghi của SSL Record Protocol

1.7.5 Alert Protocol

Alert Protocol được các bên sử dụng để mang các thông điệp của phiên liên quan tới việc trao đổi dữ liệu và hoạt động của các giao thức. Mỗi thông điệp của giao thức này gồm 2 byte. Byte thứ nhất chứa một trong hai giá trị là warning (1) và fatal (2) xác định tính nghiêm trọng của thông điệp. Khi một trong 2 bên gửi thông điệp có giá trị bít đầu tiên là fatal (2) thì phiên làm việc giữa 2 bên sẽ kết thúc ngay lập tức. Byte tiếp theo của thông điệp chứa mã lỗi xảy ra trong phiên giao dịch SSL.

1.7.6 Change CipherSpec Protocol

Đây là giao thức SSL đơn giản nhất. Nó chỉ chứa một thông điệp mang giá trị 1. Mục đích duy nhất của thông điệp này là làm chuyển trạng thái của một phiên từ “đang chờ” (pending) sang “bền vững” (fixed). Ví dụ khi 2 bên qui ước bộ giao thức nào sẽ sử dụng. Cả client và server đều phải gửi thông điệp loại này cho bên đối tác, sau khi đã trao đổi xong thì coi như hai bên đã đồng ý với nhau.

1.7.7 Handshake Protocol

Handshake protocol là bộ giao thức SSL phức tạp nhất. Giao thức này được sử dụng để khởi tạo phiên SSL giữa client và server. Thông điệp của giao thức này chứa rất nhiều loại thông tin, ví dụ các thuật toán mã hoá và các khoá mã mà 2 bên sẽ phải thoả thuận với nhau. Nhờ giao thức này các bên sẽ xác thực lẫn nhau và thoả thuận các tham số cho phiên làm việc sẽ được thiết lập. Quy trình thoả thuận giữa client và server được mô tả trong hình 4. Có thể chia quy trình này thành 4 pha.

Trong pha thứ nhất: một kết nối logic được thiết lập giữa client và server để thoả thuận các tham số của kết nối. Phía client gửi cho server một thông điệp client_hello chứa các dữ liệu như:

 Version: phiên bản SSL cao nhất mà client có thể hỗ trợ, Random: dữ liệu chứa một tem thời gian 32 bít và một số ngẫu nhiên dài 28 byte.

 Session ID: một giá trị số dùng làm định danh cho phiên. Nếu giá trị này khác 0 thể hiện client muốn cập nhật các thông số cho kết nối hiện tại hay muốn khởi tạo kết nối mới. Còn nếu bằng 0 thể hiện rằng client muốn khởi tạo một kết nối mới.

 CipherSuite: danh sách các thuật toán mã hoá và phương pháp trao đổi khoá mà phía client hỗ trợ.

Phía server sẽ phản hồi lại bằng thông điệp server_hello có cấu trúc giống với thông điệp client_hello với các thông tin của server:

 Version: phiên bản SSL thấp nhất mà server hỗ trợ.

 Random: được sinh một cách độc lập với số ngẫu nhiên của client.

 session ID: nếu session ID của client là khác 0 thì session ID của server sẽ giống của client. Nếu session ID của client bằng 0 thì trường session ID của server sẽ chứa định

CHƯƠNG 2 : CHECKPOINT

2.1 Tổng quan về Checkpoint

CheckPoint là một trong những nhà cung cấp hàng đầu về các sản phẩm bảo mật

Internet. Cung cấp một giải pháp toàn diện cho việc quản lý các thiết bị an toàn bảo mật với các tính năng: cấu hình các chính sách bảo mật, theo dõi các thiết bị, logging, quản lý các sự kiện và cung cấp cho nhà quản trị các báo cáo ở các mức độ khác nhau, đặc biệt là các dòng sản phẩm firewall dùng trong các doanh nghiệp, cá nhân và các công nghệ mạng riêng ảo VPN. Với nền tảng NGX, ngoài ra CheckPoint cung cấp một kiến trúc bảo mật thống nhất cho một lọat các giải pháp bảo mật: bảo mật cho truy cập Internet, bảo mật mạng nội bộ, bảo mật Web, bảo mật người dùng… nhằm bảo vệ các tài nguyên thông tin, quá trình truyền thông, các ứng dụng…của doanh nghiệp. Đặc biệt các sản phẩm của CheckPoint cho phép việc tích hợp với hàng lọat các dòng sản phẩm của hơn

350 hãng sản xuất thiết bị bảo mật nổi tiếng trên thế giới.

Tổng quan các sản phẩm bảo mật của CheckPoint.

- Eventia Analyzer: giúp đỡ người quản trị trong việc quản lý các sự kiện liên quan đến bảo mật. Eventia Analyzer cho phép quản lý tập trung, thời gian thực các thiết bị bảo mật Gateway của CheckPoint và sản phẩm của các đối tác của Checkpoint. Eventia tự động thu thập dữ liệu thông tin về các sự kiện, tình hình tấn công…, tối ưu hóa cách trình bày và cung cấp cho nhà quản trị một cái đầy đủ nhất về tình hình an ninh trên mạng.

- Eventia Report: Thu thập dữ liệu, thông tin từ các thiết bị bảo mật trên mạng sau đó trình bày một cách có hệ thống, dưới dạng báo cáo giúp cho tổ chức có thể sử dụng làm căn cứ đểđánh giá, xác định xem hiệu quả của chính sách bảo mật, tình hình an toàn bảo mật trên mạng …từ đó tối ưu hóa hiệu quả đầu tư. Eventia Reporter tập trung hóa việc báo cáo về các hoạt động của người dùng, các thiết bị bảo mật và thiết bị mạng.

- SmartCenter: Để đối phó với sự tấn công của tin tặc ngày càng phức tạp, chúng ta phải xây dụng hệ thống an ninh bảo mật theo chiều sâu bao gồm nhiều lớp: bảo mật vòng ngoài, bảo mật bên trong, bảo mật người dùng…CheckPoint đưa ra giải phép cho phép người quản trị có thể quản lý được môi trường phức tạp đó. Thông qua SmartCenter, nhà quản trị có thể thực hiện được tất cả các khía cạnh quản lý liên quan đến vấn đề bảo mật.

- SmartPortal: Cho phép người dùng, người kiểm tra… có thể xem được các chính sách bảo mật, tình trạng các thiết bị bảo mật và hoạt động quản lý của nhà quản trị.

- SmartView Monitor: Cho phép nhà quản trị có một cái nhìn tổng quan về hiệu năng hoạt động của các thiết bị mạng và thiết bị bảo mật từ đó, cho phép đưa ra những biện pháp kịp thời. Nó cho phép nhà quản trị xác định được tức thời những thay đổi lớn về traffic trên mạng, đặc biệt là những thay đổi nguy hiểm.

Các sản phẩm bảo mật vòng ngoài của CheckPoint, chủ yếu là các thiết bị VPN, cho phép kiểm soát việc truy cập vào các tài nguyên mạng nội bộ của doanh nghiệp từ bên ngoài. Đảm bảo chỉ những người được phép mới có quyền truy cập. Nổi bật nhất trong đó là dòng sản phẩm: Check Point VPN-1/firewall 1 Pro.

2.2 Access Control của Checkpoint Firewall

Check Point Security Gateway thường được đặt ở khu vực biên của hệ thống cần bảo vệ nhằm theo dõi và quản lý chặt chẽ mọi luồng dữ liệu đi ra và vào mạng. Người quản

Một phần của tài liệu Khóa luận tốt nghiệp: Xây dựng Firewall & IPS trên checkpoint pot (Trang 33)