Cấu hình Windows Server 2008 thành SSL VPN Server truy cập từ xa (Phần 1)

Thomas Shinder

Truy cập từ xa (Remote Access) là một vấn đề rất quan trọng ngày nay. Khi số lượng người cần truy cập thông tin được lưu vào các máy tính gia đình và nơi làm việc tăng thì khả năng truy cập thông tin từ bất kỳ đâu trở thành một vấn đề vô cung quan trọng. Bạn có thể nói rằng “Tôi sẽ có được thông tin cho bạn khi tôi vào được máy tính của tôi”. Bạn sẽ cần các thông tin đó nếu muốn cạnh tranh trong môi trường doanh nghiệp ngày nay.

Trước kia, cách truy cập thông tin từ xa trên máy tính được sử thực hiện là sử dụng một kết nối quay số. Các kết nối RAS dial-up làm việc trên các đường điện thoại POTS (Plain Old Telephone Service) thông thường và có tốc độ đạt vào khoảng 56kbps. Tốc độ là một vấn đề lớn đối với các kết nối dial-up RAS, tuy nhiên một vấn đề lớn hơn là chi phí cho các kết nối đối với khoảng cách dài cần có cho việc truy cập.

Với sự lớn mạnh của Internet, các kết nối dial-up RAS dần dần không còn thích đáng. Điều đó là do xuất hiện các mạng riêng ảo (VPN). Các kết nối mạng riêng ảo đã mang đến những kết nối điểm – điểm mà các kết nối quay số đã cung cấp nhưng với giá cả rẻ hơn và tốc độ nhanh hơn nhiều, tốc độ của kết nối mạng riêng ảo có thể nhanh bằng kết nối Internet và chi phí của kết nối hoàn toàn không phụ thuộc vào khoảng cách của đích. Chi phí chỉ phụ thuộc vào kết nối Internet.

Mạng riêng ảo (VPN)

Kết nối mạng riêng ảo cho phép một máy tính có thể thiết lập một kết nối riêngảo đối với một mạng trên Internet. Kết nối là ảo bởi khi máy tính thiết lập một kết nối VPN thông qua Internet, máy tính tạo ra các hoạt động kết nối như một nút được nối trực tiếp trong mạng thông qua cáp Ethernet . Người dùng có thể truy cập vào tất cả các tài nguyên có thể, như là được kết nối trực tiếp vào mạng. Mặc dù vậy, trong trường hợp đối với kết nối VPN client đến một máy chủ VPN, kết nối này là một kết nối ảo vì không có kết nối Ethernet thực sự đến mạng đích. Kết nối là riêng vì các nội dung của luồng dữ liệu chuyển động bên trong kết nối VPN được mã hóa để không ai trên Internet có thể nghe trộm hoặc đọc được các nội dung của dữ liệu truyền thông đang chuyển động trong liên kết VPN.

Windows Servers và các client đã hỗ trợ các kết nối VPN ngay từ những ngày đầu của Windows NT và Windows 95. Các Windows client và server đều hỗ trợ kết nối VPN đến hàng thập kỷ qua, kiểu hỗ trợ VPN ngày càng được phát triển theo thời gian. Windows Vista Service Pack 1 và Windows Server 2008 hiện hỗ trợ đến 3 kiểu kết nối VPN, đó là:

  • PPTP
  • L2TP/IPSec
  • SSTP

PPTP là giao thức kết nối điểm – điểm. PPTP là phương pháp đơn giản nhất mà bạn có thể sử dụng để thiết lập một kết nối VPN, tuy nhiên có một điều không may mắn là nó cũng có độ bảo mật kém nhất. Lý do là bởi các thông tin quan trọng của người dùng không được trao đổi qua một liên kết an toàn. Có thể nói rằng, việc mã hóa của kết nối VPN xảy ra sau khi các thông tin quan trọng được trao đổi. Tuy thông tin quan trọng không được truyền giữa các VPN client và VPN server, nhưng dữ liệu có thể bị tấn công bởi các hacker tinh vi truy cập vào máy chủ VPN và kết nối đến các mạng công ty.

Một giao thức có độ bảo mật tốt hơn đó là L2TP/IPSec. L2TP/IPSec là một phát triển hợp tác giữa Microsoft và Cisco. L2TP/IPSec an toàn hơn PPTP là bởi vì có một IPSec session được thiết lập trước khi các thông tin quan trọng được gửi đi trên dây tín hiệu. Các hacker không thể truy cập vào thông tin quan trọng của người dùng và như vậy không thể đánh cắp hoặc ăn trộm chúng để sử dụng cho các mục đích xấu. Một điểm quan trọng hơn nữa là IPSec cung cấp cơ chế chứng thực giữa các máy tính với nhau, chính vì vậy các máy tính không được tin cậy sẽ không thể kết nối vào L2TP/IPSec VPN gateway. IPSec còn cung cấp sự toàn vẹn dữ liệu, khả năng tin cậy và sự không thoái thác. L2TP hỗ trợ các cơ chế chứng thực PPP và EAP cho người dùng, các cơ chế này cho phép độ bảo mật đạt được mức cao vì cả việc chứng thực người dùng mà các chứng thực máy tính đều được yêu cầu ở đây.

Windows Vista SP1 và Windows Server 2008 hiện hỗ trợ một giao thức VPN mới - Secure Socket Tunneling Protocol hay SSTP. SSTP sử dụng các kết nối HTTP đã được mã hóa SSL để thiết lập một kết nối VPN đến VPN gateway. SSTP là một giao thức rất an toàn vì các thông tin quan trọng của người dùng không được gửi cho tới khi có một “đường hầm” SSL an toàn được thiết lập với VPN gateway. SSTP cũng được biết đến với tư cách là PPP trên SSL, chính vì thế nó cũng có nghĩa là bạn có thể sử dụng các cơ chế chứng thực PPP và EAP để bảo đảm cho các kết nối SSTP được an toàn hơn.

Riêng tư nhưng không có nghĩa là bảo mật tốt

Tôi cần phải nhắc nhở các bạn ở đây rằng các kết nối VPN thiên về tính riêng tư hơn là bảo mật. Khi tôi nhận ra rằng sự riêng tư là một thành phần chính của các truyền thông bảo mật, thì sự riêng tư bản thân nó lại không cung cấp sự bảo mật. Các công nghệ VPN cung cấp sự riêng tư về truyền thông trên Internet, việc này ngăn chặn kẻ lạ mặt có thể đọc được nội dung trong khi bạn thực hiện các công việc truyền thông. Công nghệ này cũng cho phép bạn trở nên an toàn vì chỉ người dùng được chứng thực mới có thể kết nối vào mạng thông qua VPN gateway. Tuy vậy sự riêng tư, chứng thực và thẩm định không cung cấp một giải pháp bảo mật toàn diện.

Ví dụ bạn có một nhân viên và bạn muốn công nhận sự truy cập VPN của anh ta. Trong khi các giao thức Windows Server 2008 VPN hỗ trợ chứng thực người dùng EAP, còn bạn quyết định triển khai các thẻ thông minh đến người dùng và sử dụng giao thức L2TP/IPSec VPN. Sự kết hợp của các thẻ thông minh và L2TP/IPSec giúp bạn an toàn hơn khi có chứng thực người dùng và máy tính tốt. Giải pháp thẻ thông minh và L2TP/IPSec làm việc tốt và mọi người đều hài lòng về nó.

Mọi việc đều tốt cho đến một ngày nọ khi một người dùng kết nối vào máy chủ SQL để truy cập các thông tin tiền lương phải trả cho nhân viên và làm lộ thông tin đó đến các nhân viên. Điều gì sẽ xảy ra? Liệu kết nối VPN có bảo mật trong trường hợp này? Chúng ta có thể khẳng định nó bảo mật trong một khía cạnh nào đó xét về tính riêng tư, chứng thực và thẩm định, nhưng có một thứ mà nó không cung cấp đó là kiểm soát sự truy cập, đây lại là khía cạnh quan trọng nhất đối với việc bảo mật máy tính.

Để giải pháp VPN là an toàn đích thực, bạn cần bảo đảm cho VPN gateway có thể thực hiện được việc kiểm soát truy cập dựa trên các người dùng hay nhóm để có thể thi hành sự truy cập đặc quyền tối thiểu đối với người dùng. Các VPN gateway tiên tiến và firewall như ISA Firewall đều có thể thực hiện được nhu cầu này đối với các kết nối VPN. Thêm vào đó các tường lửa tiên tiến như ISA Firewall còn có thể thực hiện việc kiểm tra lớp ứng dụng và gói đã được thẩm định về tình trạng an toàn trên các kết nối VPN client.

Mặc dù Windows Server 2008 VPN không cung cấp vấn đề kiểm soát truy cập user/group nhưng có một số cách mà bạn có thể thực thi kiểm soát truy cập trên bản thân các máy chủ dữ liệu nếu không muốn mất tiền để chi phí cho tường lửa ưu việt và VPN gateway. Trong bài này, chúng tôi chỉ tập trung vào thành phần máy chủ VPN.

Tại sao lại cần có giao thức VPN mới?

Microsoft đã có hai giao thức VPN cho phép người dùng có thể kết nối đến mạng công ty, vậy tại sao lại phải giới thiệu thêm giao thức thứ ba? SSTP là một tuyệt vời đối với người dùng VPN vì SSTP không có các vấn đề với tường lửa và thiết bị NAT mà PPTP và L2TP/IPSec vẫn bị mắc phải. Để PPTP làm việc thông qua thiết bị NAT thì thiết bị này cần phải hỗ trợ PPTP thông qua một PPTP “NAT editor”. Nếu không có NAT editor cho PPTP trên thiết bị NAT thì các kết nối PPTP sẽ bị thất bại.

L2TP/IPSec cũng có các vấn đề với các thiết bị NAT và tường lửa vì tường lửa cần có L2TP port UDP 1701 open outbound, IPSec IKE port, UDP 500 open outbound, và IPSec NAT traversal port, UDP 4500 open outbound (L2TP port được yêu cầu khi sử dụng NAT-T). Hầu hết các tường lửa tại những nơi công cộng như khách sạn, trung tâm hội thảo, nhà hàng và các địa điểm khác chỉ cho phép một số cổng nhỏ open outbound, như HTTP, TCP port 80 và HTTPS (SSL), TCP port 443. Nếu bạn cần hỗ trợ cho các giao thức khác với HTTP và SSL khi rời văn phòng thì bạn đang rất mạo hiểm.

Ngược lại, các kết nối SSTP VPN tạo một đường hầm trên SSL bằng TCP port 443. Khi tất cả các tường lửa và thiết bị NAT có TCP port 443 mở, bạn sẽ có thể sử dụng SSTP bất cứ nơi đâu. Điều này đã đơn giản tuyệt vời cho cuộc sống đối với các nhân viên “trên đường”, những người thực sự cần sử dụng các kết nối VPN đến văn phòng để làm việc và nó cũng làm cho cuộc sống trở lên dễ dàng hơn rất nhiều đối với các quản trị viên công ty, những người cần hỗ trợ cho các nhân viên trên đường, cũng như cả những nhân viên trợ giúp tại các nhà cung cấp dịch vụ, những người cung cấp truy cập Internet cho khách sạn, hội thảo và các địa điểm công cộng khác.

Quá trình kết nối SSTP

Giới thiệu dưới đây là cách tiến trình kết nối SSTP làm việc thế nào:

1. SSTP VPN client thiết lập một kết nối TCP với SSTP VPN gateway giữa một cổng nguồn TCP ngẫu nhiên trên SSTP VPN client và TCP port 443 trên SSTP VPN gateway.

2. SSTP VPN client gửi một thông báo SSL Client-Hello, thông báo này chỉ thị rằng SSTP VPN client muốn thiết lập một SSL session với SSTP VPN gateway.

3. SSTP VPN gateway gửi một chứng chỉ máy tính của nó đến SSTP VPN client.

4. SSTP VPN client hợp lệ hóa chứng chỉ này bằng cách kiểm tra kho lưu trữ các chứng chỉ thẩm định chứng chỉ gốc tin cậy của nó để xem xem chứng chỉ CA có được đặt trong kho lưu trữ đó không. Sau đó SSTP VPN client xác định phương pháp mã hóa cho SSL session, tạo khóa SSL session và mã hóa nó với khóa công của SSTP VPN gateway, và sau đó gửi biểu mẫu đã mã hóa của khóa SSL session đến SSTP VPN gateway.

5. SSTP VPN gateway giải mã khóa SSL session đã mã hóa bằng một khóa riêng của nó. Tất cả truyền thông sau này giữa SSTP VPN client và SSTP VPN gateway đều được mã hóa bằng phương pháp mã hóa đã được dàn xếp và khóa SSL session.

6. SSTP VPN client gửi một thông báo thỉnh cầu HTTP trên SSL (HTTPS) đến SSTP VPN gateway.

7. SSTP VPN client thương lượng một đường hầm SSTP với SSTP VPN gateway.

8. SSTP VPN client thương lượng kết nối PPP với máy chủ SSTP. Sự thương lượng này gồm có việc thẩm định các chứng chỉ của người dùng bằng phương pháp chứng thực PPP chuẩn (hoặc thậm chí là chứng thực EAP) và cấu hình các thiết lập cho lưu lượng Internet Protocol version 4 (IPv4) hoặc Internet Protocol version 6 (IPv6).

9. Lúc này SSTP VPN client bắt đầu gửi lưu lượng IPv4 hoặc IPv6 trên liên kết PPP.

Nếu là người quan tâm đến các đặc điểm của kiến trúc giao thức VPN, thì các bạn có thể xem trong hình bên dưới. Chú ý rằng SSTP có thêm một header so với hai giao thức VPN trước đó. Điều này là vì sự đóng gói HTTPS bổ sung vào SSTP header. L2TP và PPTP không có các header lớp ứng dụng trong việc đóng gói truyền thông.


Hình 1

Chúng ta sẽ sử dụng một ví dụ mạng ba máy tính đơn giản để thể hiện cách SSTP làm việc như thế nào. Các tên và đặc điểm của ba máy tính ở đây là:

Vista:
Vista Business Edition
Vista Service Pack 1
Thành viên không thuộc miền

W2008RC0-VPNGW:
Windows Server 2008 Enterprise Edition
Hai NICs – Internal và External
Thành viên miền

WIN2008RC-DC:
Windows Server 2008 Enterprise Edition
Domain Controller of MSFIREWALL.ORG domain
DHCP Server
DNS Server
Certificate Server (Enterprise CA)

Lưu ý rằng bạn phải sử dụng Vista Service Pack 1 cho VPN client. Tuy đã có những tranh luận trước đây về Windows XP Service Pack 3 trong việc hỗ trợ SSTP, nhưng điều này không quan trọng. Gần đây chúng tôi đã cài đặt phiên bản ứng viên “candidate” cho Windows XP Service Pack 3 trên các máy tính thử nghiệm và đã phát hiện không có gì về hỗ trợ SSTP. Đây quả thực là một điều đáng tiếc vì có rất nhiều laptop hiện đang cài đặt Windows XP và hầu hết đều có ý kiến cho rằng Vista chạy quá chậm đối với các laptop. Có lẽ các vấn đề về hiệu ứng của Vista sẽ được sửa đổi trong bản Vista Service Pack 1.

Cấu hình mức cao của mạng ví dụ có thể thấy ngay trong hình bên dưới.


Hình 2

Kết luận

Trong bài này, chúng tôi đã giới thiệu cho các bạn một chút lịch sử về các truyền thông truy cập từ xa đối với các mạng máy tính. Sau đó chúng tôi đã giới thiệu đến các giao thức VPN chủ yếu được hỗ trợ trong Windows Server và client, giới thiệu một số vấn đề bảo mật đối với các giao thức VPN trước đó. Giới thiệu cách SSTP giải quyết các vấn đề đó như thế nào với hai kiểu giao thức trước đó là PPTP và L2TP/IPSec. Cuối cùng chúng tôi cũng đưa ra một mạng ví dụ đơn giản sẽ được sử dụng trong bài tiếp theo để giới thiệu thêm về giải pháp SSTP VPN client và server đơn giản bằng Windows Server 2008 và Windows Vista Service Pack 1.

Cấu hình Windows Server 2008 thành SSL VPN Server truy cập từ xa (Phần 2)
Cấu hình Windows Server 2008 thành SSL VPN Server truy cập từ xa (Phần 3)
Cấu hình Windows Server 2008 thành SSL VPN Server truy cập từ xa (Phần 4)

Thứ Ba, 15/01/2008 10:56
11 👨 8.585
0 Bình luận
Sắp xếp theo