Bất kỳ quá trình giao dịch nào dựa trên PPTP triển khai ít nhất 3 thành phần: • PPTP client
• Network Access Server (NAS) • PPTP server
Hình 2-5: Ba thành phần của giao dịch dựa trên PPTP 2.2.3.1 PPTP Clients
Một PPTP client là một nút mạng hỗ trợ PPTP và có thể yêu cầu những nút khác cho một phiên VPN. Nếu kêt nối được yêu cầu từ một remote server. PPTP client phải sử dụng
dịch vụ của ISP’s NAS. Vì lý do đó, client phải dùng modem để kết nối vào kết nối PPP tới nhà ISP. PPTP client cũng phải kết nối được kết nối vào thiết bị VPN để có thể tunnel yêu cầu (và dữ liệu tiếp theo, nếu yêu cầu được chấp nhận) đến thiết bị VPN trên mạng từ xa. Kết nối đến các thiết bị VPN từ xa sử dụng kết nối quay số đầu tiên đến ISP’s NAS để thiết lập một tunnel giữa hai thiết bị VPN thông qua Internet hoặc các mạng trung gian khác
Không giống như những yêu cầu cho các phiên kết nối VPN từ xa, yêu cầu cho một phiên VPN đến một mạng cục bộ không yêu cầu một kết nối đến ISP’s NAS. Cả client và server điều đã được kết nối về mặt vật lý, việc tạo ra một kết nối đến ISP’s NAS là không cần thiết. Client, trong trường hợp này, chỉ yêu cầu các phiên kiết nối quay số bằng thiết bị VPN trên server.
Khi các gói dữ liệu yêu cầu định tuyến cho một yêu cầu từ xa và một yêu cầu kết nối cục bộ khác nhau, gói dữ liệu được gắn kèm với 2 yêu cầu được xử lý khác nhau. Gói dữ liệu PPTP đến một server cục bộ mà được đặt trên thiết bị vật lý trung gian gắn kèm card mạng của PPTP client. Ngược lại, gói dữ liệu PPTP remote server được định tuyến thông qua phương thức truyền thông vật lý được gắn kèm trong thiết bị thông tin, chẳng hạn như router.
2.2.3.2 PPTP Servers
PPTP Servers là những nút mạng hổ trợ PPTP Và có khả năng duy trì các yêu cầu cho các phiên VPN từ các nút khác (từ xa hoặc nội bộ ). Để đáp lại những yêu cầu từ xa, những server phải hổ trợ khả năng định tuyến.
2.2.3.3 PPTP Network Access Servers (NASs)
PPTP NASs được đặt tại nhà cung cấp dịch vụ ISP và cung cấp kết nối Internet đến các client sử dụng PPP để quay số. Khả năng có nhiều client đồng thời đưa ra yêu cầu một phiên VPN là rất cao, những server phải có khả năng hỗ trợ đồng thời nhiều client. Hơn nữa, PPTP client không bị hạn chế với hệ điều hành không phải của Microsoft. Do đó, PPTP NASs có khả năng xử lý dùng nhiều hệ điều hành khác nhau như Microsoft’s Windows,Unix, và Apple’s
2.2.4 Quá trình xử lý PPTP
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