11 tháng 1, 2011

ssl vpn

Trong hai phần trước của loạt bài giới thiệu cách tạo một máy chủ SSL VPN trên Windows Server 2008 này, chúng tôi đã giới thiệu các kiến thức cơ bản về vấn đề kết nối mạng VPN, sau đó đi sâu vào cấu hình của máy chủ. Trong quá trình này, chúng tôi đã thực hiện một số thay đổi cấu hình nhỏ trong Active Directory và trên CA Web. Sau khi thực hiện một số thay đổi, chúng tôi sẽ tập trung vào cấu hình máy khách VPN và kết thúc bằng việc thiết lập kết nối SSL VPN.

Cấu hình tài khoản người dùng cho phép kết nối Dial-up

Các tài khoản người dùng cần những điều khoản cho việc truy cập dial-up trước khi họ có thể kết nối với máy chủ Windows VPN (một thành viên của miền Active Directory). Cách tốt nhất để thực hiện điều này là sử dụng Network Policy Server (NPS) và sử dụng điều khoản tài khoản người dùng mặc định, những điều khoản này là để cho phép truy cập từ xa được thiết lập dựa trên chính sách NPS. Tuy vậy, chúng ta đã không cài đặt máy chủ NPS trong kịch bản này, vì vậy sẽ phải cấu hình một cách thủ công các điều khoản này của người dùng.

Thực hiện các bước dưới đây để kích hoạt các điều khoản quay số trên tài khoản người dùng mà bạn muốn kết nối đến máy chủ SSL VPN. Trong ví dụ này, chúng tôi sẽ kích hoạt truy cập quay số của tài khoản quản trị viên miền mặc định:

1. Tại domain controlle, mở giao diện điều khiển Active Directory Users and Computers từ menu Administrative Tools.

2. Trong phần panel bên trái của giao diện, mở rộng tên miền và kích vào nút Users. Kích đúp vào tài khoản Administrator.

3. Kích tab Dial-in. Thiết lập mặc định là Control access through NPS Network Policy. Vì chúng ta không có máy chủ NPS trong kịch bản này nên sẽ thay đổi thiết lập thành Allow access, như những gì bạn có thể thấy được trong hình bên dưới. Kích OK để tiếp tục.


Hình 1

Cấu hình IIS trên máy chủ chứng chỉ để cho phép các kết nối HTTP được thực hiện với CRL Directory

Vì một số lý do nên khi wizard đang cài đặt Certificate Services Web site, nó sẽ cấu hình thư mục CRL để yêu cầu một kết nối SSL. Điều này xét theo góc độ bảo mật dường như là một ý tưởng tốt, vấn đề bộc lộ ở đây là URL trên chứng chỉ không được cấu hình sử dụng SSL. Chúng tôi hy vọng bạn có thể tạo một entry CDP tùy chỉnh cho chứng chỉ để nó có thể sử dụng SSL, tuy nhiên bạn có thể sẽ tốn rất nhiều công sức vì Microsoft không có tài liệu cho vấn đề này. Chính vì chúng ta đang sử dụng các thiết lập mặc định cho CDP trong bài này nên cần tắt các yêu cầu SSL trên Web site của CA về đường dẫn của thư mục CRL.

Thực hiện các bước dưới đây để vô hiệu hóa yêu cầu SSL cho thư mục CRL này:

1. Từ menu Administrative Tools, mở Internet Information Services (IIS) Manager.

2. Trong phần panel bên trái của giao diện điều khiển, mở phần tên máy chủ và sau đó kích nút Sites. Mở nút Default Web Site và kích vào CertEnroll, bạn có thể xem những gì thực hiện trong hình vẽ bên dưới.


Hình 2

3. Nếu nhìn vào phần giữa của giao diện điều khiển thì bạn sẽ thấy CRL được đặt trong thư mục ảo này, như những gì trong hình bên dưới thể hiện. Để xem nội dung của thư mục ảo này, bạn cần phải kích vào nút Content View ở phần bên dưới của panel giữa.


Hình 3

4. Kích vào nút Features View ở phần bên dưới của panel giữa. Tại phần dưới của panel giữa này, kích đúp vào biểu tượng SSL Settings.


Hình 4

5. Trang SSL Settings xuất hiện ở giữa panel. Hủy bỏ dấu chọn từ hộp kiểm Require SSL. Kích vào liên kết Apply ở bên phải của giao diện điều khiển.


Hình 5

6. Đóng giao diện điều khiển IIS sau khi bạn thấy thông báo The changes have been successfully saved.


Hình 6

Cấu hình File HOSTS trên máy khách VPN

Lúc này chúng ta có thể chuyển sự quan tâm sang máy khách VPN. Thứ đầu tiên cần thực hiện là cấu hình file HOSTS để có thể mô phỏng một cơ sở hạ tầng DNS công cộng. Có hai tên mà chúng ta cần nhập vào file HOSTS (và cũng vậy với máy chủ DNS công cộng mà bạn sẽ sử dụng trong môi trường sản xuất). Đầu tiên là tên của máy chủ VPN, như đã được định nghĩa bởi tên common/subject trên chứng chỉ mà bạn đã giới hạn cho máy chủ SSL VPN. Tên thứ hai cần nhập vào file HOSTS (và máy chủ DNS công cộng) là CDP URL, tên được tìm thấy trong chứng chỉ. Chúng ta đã thấy được vị trí của các thông tin CDP trong phần hai của loạt bài này.

Hai tên cần nhập vào trong file HOSTS trong ví dụ này là:

192.168.1.73 sstp.msfirewall.org
192.168.1.73 win2008rc0-dc.msfirewall.org

Thực hiện các bước dưới đây trên máy khách Vista SP1 VPN để cấu hình file HOSTS:

1. Kích nút Start và nhập vào dòng c:\windows\system32\drivers\etc\hosts trong hộp tìm kiếm và nhấn Enter.

2. Trong hộp thoại Open With, kích đúp vào Notepad.

3. Nhập vào các mục của file HOSTS bằng định dạng như những gì bạn có thể nhìn thấy trong hình bên dưới. Bảo đảm phải nhấn Enter sau dòng cuối cùng để con trỏ xuất hiện ở dưới dòng cuối cùng đó.


Hình 7

4. Đóng file và chọn tùy chọn save khi được hỏi.

Sử dụng PPTP để kết nối với máy chủ VPN

Chúng ta đang tiến gần hơn với việc tạo một kết nối SSL VPN! Bước tiếp theo là tạo một kết nối VPN trên máy khách Vista SP1 để cho phép có thể tạo một kết nối VPN ban đầu cho máy chủ VPN. Chúng ta cần thực hiện công việc này trong kịch bản hiện hành vì máy tính trình khách không phải là một thành viên miền. Do máy tính này không nằm trong miền nên nó sẽ không có chứng chỉ CA được cài đặt một cách tự động trong kho lưu trữ chứng chỉ Trusted Root Certificate Authorities. Nếu máy tính này là một thành viên miền thì việc tự động kết nạp sẽ quan tâm đến vấn đề đó, vì đã cài đặt Enterprise CA. Cách đơn giản nhất để thực hiện điều này là tạo một kết nối PPTP từ máy khách Vista SP1 VPN đến máy chủ Windows Server 2008 VPN. Mặc định, máy chủ VPN sẽ hỗ trợ các kết nối PPTP và máy khách sẽ thử PPTP đầu tiên trước khi thử L2TP/IPSec và SSTP. Để thực hiện điều này, chúng ta cần phải tạo một kết nối VPN hoặc đối tượng kết nối.

Thực hiện các bước dưới đây trên máy khách VPN để tạo kết nối:

1. Trên máy khách VPN, kích chuột phải vào biểu tượng và sau đó kích Network and Sharing Center.

2. Trong cửa sổ Network Sharing Center, kích vào liên kết trên Set up a connection or network phía trái của cửa sổ.

3. Trên cửa sổ Choose a connection option, kích vào mục Connect to a workplace và sau đó kích Next.


Hình 8

4. Trên cửa sổ How do you want to connect, chọn mục Use my Internet connection (VPN).


Hình 9

5. Trên cửa sổ Type the Internet address to connect to, nhập vào đó tên của máy chủ SSL VPN. Bảo đảm rằng tên này giống với tên chung trên chứng chỉ đã được sử dụng bởi máy chủ SSL VPN. Trong ví dụ này, tên của nó là sstp.msfirewall.org. Nhập vào Destination Name. Trong ví dụ này chúng tôi sẽ đặt tên SSL VPN đích. Kích Next.


Hình 10

6. Trên cửa sổ Type your user name and password, nhập vào PasswordDomain. Kích Connect.


Hình 11

7. Kích Close trên cửa sổ You are connected.


Hình 12

8. Trên cửa sổ Select a location for the "SSL VPN" network, chọn tùy chọn Work.


Hình 13

9. Kích Continue trong lời nhắc của UAC.

10. Kích Close trên cửa sổ Successfully set network settings


Hình 14

11. Trong Network and Sharing Center, kích vào liên kết View status trong phần SSL VPN, có thể tham khảo trong hình bên dưới. Bạn sẽ thấy trong hộp thoại SSL VPN Status kiểu kết nối VPN này là PPTP. Kích Close trong hộp thoại SSL VPN Status.


Hình 15

12. Mở cửa sổ lệnh và ping đến domain controller. Trong ví dụ này, địa chỉ IP của domain controller là 10.0.0.2. Nếu kết nối VPN được thực hiện thành công thì bạn sẽ nhận được một reply của quá trình ping từ domain controller.

 

 

Hà Anh Tuấn

Phòng An ninh thông tin

…………………………………………………………………...

Add: 5 FI, 72 Tran Hung Dao Str., Hoan Kiem Dist., Hanoi

Tel: +84(4)39446368 ext 2274

Email: tuanha@techcombank.com.vn

Website: http://www.techcombank.com.vn

……………………………………………………………………

Bảo vệ tài sản và thông tin của ngân hàng là trách nhiệm của mọi người!

 

SSL vpn WSV2008

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

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 và ả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.

remote-access-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.

remote-access-2

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.

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.

 

 

Trong phần thứ nhất, chúng tôi đã nói về một số giao thức VPN và máy chủ VPN của Microsoft trước kia. Để tiếp nối những gì đã giới thiệu trong phần một, chúng tôi sẽ đưa ra cho các bạn một mô tả ví dụ mạng sẽ sử dụng trong việc cấu hình gateway VPN để có thể hỗ trợ cho kết nối SSTP từ các máy khách Vista SP1.


Chúng tôi sẽ không giới thiệu toàn bộ tất cả các bước mà sẽ thừa nhận rằng bạn đã cài đặt DC và đã kích hoạt các role như DHCP, DNS và Certificate Services trên máy chủ đó. Kiểu chứng chỉ máy chủ là Enterprise, nên bạn sẽ cấu hình một CA doanh nghiệp trên mạng của mình. Máy chủ VPN sẽ được nhập vào miền trước khi bắt đầu các bước dưới đây. Máy khách Vista cần phải được nâng cấp lên phiên bản SP1 trước khi thực hiện theo hướng dẫn này.

Chúng tôi cần thực hiện một số thủ tục dưới đây:

  • Cài đặt IIS trên máy chủ VPN
  • Yêu cầu một chứng chỉ máy tính cho máy chủ VPN bằng cách sử dụng IIS Certificate Request Wizard
  • Cài đặt role RRAS server trên máy chủ VPN
  • Kích hoạt máy chủ RRAS Server và cấu hình nó thành máy chủ VPN và NAT
  • Cấu hình máy chủ NAT để xuất bản CRL
  • Cấu hình User Account để cho phép các kết nối dial-up
  • Cấu hình IIS trên Certificate Server để cho phép các kết nối HTTP cho thư mục CRL
  • Cấu hình file HOSTS trên VPN client
  • Sử dụng PPTP để kết nối với máy chủ VPN
  • Thu được chứng chỉ CA từ Enterprise CA
  • Cấu hình Client để có thể sử dụng SSTP và Connect đối với VPN Server bằng cách sử dụng SSTP

Cài đặt IIS trên máy chủ VPN Server

Có thể bạn sẽ thấy làm lạ vì thông thường chúng tôi vẫn gợi ý rằng đừng bao giờ đặt máy chủ web (Web server) trước một thiết bị bảo vệ mạng. Điều này là vì chúng ta không cần giữ Web server trên một VPN server mà chỉ cần sử dụng nó trong một thời điểm nào đó. Bởi site kết nạp Web gồm có Windows Server 2008 Certificate Server không hữu dụng cho việc yêu cầu các chứng chỉ máy tính. Trong thực tế, nó hoàn toàn không được sử dụng. Những gì đáng quan tâm ở đây là bạn có thể có được chứng chỉ máy tính bằng sử dụng site kết nạp Web.

Để giải quyết vấn đề này, chúng ta sẽ lợi dụng enterprise CA. Khi sử dụng enterprise CA, bạn có thể tạo một yêu cầu đối với một máy chủ chứng chỉ trực tuyến. Yêu cầu trực tuyến cho một chứng chỉ máy tính được cho phép khi bạn sử dụng IIS Certificate Request Wizard và yêu cầu "Domain Certificate"- chứng chỉ miền. Vấn đề này chỉ làm việc khi máy tính yêu cầu chứng chỉ cùng với tên miền Enterprise CA.

Thực hiện theo các bước sau trên máy chủ VPN để cài đặt role IIS Web server:

1. Mở Server Manager của Windows 2008

2. Trong phần panel bên phía trái của giao diện điều khiển, kích nút Roles


Hình 1

3. Kích vào liên kết Add Roles ở phần bên phải của panel bên phải.

4. Kích Next trên cửa sổ Before You Begin

5. Tích vào hộp kiểm Web Server (IIS) trên cửa sổ Select Server Roles sau đó kích Next.


Hình 2

6. Đọc thông tin trên cửa sổ Web Server (IIS) nếu cần. Đây là một thông tin tổng quan rất tốt đối với việc sử dụng IIS7 như một máy chủ Web, tuy nhiên do chúng ta sẽ không sử dụng máy chủ Web IIS trên máy chủ VPN nên thông tin này không áp dụng cho kịch bản của chúng ta.

7. Trên cửa sổ Select Role Services, có một số tùy chọn đã được chọn sẵn. Kể cả bạn sử dụng các tùy chọn mặc định thì cũng không có nghĩa sẽ có được tùy chọn sử dụng Certificate Request Wizard. Chính vì vậy hãy tích vào các tùy chọn bảo mật Security để có Role Service cho Certificate Request Wizard và sau đó kích Next.


Hình 3

8. Xem lại các thông tin trên cửa sổ Confirm Installation Selections và kích Install.

9. Kích Close trên cửa sổ Installation Results


Hình 4

Yêu cầu chứng chỉ máy tính cho VPN Server bằng sử dụng IIS Certificate Request Wizard

Bước tiếp theo là yêu cầu chứng chỉ máy tính cho VPN server. VPN server cần một chứng chỉ máy tính để có thể tạo kết nối SSL VPN với máy khách SSL VPN. Tên thường sử dụng trên chứng chỉ phải hợp lệ với tên mà máy khách VPN sẽ sử dụng để kết nối đến SSL VPN gateway. Điều này có nghĩa rằng bạn cần phải tạo một entry DNS chung cho tên trên chứng chỉ để giải quyết địa chỉ IP mở rộng trên VPN server, hoặc địa chỉ IP của thiết bị NAT nằm trước máy chủ VPN sẽ chuyển hướng kết nối đến SSL VPN server.

Thực hiện theo các bước dưới đây để yêu cầu và cài đặt một chứng chỉ máy tính trên SSL VPN server:

1. Trong Server Manager, mở rộng phần Roles ở trong panel bên trái, sau đó mở Web Server (IIS). Kích vào Internet Information Services (IIS) Manager.


Hình 5

2. Trong giao diện điều khiển Internet Information Services (IIS) Manager xuất hiện ở panel bên phải, hãy kích tên của máy chủ. Trong ví dụ này, tên của máy chủ là W2008RC0-VPNGW. Kích vào biểu tượng Server Certificates trong panel bên phải của giao diện điều khiển IIS.


Hình 6

3. Trong panel bên phải của giao diện điều khiển, kích vào liên kết Create Domain Certificate.


Hình 7

4. Đọc các thông tin trên cửa sổ Distinguished Name Properties. Mục quan trọng nhất trên cửa sổ này là the Common Name. Tên này là tên mà các máy khách VPN sẽ sử dụng để kết nối với máy chủ VPN. Bạn sẽ cần có một entry DNS chung cho tên này để nó có thể giải quyết đối với giao diện bên ngoài của máy chủ VPN hoặc địa chỉ chung của thiết bị NAT trước máy chủ VPN. Trong ví dụ này, chúng tôi sẽ dụng tên chung sstp.msfirewall.org. Sau đó, chúng ta sẽ tạo các entry file HOSTS trên máy khách VPN để nó có thể thực hiện được với tên này. Kích Next.


Hình 8

5. Trên cửa sổ Online Certification Authority, kích nút Select. Trong hộp thoại Select Certification Authority, kích tên của Enterprise CA sau đó kích OK. Nhập vào đó tên của chứng chỉ bên trong hộp văn bản Friendly name. Trong ví dụ này chúng tôi sử dụng tên SSTP Cert để biết rằng nó đang được sử dụng cho SSTP VPN gateway.


Hình 9

6. Kích Finish trên cửa sổ Online Certification Authority


Hình 10

7. Tiện ích sẽ chạy và sau đó không xuất hiện nữa. Sau thời điểm này, bạn sẽ nhìn thấy chứng chỉ xuất hiện trong giao diện điều khiển IIS. Kích đúp vào chứng chỉ và bạn có thể xem tên chung trong phần Issued to và chúng ta sẽ có một khóa riêng tương ứng với chứng chỉ. Kích OK để đóng hộp thoại Certificate.


Hình 11

Bây giờ chúng ta đã có một chứng chỉ và có thể cài đặt RRAS Server Role. Lưu ý rằng bạn phải cài đặt chứng chỉ trước khi cài đặt RRAS Server Role. Không thực hiện như vậy bạn sẽ gặp phải một số vấn đề vì sẽ phải sử dụng một thường trình dòng lệnh khá phức tạp để kết nối chứng chỉ với bộ nghe SSL VPN.

Cài đặt RRAS Server Role trên VPN Server

Để cài đặt RRAS Server Role, bạn thực hiện theo các bước dưới đây:

1. Trong Server Manager, kích nút Roles ở phần bên trái của giao diện điều khiển

2. Trong phần Roles Summary, kích vào liên kết Add Roles.

3. Kích Next trên cửa sổ Before You Begin

4. Trên cửa sổ Select Server Roles, bạn hãy tích vào hộp kiểm Network Policy and Access Services, sau đó kích Next.


Hình 12

5. Đọc các thông tin trên cửa sổ Network Policy and Access Services. Hầu hết các thông tin này cho chúng ta biết về Network Policy Server mới (máy chủ chính sách vẫn được gọi là Internet Authentication Server [IAS] là RADIUS server), tất cả trong chúng hiện đều không áp dụng cho kịch bản của chúng ta. Kích Next.

6. Trên cửa sổ Select Role Services, hãy tích vào hộp kiểm Routing and Remote Access Services. Khi tích vào hộp kiểm này, tiện ích cũng sẽ tự tích vào các hộp kiểm Remote Access ServiceRouting. Kích Next.


Hình 13

7. Kích Install trên cửa sổ Confirm Installation Selections.

8. Kích Close trên cửa sổ Installation Results.

Kích hoạt RRAS Server và cấu hình nó trở thành một máy chủ NAT và VPN

Lúc này role máy chủ RRAS server hiện đã được cài đặt, chúng ta cần phải kích hoạt dịch vụ RRAS, giống như cách đã thực hiện với nó trong các phiên bản trước đó của Windows. Chúng ta cần kích hoạt tính năng máy chủ VPN và dịch vụ NAT. Việc cần phải kích hoạt thành phần máy chủ VPN là hết sức rõ ràng nhưng rất có thể bạn phân vân rằng tại sao cần phải kích hoạt máy chủ NAT. Lý do là để các máy khách bên ngoài có thể tăng quyền truy cập vào Certificate Server để có thể kết nối với CRL. Nếu máy khách SSTP VPN không thể download được CRL thì kết nối SSTP VPN sẽ thất bại.

Để cho phép truy cập vào CRL chúng ta sẽ cấu hình máy chủ VPN thành một máy chủ NAT và công bố CRL bằng cách sử dụng NAT đảo ngược. Trong môi trường thực tế bạn có thể sẽ có một tường lửa (như ISA Firewall chẳng hạn) nằm phía trước máy chủ chứng chỉ Certificate Server, vì vậy bạn sẽ công bố CRL bằng sử dụng tường lửa. Tuy vậy trong ví dụ này tường lửa sử dụng là Windows Firewall trên VPN server, chính vì vậy chúng ta cần phải cấu hình máy chủ VPN thành máy chủ NAT.

Thực hiện theo các bước dưới đây để có thể kích hoạt dịch vụ RRAS:

1. Trong Server Manager, mở phần Roles trong panel bên trái của giao diện điều khiển. Mở phần Network Policy and Access Services sau đó kích nút Routing and Remote Access. Kích chuột phải vào Routing and Remote Access sau đó kích Configure and Enable Routing and Remote Access.


Hình 14

2. Kích Next trên cửa sổ Welcome to the Routing and Remote Access Server Setup Wizard

3. Trên cửa sổ Configuration, chọn tùy chọn Virtual private network (VPN) access and NAT và kích Next.


Hình 15

4. Trên cửa sổ VPN Connection, chọn NIC trong phần Network interfaces, phần có giao diện bên ngoài của máy chủ VPN. Sau đó kích Next.


Hình 16

5. Trên cửa sổ IP Address Assignment, chọn tùy chọn Automatically. Chúng ta có thể chọn tùy chọn này vì đã cài đặt máy chủ DHCP trên bộ điều khiển miền phía sau máy chủ VPN. Nếu bạn chưa cài đặt máy chủ DHCP thì cần phải chọn tùy chọn From a specified range of addresses và sau đó cung cấp một danh sách các địa chỉ mà máy chủ VPN có thể sử dụng khi kết nối với mạng thông qua VPN gateway. Kích Next.


Hình 17

6. Trên cửa sổ Managing Multiple Remote Access Servers, chọn No, use Routing and Remote Access to authenticate connection requests. Đây là tùy chọn mà chúng ta sử dụng khi không có máy chủ NPS hay RADIUS. Vì máy chủ VPN là một thành viên của miền nên bạn có thể chứng thực người dùng bằng cách sử dụng các tài khoản miền. Nếu máy chủ VPN không phải là thành viên miền thì chỉ có các tài khoản cục bộ trên máy chủ VPN mới có thể được sử dụng, trừ khi bạn quyết định sử dụng máy chủ NPS. Kích Next.


Hình 18

7. Đọc các thông tin tóm tắt trên cửa sổ Completing the Routing and Remote Access Server Setup Wizard và kích Finish.

8. Kích OK trong hộp thoại Routing and Remote Access, đây là hộp thoại thông báo cho bạn biết rằng việc chuyển tiếp các thông báo DHCP yêu cầu đến một tác nhân chuyển tiếp.

9. Trong phần panel bên trái của giao diện điều khiển, mở phần Routing and Remote Access, sau đó kích vào nút Ports. Ở phần giữa của panel, bạn sẽ thấy các kết nối cho SSTP.


Hình 19

Cấu hình máy chủ NAT để công bố CRL

Như chúng tôi đã đề cập từ trước, máy khách SSL VPN cần có thể download được CRL để xác nhận rằng chứng chỉ máy chủ trên máy chủ VPN đã không được hủy bỏ. Để thực hiện điều này, bạn cần cấu hình một thiết bị trước máy chủ chứng chỉ để chuyển tiếp các yêu cầu HTTP cho vị trí CRL đến được máy chủ chứng chỉ.

Vậy bạn đã biết được URL nào mà máy khách SSL VPN cần kết nối để thực hiện việc download CRL chưa? Các thông tin này được giới thiệu đến ngay bên trong bản thân mỗi chứng chỉ. Nếu bạn vào máy chủ VPN một lần nữa và kích đúp vào chứng chỉ trên giao diện điều khiển IIS (đây là do bạn đã thực hiện trước), thì bạn sẽ có thể tìm được các thông tin này. Kích vào tab Details của chứng chỉ và kéo xuống mục CRL Distribution Points, sau đó kích chuột vào mục đó. Trong panel thấp hơn, bạn có thể thấy các điểm phân phối khác nhau được dựa trên giao thức sử dụng để truy cập vào các điểm này. Trong màn hình chứng chỉ ở hình bên dưới, bạn có thể thấy được rằng chúng ta cần phải cho phép truy cập máy khách SSL VPN vào CRL thông qua URL:

http://win2008rc0-dc.msfirewall.org/...rewall.org.crl


Hình 20

Vì lý do này nên bạn cần tạo một entry DNS chúng đối với tên này để các máy khách VPN bên ngoài đều có thể thực thi được tên đó với địa chỉ IP trên thiết bị, thiết bị ở đây sẽ thực hiện đảo ngược NAT hoặc đảo ngược proxy để cho phép truy cập đến được website của Certificate Server. Trong ví dụ này, chúng ta cần phải có win2008rc0-dc.msfirewall.org để giải quyết địa chỉ IP trên giao diện bên ngoài của máy chủ VPN, máychủ VPN sẽ đảo ngược NAT kết nối với Certificate Server.

Nếu bạn đang sử dụng tường lửa "đời mới" (chẳng hạn như ISA Firewall) thì có thể thực hiện việc công bố site CRL an toàn hơn bằng cách cho phép chỉ truy cập vào CRL mà không vào toàn bộ site. Tuy vậy, trong bài này chúng tôi sẽ hạn chế trong khả năng một thiết bị NAT đơn giản như những gì RRAS NAT cung cấp. Bạn nên lưu ý ở đây rằng việc sử dụng tên site của CRL mặc định có thể không phải là cách an toàn vì nó lộ tên máy tính trên Internet. Bạn có thể tạo một CDP (CRL Distribution Point) để tránh điều này nếu cho rằng việc lộ tên riêng của CA trong DNS chung là một vấn đề quan trọng.

Thực hiện theo các bước dưới đây để cấu hình RRAS NAT có thể chuyển tiếp các yêu cầu HTTP tới Certificate Server:

1. Trong phần panel bên trái của Server Manager, bạn mở phần Routing and Remote Access, sau đó mở phần IPv4. Kích nút NAT.

2. Trong nút NAT, hãy kích chuột phải nên giao diện bên ngoài, ở giữa của giao diện điều khiển. Trong ví dụ này, tên của giao diện bên ngoài là Local Area Connection, sau đó kích Properties.


Hình 21

3. Trong hộp thoại Local Area Connection Properties, tích vào hộp kiểm Web Server (HTTP). Khi thực hiện như vậy, hộp thoại Edit Service sẽ xuất hiện. Trong hộp văn bản Private Address, bạn nhập vào địa chỉ IP của máy chủ chứng chỉ trên mạng bên trong. Kích OK.


Hình 22

4. Kích OK trong hộp thoại Local Area Connection Properties.


Hình 23

Lúc này, NAT server đã được cài đặt và được cấu hình, chúng ta có thể chuyển sự quan tâm của mình sang việc cấu hình máy chủ CA và máy khách SSTP VPN.

Kết luận

Trong phần hai này, chúng tôi đã tiếp tục giới thiệu cho các bạn về việc cấu hình máy chủ SSL VPN bằng cách sử dụng Windows Server 2008. Chúng tôi đã đi vào các vấn đề cài đặt IIS trên máy chủ VPN, yêu cầu và cài đặt chứng chỉ máy chủ, cài đặt và cấu hình các dịch vụ RRAS và NAT. Trong phần tiếp theo của loạt bài này chúng tôi sẽ kết thúc bằng việc giới thiệu cách cấu hình máy chủ CA và máy khách SSTP VPN, mong các bạn đón đọc.
Văn Linh (Theo Window Security)

 

 

 

Hà Anh Tuấn

Phòng An ninh thông tin

…………………………………………………………………...

Add: 5 FI, 72 Tran Hung Dao Str., Hoan Kiem Dist., Hanoi

Tel: +84(4)39446368 ext 2274

Email: tuanha@techcombank.com.vn

Website: http://www.techcombank.com.vn

……………………………………………………………………

Bảo vệ tài sản và thông tin của ngân hàng là trách nhiệm của mọi người!