THIẾT KẾ VÀ TRIỂN KHAI VPN CLIENT TO SITE
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM ĐỒ ÁN BẢO MẬT THÔNG TIN OPENVPN Ngành: CÔNG NGHỆ THÔNG TIN Chuyên ngành: CÔNG NGHỆ PHẦN MỀM Giảng viên hướng dẫn : ThS Dương Minh Chiến Sinh viên thực hiện:Võ Quốc Đạt MSSV: 1811063506 Nguyễn Văn Tấn MSSV: 1811062282 Nguyễn Thanh Chí Thơng MSSV: 1811063557 Lớp: 18DTHD6 TP Hồ Chí Minh, năm 2021 LỜI CÁM ƠN Em xin chân thành gửi lời cám ơn đến quý thầy cô trường Đại học Công Nghệ Thành Phố Hồ Chí Minh nói chung Thầy,Cơ mơn khoa cơng nghệ thơng tin nói riêng tạo điều kiện cho chúng em hội thực hành, tiếp xúc để chúng em tránh vướng mắc bỡ ngỡ môi trường công việc thời gian tới Em xin chân thành cảm ơn THS Dương Minh Chiến Nhờ giúp đỡ tận tình bảo Thầy từ lúc bắt đầu lúc kết thúc đồ án mà em hoàn thành thời hạn quy định tích lũy cho lượng tảng kiến thức quý báu Mặc dù cố gắng hoàn thành đề tài tốt thời gian kiến thức cịn có hạn nên em khơng thể tránh khỏi thiếu sót định, mong nhận cảm thông, chia sẻ tận tình đóng góp bảo q thầy cô bạn Tp.HCM, ngày 11 tháng năm 2021 MỤC LỤC Chương 1: TỔNG QUAN 1.1 Tổng quan đồ án .4 1.2 Nhiệm vụ đồ án 1.3 Cấu trúc đồ án Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu giao thức OpenVPN .5 2.2 Các thành phần OpenVPN 2.3 Lịch sử phát triển RFC liên quan 2.3.1 Lịch sử phát triển 2.3.2 RFC liên quan 2.4 Kiến trúc OpenVPN 2.5 Giải pháp bảo mật giao thức OpenVPN .7 2.7 Ưu nhược điểm giao thức OpenVPN 10 Chương 3: KẾT QUẢ THỰC NGHIỆM 13 3.1 Mục tiêu mơ hình ứng dụng .13 3.2 Mơ hình ứng dụng 13 3.3 Quá trình kết nối VPN thành công 13 3.4 Các bước triển khai 14 Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 26 4.1 Kết luận 26 4.2 Hướng phát triển đồ án 26 TÀI LIỆU THAM KHẢO 27 Chương 1: TỔNG QUAN 1.1Tổng quan đồ án Đồ án giới thiệu cho biết giao thức OpenVPN, nhiệm vụ giao thức OpenVPN Tìm hiểu tính bảo mật liệu giao thức 1.2 Nhiệm vụ đồ án Giúp người dùng sử dụng mục đích sau: - Đáp ứng nhu cầu truy cập liệu ứng dụng cho người dùng xa, bên ngồi thơng tin thơng qua Internet - Áp dụng cho tổ chức có nhiều văn phòng chi nhánh, văn phòng cần trao đổi liệu với - Trong số tổ chức, trình truyền liệu số phận cần bảo đảm tính an tồn tốt OpenVPN lựa chọn cho tiêu chí 1.3 Cấu trúc đồ án Đồ án gồm có chương: - Chương 1: Tổng quan Phần giới thiệu tổng quan, nhiệm vụ đồ án, giúp hiểu nội dung đồ án - Chương 2: Cơ sở lý thuyết Phần giới thiệu cụ thể khái niệm OpenVPN, nhu cầu ứng dụng tại, công nghệ áp dụng giao thức, vấn đề bảo mật giao thức, mơ hình để triển khai giao thức, ưu nhược điểm giao thức OpenVPN - Chương 3: Kết thực nghiệm Phần cho thấy mơ hình mục tiêu úng dụng, giới thiệu cơng cụ để thực phân tích gói tin wireshark - Chương 4: Kết luận hướng phát triển đồ án Phần rút lưu ý lời khuyên sử dụng giao thức OpenVPN đưa hướng phát triển để giao thức hoàn thiện Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu giao thức OpenVPN OpenVPN giao thức mã hóa mạng riêng ảo (VPN) mã nguồn mở Nó cơng nhận tồn ngành giao thức mã hóa mạng riêng ảo (VPN) bảo mật OpenVPN có khả tùy biến cao triển khai theo nhiều cách khác Mã hóa OpenVPN bao gồm kênh liệu kênh điều khiển Kênh điều khiển để xử lý việc trao đổi key, kênh liệu mã hóa lưu lượng truy cập web người dùng VPN OpenVPN cho phép bên xác thực lẫn cách sử dụng khóa bí mật chia sẻ trước, chứng thư khố cơng khai (public key certificate) tên người dùng/mật Khi sử dụng cấu hình multiclient-server, cho phép máy chủ phát hành chứng thư xác thực cho client Nó sử dụng thư viện mã hoá OpenSSL giao thức TLS cách rộng rãi, chứa nhiều tính kiểm soát bảo mật 2.2 Các thành phần OpenVPN Mặc dù giao thức mã hóa bảo mật nhất, OpenVPN dựa vào số yếu tố quan trọng định, trừ VPN nhận thành phần quan trọng giao thức, không, tính bảo mật tồn giao thức mã hóa bị ảnh hưởng Các thành phần sau: – Mật mã – Mật mã thuật toán mà VPN sử dụng để mã hóa liệu Khả mã hóa mạnh mật mã mà giao thức VPN sử dụng Các mật mã phổ biến mà nhà cung cấp VPN sử dụng AES Blowfish – Các kênh mã hóa – OpenVPN sử dụng hai kênh kênh liệu kênh điều khiển Các thành phần cho kênh sau: + Kênh liệu = Mật mã + Xác thực hash + Kênh điều khiển = Mật mã + Mã hóa handshake TLS + xác thực hash + việc Perfect Forward Secrecy có sử dụng hay khơng (và dùng nào) – Mã hóa handshake – Điều sử dụng để bảo mật trao đổi key TLS RSA thường sử dụng, DHE ECDH dùng thay cung cấp PFS – Xác thực hash – Điều sử dụng hàm hash mật mã để xác minh liệu khơng bị giả mạo Trong OpenVPN, thường thực HMAC SHA, mật mã AES-GCM sử dụng (thay AES-CBC) GCM cung cấp xác thực hash thay – Perfect Forward Secrecy – PFS hệ thống key mã hóa riêng tư tạo cho phiên Có nghĩa phiên Transport Layer Security (TLS) có key riêng Chúng sử dụng lần sau biến Những cài đặt tối thiểu đề xuất cho kết nối OpenVPN là: – Kênh liệu: Mật mã AES-128-CBC với HMAC SHA1 có xác thực Nếu sử dụng mật mã AES-GCM khơng cần xác thực bổ sung – Kênh điều khiển: Mật mã AES-128-CBC với mã hóa handshake RSA-2048 ECDH-385 xác thực hash HMAC SHA1 Bất kỳ trình trao đổi key DHE ECDH cung cấp Perfect Forward Secrecy 2.3 Lịch sử phát triển RFC liên quan 2.3.1 Lịch sử phát triển Năm 2003, James Yonan kể lại thời gian ông ta du lịch Central Asia trước ngày 11/09/2001 có việc phải kết nối với văn phòng qua nhà cung cấp dịch vụ Internet châu Á Nga Ông nhận thấy thực tế kết nối qua nước không đảm bảo an toàn.Theo nghiên cứu James Yonan có hai mục tiêu hệ thống VPN an tồn tính khả dụng Khơng có giải pháp vào thời điểm đáp ứng hai mục tiêu Ipsec chấp nhận mặt an tồn, hệ thống xử lý khó thiết lập, cấu trúc phức tạp làm dễ bị tổn thương công Bởi Jame Yonan tiếp cận giải pháp dùng thiết bị card mạng ảo TUN/TAP có nhân hệ điều hành Linux Việc chọn thiết bị TUN/TAP cho mơ hình nối mạng đưa tính linh hoạt mà giải pháp VPN khác lúc khơng thể có Trong giải pháp VPN tảng SSL/TLS khác cần trình duyệt (browser) để thiết lập kết nối, OpenVPN chuẩn bị gần thiết bị mạng thật gần tất hoạt động mạng Rồi Yonan chọn tên OpenVPN với tôn trọng dành cho thư viện chương trìnhcủa dự án OpenSSl, muốn đưa thơng điệp: Đây mã nguồn mở phần mềm miễn phí.OpenVPN sử dụng thiết bị Tun/Tap (hầu có sẵn Linux) openssl để xác nhận (authenticate), mã hóa (khi gởi) giải mã (khi nhận) đường truyền hai bên thành chung network 2.3.2 RFC liên quan OpenVPN không định nghĩa RFC 2.4 Kiến trúc OpenVPN Về kiến trúc, Openvpn 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ƣ chƣơng trình ngƣời dùng có ƣu điểm tính di động bảo trì dễ dàng OpenVPN gồm kênh thành phần: kênh mang liệu gói IP ngƣời dùng kênh điều khiển để xử lý giao thức cho việc truyền thơng cấu hình 2.5 Giải pháp bảo mật giao thức OpenVPN 2.5.1 Tích hợp PKI Hiện nhiều mạng riêng ảo (VPN) thể hạn chế hệ thống bảo mật đơn giản Vấn đề đặt để đáp ứng yêu cầu phát triển mạng riêng ảo lớn có tính bảo mật cao Đa số mạng riêng ảo ngày đƣợc khai thác không sử dụng hỗ trợ sở hạ tầng mã khố cơng khai (PKI) Một cách đơn giản nhất, điều thực đƣợc thơng qua việc thiết đặt cầu hình hai đầu đường ngầm VPN chia sẻ bí mật chung - cặp mật Hai đầu cuối VPN nhận thực thơng qua giấy chứng nhận điện tử Một loại "thẻ hội viên điện tử" thiếu mạng VPN lớn Đối với giấy chứng nhận điện tử, tổ chức gọi hệ thống cung cấp chứng nhận (CA8 Certification Authority) Các mạng VPN sử dụng chứng nhận điện tử đƣờng ngầm IP khởi tạo, điểm kết cuối nhận thực lẫn thông qua chứng nhận điện tử Cơ sở hạ tầng mã khố cơng khai đóng vai trị quan trọng việc xây dựng thành cơng mạng VPN lớn 2.5.2 Sử dụng xác thực thành tố eToken thiết bị nhận dạng số, tích hợp giải pháp phần mềm bảo mật chuyên dụng, theo chuẩn quốc tế kết nối với máy tính thơng qua cổng giao tiếp USB eToken cho phép người dùng lẫn người quản trị / bảo mật quản lý hiệu trình chứng thực người dùng hệ thống cách lưu trữ phát sinh mật khẩu, chứng số mã hóa tất thơng tin đăng nhập (cả khóa chung khóa riêng) eToken cung cấp tảng bảo mật an toàn, hiệu quả, dễ sử dụng triển khai diện rộng Giải pháp sử dụng thiết bị epass3003, epass2000, thiết bị tƣơng thích với mơi trƣờng linux, windows 2.5.3 Tích hợp tường lửa Tường lửa (firewall) rào chắn vững mạng riêng Internet Chúng ta thể thiết lập tường lửa để hạn chế số lƣợng cổng mở, loại gói tin giao thức đƣợc chuyển qua Giải pháp đưa tích hợp phần mềm tường lửa mã nguồn mở shorewall gateway Tƣờng lửa phân hoạch vùng sách thiết lập sách truy cập việc truy cập từ xa vào hệ thống Shorewall giải pháp tương thích với giao diện tun ảo Openvpn Gải pháp đảm bảo kiểm sốt, thiết lập sách cho vùng địa VPN 2.6 SO SÁNH OPENVPN VỚI IPSEC VPN -Sau bảng so sánh Dấu “+” điểm mạnh, dấu “-“chỉ điểm yếu IPsec VPN OpenVPN + Chuẩn cơng nghệ -Có người biết , khơng tương thích với IPsec.Có thể VPN sớm đạt chuẩn +Nền tảng phần cứng ( thiết bị ) trừ thiết bị mà Unix nhún và chạy ứng dụng OpenWrt hay tương tự + Công nghệ tiếng + Nhiều giao diện đồ hoạ cho ngừi quản trị -Việc sửa đổi ngăn xếp IP phức tạp -Cần -Chỉ máy tính, tất hệ điều hành , ngoại thiết nghiêm sửa trọng -Công nghệ mới, cịn phát triển -Khơng có giao diện đồ hoạ chuyên nghiệp + Kỹ thuật đơn giản đổi + Giao tiếp mạng gói tin mạng chuẩ hố nhận HDH -Cần thiết phải có quyền quản trị +OpenVPN chạy khơng gian ngừi sử dụng -IPsec hãng khác không +Kỹ thuật mã hố chuẩn hố tương thích -Kỹ thuật phức tap, cấu hình phức tạp -Khó học hỏi ngừi +Công nghệ modun cấu trúc tốt dễ cấu hình +Dể học, dể thao tác cho ngừơi -Cần thiết đặt vài cổng giao thức +Chỉ cần cổng tường lửa tường lửa -Có vấn đề với địa động phía -Có vấn đề bảo mật với kỹ thuật IPsec +DynDNS hoạt động hoàn hảo kết nối lại nhanh +SSL/TLS lớp mã hố chuẩn cơng nghệ +Định hướng lưu lượng 10 Mơ hình úng dụng giúp thấy tổng quan trình làm việc giao thức OpenVPN Tạo đường hầm để đáp ứng nhu cầu truy cập, trao đổi liệu người dùng xa hay chi nhánh công ty thông qua mạng riêng ảo VPN, đảm bảo tính riêng tư 3.2 Mơ hình ứng dụng Hình 3.2.1 Mơ hình triển khai OpenVPN 3.3 Chuẩn bị -Máy Windows (Máy ảo,đóng vai trị làm máy client) -Máy Windows 10 (Máy thật,cấu hình pfsense) -Phần mềm Pfsense (đi iso) 3.4 Các bước triển khai -Cấu hình Pfsense ảnh 14 -Cấu hình OpenVPN giao diện web,thực Windows 10 -Vào Systeam/Package Manager cài gói OpenVPN-Client Export 15 -Tạo CAs,chọn Add -Chọn Save 16 -Tạo Users,chọn Add 17 -Cấu hình OpenVPN,chọn wizard 18 -Nhập IP tunnel network,local network 19 -Chọn Next -Chọn Firewall Rule,OpenVPN Rule 20 -Chọn Client Export 21 -Tải Window Installers phù hợp vs máy (ở chọn 64-bit) -Mở Rules cho OPT1 để windows kết nối đến Pfsense,chọn Add 22 -Chọn Save -Chọn Apply Change 23 -Ping thành công đến OPT1 -Tiến hành Coppy file tải từ windows 10 (máy thật) 24 -Paste vào Windows (máy ảo) -Mở lên cài đặt 25 -Nhập username,password 26 Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết luận Phần mềm OpenVPN giúp doanh nghiệp đặc biệt người quản trị mạng quản lý,làm việc từ xa,thông qua kết nối với giao thức bảo mật L2TP,PPTP,IPSEC,…Người dùng truy cập nhà văn phịng chi nhánh cơng ty để truy cập kết nối tới công ty làm việc Giúp doanh nghiệp giảm tải gánh nặng tài chính,các trang thiết bị liên quan,đồng thời tăng cường khả bảo mật cho doanh nghiệp 4.2 Hướng phát triển đồ án Tiếp tục triển khai OpenVPN site to site 27 TÀI LIỆU THAM KHẢO [1] https://www.ru.nl/publish/pages/769526/masterthesis.pdf [2] https://quantrimang.com/openvpn-la-gi-174334 [3] https://vi.wikipedia.org/wiki/OpenVPN 28 ... khai OpenVPN site to site 27 TÀI LIỆU THAM KHẢO [1] https://www.ru.nl/publish/pages/769526/masterthesis.pdf [2] https://quantrimang.com /openvpn- la-gi-174334 [3] https://vi.wikipedia.org/wiki /OpenVPN. .. 14 -Cấu hình OpenVPN giao diện web,thực Windows 10 -Vào Systeam/Package Manager cài gói OpenVPN- Client Export 15 -Tạo CAs,chọn Add -Chọn Save 16 -Tạo Users,chọn Add 17 -Cấu hình OpenVPN, chọn... xác thực cho client Nó sử dụng thư viện mã hố OpenSSL giao thức TLS cách rộng rãi, chứa nhiều tính kiểm sốt bảo mật 2.2 Các thành phần OpenVPN Mặc dù giao thức mã hóa bảo mật nhất, OpenVPN dựa