Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 76 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
76
Dung lượng
3,69 MB
Nội dung
HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA CÔNG NGHỆ THÔNG TIN ĐỀ TÀI THỰC TẬP CƠ SỞ PHÂN TÍCH VÀ TRIỂN KHAI HỆ THỐNG VPN DỰA TRÊN OPENSWAN Cán bộ hướng dẫn: TS Phạm Văn Hưởng Sinh viên thực hiện: - Phạm Thế Hùng Nguyễn Trung Nam Nguyễn Văn Nguyên Lớp: L02 HÀ NỘI 2016 HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA CÔNG NGHỆ THÔNG TIN ĐỀ TÀI THỰC TẬP CƠ SỞ PHÂN TÍCH VÀ TRIỂN KHAI HỆ THỐNG VPN DỰA TRÊN OPENSWAN Nhận xét cán bộ hướng dẫn: Điểm chuyên cần: Điểm báo cáo: Xác nhận của cán bộ hướng dẫn LỜI CẢM ƠN Trước tiên, em xin gửi lời cám ơn chân thành tới tất các thầy, các cô trường Học Viện Kỹ Thuật Mật Mã nhiệt tình giảng dạy truyền đạt kiến thức tảng quý báu để em có thể hoàn thành đồ án Đặc biệt em xin chân thành cảm ơn thầy giáo TS Phạm Văn Hưởng tận tình hướng dẫn, dạy em suốt quá trình thực đồ án Mặc dù có nhiều cố gắng quá trình học tập thời gian thực đồ án, với lượng kiến thức hạn hẹp nên đồ án em tránh khỏi thiếu sót Em mong nhận góp ý quý báu tất các thầy, các cô tất các bạn để đồ án em hoàn thiện Em xin chân thành cảm ơn! MỤC LỤC LỜI NÓI ĐẦU Từ có mạng Internet, nhu cầu truyền trao đổi thông tin từ nơi đến nơi khác người đáp ứng Mạng Internet giúp người liên lạc với thuận lợi hơn, họ có thể chia sẻ thông tin với sử dụng mạng Internet để phục vụ nhiều nhu cầu khác quảng cáo, truyền liệu Do mạng Internet một mạng công cộng, thông tin truyền có thể có nguy bị rò rỉ mát Con người nghĩ đến việc tạo kênh liên lạc riêng để trao đổi thông tin với mà không bị mát rò rỉ Để làm điều đó có nhiều nghiên cứu thực đạt thành công định Trên hệ điều hành Windows Microsoft có Vitrual Private Network (VPN) đảm nhiệm việc tạo kênh liên lạc riêng sử dụng mạng Internet làm môi trường truyền - gọi các đường hầm (Tunnel) Nhưng hệ điều hành Linux việc tạo các kênh liên lạc riêng biệt một vấn đề khó nhiều thời gian nghiên cứu Chính thế, OpenSwan đời giúp giải vấn đề VPN hệ điều hành Linux, OpenSwan giúp tạo kênh truyền riêng biệt nhằm bảo vệ liệu riêng tư người dùng truyền tải mạng công cộng OpenSwan áp dụng tốt công nghệ IPSec hệ điều hành Linux Nội dung đề tài triển khai thành bốn chương sau: Chương – Công nghệ VPN các giao thức hỗ trợ: Trình bày tổng quan VPN, giao thức VPN Chương – Công nghệ IPSec: Trình bày công nghệ IPsec: trao đổi khóa, các dịch vụ lợi ích IPSec mang lại Chương – Tìm hiểu triển khai VPN dựa gói OpenSwan: Giới thiệu, phân tích bộ phần mềm OpenSwan Triển khai mô hình VPN Remote access dựa gói cài đặt bộ phần mềm OpenSwan Chương – Thực nghiệm: Kết nối kiểm tra kết nối Lấy thư mục từ Client tới Server Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan CÔNG NGHỆ VPN VÀ CÁC GIAO THỨC HỖ TRỢ Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan Tổng quan về VPN Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 1.1.1 Giới thiệu công nghệ VPN Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan - VPN – Virtual Private Network – hay Mạng riêng ảo mạng sử dụng mạng công cộng (như Internet, ATM/Frame Relay các nhà cung cấp dịch vụ) làm sở hạ tầng để truyền thông tin đảm bảo một mạng riêng kiểm soát truy nhập Nói cách khác, VPN định nghĩa liên kết tổ chức triển khai một hạ tầng công cộng với các sách một mạng riêng Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan - VPN: Là hệ thống mạng thiết lập kết nối các mạng trên hệ thống mạng Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 10 - Thực bật chức IP Forwarding: Sử dụng lệnh: echo > /proc/sys/net/ipv4/ip_forward - Sau đó restart IPSec: /etc/init.d/ipsec restart - Để kiểm tra trạng thái gói OpenSwan sử dụng lệnh : ipsec verify Hình 3.7: Trạng thái gói OpenSwan Trạng thái phần mềm kiểm tra ở cho thấy gói cài đặt OpenSwan chức mã hóa hỗ trợ ở Netkey Netkey có chức nguyên ký hoạt động tương tự Klips xong không hỗ trợ nhiều cho IPv4, các tài liệu Netkey không có nhiều nó nhà phát triển sử dụng để hỗ trợ IPv6 Như gói phần mềm OpenSwan cài đặt thành công 1.2 TRIỂN KHAI VPN REMOTE ACCESS Thiết lập các file cấu hình cho hệ thống VPN Remote Access Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 62 1.2.1 Cấu hình file ipsec.conf : cp /etc/ipsec.conf /etc/ipsec.conf_OLD (backup file ipsec.conf) version 2.0 config setup dumpdir=/var/run/pluto nat_traversal=yes virtual_private=%v4:10.0.0.0/8,%v4:172.16.0.0/12,%v4:192.168.0.0/16 interfaces=%defaultroute klipsdebug=none plutodebug=none overridemtu=1410 protostack=netkey #thêm conn conn %default keyingtries=3 compress=yes authby=secret type=tunnel keyexchange=ike ikelifetime=300m keylife=60m conn num47-net leftsubnet=192.168.0.0/16 Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 63 also=num47 conn num47-all leftsubnet=0.0.0.0/0 also=num47 conn num47-xl2tp leftprotoport=17/0 rightprotoport=17/1701 also=num47 conn num47-xl2tp-updatedwin leftprotoport=17/1701 rightprotoport=17/1701 also=num47 conn num47 pfs=no left=192.168.244.123 leftnexthop=192.168.244.1 right=%any rightsubnet=vhost:%no,%priv auto=add Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 64 1.2.2 Cấu hình file ipsec.secrets: nano /etc/ipsec.secrets Include /var/lib/openswan/ipsec.secrets.inc #add 192.168.244.123 %any: PSK “123456” 1.2.3 Cấu hình file xl2tpd.conf : nano /etc/xl2tpd/xl2tpd.conf #add [global] port = 1701 [lns default] ip range = 10.10.10.100-10.10.10.169 local ip = 100.10.10.1 require chap = yes refuse pap = yes require authentication = yes name = LinuxVPN ppp debug = yes pppotpfile = /etc/ppp/options.xl2tpd length bit = yes 1.2.4 Cấu hình file options.xl2tpd : nano /etc/ppp/options.xl2tpd #add Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 65 ipcp-accept-local ipcp-accept-remote ms-dns 8.8.8.8 ms-dns 8.8.4.4 noccp auth crtscts idle 1800 mtu 1410 mru 1410 nodefaultroute debug lock proxyarp connect-delay 5000 silent 1.2.5 Cấu hình file chap-secrets (add Users) nano /etc/ppp/chap-secrets #edit (add user) like this Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 66 Hình 3.8: Cấu hình file chap-secrets 1.1.1 Kết nối kiểm tra kết nối Khởi động lại giao thức : ipsec l2tp /etc/init.d/ipsec restart Hình 9: Trạng thái khởi động lại giao thức ipsec /etc/init.d/xl2tpd restart Hình 3.10: Trạng thái khởi động lại giao thức L2TP Trên máy remote access thực kết nối tới VPN server với thiết lập kết nối L2TP Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 67 Hình 3.11: Kết nối remote access tới VPN server Sau kết nối thành công máy remote access cấp địa ip dải địa ip thiếp lập VPN server Hình 2.6 Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 68 Hình 3.12: Địa ip cấp cho Client sau kết nối tới VPN Server Kiểm tra Ping tới máy DC mạng LAN Hình 3.13: Kết kết nối từ máy remote access tới máy domain controller Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 69 Kiểm tra Ping từ máy Client tới máy remote access Hình 3.14: Kiểm tra Ping từ máy Client tới máy remote access Thực bắt gói tin máy remote access Hình 3.15: Thực bắt gói tin máy remote access Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 70 Thực bắt gói tin máy remote access cho thấy các gói tin mạng nội bộ mã hóa ESP Do mà máy remote access vùng mạng nội bên có thể liên lạc trao đổi liệu với mà không cần quan tâm đến vấn đề bảo mật Chương mô hình VPN Remote Access sử dụng giao thức IPSec VPN với hỗ trợ phần mềm OpenSwan Bằng việc cài đặt gói OpenSwan trực tiếp từ gói hỗ trợ Kết nối thành công với giao thức IPSec L2TP đảm bảo người sử dụng kết nối tới một mạng nội bộ công ty hay tổ chức hoàn toàn bảo mật Các gói tin Internet mã hóa hoàn toàn đường hầm mã hóa suốt với người sử dụng, đó mà khách hàng hay nhân viên kết nối vào có thể trao đổi thông tin, liệu một cách an toàn Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 71 CHƯƠNG THỰC NGHIỆM KIỂM TRA LẤY THƯ MỤC TỪ DOMAIN CONTROLER QUA VPN - Trên Domain Controler tạo thư mục bật tính Sharing hình Hình 4.1 : Thư mục chia sẻ file - Trên Remote Access Client truy cập vào vùng chia sẻ Domain Controler cách gõ \\10.10.10.10 (địa chỉa ip Domain Controler) vào địa Explorer - Nhập Username Password để truy cập Domain Controler (Username có thể tạo Domain Controler ) Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 72 Hình 4.2: Lấy thư mục share thành công ĐÁNH GIÁ THỰC NGHIỆM Bài thực nghiệm triển khai hoạt động để giải vấn đề đặt là: Truy cập từ xa đến Domain Controler thông qua VPN Remote Access Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 73 CHƯƠNG Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 74 KẾT LUẬN Đề tài “Phân tích, triển khai hệ thống VPN dựa OpenSwan” cho thấy việc xây dựng hệ thống IPSec VPN dựa OpenSwan đáp ứng các yêu cầu tính bảo mật với chi phí triển khai thấp, phù hợp với nhiều mô hình công ty, tổ chức Xây dựng hệ thống VPN dựa OpenSwan một hướng giải phù hợp với phát triển chung yêu cầu đặt ngày cao các công ty, tổ chức Điều góp phần vào việc thúc đẩy phát triển ứng dụng công nghệ thông tin vào quản lý an toàn thương mại điện tử thời kỳ Đồ án hoàn thành mục tiêu đề sau: - Hệ thống lại kiến thức tổng quan VPN Trình bày lý thuyết IPSec VPN Tìm hiểu tổng quan bộ phần mềm mã nguồn mở OpenSwan Phân tích mã nguồn bộ phần mềm OpenSwan Thực nghiệm hệ thống VPN dựa OpenSwan: Hoàn thành thực nghiệm triển khai mô hình VPN Remote Access dựa gói cài đặt phần mềm OpenSwan Bên cạnh kết đạt đồ án tồn vấn đề sau: - Chưa phân tích hết các module bộ mã nguồn OpenSwan - Các tùy chọn cấu hình IPSec VPN các thực nghiệm ở mức - Việc tùy biến mã nguồn đơn giản Chưa sâu vào nghiêm cứu các hàm bộ mã nguồn Từ vấn đề nêu em xin đưa hướng phát triển đồ án: - Thực nghiên cứu sâu bộ phần mềm OpenSwan - Thiết lập các tùy chọn cấu hình IPSec VPN với nhiều kết hợp để đưa một thực nghiệm hệ thống VPN với nhiều mức bảo mật - Việc tùy biến mã nguồn cần tối ứu cách can thiệp vào hoạt động các hàm mã nguồn bộ phần mềm OpenSwan Để đưa một bộ mã nguồn vừa dễ dàng cho người sử dụng với việt hóa vừa tối ưu việc triển khai vận hành IPSec VPN dựa mã nguồn bộ phần mềm OpenSwan Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 75 TÀI LIỆU THAM KHẢO [1] Giáo trình An toàn mạng riêng ảo, “Học viện Kỹ thuật Mật mã.” [2] Paul Wouters, Ken Bantoft Building and Integrating Virtual Private Networks with OpenSwan 02/2006 [3] OpenSwan Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 76 [...]...User 2 User n User 1 Internet VPN 1.1.3 Các dạng VPN Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 11 - VPN là khái niệm chung cho việc thiết lập kênh truyền ảo, nhưng còn tùy thuộc vào mô hình mạng và nhu cầu sử dụng mà chọn loại thiết kế cho phù hợp Công nghệ VPN có thể được phân thành 2 loại cơ bản: Site-to-Site VPN và Remote Access VPN - VPN hoạt động nhờ vào sự kết hợp với... an toàn RFC 1826: Mô tả việc xác thực gói IP RFC 1828: Mô tả cơ chế xác thực đặc trưng RFC 1828: Mô tả việc mã gói IP Một cơ chế mã đặc trưng Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 20 Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 21 Xét về mặt kiến trúc, IPSec được xây dựng dựa trên các thành phần cơ bản sau đây: Hình 2.1: Tổng quan tài liệu IPSec Các đặc trưng này là bắt... cũng được dùng để tạo ra một đường dẫn ảo tunnel VPN Ví dụ: OpenVPN là một gói VPN nguồn mở cho Linux, xBSD, Mac OS X, Pocket Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 16 PCs và Windows 2000, XP, 2003, và Vista Nó dùng SSL để cung cấp mã hoá cho cả dữ liệu và kênh điều khiển Một vài hãng đã cung cấp SSL VPN server và client - OpenVPN là phần mềm mã nguồn mở tạo các kết nối và... Access VPN Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 13 CÁC GIAO THỨC VPN 1.1.4 L2TP (Layer 2 Tunneling Protocol) - Là sản phẩm của sự hợp tác giữa các thành viên PPTP Forum, Cisco và IETF Tiêu chuẩn L2TP được hoàn tất vào cuối năm 1998 - Kết hợp các tính năng của cả PPTP và L2F, L2TP cũng hỗ trợ đầy đủ IPSec L2TP có thể được sử dụng làm giao thức Tunneling cho mạng VPN điểm-nốiđiểm và VPN. .. mobile, và các thiết bị truyền thông của nhân viên các chi nhánh kết nối đến tài nguyên Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 12 mạng của tổ chức - Remote Access VPN mô tả việc các người dùng ở xa sử dụng các phần mềm VPN để truy cập vào mạng Intranet của công ty thông qua gateway hoặc VPN concentrator (bản chất là một server) Vì lý do này, giải pháp này thường được gọi là client/server... Là phương pháp VPN được hỗ trợ rộng rãi nhất giữa các máy trạm chạy Windows PPTP thiết lập đường hầm (tunnel) nhưng không mã hóa Ưu điểm khi sử dụng PPTP là nó không yêu cầu hạ tầng mã khóa công cộng (Public Key Infrastructure) Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 14 Hình 1.3: Giao thức PPTP 1.1.7 IPSec -VPN - IPsec được tích hợp trong rất nhiều giải pháp VPN “tiêu chuẩn”,... thống VPN nguồn mở OpenSwan 29 Hình 2.7 : Xử lý gói tin đi của giao thức ESP Quá trình nhận được gói tin ESP bên nhận sẽ xử lý ngược lại: Xác thực tính toàn vẹn của gói tin, giải mã gói tin bằng hàm mã khối, loại bỏ phần IP Header (IP-in-IP) ngoài để cho ta gói tin nguyên thủy ban đầu, quá trình này được thể hiện bằng sơ đồ sau: Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 30 Hình... nguyên tố lớn - α: phần tử nguyên thủy của q A chọn một số nguyên ngẫu nhiên Xa làm khóa bí mật và truyền tới B khóa công khai của nó là YA= α Xa Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 35 B chọn một số nguyên ngãu nhiên XB làm khóa bí mật và truyền tới A khóa công khai của nó là YB= α Xb Mỗi bên tính khóa bí mật: K= (Yb) Xa mod q = (YA) Xb mod q = α Xa Xb mod q Thuật toán Diffie-Hellman... L2TP, IPsec yêu cầu các máy tính trạm VPN phải được cài đặt sẵn phần mềm VPN client Hình 1.4: IPSec ở lớp mạng Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan 15 - IPSec hoạt động ở lớp Network, nó không phụ thuộc vào lớp Data-Link như các giao thức dùng trong VPN khác như L2TP, PPTP - IPSec hỗ trợ nhiều thuật toán dùng để để đảm bảo tính toàn vẹn dữ liệu, tính nhất quán, tính bí mật... Khai báo dữ liệu gói tin ESP B2 Khai báo dữ liệu cho gói tin AH B3 Khai báo cấu trúc cho việc thực hiện hàm HMAC B4 Tính headroom và tailroom cho gói tin AH B5 Chọn thuật toán mã hoá B6 Xác định thuật toán HMAC và tính AH B7 Chuẩn bị head room và tail room cho gói HMAC và ESP B8 Thực hiện phép toán ESP B9 Đúng gói lại gói tin ESP trong IPsec driver Phân tích, triển khai hệ thống VPN nguồn