Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Loạt Bài : Triển khai hệ thống OPENVPN (Bài số 1)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Loạt Bài : Triển khai hệ thống OPENVPN (Bài số 1)

    Sinh viên thực hiện : Đỗ Thị Hồng Khánh

    CHƯƠNG 1:TỔNG QUAN

    Nhu cầu ngày càng tăng về việc truyền tải dữ liệu an toàn trong các tổ chức dẫn đến sự bùng nổ thị trường các giải pháp mạng riêng ảo VPN (Virtual Private Network). Thêm vào đó, khuynh hướng phi tập trung các phương tiện sản xuất và sự phát triển lực lượng lao động di động cũng làm gia tăng sự cần thiết cho việc truy cập tài nguyên thông tin của doanh nghiệp.
    Bên cạnh một số giải pháp truy cập từ xa đã được triển khai như: Thuê bao riêng, quay số (dial-up), internet, … OpenVPN được xem như là một giải pháp truy cập từ xa có nhiều ưu điểm hơn so với các giải pháp trước đây.
    1.1. CÁC GIẢI PHÁP VPN THÔNG DỤNG
    1.1.1. IPSec VPN
    IPSec là một giao thức mạng chuyên về bảo mật, hoạt động ở lớp mạng. IPSec có thể được áp dụng trong mạng cục bộ (LAN) và mạng diện rộng (Internet). Trong mạng diện rộng, IPSec thường được kết hợp với VPN để tạo ra đường hầm truyền tải dữ liệu an toàn và bảo mật giữa hai thực thể truyền thông. Dữ liệu trên đường truyền được mã hóa tin cậy.
    Việc thiết lập một đường hầm IPSec (IPsec tunnel) giữa hai thực thể, trước tiên, phải thỏa thuận về chính sách an ninh (security policy), giải thuật mã hóa (encryption algorithm), kiểu xác thực (authentication method) sẽ được dùng để tạo kênh. Trong IPSec tất cả các nghi thức lớp trên lớp mạng (từ lớp 4) như TCP, UDP, SNMP, HTTP, POP, SMTP,…đều được mã hóa một khi kênh IPSec được thiết lập. Client và server đều phải cấu hình IPSec thích hợp. Do đó, việc cấu hình IPSec khá phức tạp, đòi hỏi phải có người có kiến thức chuyên sâu đảm nhiệm.
    IPSec VPN thích hợp cho các kết nối liên tục với người dùng cố định.


    Hình 1.1 : Giải pháp IPSec VPN

    1.1.2. SSL VPN
    SSL VPN là một giải pháp VPN mới và phát triển nhanh chóng dựa trên giao thức SSL. SSL VPN tạo kết nối giữa người dùng từ xa và tài nguyên mạng công ty thông qua giao thức HTTPS ở lớp ứng dụng thay vì tạo “đường hầm” ở lớp mạng như giải pháp IPSec.
    SSL VPN tạo ra một kênh truyền thông an toàn giữa người dùng ở xa với máy chủ trong mạng. Người dùng ở xa chỉ cần sử dụng một trình duyệt web để tạo kết nối vào máy chủ trong mạng, người quản trị không cần phải cài đặt phần mềm và cấu hình bảo mật cho các máy client như đối với IPSec.
    SSL VPN thích hợp cho các kết nối không thường xuyên với người dùng lưu động.

    Hình 1.2: Giải pháp SSL VPN
    1.1.3. OpenVPN
    OpenVPN là một phần mềm mạng riêng ảo mã nguồn mở dành cho việc tạo các đường ống (tunnel) điểm-điểm được mã hóa giữa các máy tính. Phần mềm này do James Yonan viết và được phổ biến dưới giấy phép GNU GPL.
    OpenVPN cho phép các máy tính ngang hàng xác thực lẫn nhau bằng một khóa bí mật được chia sẻ từ trước, chứng chỉ khóa công khai (public key certificate), hoặc tên người dùng/mật khẩu. Phần mềm này được cung cấp kèm theo các hệ điều hành Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac OS X, và Windows 2000/2003/XP, Windows 7 và Windows 2008. Nó có nhiều tính năng bảo mật và kiểm soát. Nó không phải một mạng riêng ảo web, và không tương thích với IPsec hay các gói VPN khác. Toàn bộ phần mềm gồm có một file nhị phân cho cả các kết nối client và server và một hoặc nhiều file khóa tùy theo phương thức xác thực được sử dụng.
    Tuy nhiên, OpenVPN hiện vẫn chưa được áp dụng rộng rãi trong thực tế. Chưa có những công trình nghiên cứu chuyên sâu và hoàn chỉnh về lĩnh vực này. Đa số việc nghiên cứu và áp dụng OpenVPN chỉ được triển khai trên các hệ thống riêng lẻ, đặc thù cho từng cơ quan hay cá nhân.
    Bên cạnh đó, OpenVPN còn thiếu sự hỗ trợ của phần cứng và không tương thích với các giải pháp VPN đã có từ trước.
    Lâm Văn Tú
    Email :
    cntt08520610@gmail.com
    Viet Professionals Co. Ltd. (VnPro)
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel: (08) 35124257 (5 lines)
    Fax (08) 35124314
    Tập tành bước đi....



  • #2
    CHƯƠNG 2: TÌM HIỂU VỀ VPN

    Trong thời đại ngày nay, Internet đã phát triển mạnh về mặt mô hình cho đến công nghệ, đáp ứng các nhu cầu của người sử dụng. Internet đã được thiết kế để kết nối nhiều mạng khác nhau và cho phép thông tin chuyển đến người sử dụng một cách tự do và nhanh chóng mà không xem xét đến máy và mạng mà người sử dụng đó đang dùng. Để làm được điều này người ta sử dụng một máy tính đặc biệt gọi là router để kết nối các LAN và WAN với nhau. Các máy tính kết nối vào Internet thông qua nhà cung cấp dịch vụ (ISP-Internet Service Provider), cần một giao thức chung là TCP/IP. Điều mà kỹ thuật còn tiếp tục phải giải quyết là năng lực truyền thông của các mạng viễn thông công cộng.
    Với Internet, những dịch vụ như giáo dục từ xa, mua hàng trực tuyến, tư vấn y tế….. đã trở thành hiện thực.Tuy nhiên, do Internet có phạm vi toàn cầu và không một tổ chức, chính phủ cụ thể nào quản lý nên rất khó khăn trong việc bảo mật và an toàn dữ liệu cũng như trong việc quản lý các dịch vụ. Từ đó người ta đã đưa ra một mô hình mạng mới nhằm thoả mãn những yêu cầu trên mà vẫn có thể tận dụng lại những cơ sở hạ tầng hiện có của Internet, đó chính là mô hình mạng riêng ảo (Virtual Private Network - VPN).
    Với VPN, người ta không phải đầu tư thêm nhiều về cơ sở hạ tầng mà các tính năng như bảo mật, độ tin cậy vẫn đảm bảo, đồng thời có thể quản lý riêng được sự hoạt động của mạng này. VPN cho phép người sử dụng làm việc tại nhà, trên đường đi hay các văn phòng chi nhánh có thể kết nối an toàn đến máy chủ của tổ chức mình bằng cơ sở hạ tầng được cung cấp bởi mạng công cộng.Nó có thể đảm bảo an toàn thông tin giữa các đại lý, người cung cấp, và các đối tác kinh doanh với nhau trong môi trường truyền thông rộng lớn. Trong nhiều trường hợp VPN cũng giống như WAN (Wide Area Network), tuy nhiên đặc tính quyết định của VPN là chúng có thể dùng mạng công cộng như Internet mà đảm bảo tính riêng tư và tiết kiệm hơn nhiều
    2.
    2.1. KHÁI NIỆM VPN
    VPN được hiểu đơn giản như là sự mở rộng của một mạng riêng (private network) thông qua các mạng công cộng. Về căn bản, mỗi VPN là một mạng riêng rẽ sử dụng một mạng chung (thường là internet) để kết nối cùng với các site (các mạng riêng lẻ) hay nhiều người sử dụng từ xa. Thay cho việc sử dụng bởi một kết nối thực, chuyên dụng như đường leased line, mỗi VPN sử dụng các kết nối ảo được dẫn đường qua Internet từ mạng riêng của các công ty tới các site hay các nhân viên từ xa. Để có thể gửi và nhận dữ liệu thông qua mạng công cộng mà vẫn bảo đảm tính an tòan và bảo mật VPN cung cấp các cơ chế mã hóa dữ liệu trên đường truyền tạo ra một đường ống bảo mật giữa nơi nhận và nơi gửi (Tunnel) giống như một kết nối point-to-point trên mạng riêng. Để có thể tạo ra một đường ống bảo mật đó, dữ liệu phải được mã hóa hay che giấu đi chỉ cung cấp phần đầu gói dữ liệu (header) là thông tin về đường đi cho phép nó có thể đi đến đích thông qua mạng công cộng một cách nhanh chóng. Dữ lịêu được mã hóa một cách cẩn thận do đó nếu các packet bị bắt lại trên đường truyền công cộng cũng không thể đọc được nội dung vì không có khóa để giải mã. Liên kết với dữ liệu được mã hóa và đóng gói được gọi là kết nối VPN. Các đường kết nối VPN thường được gọi là đường ống VPN (VPN Tunnel)



    Hình 2.1: Mô hình VPN tiêu biểu

    2.2. CÁC THÀNH PHẦN CẦN THIẾT ĐỂ TẠO KẾT NỐI VPN
    - User Authentication: cung cấp cơ chế chứng thực người dùng, chỉ cho phép người dùng hợp lệ kết nối và truy cập hệ thống VPN.
    - Address Management: cung cấp địa chỉ IP hợp lệ cho người dùng sau khi gia nhập hệ thống VPN để có thể truy cập tài nguyên trên mạng nội bộ
    - Data Encryption: cung cấp giải pháp mã hoá dữ liệu trong quá trình truyền nhằm bảo đảm tính riêng tư và toàn vẹn dữ liệu
    - Key Management: cung cấp giải pháp quản lý các khoá dùng cho quá trình mã hoá và giải mã dữ liệu


    2.3. CÁC LOẠI VPN
    Có hai loại phổ biến hiện nay đó là :
    - Client-to-Site (còn gọi là Remote Access VPN)
    - Site-to-Site

    Hình 2.2: Client –to- site và site-to-site VPN

    2.3.1. Client to Side:
    Hiện này, một số tổ chức hay công ty có số lượng nhân viên hoạt động ở những địa điểm khác nhau , những người thường xuyên di chuyển …có nhu cầu truy cập vào mạng riêng của tổ chức (công ty ) của mình ngày càng tăng. Nên hình thức này đang được quan tâm và phát triển mạnh.
    Khi VPN được triển khai, các nhân viên chỉ việc kết nối internet thông qua các ISPs và sử dụng các phần mềm VPN máy khách để truy cập vào mạng riêng của công ty. Nhân viên lưu động có thể sử dụng phần mềm VPN cài đặt sẵn trên laptop, smartphone, pocket PC hay các thiết bị truyền thông khác để thiết lập các kết nối VPN vào hệ thống mạng nội bộ của công ty họ để lấy và trao đổi thông tin thông qua môi trường internet. Các truy cập loại này đảm bảo các kết nối được bảo mật và mã hóa.
    Loại kết nối này dựa trên kiến trúc Client/Server và nó hoạt động như sau:
    (1). VPN client muốn truy cập vào mạng của cơ quan trước hết phải kết nối vào internet
    (2). VPN client khởi tạo một kết nối VPN đến VPN server của cơ quan. Kết nối này được tạo ra nhờ một phần mềm VPN đã được cài đặt trên máy client.
    (3). VPN server sẽ kiểm tra và xác nhận kết nối. Nếu hợp lệ, kết nối sẽ được thiết lập.
    (4). Một khi kết nối đã được thiết lập, VPN client có thể truyền thông với hệ thống mạng nội bộ của cơ quan thông qua môi trường internet như là một host nội bộ


    2.3.2. Site to Site
    Việc sử dụng mật mã dành cho nhiều người để kết nối nhiều điểm cố định với nhau thông qua một mạng công cộng như Internet. Loại này có thể dựa trên Intranet hoặc Extranet
    - Intranet VPN : Áp dụng trong trường hợp công ty có một hoăc vài địa điểm từ xa ,mỗi địa điểm đều có mạng cục bộ LAN .Khi đó, họ có thể tạo ra một VPN intranet (VPN nội bộ) thông qua môi trường internet để nối mạng cục bộ vào một mạng riêng duy nhât .
    - 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 (VPN mở rộng) 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 để chia sẻ tài nguyên.

    2.4. CÁC GIAO THỨC DÙNG CHO VPN
    2.4.1. Một chuẩn được khuyến nghị dùng cho đường hầm
    General Routing Encapsulation(GRE ): cung cấp một chuẩn cho đường hầm và nó trở thành cơ sở cho các giao thức khác. Khái niệm của GRE là khá đơn giản.Một tiêu đề lớp 2 và lớp 3 được thêm vào các gói tin ban đầu, và tải của nó được đóng gói trong các gói tin mới. Nếu không được mã hóa,thì GRE không cung cấp an ninh. Những lợi thế của mô hình này là tính trong sang cho phép quản trị và bộ định tuyến để nhìn vào bên trong các gói tin và thông qua quyết định dựa trên loại tải trọng đã được gửi. Như vậy, các ứng dụng đặc biệt có thể nhận được đặc quyền bằng cách định hình luồng hoặc là các phương thức tương tự.
    Do tính linh hoạt của nó, GRE cũng có thể được sử dụng trong mạng IPv4 và IPv6, hoặc đường hầm Netware hoặc giao thức của Apple.
    2.4.2. Các giao thức được thực hiện trên OSI lớp 2
    · Point-to-Point Tunneling Protocol(PPTP):
    PPTP (RFC2637) được phát triển với sự giúp đỡ của Microsoft, là một mở rộng của PPP. Đó là tích hợp trong tất cả các hệ điều hành mới của Microsoft. PPTP sử dụng GRE đóng gói và có thể đường hầmIP,IPX (Internetwork Packet Exchange), và các giao thức khác trên Internet.Những hạn chế là cùng lúc chỉ có một đường hầm giữa các đối tác truyền thông.
    · Layer 2 Forwarding (L2F):
    L2F (RFC 2341) được phát triển gần như ở đồng thời các công ty khác, bao gồm Cisco,và cung cấp nhiều khả năng hơn so với PPTP, đặc biệt là liên quan đến đường hầm của mạng và đồng thời cùng 1 lúc có nhiều đường hầm.
    · Layer 2 Tunneling Protocol (L2TP):
    L2TP (RFC 2661) được sử dụng rộng rãi bởi Cisco và các nhà sản xuất khác. Sự thành công của nó dựa vào việc kết hợp những ưu điểm củaL2F và PPTP mà không bị hạn chế của chúng. Mặc dù nó không tự cung cấp riêng cơ chế bảo mật, nhưng nó có thể được kết hợp với công nghệ khác chẳng hạn như IPsec .


    · Layer 2 Security Protocol (L2Sec):
    L2sec (RFC 2716), được phát triển để cung cấp giải pháp cho các lỗ hổng bảo mật của IPsec. Mặc dù chi phí của nó là khá lớn, các cơ chế bảo mật được sử dụng an toàn, bởi vìchủ yếu SSL / TLS được sử dụng.

    2.4.3. Các giao thức được thực hiện trên OSI lớp 3
    · IPsec (Internet Protocol Security)
    IP Security (IPSec) là một giao thức được chuẩn hoá bởi IETF từ năm 1998 nhằm mục đích nâng cấp các cơ chế mã hoá và xác thực thông tin cho chuỗi thông tin truyền đi trên mạng bằng giao thức IP. Hay nói cách khác, IPSec là sự tập hợp của các chuẩn mở được thiết lập để đảm bảo sự cẩn mật dữ liệu, đảm bảo tính toàn vẹn dữ liệu và chứng thực dữ liệu giữa các thiết bị mạng
    IPSec được thiết kế như phần mở rộng của giao thức IP, được thực hiện thống nhất trong cả hai phiên bản IPv4 và IPv6. Đối với IPv4, việc áp dụng IPSec là một tuỳ chọn, nhưng đối với IPv6, giao thức bảo mật này được triển khai bắt buộc.
    Có hai mode khi thực hiện IPsec đó là: Transport mode và tunnel mode.
    Transport mode
    Transport mode cung cấp cơ chế bảo vệ cho dữ liệu của các lớp cao hơn (TCP, UDP hoặc ICMP). Trong Transport mode, phần IPSec header được chèn vào giữa phần IP header và phần header của giao thức tầng trên, như hình mô tả bên dưới, AH và ESP sẽ được đặt sau IP header nguyên thủy. Vì vậy chỉ có tải (IP payload) là được mã hóa và IP header ban đầu là được giữ nguyên vẹn. Transport mode có thể được dùng khi cả hai host hỗ trợ IPSec. Chế độ transport này có thuận lợi là chỉ thêm vào vài bytes cho mỗi packets và nó cũng cho phép các thiết bị trên mạng thấy được địa chỉ đích cuối cùng của gói. Khả năng này cho phép các tác vụ xử lý đặc biệt trên các mạng trung gian dựa trên các thông tin trong IP header. Tuy nhiên các thông tin Layer 4 sẽ bị mã hóa, làm giới hạn khả năng kiểm tra của gói.


    Hình 2.3: Gói dữ liệu với IPSec ở Transport mode

    - Transport mode thiếu mất quá trình xử lý phần đầu, do đó nó nhanh hơn. Tuy nhiên, nó không hiệu quả trong trường hợp ESP có khả năng không xác nhận mà cũng không mã hóa phần đầu IP.
    - Transport Mode thường dùng cho các kết nối từ đầu cuối đến đầu cuối, ví dụ từ trạm làm việc đến máy chủ hoặc giữa hai trạm làm việc với nhau
    Tunnel mode
    - Không giống Transport mode, Tunnel mode bảo vệ toàn bộ gói dữ liệu. Toàn bộ gói dữ liệu IP được đóng gói trong một gói dữ liệu IP khác và một IPSec header được chèn vào giữa phần đầu nguyên bản và phần đầu mới của IP.Toàn bộ gói IP ban đầu sẽ bị đóng gói bởi AH hoặc ESP và một IP header mới sẽ được bao bọc xung quanh gói dữ liệu. Toàn bộ các gói IP sẽ được mã hóa và trở thành dữ liệu mới của gói IP mới. Chế độ này cho phép những thiết bị mạng, chẳng hạn như router, hoạt động như một IPSec proxy thực hiện chức năng mã hóa thay cho host. Router nguồn sẽ mã hóa các packets và chuyển chúng dọc theo tunnel. Router đích sẽ giải mã gói IP ban đầu và chuyển nó về hệ thống cuối. Vì vậy header mới sẽ có địa chỉ nguồn chính là gateway.
    - Với tunnel hoạt động giữa hai security gateway, địa chỉ nguồn và đích có thể được mã hóa. Tunnel mode được dùng khi một trong hai đầu của kết nối IPSec là security gateway và địa chỉ đích thật sự phía sau các gateway không có hỗ trợ IPSec


    Hình2.4: Gói dữ liệu với IPSec ở Tunnel mode

    - Tunnel Mode thường được dùng trong các SA (Security Association -liên kết bảo mật) nối giữa hai gateway của hai mạng

    2.4.4. Các giao thức được thực hiện trên OSI lớp 4
    Có thể thiết lập các đường hầm VPN bằng cách sử dụng chỉ ở các lớp ứng dụng. Secure Sockets Layer (SSL) vàTransport Layer Security(TLS) các giải pháp theo phương pháp tiếp cận.:
    Một nhân viên trường có thể truy cập vào một mạng SSL-VPN bằng cách sử dụng một trình duyệt kết nối đơn giản giữa khách hàng và máy chủ VPN trong doanh nghiệp. Điều này rất đơn giản ,chỉ cần đăng nhập vào một trang web bảo đảm HTTPS với một trình duyệt. Trong khi đó, có một số sản phẩm hứa hẹn có sẵn, chẳng hạn như SSL-Explorer http://3sp.com/showSslExplorer.do, và phần mềm như thế này có thể cung cấp sự linh hoạt tuyệt vời khi kết hợp bảo mật mạnh mẽ và thiết lập dễ dàng. Sử dụng kết nối an toàn trình duyệt cung cấp, người dùng có thể kết nối ổ đĩa mạng và các dịch vụ truy cập mạng từ xa.
    Đảm bảo An ninh bằng cách mã hóa lưu lượng truy cập bằng cách sử dụng các cơ chế SSL / TLS, có được chứng minh là rất đáng tin cậy và vĩnh viễn được cải thiện và thử nghiệm.


    2.5. BẢO MẬT TRONG VPN
    VPN có trang bị một có tính năng bảo mật sau:
    - Tường lửa (firewall): là rào chắn vững chắc giữa mạng riêng và Internet. Bạn 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. Một số sản phẩm dùng cho VPN như router 1700 của Cisco có thể nâng cấp để gộp những tính năng của tường lửa bằng cách chạy hệ điều hành Internet Cisco IOS thích hợp. Tốt nhất là hãy cài tường lửa thật tốt trước khi thiết lập VPN.
    - Mật mã riêng (Symmetric-Key Encryption): Mỗi máy tính đều có một mã bí mật để mã hóa gói tin trước khi gửi tới máy tính khác trong mạng. Mã riêng yêu cầu bạn phải biết mình đang liên hệ với những máy tính nào để có thể cài mã lên những máy tính đó, để máy tính của người nhận có thể giải mã được.
    - Mật mã chung (Public-Key Encryption): kết hợp mã riêng và một mã công khai. Mã riêng này chỉ có máy của bạn nhận biết, còn mã công khai thì do máy của bạn cấp cho bất kỳ máy nào muốn liên hệ (một cách an toàn) với nó .Để giải mã một thông điệp, máy tính phải dùng mã chung được máy tính nguồn cung cấp, đồng thời cũng cần đến mã riêng của nó nữa.
    - Giao thức bảo mật: giao thức IPSec cung cấp những tính năng an toàn cao như các thuật toán mã hóa mạnh, quá trình thẩm định quyền đăng nhập toàn diện.
    Ngoài ra ta còn có thể sử dụng máy chủ AAA. AAA là viết tắt của ba chữ Authentication (xác thực), Authorization (cấp quyền) và Accounting (tính cước). Các máy chủ này được dùng để đảm bảo truy cập an toàn hơn. Khi yêu cầu thiết lập một kết nối được gửi tới từ máy khách, nó sẽ phải qua máy chủ AAA để kiểm tra Các thông tin về những hoạt động của người sử dụng là hết sức cần thiết để theo dõi vì mục đích an toàn
    Lâm Văn Tú
    Email :
    cntt08520610@gmail.com
    Viet Professionals Co. Ltd. (VnPro)
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel: (08) 35124257 (5 lines)
    Fax (08) 35124314
    Tập tành bước đi....


    Comment

    Working...
    X