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.
Trang 1Nghiê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ƯƠNG1TỔNGQUAN
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
Trang 21.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:
Trang 3VPN 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)
- Internet Protocol 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
Trang 4- 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
Trang 5- 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):
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
Trang 6Mộ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á)
- 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
Trang 72.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
Trang 8Cá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
Clear Message
Shared Secret Key
Shared Secret Key
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
Trang 9- 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
clear Message
clear Message
Key
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ơ
Trang 10chế 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ỉ
Trang 112.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:
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
Trang 12Tườ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ƯƠNG3ĐỀXUẤTGIẢIPHÁPVÀTRIỂNKHAIỨNGDỤ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