PPTP tận dụng 3 quá trình xử lý để bảm bảo cho thông tin liên lạc PPTP thông qua môi trường không an toàn. Những quá trình đó là:
• Quá trình thiết lập kết nối PPTP • Điều khiển kết nối
• PPTP tunneling và trao đổi dữ liệu 2.2.4.1 Điều khiển kết nối PPTP
Sau khi kết nối PPP giữa PPTP client và server được thiết lập, quá trình điều khiển PPTP bắt đầu. Như hình dưới, PPTP connection control được thiết lập dựa trên cơ sở địa chỉ IP của client và server, sử dụng cổng TCP động và chiếm giữ cổng TCP 1723. Sau khi quá trình điều khiển kết nối được thiết lập, các thông tin điều khiển và quản lý sẽ được trao đổi giữa các bên có liên quan trong quá trình giao tiếp. Những thông tin đảm nhiệm vai trò bảo trì, quản lý và kết thúc PPP tunnel. Những thông điệp này là những thông điệp có định kỳ bao gồm “PPTP- Echo-Request, PPTP-Echo-Reply” dùng để giúp đỡ trong việc dò tìm các kết nối PPTP hư hỏng giữa server và client.
Hình 2-6: Trao đổi các thông điệp điều khiển PPTP trên một kết nối PPP 2.2.4.2 Quá trình tạo đường hầm dữ liệu và xử lý PPTP
Một gói dữ liệu PPTP phải trải qua nhiều giai đoạn đóng gói, bao gồm những giai đoạn sau:
1. Quá trình đóng gói dữ liệu. Thông tin nguyên bản( tối đa) được mã hóa và được đóng gói bên trong một PPTP frame. Một PPP header được thêm vào frame.
2. Quá trình đóng gói các PPP frame. Tổng hợp các PPP frame sau đó đóng gói bên trong một Generic Routing Encapsulation (GRE) đã được sử đổi. GRE header chứa trường 4-byte Acknowledgement và một bit Acknowledgement hồi đáp . Ngoài ra, trường khóa trong GRE frame được thay thế bằng 2 byte long gọi chiều dài tối đa và 2 byte long được xem là ID, PPTP client xây dựng những trường hợp này khi nó tạo ra PPTP tunnel.
3. Quá trình đóng gói GRE . kế tiếp một IP header đã được đóng gói bên trong gói GRE được thêm vào PPP frame. Phần IP header này chứa đựng địa chỉ IP nguồn của PPTP client và đích của server.
hầm cho dữ liệu. Trước khi được đặt vào môi trường truyền thông, tầng Data Link thêm phần đầu và phần đuôi của nó vào gói dữ liệu. Nếu gói dữ liệu được truyền qua PPTP tunnel cục bộ, gói dữ liệu được đóng gói bằng phần đầu và đuôi theo công nghệ LAN (như Ethernet). Ở một khía cạnh khác, nếu tunnel được đáp lại thông qua một kết nối WAN, phần đầu và phần đuôi được thêm vào một lần nữa thì không thay đổi.
Hình 2-7: Quá trình hình thành dữ liệu đường hầm PPTP 2.2.5 Bảo mật trong PPTP
PPTP đưa ra một số dịch vụ khác nhau cho PPTP client và server. Những dịch vụ này bao gồm các dịch vụ sau: Encryption PPP Payload Encypled PPP Payload Encypled PPP Payload IP Header PPP Header GRE header Encypled PPP Payload Encypled PPP Payload PPP Header PPP Header GRE header GRE header PPP Header Encypled PPP Payload IP
Header Data Link
Trailer Data Link
• Thẩm định quyền ( Authentication). • Điều khiển truy cập ( Accsee control). • Trích học Packet.
Ngoài các cơ chế bảo mật cơ bản nói trên, PPTP có thể được sử dụng kết hợp với firewall va router.
2.2.5.1 Mã hóa và nén dữ liệu PPTP
PPTP không cung cấp cơ chế mã hóa bảo mật dữ liệu. Thay vì nó dùng dịch vụ mã hóa được đưa ra bởi PPP. PPP lần lượt dùng Microsoft Point-to-Point Encryption (MPPE), đây là phương pháp mã hóa shared secret.
Phương pháp shared secret thường dùng trong mục đích mã hóa trong trường hợp PPP là ID của người dùng và nó tương ứng với mật khẩu. 40-bit session key thường dùng để mã hóa user. Thuật toán băm được dùng để cấp khóa là thuật toán RSA RC4. Khóa này được dùng để mã hóa tất cả dữ liệu được trao đổi qua tunnel. Tuy nhiên, 40-bit key thì quá ngắn và quá yếu kém đói với các kĩ thuật hack ngày nay. Vì thế, phiên bản 128-bit key ra đời. Nhằm làm giảm rủi ro, Microsoft đòi hỏi khóa phải được làm tươi sau 256 gói packet.
2.2.5.2 PPTP Data Authentication
- MS-CHAP ( Microsoft Challenge Handshake Authentication Protocol). MS-CHAP là một phiên bản tùy biến của Microsoft của CHAP và được dùng làm phương pháp xác nhận cơ bản cho PPP. Bởi vì nó tương đối mạnh như CHAP, chức năng của MS-CHAP thì hoàn toàn tương tự CHAP. Hai điểm khác nhau chính giữa hai cơ chế này là CHAP dựa trên thuật toán hàm băm RSA MD5, MS-CHAP thì dựa trên RSA RC4 và DES. Vì lý do thực tế MS-CHAP đã phát triển đơn độc cho các sản phẩm của Microsoft ( Windows 9x và một số phiên bản Windows NT), nó không được hổ trợ bởi các nền tảng khác.
- PAP ( Pasword Authentication Protocol). PAP là phương pháp đơn giản và thương được triển khai nhiều nhất trong giao thức xác nhận quay số. Nó cũng dùng để các nhận các kết nối PPP. Tuy nhiên, nó gửi user ID và mật khẩu trong một định dạng chưa mã hóa thông qua kết nối. Một kẻ hở khác của PAP là chie xác nhận 1 lần điêmt thông tin cuối ở giai đoạn thiết lập kết nối. Vì lý do đó, nếu một hacker xâm nhập vào kết nối được một lần, anh ta sẽ không phải lo lắng gì hơn nữa về xác nhận. Chính vì lý do đó, PAP được xem là một giao thức xác nhận kém nhất và vì thế nó không được ưu thích trong cơ chế xác nhận của VPN.
2.2.5.3 Điều kiện truy cập PPTP.
Sau khi PPTP Client từ xa được xác nhận thành công, nó sẽ truy csspj vào tài nguyên mạng đã bị giới hạn bới lý do bảo mật, Để đạt được mục tiêu này, có thể triển khai một số cơ chế điều khiển truy cập sau:
• Access rights •Permissions •Workgroups
2.2.5.4 Trích lọc các gói dữ liệu PPTP
Việc trích lọc các gói dữ liệu PPTP cho phép một PPTP server trên một mạng riêng chấp nhận và định tuyến các gói dữ liệu từ những PPP client đã được xá nhận thành công. Kết quả, chỉ có những PPP Client đã được xác nhận mới được cấp quyền truy cập vào mạng từ xa riêng biệt. Bằng cách này, PPTP không chỉ cung cấp các cơ chế xác nhận, điều khiển truy cập và mã hóa mà còn tăng độ bảo mật trong mạng.
2.2.6 Sơ đồ đóng gói PPTP
Hình 2-8: Sơ đồ đóng gói PPTP Quá trình được mô tả các bước sau:
• Các IP datagram và IPX datagram hoặc khung NetBEUI được đưa tới giao diện ảo bằng giao thức tương ứng ( giao diện ảo địa diện cho kết nối VPN) sử dụng DIS( Network Driver Interfacce Specfication).
• NDIS đưa gói dữ liệu tới NDISWAN, nơi thực hiện mật mã, nén dữ kiệu và cung cấp PPP Header. Phần tiêu đề PPP này chỉ gồm trường mã số giao thức PPP ( PPP Protocol ID Field), không có các trường Flags và FCS ( Frame CheckSequence). Giả định trường địa chỉ
TCP/IP IPX NETBEUI
L2TP PPTP Async X.25 ISDN NDISWAN NDIS Datalink Header Datalink Trailer
Encrypted PPP Payload ( IP datagram, IPX datagram, NetBEUI Frame) PPP Header GRE Header IP header
và điều khiển đã được thỏa thuận ở giao thức điều khiển đường truyền LCP ( Link Control Protocol) trong quá trình lết nối PPP.
• NDISWAN gửi dữ liệu tới giao thức PPTP, nơi đóng khung PPP với phần tiêu đề GRE. Trong GRE Header, trường chỉ số cuộc gọi được đặt giá trị thích hợp để xác định đường ngầm.
• Giao thức PPTP sau đó sẽ gửi gói vừa hình thành tới giao thức TCP/IP.
• TCP/IP đóng gói dữ liệu đường ngầm PPTP với phần tiêu đề IP, sau đó gửi kết quả tới giao diện đại diện cho kết nối máy quay số tới local ISP sử dụng NDIS.
• NDIS gửi lại gói tin tới NDISWAN, nơi cung cấp các phần Datalink Header và Trailer.
• NDISWAN gửi khung PPP kết quả tới cổng WAN tương ứng đại diện cho phần cứng quay số ( ví dụ, cổng không đồng bộ giao cho kết nối modem).
2.2.7 Ưu điểm và nhược điểm của PPTP.
Ưu điểm chính của PPTP:
• PPTP là một giải pháp được xây dựng trên nền các sản phẩm của Microsoft ( các sản phẩm được sử dụng rất rộng rãi)
• PPTP có thể hỗ trợ các giao thức non- IP.
• PPTP được hỗ trợ trên nhiều nền khác nhau như Unix, Linux và Apple’sMacintosh. Các nền không hổ trợ PPTP có thể các dịch vụ của PPTP bằng cách sử dụng bộ định tuyến được cài đặt sắn khả năng của máy khách PPTP.
Nhược điểm của PPTP:
• PPTP bảo mật yếu hơn so với kỷ thuật L2TP và IPSec. • PPTP phụ thuộc nền.
• PPTP yêu cầu máy chủ và máy khách phải có cấu hình mạnh.
• Mặc dù PPTP được cài đặt riêng cho VPN nhưng các bộ định tuyến cũng như máy chủ truy cập từ xa cũng phải cấu hình trong trường hợp sử dụng các giải pháp định tuyến bằng đường quay số.
Điểm yếu lớn nhất của PPTP là cơ chế bảo mật của nó yếu do sử dụng mã hóa với mã khóa phát sinh từ password của user. Điều náy càng nguy hiểm hơn khi password được gửi trong môi trường không an toàn để chứng thực. Giao thức đường hầm Layer 2 Forwarding (L2F) được phát triển để tăng cường khả năng bảo mật.
2.3 Giao thức L2TP
2.3.1 Khái niệm:
L2TP là một kỹ thuật này sinh để cung cấp một kết nối từ xa tới một Intranet của một tập đoàn hay tổ chức. L2TP là giao thức được phát triển hòa trộn giữa hai giao thức L2F và PPTP.
Hình 2-9: Cấu trúc L2TP
L2TP cung cấp một kỹ thuật để xây dựng cho một kết nối đường hầm qua giao thức điểm nối điểm PPP. Đường hầm có thể bắt đầu được tạo ra giữa người dùng từ xa tới người cung cấp dịch vụ.
Giao thức L2TP không những cung cấp các kết nối từ xa của người dùng trong một mạng riêng ảo VPN mà còn có thể hỗ trợ các giao thông đa thủ tục, đó là tất cả các giao thức lớp mạng hỗ trợ bởi giao thức PPP đáng tin cậy. Hơn nữa, L2TP cung cấp sự hỗ trợ cho bất kỳ sự định vị cho bất kỳ lớp mạng nào lên sơ đồ kết nối thông qua Internet.
2.3.2 Ưu nhược điểm của L2TPƯu điểm: Ưu điểm:
- L2TP là một giải pháp chung, không phụ thuộc nền và hỗ trợ nhiều kỹ thuật mạng. Hơn nữa L2TP có thể hỗ trợ giao tác thông qua liên kết Non-IP của mạng WAN mà không cần IP. - Đường hầm L2TP chỉ đơn thuần là user từ xa hoặc ISP. Do đó nó không yêu cầu bổ sung cấu hình của user từ xa và ISP.
- L2TP cho phép tổ chức kiểm soát chứng thực User.
- L2TP hỗ trợ kiểm soát luồng và các gói dữ liệu bị loại bỏ khi đường hầm quá tải. Do đó giao tác trên L2TP nhanh hơn giao tác trên L2F.
- L2TP cho phép user với địa chỉ IP chưa được đăng ký có thể truy nhập mạng từ xa thông qua mạng công cộng.
- L2TP tăng cường bảo mật bằng cách mã hóa dữ liệu dựa trên đường hầm IPSEC trong suốt và khả năng chứng thực gói của IPSEC.
Khuyết điểm: IP Header UDP Header L2TP Header PPP Payload
(IP Datagram, IPX Datagram) PPP
Header
PPP Frame L2TP Frame UDP Frame
- L2TP chậm hơn PPTP và L2F vì nó sử dụng IPSEC để chứng thực từng gói nhận được. - Mặc dù PPTP được cài đặt riêng cho giải pháp VPN nhưng vẫn phải cấu hình thêm bộ định tuyến và máy phục vụ truy cập từ xa.
2.4 Thiết lập kết nối tunnel
2.4.1 Các loại giao thức
Hầu hết các VPN đều dựa vào kỹ thuật gọi là Tunneling để tạo ra một mạng riêng trên nền Internet. Về bản chất, đây là quá trình đặt toàn bộ gói tin vào trong một lớp tiêu đề chứa các thông tin đinh tuyến có thể truyền qua hệ thống mạng trung gian theo những đường ống riêng.
Khi gói tin được truyền đến đích, chúng được tách lớp tiêu đề và chuyển đến các máy trạm cuối cùng cần nhận dữ liệu. Để thiết lập kết nối Tunnel, máy khách và máy chủ
Giao thức của gói tin bọc ngoài được cả mạng và hai điểm đầu cuối nhận biết. Hai điểm đầu cuối này được gọi là giao diện Tunnel ( Tunnen Interface), nơi gói tin đi vào và đi ra trong mạng.
Kỹ thuật Tunneling yêu cầu 3 giao thức khác nhau
•Giao thức truyền tải ( Carrier Protocol) là giao thức được sử dụng bởi mạng có thông tin đi qua.
•Giao thức mã hóa dữ liệu ( Encapsulating Protocol) là giao thức ( như GRE, IPSec, L2F, PPTP, L2TP) được bao quanh gói dữ liệu gốc.
•Giao thức gói tin (Pass enger Protocol ) là giao thức của dữ liệu được truyền đi ( như IPX, NetBeui, IP).
Người dùng có thể đặt một gói tin sử dụng giao thức không được hỗ trợ trên Internet ( như NetBeui) bên trong một gói IP và gửi nó an toàn qua mạng Internet. Hoặc, họ có thể đặt một gói tin dùng địa chỉ IP riêng ( không định tuyến) bên trong một gói khác dùng địa chỉ IP chung ( định tuyến) để mở rộng một mạng riêng trên Internet.
2.4.2 Kỹ thuật Tunneling trong mạng VPN
2.4.2.1 Kỹ thuật tunneling trong mạng VPN truy cập từ xa
Tunneling là một phần quan trọng trong việc xây dựng một mạng VPN, nó thường dùng giao thức điểm nối điểm PPP (Point to Point Protocol). Là một phần của TCP/IP, PPP đóng vai trò truyền tải các giao thức IP khác khi liên hệ trên mạng giữa máy chủ và máy truy cập từ xa. Các chuẩn tryền thông sử dụng để quản lý các Tunnel và đóng gói dữ liệu của VPN . Nói tóm lại, kỹ thuật Tunneling cho mạng VPN truy cập từ xa phụ thuộc vào PPP.
Hình 2-10: Mô hình Tunneling truy cập từ xa 2.4.2.2 Kỹ thuật Tunneling trong mạng điểm nối điểm
Trong VPN loại này, giao thức mã hóa định tuyến GRE (Generic Routing Encapsulation) cung cấp cơ cấu“ đóng gói” giao thức gói tin ( Pasenger Protocol ) để truyền đi trên giao thức truyền tải (Carier Protocol). Nó bao gồm thông tin về loại gói tin mà bạn đang mã hóa và thông tin về kết nối giữa máy chủ với máy khách. Nhưng IPSec hoạt động tốt trên cả hai loại mạng VPN truy cập từ xa và điểm nối điểm. Tất nhiên, nó phải được hỗ trợ ở cả 2 giao diện Tunnel
Hình 2-11: Mô hình Tunneling điểm nối điểm
CHƯƠNG 3: TRIỂN KHAI MÔ HÌNH VPN
Hình 3-1: Mô hình VPN client-to-site 3.1.2 Vai trò và chức năng của các thiết bị trong mô hình
- Máy winserver 2008 làm máy chủ VPN
- Máy chủ VPN có hai card mạng: một card đặt tên là LAN, là card Internal. Một card đặt tên là WAN là card External.Địa chỉ của card LAN là: 172.16.1.1/24. Địa chỉ của card WAN là: 192.168.1.1/24
- Sử dụng một máy cài Windows 7 làm máy client. Địa chỉ máy client là: 192.168.1.11/24
3.1.3 Tổng quan các bước thực hiện
Bước 1: Đặt địa chỉ IP cho các máy như trong mô hình Bước 2: Kiểm tra kết nối từ máy client tới máy VPN Server. Bước 3: Cấu hình dịch vụ VPN trên VPN server
Bước 4: Cấu hình đăng nhập vào VPN trên máy Client. Bước 5: Kiểm tra kết quả.
3.1.4 Các bước thực hiện
- Đặt địa chỉ cho card mạng WAN: Card mạng này kết nối với máy client ở xa.
- Đặt địa chỉ cho máy Client: Nó phải có cùng miền mạng với card WAN trên máy VPN Server.
- Sau khi cài xong dịch vụ Routing and Remote access, chúng ta bắt đầu cấu hình dịch vụ VPN. Kích chuột phải chọn Configure and Enable Routing and Remote Access:
- Nhấn Next và chọn Viritual Private Network (VPN) access and NAT:Cho phép các máy client ở xa kết nối tới vpn server qua Internet và các máy client nội bộ kết nối Internet sử dụng một địa chỉ Public.
- Tạo user để đăng nhập vào VPN: đây là user các máy client ở xa sẽ sử dụng để đăng nhập vào VPN Server.
- Cấp quyền truy cập VPN cho user vừa tạo này: