Nghiên cứu xây dựng giải pháp Bảo mật mạng riêng ảo VPN dựa trên công nghệ mở Research construction security solutions of VPN based on open technology NXB H. : ĐHCN, 2012 Số trang 112 tr. +

Nguyễn Anh Đoàn

Trƣờng Đại học Công nghệ Luận văn ThS ngành: Truyền dữ liệu và Mạng máy tính; Mã số: 60 48 15 Cán bộ hƣớng dẫn khoa học: Tiến sĩ Hồ Văn Hƣơng Năm bảo vệ: 2012

Abstract. Tổng quan về an ninh bảo mật thông tin; một số khái niệm, mô hình, giao thức của VPN; Tìm hiểu về công nghệ mã nguồn mở. Nghiên cứu, đánh giá một số vấn đề bảo mật của các giao thức VPN hiện nay; Tìm hiểu một số công nghệ bảo mật VPN. Đề xuất giải pháp VPN mã nguồn mở trên nền tảng Openvpn. Giải pháp triển khai thực tế cho mô hình kết nối của Bộ Ngoại giao.

Keywords: Truyền dữ liệu; Bảo mật mạng; Mạng riêng ảo; Công nghệ mở; An toàn dữ liệu; Mạng máy tính

Content.

I. CHƢƠNG 1 TỔNG QUAN

1.1 Tổng quan về an toàn bảo mật thông tin 1.1.1 Giới thiệu về bảo mật thông tin

Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ về công nghệ thông tin không ngừng đƣợc phát triển ứng dụng để nâng cao chất lƣợng và lƣu lƣợng truyền tin thì các quan niệm ý tƣởng và biện pháp bảo vệ thông tin dữ liệu cũng đƣợc đổi mới. Bảo vệ an toàn thông tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có thể có rất nhiều phƣơng pháp đƣợc thực hiện để bảo vệ an toàn thông tin dữ liệu.

An toàn thông tin bao gồm các nội dung sau:

- Tính bí mật: tính kín đáo riêng tƣ của thông tin

- Tính xác thực của thông tin, bao gồm xác thực đối tác, xác thực thông tin trao đổi.

- Tính trách nhiệm: đảm bảo ngƣời gửi thông tin không thể thoái thác trách nhiệm về thông tin mà mình đã gửi.

1.1.2 Một số giải pháp an toàn thông tin

Các mức bảo vệ trên mạng: Thực hiện một số giải pháp: Quyền truy nhập; Đăng ký tên /mật khẩu; Mã hoá dữ liệu; Tƣờng lửa; Quản trị mạng

An toàn thông tin bằng mật mã:

Để bảo vệ thông tin trên đƣờng truyền ngƣời thực hiện các giải pháp mật mã nhằm mục đích để ngƣời không đƣợc phép đọc đƣợ thông tin. Đây là một lớp bảo vệ thông tin rất quan trọng và đƣợc sử dụng rộng rãi trong môi trƣờng mạng. Để bảo vệ thông tin bằng mật mã ngƣời ta thƣờng tiếp cận theo hai hƣớng:

- Theo đƣờng truyền (Link_Oriented_Security).

- Từ nút đến nút (End_to_End).

Theo cách thứ nhất thông tin đƣợc mã hoá để bảo vệ trên đƣờng truyền giữa hai nút mà không quan tâm đến nguồn và đích của thông tin đó. Ở đây ta lƣu ý rằng thông tin chỉ đƣợc bảo vệ trên đƣờng truyền, tức là ở mỗi nút đều có quá trình giải mã sau đó mã hoá để truyền đi tiếp, do đó các nút cần phải đƣợc bảo vệ tốt.

1.2 Tổng quan về mạng riêng ảo VPN 1.2.1 Định nghĩa về mạng riêng ảo

Theo VPN Consortium, VPN là mạng sử dụng mạng công cộng làm cơ sở hạ tầng để truyền thông tin nhƣng vẫn đảm bảo là một mạng riêng và kiểm soát đƣợc truy nhập. Nói cách khác, VPN đƣợc định nghĩa là liên kết của khách hàng đƣợc triển khai trên một hạ tầng công cộng với các chính sách nhƣ là trong một mạng riêng. Hạ tầng công cộng này có thể là mạng IP, Frame Relay, ATM hay Internet.

1.2.2 Lợi ích của mạng riêng ảo

VPN mang lại nhiều lợi ích, những lợi ích này bao gồm:

- Giảm chi phí thực thi

- Bảo mật các giao dịch

- Sử dụng hiệu quả băng thông

- Nâng cao khả năng mở rộng

Trên đây là một số lợi ích cơ bản mà giải pháp VPN mang lại. Tuy nhiên bên cạnh đó, nó cũng không tránh khỏi một số bất lợi nhƣ: Phụ thuộc nhiều vào Internet. Sự thực thi của một mạng dựa trên VPN phụ thuộc nhiều vào sự thực thi của Internet.

1.2.3 Mô hình mạng riêng ảo thông dụng

VPN đƣợc phát triển và phân thành 3 loại nhƣ sau:

VPN truy cập từ xa (Remote Access VPN): VPN truy cập từ xa cho phép ngƣời dùng từ xa, ngƣời dùng di động của một tổ chức có thể truy cập tới các tài nguyên mạng của tổng công ty.

VPN Cục bộ (Intranet VPN): Intranet VPN thƣờng đƣợc dùng để kết nối các nhánh Văn phòng từ xa của một tổ chức với Intranet trung tâm của tổ chức đó.

Mạng riêng ảo mở rộng (Extranet VPN): Khi một công ty có mối quan hệ mật thiết với một công ty khác (ví dụ nhƣ đối tác cung cấp, khách hàng...), họ có thể xây dựng một VPN extranet kết nối LAN với LAN để nhiều tổ chức khác nhau có thể làm việc trên một môi trƣờng chung.

1.2.4 Một số giao thức mạng riêng ảo

Có bốn giao thức đƣờng hầm (tunneling protocols) phổ biến thƣờng đƣợc sử dụng trong VPN, mỗi một trong chúng có ƣu điểm và nhƣợc điểm riêng. Chúng ta sẽ xem xét và so sánh chúng dựa trên mục đích sử dụng. - Point-to-Point Tunneling Protocol (PPTP) - Layer2 Tunneling Protocol (L2TP) - Secure Socket Layer (SSL) - Security (IPSec) 1.3 Công nghệ mã nguồn mở 1.3.1 Phần mềm mã nguồn mở là gì?

Phần mềm nguồn mở (PMNM) là phần mềm với mã nguồn đƣợc công bố và sử dụng một giấy phép nguồn mở. Giấy phép này cho phép bất cứ ai cũng có thể nghiên cứu, thay đổi và cải tiến phần mềm, và phân phối phần mềm ở dạng chƣa thay đổi hoặc đã thay đổi. 1.3.2 Phƣơng pháp xây dựng phần mềm mã nguồn mở

Mô hình xây dựng phần mềm nguồn mở là một mô hình độc đáo và nó đƣợc hiện thực hoá chỉ với sự ra đời của Internet và sự bùng nổ thông tin do Internet mang lại. việc xây dựng phần mềm nguồn mở khởi đầu một cách rất phi cấu trúc. Những ngƣời lập trình đầu tiên chỉ đƣa ra với công chúng một số mã chức năng tối thiểu, rồi chỉnh sửa dần trên cơ sở các ý kiến phản hồi. Cứ thế theo thời gian, cả một hệ điều hành hay bộ ứng dụng sẽ định hình và không ngừng phát triển.

Phƣơng thức xây dựng phần mềm mã nguồn mở trên đã chứng tỏ tính ƣu việt của mình trên một số khía cạnh sau: Giảm sự trùng lặp nguồn lực; Tiếp thu kế thừa; Quản lý chất lƣợng tốt hơn; Giảm chi phí duy trì CHƢƠNG 2 BẢO MẬT MẠNG RIÊNG ẢO

2.1 Những vấn đề bảo mật trong mạng riêng ảo

Nền tảng VPN có thể bị tấn công bằng rất nhiều cách. Dƣới đây là một số loại tấn công phổ biến vào và hệ thống VPN

- Các mối đe dọa an ninh cho các thành phần VPN - Các cuộc tấn công các giao thức VPN - Các cuộc tấn công mật mã - Các cuộc tấn công từ chối dịch vụ 2.1.1 Tấn công các thành phần mạng riêng ảo

Nhƣ thể hiện trong hình 2.1, các yếu tố quan trọng nhất của một thiết lập VPN bao gồm:

- Ngƣời dùng truy cập từ xa - Kêt nối trong phân đoạn ISP - Internet công cộng - Gateway của mạng

Hình 2. 1: Các yếu tố của một thiết lập dựa trên VPN

2.1.2 Tấn công giao thức mạng riêng ảo

Các giao thức VPN chính, PPTP, L2TP, và IPSec, cũng dễ bị tổn thƣơng các mối đe dọa an ninh. Những phần sau mô tả về các cuộc tấn công trên các giao thức VPN.

Tấn công trên PPTP

PPTP là dễ bị tổn thƣơng trên hai khía cạnh. Chúng bao gồm:

- Generic Routing Encapsulation (GRE)

- Mật khẩu trao đổi trong quá trình xác thực

Tấn công trên IPSec

Nhƣ chúng ta biết IPSec không phải là thuật toán mã hóa thuần túy cũng không phải một cơ chế xác thực. Trong thực tế, IPSec là một sự kết hợp của cả hai và giúp các thuật toán khác bảo vệ dữ liệu. Tuy nhiên, IPSec là dễ bị các cuộc tấn công:

- Các cuộc tấn công chống lại thực hiện IPSec

- Tấn công chống lại quản lý khóa

- Các cuộc tấn công quản trị và ký tự đại diện

2.1.3 Tấn công mật mã

Mật mã nhƣ là một trong các thành phần bảo mật của một VPN. Tùy thuộc vào các kỹ thuật mật mã và các thuật toán khác nhau, các cuộc tấn công giải mã đƣợc biết là tồn tại. Những phần sau tìm hiểu về một số cách thức tấn công giải mã nổi tiếng:

- Chỉ có bản mã (ciphertext-Only)

- Tấn công biết bản rõ (know plaintext attacks)

- Tấn công lựa chọn bản rõ

- Man-in-the-Middle (tấn công trung gian)

- Tấn công Brute Force (duyệt toàn bộ)

- Tấn công thời gian (Timing attacks):

2.1.4 Tấn công từ chối dịch vụ

Các cuộc tấn công DoS đang trở nên khá phổ biến ngày này vì nó không yêu cầu bất kỳ phần mềm đặc biệt hoặc truy cập vào mạng mục tiêu. Chúng đƣợc dựa trên khái niệm của sự tắc nghẽn mạng. Bất kỳ kẻ xâm nhập có thể gây ra tắc nghẽn mạng bằng cách gửi các tải các dữ liệu rác vào mạng. Điều này làm cho các máy tính mục tiêu không thể đƣợc truy cập trong một khoảng thời gian bởi đƣờng truyền bị quá tải hoặc máy tính mục tiêu không thể phục vụ do quá tải. Tình trạng quá tải thông tin thậm chí có thể dẫn đến việc sụp đổ của máy tính mục tiêu.

Hình 2.4 minh họa làm thế nào tin tặc có thể gây ra tắc nghẽn mạng bằng cách gửi các dữ liệu giả vào mạng.

Hình 2. 2: Tin tặc gây nghẽn mạng.

Một số phƣơng pháp thƣờng đƣợc sử dụng để bắt đầu cuộc tấn công DoS nhƣ sau:

- SYN Floods (lụt gói SYN)

- Broadcast Storm (bão gói tin quảng bá)

- Smurf DoS

- Ping of Death

2.2 Công nghệ bảo mật mạng riêng ảo 2.2.1 Tính xác thực

Để thiết lập một kết nối VPN thì trƣớc hết cả hai phía phải xác thực lẫn nhau để khẳng định rằng mình đang trao đổi thông tin với ngƣời mình mong muốn chứ không phải là một ngƣời khác. Một số phƣơng pháp xác thực: - Xác thực bằng mật khẩu

- Hệ thống điều khiển truy cập TASCAS

- Hệ thống xác thực ngƣời dụng quay số RADIUS

- Sử dụng phần cứng

- Xác thực sinh trắc

2.2.2 Tính toàn vẹn Xác thực tính toàn vẹn liên quan đến các khía cạnh sau khi truyền tin trên mạng:

Bảo vệ tính toàn vẹn của mẩu tin: bảo vệ mẩu tin không bị thay đổi hoặc có các biện pháp phát hiện nếu mẩu tin bị thay đổi trên đƣờng truyền.

Kiểm chứng danh tính và nguồn gốc: xem xét mẩu tin có đúng do ngƣời xƣng tên gửi không hay một kẻ mạo danh nào khác gửi.

Không chối từ bản gốc: trong trƣờng hợp cần thiết, bản thân mẩu tin chứa các thông tin chứng tỏ chỉ có ngƣời xƣng danh gửi, không một ai khác có thể làm điều đó. Nhƣ vậy ngƣời gửi không thể từ chối hành động gửi, thời gian gửi và nội dung của mẩu tin.

Với mong muốn đáp ứng các yêu cầu trên, có 3 hàm lựa chọn sau đây đƣợc sử dụng:

+ Mã mẩu tin bằng mã đối xứng hoặc mã công khai.

+ Mã xác thực mẩu tin (MAC): dùng khoá và một hàm nén mẩu tin cần gửi để nhận đƣợc một đặc trƣng đính kèm với mẩu tin và ngƣời gửi đó.

+ Hàm hash (hàm băm) là hàm nén mẩu tin tạo thành “dấu vân tay” cho mẩu tin.

2.2.2.1 Mã xác thực mẫu tin MAC

+ Sinh ra bởi một thuật toán mà tạo ra một khối thông tin nhỏ có kích thƣớc cố định

Phụ thuộc vào cả mẩu tin và khoá nào đó.

Giống nhƣ mã nhƣng không cần phải giải mã.

+ Bổ sung vào mẩu tin nhƣ chữ ký để gửi kèm theo làm bằng chứng xác thực.

+ Ngƣời nhận thực hiện tính toán nào đó trên mẩu tin và kiểm tra xem nó có phù hợp với MAC đính kèm không.

Tạo niềm tin rằng mẩu tin không bị thay đổi và đến từ ngƣời gửi.

Hình 2. 3: Xác thực mẫu tin MAC

Các mã xác thực mẩu tin MAC cung cấp sự tin cậy cho ngƣời nhận là mẩu tin không bị thay đổi và từ đích danh ngƣời gửi. Cũng có thể sử dụng mã xác thực MAC kèm theo với việc mã hoá để bảo mật. Nói chung ngƣời ta sử dụng các khoá riêng biệt cho mỗi MAC và có thể tính MAC trƣớc hoặc sau mã hoá, tốt hơn là thực hiện MAC trƣớc và mã hoá sau.

2.2.2.2 Hàm Hash

Nén mẩu tin bất kỳ về kích thƣớc cố định. Và giả thiết là hàm hash là công khai và không dùng khoá. Hash chỉ phụ thuộc mẩu tin, còn MAC phụ thuộc thêm cả vào khoá.

Hash đƣợc sử dụng để phát hiện thay đổi của mẩu tin. Hash có thể sử dụng nhiều cách khác nhau với mẩu tin, Hash thƣờng đƣợc kết hợp dùng để tạo chữ ký trên mẩu tin.

Hình 2. 4: Mô hình hàm Hash

Các tính chất của hàm Hash

Hàm Hash tạo nên dấu vân tay (tức là thông tin đặc trƣng) của một tệp, mẩu tin hay dữ liệu h = H(M). Nén mẩu tin có kích thƣớc tùy ý về dấu vân tay có kích thƣớc cố định. Hàm Hash đƣợc giả thiết là công khai, mọi ngƣời đều biết cách sử dụng

Các yêu cầu của hàm Hash:

Có thể áp dụng cho mọi mẩu tin có kích thƣớc tuỳ ý. Tuy nhiên phải tạo đầu ra h có kích thƣớc cố định, thƣờng là 128 bit đến 1024 bit.

Dễ tính h = H(M)cho mọi mẫu tin M, hàm H tính toán nhanh, hiệu quả phụ thuộc chặt vào mẩu tin M và không tính toán ngƣợc lại.

Cho trƣớc h không thể tìm đƣợc (rất khó) x sao cho H(x) = h. Tính chất này gọi là tính chất một chiều, chiều tìm nghịch ảnh rất khó khăn, tuy chiều tìm ảnh lại dễ dàng.

Cho x không thể tìm đƣợc y sao cho H(y) = H(x). Đây là tính chất chống đỡ va chạm yếu, không tìm đƣợc mẩu tin có cùng Hash với mẩu tin đã cho.

Và không thể tìm đƣợc x, y sao cho H(y) = H(x). Đây gọi là tính chất chống đỡ va chạm mạnh, đây là yêu cầu cao hơn tính chống đỡ va chạm yếu.

2.2.3 Tính bảo mật 2.2.3.1 Mã hóa đối xứng

Shared Shared Secret Key Secret Key

Clear Ecryption Clear Message Encrypt Message Decrypt Message

Hình 2. 5: Mã hoá khoá bí mật hay đối xứng

Thuật toán đối xứng đƣợc định nghĩa là một thuật toán khoá chia sẻ sử dụng để mã hoá và giải mã một bản tin. Các thuật toán mã hoá đối xứng sử dụng chung một khoá để mã hoá và giải mã bản tin, điều đó có nghĩa là cả bên gửi và bên nhận đã thoả thuận, đồng ý sử dụng cùng một khoá bí mật để mã hoá và giải mã. Ƣu điểm của mã hoá khoá đối xứng:

- Thuật toán này mã hoá và giải mã rất nhanh, phù hợp với một khối lƣợng lớn thông tin - Chiều dài khoá từ 40÷168 bit. - Các tính toán toán học dễ triển khai trong phần cứng.

- Ngƣời gửi và ngƣời nhận chia sẻ chung một mật khẩu.

Cơ chế mã hoá đối xứng nảy sinh vấn đề đó là: việc nhận thực bởi vì đặc điểm nhận dạng của nhận dạng của một bản tin không thể chúng minh đƣợc. Do hai bên cùng chiếm giữ một khoá giống nhau nên đều có thể tạo và mã hoá và cho là ngƣời khác gửi bản tin đó. Điều này gây nên cảm giác không tin cậy về nguồn gốc của bản tin đó. Một số thuật toán đối xứng nhƣ DES (Data Encryption Standard), 3DES…

2.2.3.2 Mã hóa bất đối xứng

Thuật toán mã hoá khoá công cộng đƣợc định nghĩa là một thuật toán sử dụng một cặp khoá để mã hoá và giải mã bảo mật một bản tin. Theo thuật toán này thì sử dụng một khoá để mã hoá và một khoá khác để giải mã nhƣng hai khoá này có liên quan với nhau tạo thành một cặp khoá duy nhất của một bản tin, chỉ có hai khoá này mới có thể mã hoá và giải mã cho nhau.

Private Public Key Key

clear Encrypted clear Message Encrypt Message Decrypt Message

Hình 2. 6: Thuật toán mã hoá khoá công cộng

Ƣu điểm của thuật toán mã hoá khoá công cộng:

- Khoá công cộng của khoá đôi có thể đƣợc phân phát một các sẵn sang mà không sợ rằng điều này làm ảnh hƣởng đến việc sử dụng các khoá riêng. Không cần phải gửi một bản sao chép khoá công cộng cho tất cả các đáp ứng mà chúng ta có thể lấy nó từ một máy chủ đƣợc duy trì bởi một công ty hay là nhà cung cấp dịch vụ.

- Cho phép xác thực nguồn phát của bản tin.

Nhƣơc điểm của mã hoá khoá công cộng là quá trình mã hoá và giải mã rất châm, chậm hơn nhiều so với mã hoá khoá bí mật. Do đó nó thƣờng đƣợc sử dụng để mã hoá các khoá phiên, một lƣợng dữ liệu nhỏ. Một số thuật toán sử dụng mã hoá khoá công cộng nhƣ RSA, Diffie-Hellman.

Một số thuật toán khóa công khai: Thuật toán RSA, Thuật toán Diffie-Hellman

2.2.4 Hạ tầng PKI 2.2.4.1 Tổng quan về PKI

Public Key Infrastructure (PKI) là một cơ chế để cho một bên thứ ba (thƣờng là nhà cung cấp chứng thực số ) cung cấp và xác thực định danh các bên tham gia vào quá trình trao đổi thông tin. Cơ

chế này cũng cho phép gán cho mỗi ngƣời sử dụng trong hệ thống một cặp public/private. Các quá trình này thƣờng đƣợc thực hiện bởi một phần mềm đặt tại trung tâm và các phần mềm khác tại các địa điểm của ngƣời dùng. Khoá công khai thƣờng đƣợc phân phối trong chứng thực khóa công khai – hay Public Key Infrastructure.

2.2.4.2 Các thành phần PKI

Một hệ thống PKI gồm 4 thành phần sau :

- Certification Authorities (CA) : Cấp và thu hồi chứng chỉ - Registration Authorities (RA) : Gằn kết giữa kháo công khai và định danh của ngƣời giữ chứng chỉ - Clients : Ngƣời sử dụng chứng chỉ PKI hay theo cách khác đƣợc xác định nhƣ những thực thể cuối. - Repository : Hệ thống ( có thể phân tán ) lƣu trữ chứng chỉ và danh sách các chứng chỉ bị thu hồi.

Hình 2. 7: Các thành phần PKI

2.2.4.3 Chức năng cơ bản của PKI

Những hệ thống cho phép PKI có những chức năng khác nhau. Nhƣng nhìn chung có hai chức năng chình là: chứng thực và kiểm tra.

Chứng thực ( Certification) : là chức năng quan trong nhất của hệ thống PKI. Đây là quá trình ràng buộc khóa công khai với định danh của thực thể. CA là thực thể PKI thực hiện chứng năng, chứng thực.

Thẩm tra ( validation) : quá trình các định liệu chứng chỉ đã đƣa ra có thể đƣợc sử dụng đúng mục đích thích hợp hay không đƣợc xem nhƣ là quá trình kiểm tra tính hiệu lực của chứng chỉ.

2.2.5 Một số công nghệ bảo mật bổ xung 2.2.5.1 Công nghệ SSL/TLS

a. Giao thức SSL

Giao thức Secure Socket Layer (SSL), ban đầu định hƣớng là nhằm mục đích bảo vệ thông tin trao đổi giữa Client và Server trong các mạng máy tính, là giao thức tầng phiên, nó sử dụng các phƣơng pháp mật mã cho việc bảo vệ thông tin. Dữ liệu đƣợc truyền đƣợc giữ bí mật bằng việc mã hoá, trong khi việc tạo và kiểm tra chữ ký số đảm bảo tính xác thực và toàn vẹn thông tin.

Trong giao thức SSL có sự kết hợp của mật mã đối xứng và bất đối xứng. Các thuật toán mật mã bất đối xứng nhƣ: RSA và thuật toán Diffie – Hellman. Các hàm băm nhƣ: MD5, SHA1. Các thuật toán mật mã đối xứng đƣợc hỗ trợ là RC2, RC4 và 3DES. SSL hỗ trợ các chứng chỉ số thoã mãn chuẩn X.509

Thủ tục thăm dò trƣớc (bắt tay) đƣợc thực hiện trƣớc khi bảo vệ trực tiếp sự trao đổi thông tin.. Khi thực hiện thủ tục này, các công việc sau đƣợc hoàn tất:

- Xác thực Client và Server - Các điều kiện của thuật toán mật mã và nén sẽ đƣợc sử dụng - Tạo một khoá chủ bí mật - Tạo một khoá phiên bí mật trên cơ sở khoá chủ

b. Giao thức TLS

TLS đƣợc phát triển nhờ sử dụng SSL, giống nhƣ SSL, TLS cho phép các Server và Client cuối liên lạc một cách an toàn qua các mạng công cộng không an toàn. Thêm vào các khả năng bảo mật đƣợc cung cấp bởi SSL, TLS cũng ngăn chặn kẻ nghe trộm, giả mạo, chặn bắt gói tin.

Trong các kịch bản mạng riêng ảo, SSL và TLS có thể đƣợc thực thi tạo Server VPN cũng nhƣ tại Client đầu cuối. Tầng phiên là tầng cao nhất của mô hình OSI có khả năng tạo các kết nối mạng riêng ảo. Lúc tạo các mạng riêng ảo trên tầng phiên, nó có khả năng đạt hiệu suất cao và các tham số về mặt chức năng cho việc trao đổi thông tin, kiểm soát truy cập là đáng tin cậy và dễ dàng quản trị.

Nhƣ vậy, lúc tạo các mạng riêng ảo trên tầng phiên, ngoài việc bổ sung thêm sự bảo vệ bằng mật mã (bao gồm cả xác thực), nó cũng có khả năng thực thi các công nghệ Proxy. SSL/TSL là hai giao thức thông dụng nhất hiện nay

2.2.5.2 Tƣờng lửa

VPN thực chất chỉ là 1 mạng ảo, môi trƣờng thực hiện vẫn là Internet mà Internet thì vô cùng phức tạp và nguy hiểm vì vậy cần phải có sự can thiệp của tƣờng lửa để bảo vệ cho hệ thống đảm bảo tính bảo mật 1 cách an toàn nhất

Tƣờng lửa ( Firewall ) dùng để bảo mật mạng nội bộ chống lại những cuộc tấn công vào lƣu lƣợng trên mạng và những kẻ phá hoại. Tƣờng lửa có thể phân biệt các lƣu lƣợng dựa trên cơ cở ngƣời dùng, trình ứng dụng hoặc nguồn gốc. Tƣờng lửa (firewall) là rào chắn vững chắc giữa mạng riêng và Internet. Có thể thiết lập các tƣờng lửa để hạn chế số lƣợng cổng mở, loại gói tin và giao thức đƣợc chuyển qua.

II. CHƢƠNG 3 ĐỀ XUẤT GIẢI PHÁP VÀ TRIỂN KHAI ỨNG DỤNG

3.1 Nghiên cứu đề xuất giải pháp 3.1.1 Hiện trạng

Hiện nay việc ứng dụng CNTT đã thực hiện khá sâu rộng trong các ngành. Các ứng dụng đƣợc xây dựng phát triển trên cơ sở quản lý và điều hành công việc, quản lý thông tin. Những ứng dụng này đƣợc triển khai theo hai hình thức: Hình thức công khai bao gồm các cổng thông tin, các website phục vụ cho nhu cầu truy cập từ internet. Hình thức các ứng dụng nội bộ phục vụ nhu cầu của riêng của đơn vị.

Tuy nhiên, khi mô hình Bộ Ngoại giao đƣợc phân cấp theo từng đơn vị và đƣợc phân bố ở các khu vực địa lý khác nhau: các Vụ khu vực, Sở Ngoại vụ nằm trong nƣớc và các Cơ quan đại diện của Việt nam tại nƣớc ngoài. Hệ thống thông tin phân tán tại các khu vực khác nhau gây khó khăn trong việc quản lý tập trung. Từ thực trạng đó đã nảy sinh các yêu cầu về kết nối liên thông các điểm từ xa trong đó:

- Các CQĐD ở nƣớc ngoài truy cập vào các ứng dụng nội bộ. - Các Sở Ngoại vụ kết nối vào hệ thống với mục đích đồng bộ dữ liệu về lãnh sự. - Các cán bộ đi công tác ngắn hạn có thể truy cập vào hệ thống quản lý điều hành của đơn vị. 3.1.2 Yêu cầu

Yêu cầu kết nối: Yêu cầu thiết kế đặt ra xây dựng hệ thống kết nối bảo mật giữa các chi nhánh, các đơn vị xa Trung tâm trên cơ sở tận dụng tối đa đƣợc các thiết bị và cở sở hạ tầng mạng sẵn có của Bộ Ngoại Giao. Hệ thống này tƣơng thích với những ứng dụng hiện tại, có tính mềm dẻo, tƣơng thích với hạ tầng kết nối dƣới nhiều hình thức nhƣ ADSL, LeaseLine, ….

Yêu cầu bảo mật: Để đảm bảo xây dựng kết nối an toàn tới Trung tâm yêu cầu giải pháp:

- Sử dụng các công nghệ bảo mật hiện đại. - Có thể thay đổi linh hoạt các phƣơng pháp bảo mật. - Bổ xung các phƣơng pháp bảo mật nhằm đảm bảo an toàn, an ninh.

Yêu cầu quản trị: Đảm bảo sự hoạt động liên tục của mạng, gải pháp đặt ra phải thiết kế phần mềm giám sát, quản trị hệ thống VPN Server tại Trung tâm. Phần mềm có khả năng theo dõi kết nối. Ngƣời quản trị mạng phải nắm bắt đƣợc đầy đủ và thƣờng xuyên các thông tin về cấu hình, sự cố và tất cả số liệu liên quan đến việc sử dụng mạng.

Yêu cầu chi phí đầu tƣ hợp lý: Để giải pháp có tính khả thi, ngoài những yêu cầu về mặt kỹ thuật, bảo mật … thì chi phí đầu tƣ là một trong yêu cầu hết sức quan trọng. Khi triển khai với mô hình rộng và số lƣợng chi nhánh kết nối đến lớn chi phí khởi đầu là rất lớn. Với việc đƣa ra một giải pháp chi phí đầu tƣ hợp lý sẽ tạo điều kiện thuận lợi để áp dụng vào thực tế.

3.2 Đề xuất giải pháp 3.2.1 Giải pháp phần mềm VPN mã nguồn mở

Ngày nay, công nghệ phần mềm ngày càng phát triển mạnh mẽ. Đặc biệt là công nghệ mã nguồn mở. Nếu tận dụng đƣợc những ƣu thế này, tức là phần mềm mã nguồn mở vào ứng dụng VPN thì sẽ giảm đƣợc khá nhiều chi phí cho việc triển khai. Điều này sẽ đem lại lợi thế rất lớn so với các sản phẩm thƣơng mại.

3.2.1.1 Giải pháp kernel space

Các giải pháp không gian nhân là những giải pháp sửa đổi nhân qua các bản vá lỗi. Chúng phức tạp hơn và ít linh hoạt hơn so với các giải pháp không gian ngƣời dùng. Hầu hết các giải pháp triển khai trên giao thức bảo mật IPsec. Hoặc là có nguồn gốc đƣợc hỗ trợ bởi nhân hoặc thông qua các bản vá nhân. Một số dự án:

Một số dự án kernel space: FreeS/WAN, Kame….

3.2.1.2 Giải pháp user space

Giải pháp user space hoạt động trong không gian ngƣời sử dụng và do đó không có phụ thuộc hoàn toàn vào mô đun nhân hoặc các bản vá. Giải pháp này dễ cài đặt, khá linh hoạt và mềm dẻo trên một số hệ điều hành. User space VPNs sử dụng “giao diện đƣờng hầm ảo", tạo nên các chức năng kết nối mạng ở mức độ thấp, để đạt đƣợc đƣờng hầm IP. Ví dụ nhƣ , CIPE, vTun và OpenVPN.

Giải pháp user space có thể đƣợc nhóm lại dựa trên giao thức bảo mật đƣợc sử dụng. - Các giao thức sử dụng chức năng mã hóa tiêu chuẩn đƣợc cung cấp bởi OpenSSL (Open- VPN, vTun, Tinc) - Các giao thức, phƣơng thức mã hóa riêng (CIPE, PPTP, L2tpd) 3.2.1.3 Đánh giá và lựa chọn

Bảng so sánh các phần mềm VPN mã nguồn mở:

Một trong những lựa chọn tốt nhất là OpenVPN. Đây là một giải pháp mạnh mẽ và dễ dàng để cấu hình VPN cung cấp gần nhƣ cùng một phƣơng thức bảo mật nhƣ IPSec. SSL/TLS đƣợc sử dụng nhƣ hệ thống bảo mật, nó đƣợc biết đến nhƣ nhƣ một giao thức bảo mật đƣợc ứng dụng rộng rãi. Sau khi một số nghiên cứu, nó cho thấy là một trong những sự lựa chọn phần mềm an toàn nhất và đáng tin cậy.

3.2.2 Kiến trúc Openvpn

Về kiến trúc, Openvpn là một chƣơng trình sử dụng chế độ giao tiếp với ngăn xếp TCP/IP thông qua giao diện TUN/TAP. Chạy nhƣ một chƣơng trình ngƣời dùng có ƣu điểm tính di động và bảo trì dễ dàng. OpenVPN gồm 2 kênh thành phần: một kênh mang dữ liệu gói IP của ngƣời dùng và kênh điều khiển để xử lý giao thức chính cho việc truyền thông và cấu hình.

3.2.2.3 Các mô hình bảo mật OpenVPN

OpenVPN sử dụng giao thức SSL để xác thực mỗi điểm cuối VPN đến các máy chủ, trao đổi khóa và thông tin điều khiển khác. Trong phƣơng pháp này, OpenVPN Thiết lập một phiên SSL/TLS với máy của nó để kiểm soát các kênh. Trong giai đoạn xác thực, các máy trao đổi giấy chứng nhận đƣợc ký bởi một CA tin cậy lẫn nhau. Điều này đảm bảo cả hai bên rằng họ đang nói chuyện với chính xác bạn bè của họ, ngăn chặn các cuộc tấn công man-in-the-middle.

.

Hình 3. 1: Mô hình lưu khóa sử dụng Openvpn

3.2.2.4 Các kênh dữ liệu OpenVPN

OpenVPN có thể tùy chọn sử dụng kết nối TCP thay vì UDP datagrams. Mặc dù đây là thuận tiện trong một số trƣờng hợp, nó có vấn đề về xung đột và nên tránh các lớp độ tin cậy khi có thể.

Hình 3. 2: Các OpenVPN kênh dữ liệu Đóng gói

OpenVPN chia tách các tải tiêu đề thành hai phần: phần tiêu đề gói(packet header), nhận dạng loại gói và dạng khóa và tiêu đề tải dữ liệu (data payload header), bao gồm chứng thực, IV, và các trƣờng số thứ tự (sequence number fields) cho các gói dữ liệu.

3.2.2.5 Ping và giao thức OCC

Ngoài băng thông sử dụng, các kênh dữ liệu mang một số lƣợng hạn chế thông tin điều khiển. OpenVPN có thể đƣợc cấu hình để có các nút gửi, giữ các thông điệp còn sống (keep-alive ) và xóa bỏ hoặc khởi động lại VPN nếu không nhận đƣợc lƣu lƣợng truy cập trong một thời gian quy định. Mặc dù OpenVPN đề cập đến các thông điệp còn sống nhƣ các gói tin ping (ping packets), không phải theo nghĩa ping ICMP, đúng hơn là nếu một nút không có thông lƣợng đƣợc gửi trong một thời gian quy định, nó sẽ gửi tới chính các máy của nó một lệnh ping. Khi nhận đƣợc ping, máy muốn thiết lập lại bộ đếm thời gian nhận đƣợc gói tin của nó và loại bỏ các gói.

Hình 3. 3: Định dạng thông điệp OpenVPN OCC

3.2.2.6 Kênh điều khiển

Nhƣ chúng ta đã thấy với SSL, SSH và các mạng riêng ảo khác, hai trong những phần khó nhất của việc cung cấp một kênh dữ liệu an toàn là quản lý khóa và xác thực. Lỗi trong một trong hai dịch vụ có thể làm cho các kênh dữ liệu không an toàn. Trong mục này, chúng ta tìm hiểu làm thế nào OpenVPN xử lý các khía cạnh quan trọng của VPN.

Hình 3. 4: Gói điều khiển kênh OpenVPN

Các trƣờng session ID là số ngẫu nhiên 64-bit đƣợc sử dụng để xác định các phiên VPN.

Trƣờng tùy chọn HMAC đƣợc sử dụng để giúp ngăn ngừa tấn công từ chối dịch vụ. Trƣờng này xác thực toàn bộ gói tin và cho phép một nút xóa một gói tin giả không đƣợc chứng nhận.

Trƣờng Pecket ID đƣợc sử dụng để ngăn chặn các cuộc tấn công phát lại (replay attack). Nó đóng vai trò tƣơng tự trong các gói tin kênh dữ liệu. Khi phƣơng thức TLS đƣợc sử dụng, trƣờng này là 32 bit, nếu không nó là 64 bit.

Các bộ đệm ACK đƣợc sử dụng bởi các lớp tin cậy để xác nhận các gói tin của một máy.

3.2.3 Giải pháp bảo mật 3.2.3.3 Tích hợp PKI

Hiện nay nhiều mạng riêng ảo (VPN) đang thể hiện sự hạn chế bởi chính hệ thống bảo mật quá đơn giản. Vấn đề đặt ra để có thể đáp ứng yêu cầu phát triển một mạng riêng ảo lớn và có tính bảo mật cao. Đa số các mạng riêng ảo ngày nay đang đƣợc khai thác không sử dụng sự hỗ trợ của cơ sở hạ tầng mã khoá công khai (PKI). Một cách đơn giản nhất, điều đó có thể thực hiện đƣợc thông qua việc thiết đặt cầu hình tại cả hai đầu của đƣờng ngầm VPN cùng chia sẻ một bí mật chung - một cặp mật khẩu.

Hai đầu cuối VPN có thể nhận thực nhau thông qua giấy chứng nhận điện tử - Một loại "thẻ hội viên điện tử" không thể thiếu trong các mạng VPN lớn. Đối với giấy chứng nhận điện tử, tổ chức này đƣợc gọi là hệ thống cung cấp chứng nhận (CA-Certification Authority) Các mạng VPN sử dụng chứng

nhận điện tử khi đƣờng ngầm IP khởi tạo, các điểm kết cuối sẽ nhận thực lẫn nhau thông qua chứng nhận điện tử. Cơ sở hạ tầng mã khoá công khai sẽ đóng vai trò quan trọng trong việc xây dựng thành công các mạng VPN lớn.

3.2.3.4 Sử dụng xác thực 2 thành tố

eToken là một thiết bị nhận dạng số, đƣợc tích hợp những giải pháp phần mềm bảo mật chuyên dụng, theo đúng chuẩn quốc tế và kết nối với máy tính thông qua cổng giao tiếp USB. eToken cho phép cả ngƣời dùng lẫn ngƣời quản trị / bảo mật quản lý hiệu quả quá trình chứng thực ngƣời dùng hệ thống bằng cách lƣu trữ và phát sinh mật khẩu, chứng chỉ số và mã hóa tất cả thông tin đăng nhập (cả khóa chung và khóa riêng). eToken cung cấp nền tảng bảo mật an toàn, hiệu quả, dễ sử dụng và triển khai trên diện rộng. Giải pháp sử dụng thiết bị epass3003, epass2000, các thiết bị này tƣơng thích với các môi trƣờng , windows.

3.2.3.5 Tích hợp tƣờng lửa

Tƣờng lửa (firewall) là rào chắn vững chắc giữa mạng riêng và Internet. Chúng ta thể thiết lập các tƣờng lửa để hạn chế số lƣợng cổng mở, loại gói tin và giao thức đƣợc chuyển qua.

Giải pháp đƣa ra tích hợp phần mềm tƣờng lửa mã nguồn mở shorewall trên các gateway. Tƣờng lửa sẽ phân hoạch các vùng chính sách và thiết lập chính sách truy cập đối với việc truy cập từ xa vào hệ thống. Shorewall là một giải pháp tƣơng thích với giao diện tun ảo của Openvpn. Gải pháp này đảm bảo kiểm soát, thiết lập chính sách cho vùng địa chỉ VPN.

3.2.4 Giải pháp quản trị

Giải pháp quản trị không thể thiếu cho việc quản trị mạng VPN với số lƣợng kết nối lớn. Giải pháp Openvpn không hỗ trợ một giao diện cho việc quản trị. Công việc quản trị, cấu hình thông qua dòng lệnh. Việc này gây khó khăn trong quá trình giám sát kết nối vào hệ thống, thực hiện cấu hình đối với ngƣời mới tiếp cận hệ thống.

3.3 Triển khai ứng dụng 3.3.1 Mô hình

Hình 3. 5: Mô hình triển khai VPN

Phân chia các mô hình vật lý Center Network Remote Office Network Site Wan IP Ethernet IP Site Wan IP Ethernet IP VPN server eth0: eth1: Remote eth0: eth1: (B) 202.6.2.106 10.0.0.1 site (A) 10.0.1.0 255.255.255.0 255.255.255.0 255.255.255.0 Tunnel: Tunnel:tun0 tun0 172.16.100.0 172.16.100.0 255.255.255.0 255.255.255.0 Tun1: Tun1: 172.16.50.0 172.16.50.0 255.255.255.0 255.255.255.0 Web server 172.20.1.11 PC X 10.0.1.10 APP server 192.168.2.105

Chính sách truy cập: Thiết lập lớp chính sách truy cập cho các lớp khác nhau của ngƣời sử dụng

Lớp Dải IP ảo Chính sách Đặt tên

Nhân viên 172.16.100.0/24 Truy cập email, website Tên ngƣời dùng

Quản trị 172.16.50.0/24 Toàn quyền truy cập sysadmin1

Cách tiếp cận cơ bản, tách các lớp ngƣời sử dụng theo dải IP ảo. Kiểm soát truy cập bằng cách thiết lập chính sách trên firewall áp dụng cho từng dải IP ảo.

Phân hoạch IP: Hệ thống server VPN sẽ đƣợc cấu hình IP public (để đảm bảo các VPN client có thể nhận diện và kết nối thành công trên môi trƣờng internet). Hệ thống IP VPN đƣợc sử dụng lớp IP private, đề xuất sử dụng 172.16.100.0/24; 172.16.50.0/24. Giải pháp sử dụng dạng kết nối point to point mỗi kết nối sẽ đƣợc khởi tạo một lớp subnet /30.

3.3.2 Cài đặt và cấu hình và tích hợp PKI

Tiến hành cài đặt openvpn :

tar –xvzf openvpn-2.1.4.tar.gz cd openvpn-2.1.4 ./configure make make install

Sinh khóa: Thiết lập CA và tạo ra các chứng chỉ số và khóa cho một máy chủ Openvpn và nhiều máy khách. Bƣớc đầu tiên thiết lập một PKI (cơ sở hạ tầng khóa công khai). PKI bao gồm:

- Khóa công khai và khóa riêng của máy chủ và mỗi máy khách - Giấy chứng nhận CA, chứng chỉ và khóa đƣợc sử dụng để đăng ký mỗi chứng chỉ số của máy chủ và các máy khách

Việc tạo và quản lý PKI (small PKI) đƣợc thực hiện dƣới dạng scrip đƣợc cài đặt tại /etc/openvpn/easy-rsa:

- Cài đặt PKI - Tạo tham số DH

. ./vars ./build-dh ./clean-all ai:easy-rsa # ./build-dh

./build-ca Generating DH parameters, 1024 bit

ai:easy-rsa # ./build-ca long safe prime, generator 2 Generating a 1024 bit RSA private key This is going to take a long time ...... ++++++ ...... +...... ++++++

./build-key-server server

- Tạo chứng chỉ và khóa cho máy khách

./ build-key client

Cấu hình hệ thống Openvpn:

VPN server VPN client

port 1554 remote 192.168.98.44 proto udp port 1554 dev tun client server 172.16.100.0 255.255.255.0 dev tun ca /etc/openvpn/scfg/ca.crt proto udp cert /etc/openvpn/scfg/server.crt key /etc/openvpn/scfg/server.key ca ca.crt dh /etc/openvpn/scfg/dh1024.pem pkcs11-providers client-to-client /home/anhdoan/epass3003/redist/libshuttle_ client-config-dir /etc/openvpn/ccfg p11v220.so.1.0.0 management 127.0.0.1 6300 pkcs11-id tun-mtu 1300 'Feitian\x20Technologies\x20Co\x2E\x2C\x2 tun-mtu-extra 32 0Ltd\x2E/ePass3003Auto/012151160904051 mssfix 1300 0/ePass/66393932353833302D376166312D keepalive 10 60 313165312D383534642D303030633239353 tls-auth ta.key 937336161' cipher BF-CBC resolv-retry infinite max-clients 100 tun-mtu-extra 32 verb 5 mssfix 1300 status /var/log/openvpn-status-new.log nobind log /var/log/openvpn-new.log ping 15

verb 3

3.3.3 Tích hợp xác thực 2 thành tố

Giải pháp sử dụng xác thực 2 thành tố sử dụng thiết bị epass3003 auto sử dụng trong môi trƣờng linux. Các bƣớc thực hiện:

Bƣớc 1: Cài đặt thiết bị phần cứng token

Cài đặt trình điều khiển để hệ điều hành có thể nhận dạng đƣợc thiết bị phần cứng. Thiết bị hỗ trợ sử dụng trong môi trƣờng windows và Linux.

Bƣớc 2: Lấy ID thiết bị etoken

Openvpn sẽ đƣợc cấu hình tìm đến đúng ID của thiết bị token lƣu khóa. Để lấy đƣợc thông số ID cần thực hiện trỏ tới thƣ viện hỗ trợ thiết bị. openvpn --show-pkcs11-ids /home/anhdoan/epass3003/redist/libshuttle_p11v220.so.1.0.0

Certificate DN: /C=US/ST=CA/L=SanFrancisco/O=Fort- Funston/CN=etoken/[email protected]

Serial: 03

Serialized id: Feitian\x20Technologies\x20Co\x2E\x2C\x20Ltd\x2E/ePass3003Auto/0121511609040510/ePass/663 93932353833302D376166312D313165312D383534642D303030633239353937336161

Bƣớc 3: Tạo khóa dạng pksc12 và lƣu khóa vào thiết bị etoken

Tạo khóa . vars ./build-key-pkcs12 epass3003 Generating a 1024 bit RSA private key ...... ++++++ ....++++++ Bƣớc tiếp theo lƣu khóa dạng pkcs12 vào thiết bị epass3003

Hình 3. 6: Lưu khóa vào thiết bị epass3003

Bƣớc 4: Sử dụng thiết bị phần cứng token openvpn --config epass3003.conf

3.3.4 Tích hợp tính năng tƣờng lửa

Định ngĩa các phân vùng mạng

#ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall loc ipv4 net ipv4 vpn ipv4

Xác định các vùng tƣơng ứng với các interface trong /etc/shorewall/interfaces trên hệ thống A:

#ZONE INTERFACE BROADCAST OPTIONS loc eth1 net eth0 vpn tun+

Cấu hình cho phép truyền thông giữa vùng vpn và vùng loc. /etc/shorewall/policy trên hệ thống A và B

#SOURCE DEST POLICY LOG LEVEL loc vpn ACCEPT vpn loc ACCEPT

3.3.5 Triển khai phần mềm quản trị Trên cơ sở yêu cầu đặt ra, thiết kế giao diện quản trị VPN server theo dạng web font end. Sử dụng PHP kết nối tới giao diện quản trị Openvpn, thực hiện hiển thị trạng thái kết nối, quản trị các kết nối. Sử dụng cơ chế shell cho việc thiết lập khóa, cấu hình khóa.

Sử dụng mysql cho việc lƣu trữ account đăng nhập vào hệ thống quản trị.

Hình 3. 7: Mô hình phần mềm quản trị

CHƯƠNG 4 KẾT LUẬN

Bảo mật là một trong những khía cạnh quan trọng nhất của các công nghệ triển khai trên nền IP, đặc biệt là đối với công nghệ VPN. Việc lựa chọn giải pháp bảo mật là một trong những yếu tố quan trọng giúp cho công việc quản lý mạng đƣợc an toàn trƣớc những nguy cơ tấn công ngày càng nguy hiểm và đa dạng của kẻ phá hoại. Luận văn tập trung nghiên cứu đánh giá một số giải pháp công nghệ VPN, trên cơ sở đó xây dựng giải pháp VPN mã nguồn mở tƣơng đối hoàn thiện có tính ứng dụng thực tiễn cao.

Trong quá trình thực hiện đề tài tôi đã đạt đƣợc một số kết quả sau:

- Nghiên cứu tổng quan về an ninh bảo mật, công nghệ VPN. - Nghiên cứu, khảo sát, đánh giá các điểm yếu an toàn thông tin của các công nghệ VPN hiện nay. - Nghiên cứu các công nghệ bảo mật mạng riêng ảo VPN - Nghiên cứu giải pháp VPN mã nguồn mở, phân tích đánh giá triển khai giải pháp Openvpn

- Triển khai hệ thống mạng riêng ảo VPN trên nền tảng Openvpn áp dụng thực tế yêu cầu trong mô hình kết nối của Bộ Ngoại giao o Xây dựng mô hình triển khai o Nghiên cứu tích hợp hạ tầng PKI, tích hợp giải pháp phần cứng etoken cho việc lƣu trữ khóa. o Xây dựng phần mềm quản trị o Tích hợp giải pháp tƣờng lửa.

Hƣớng phát triển:

- Xây dựng giải pháp hoàn thiện hơn - Xây dựng giao diện VPN client - Tích hợp hạ tầng PKI hoàn thiện, có thể sử dụng giải pháp Openca để cấp phát, thu hồi khóa.

References.

1. CARLA SCHRODER (2008),LINUX NETWORKING COOKBOOK, O’REILLY MEDIA, INC., PP.265-286

2. Dave Kosiur (1998), Building and Managing virtual private networks, Wiley computer publishing, John Wiley & Sons, inc. 3. Markus Feilner (2006),Building and Integrating Virtual Private Networks, Packt Publishing Ltd, pp. 20-25, 109-125, 155-186 4. Meeta Gupta (2003), Building a , Premier Press © 2003. 5. Jon C. Snader (2005), VPNs Illustrated: Tunnels VPNs and Ipsec, Addison Wesley Professional, pp. 6. Jan Just Keijser (2011), OpenVPN 2 Cookbook, Packt Publishing Ltd, pp.127-148 7. William Stallings (1999), Cryptography and Network Security Principles and Practice 2nd Edition, Prentice-Hall, inc, pp. 237-259, 271-293