Triển khai hệ thống IPSec/VPN trên Windows Server 2003

Nhu cầu truy cập từ xa (ngoài văn phòng) mạng nội bộ để trao đổi dữ liệu hay sử dụng ứng dụng ngày càng phổ biến. Đây là nhu cầu thiết thực, tuy nhiên do vấn đề bảo mật và an toàn thông tin nên các công ty ngại "mở" hệ thống mạng nội bộ của mình để cho phép nhân viên truy cập từ xa. Bài viết này trình bày giải pháp truy cập từ xa VPN trên Windows Server 2003 có cơ chế mã hóa dựa trên giao thức IPSec nhằm đảm bảo an toàn thông tin.

VPN

VPN (virtual private network) là công nghệ xây dựng hệ thống mạng riêng ảo nhằm đáp ứng nhu cầu chia sẻ thông tin, truy cập từ xa và tiết kiệm chi phí. Trước đây, để truy cập từ xa vào hệ thống mạng, người ta thường sử dụng phương thức Remote Access quay số dựa trên mạng điện thoại. Phương thức này vừa tốn kém vừa không an toàn. VPN cho phép các máy tính truyền thông với nhau thông qua một môi trường chia sẻ như mạng Internet nhưng vẫn đảm bảo được tính riêng tư và bảo mật dữ liệu.

Để cung cấp kết nối giữa các máy tính, các gói thông tin được bao bọc bằng một header có chứa những thông tin định tuyến, cho phép dữ liệu có thể gửi từ máy truyền qua môi trường mạng chia sẻ và đến được máy nhận, như truyền trên các đường ống riêng được gọi là tunnel. Để bảo đảm tính riêng tư và bảo mật trên môi trường chia sẻ này, các gói tin được mã hoá và chỉ có thể giải mã với những khóa thích hợp, ngăn ngừa trường hợp "trộm" gói tin trên đường truyền.

Các tình huống thông dụng của VPN:

- Remote Access: Đáp ứng nhu cầu truy cập dữ liệu và ứng dụng cho người dùng ở xa, bên ngoài công ty thông qua Internet. Ví dụ khi người dùng muốn truy cập vào cơ sở dữ liệu hay các file server, gửi nhận email từ các mail server nội bộ của công ty.

- Site To Site: Áp dụng cho các tổ chức có nhiều văn phòng chi nhánh, giữa các văn phòng cần trao đổi dữ liệu với nhau. Ví dụ một công ty đa quốc gia có nhu cầu chia sẻ thông tin giữa các chi nhánh đặt tại Singapore và Việt Nam, có thể xây dựng một hệ thống VPN Site-to-Site kết nối hai site Việt Nam và Singapore tạo một đường truyền riêng trên mạng Internet phục vụ quá trình truyền thông an toàn, hiệu quả.

- Intranet/ Internal VPN: Trong một số tổ chức, quá trình truyền dữ liệu giữa một số bộ phận cần bảo đảm tính riêng tư, không cho phép những bộ phận khác truy cập. Hệ thống Intranet VPN có thể đáp ứng tình huống này.

Để triển khai một hệ thống VPN chúng ta cần có những thành phần cơ bản sau đây:

- User Authentication: cung cấp cơ chế chứng thực người dùng, chỉ cho phép người dùng hợp lệ kết nối và truy cập hệ thống VPN.

- Address Management: cung cấp địa chỉ IP hợp lệ cho người dùng sau khi gia nhập hệ thống VPN để có thể truy cập tài nguyên trên mạng nội bộ.

- Data Encryption: cung cấp giải pháp mã hoá dữ liệu trong quá trình truyền nhằm bảo đảm tính riêng tư và toàn vẹn dữ liệu.

- Key Management: cung cấp giải pháp quản lý các khoá dùng cho quá trình mã hoá và giải mã dữ liệu.

IPSEC (IP SECURITY PROTOCOL)

Như chúng ta biết, để các máy tính trên hệ thống mạng LAN/WAN hay Internet truyền thông với nhau, chúng phải sử dụng cùng một giao thức (giống như ngôn ngữ giao tiếp trong thế giới con người) và giao thức phổ biến hiện nay là TCP/IP.


Khi truyền các gói tin, chúng ta cần phải áp dụng các cơ chế mã hóa và chứng thực để bảo mật. Có nhiều giải pháp để thực hiện việc này, trong đó cơ chế mã hóa IPSEC hoạt động trên giao thức TCP/IP tỏ ra hiệu quả và tiết kiệm chi phí trong quá trình triển khai.

Trong quá trình chứng thực hay mã hóa dữ liệu, IPSEC có thể sử dụng một hoặc cả hai giao thức bảo mật sau:

- AH (Authentication Header): header của gói tin được mã hóa và bảo vệ phòng chống các trường hợp "ip spoofing" hay "man in the midle attack", tuy nhiên trong trường hợp này phần nội dung thông tin chính không được bảo vệ

- ESP (Encapsulating Security Payload): Nội dung thông tin được mã hóa, ngăn chặn các trường hợp hacker đặt chương trình nghe lén và chặn bắt dữ liệu trong quá trình truyền. Phương thức này rất hay được áp dụng, nhưng nếu muốn bảo vệ luôn cả phần header của gói tin thì phải kết hợp cả 2 giao thức AH và ESP.

IPSec/VPN trên Windows Server 2003

Chúng ta tham khảo tình huống thực tế của công ty Green Lizard Books, một công ty chuyên xuất bản và phân phối văn hoá phẩm. Nhằm đẩy mạnh hiệu quả kinh doanh, bộ phận quản lý muốn các nhân viên kinh doanh trong quá trình công tác ở bên ngoài có thể truy cập báo cáo bán hàng (Sale Reports) chia sẻ trên File Server và có thể tương tác với máy tính của họ trong văn phòng khi cần thiết. Ngoài ra, đối với các dữ liệu mật, nhạy cảm như báo cáo doanh số, trong quá trình truyền có thể áp dụng các cơ chế mã hóa chặt chẽ để nâng cao độ an toàn của dữ liệu.

Green Lizard Books cần có một đường truyền ADSL với địa chỉ IP tĩnh phục vụ cho quá trình kết nối và truyền thông giữa trong và ngoài công ty. Các người dùng ở xa (VPN Client) sẽ kết nối đến VPN Server để gia nhập hệ thống mạng riêng ảo của công ty và được cấp phát địa chỉ IP thích hợp để kết nối với các tài nguyên nội bộ của công ty.

Chúng ta sẽ dùng 1 máy Windows Server 2003 làm VPN Sever (đặt tên là SRV-1), có 1 card mạng kết nối với hệ thống mạng nội bộ (IP: 192.168.1.1) và một card ADSL (IP tĩnh, nếu dùng IP động thì phải sử dụng kết hợp với các dịch vụ Dynamic DNS như DtnDNS.Org hay No-IP.Com) để kết nối với bên ngoài (Internet).

Để quản lý người dùng trên hệ thống và tài nguyên chúng ta cần có 1 domain controler cài đặt trên Windows Server 2003 tên là SRV-11 (IP: 192.168.0.11).

Trong mô hình này, chúng ta sử dụng một máy client bên ngoài chạy hệ điều hành Windows XP, kết nối VPN với cơ chế chứng thực và mã hóa dữ liệu dựa trên IPSec ESP.

Ở đây tôi chỉ trình bày những buớc chính trong quá trình triển khai, chi tiết cài đặt và cấu hình các bạn có thể tham khảo các tập tin video (.avi) tải về ở website www.pcworld.com.vn.

Bước 1: Tạo domain controler

(dcpromo-srv-11-greenlizardbooks-domain-controller.avi)

Bước 2: Đưa SRV-1 (VPN Server) vào domain

(join_srv-1_server_to_domain.avi)

Bước 3: cài đặt VPN Server trên SRV-1

(install_vpn_server_on_srv-1.avi)

Bước 4: Thiết lập VPN Client Client-1 kết nối đến VPN Server

(create_vpn_client_1_and_connect_to_srv-1_vpn_server.avi)

Bước 5: Kết nối VPN Client Client-1 vào domain

(join-vpn-client-1-to-greenlizardbooks_domain.avi)

Bước 6: Yêu cầu cấp phát chứng chỉ điện tử (certificate) cho VPN Server và Client dùng để chứng thực và mã hóa.

(request_certificate_for_vpn_server_and_client.avi)

Bước 7: Thiết lập kết nối VPN dùng giao thức L2TP/IPSEC

(establish_L2TP_VPN_connection.avi)

KẾT LUẬN

VPN là công nghệ được sử dụng phổ biến hiện nay nhằm cung cấp kết nối an toàn và hiệu quả để truy cập tài nguyên nội bộ công ty từ bên ngoài thông qua mạng Internet. Mặc dù sử dụng hạ tầng mạng chia sẻ nhưng chúng ta vẫn bảo đảm được tính riêng tư của dữ liệu giống như đang truyền thông trên một hệ thống mạng riêng. Giải pháp VPN "mềm" giới thiệu trong bài viết này thích hợp cho số lượng người dùng nhỏ, để đáp ứng số lượng người dùng lớn hơn, có thể phải cần đến giải pháp VPN phần cứng.

TUNNELING

Tunneling là kỹ thuật sử dụng một hệ thống mạng trung gian (thường là mạng Internet) để truyền dữ liệu từ mạng máy tính này đến một mạng máy tính khác nhưng vẫn duy trì được tính riêng tư và toàn vẹn dữ liệu. Dữ liệu truyền sau khi được chia nhỏ thành những frame hay packet (gói tin) theo các giao thức truyền thông sẽ được bọc thêm 1 lớp header chứa những thông tin định tuyến giúp các packet có thể truyền qua các hệ thống mạng trung gian theo những đường riêng (tunnel). Khi packet được truyền đến đích, chúng được tách lớp header 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 client và server phải sử dụng chung một giao thức (tunnel protocol).

- PPTP (Point-to-Point Tunneling Protocol): PPTP có thể sử dụng cho Remote Access hay Site-to-Site VPN. Những thuận lợi khi áp dụng PPTP cho VPN là không yêu cầu certificate cho quá trình chứng thực và client có thể đặt phía sau NAT Router.

- L2TP (Layer 2 Tunneling Protocol): L2TP là sự kết hợp của PPTP và Layer 2 Forwading (L2F, giao thức được phát triển bởi Cisco System). So với PPTP thì L2TP có nhiều đặc tính mạnh và an toàn hơn.

Trên hệ thống Microsoft, L2TP được kết hợp với IPSec Encapsulating Security Payload (ESP) cho quá trình mã hóa dữ liệu, gọi là L2TP/IPSec. Sự kết hợp này không chỉ cho phép chứng thực đối với người dùng PPTP mà còn cho phép chứng thực đối với các máy tính thông qua các chứng chỉ, nâng cao hơn độ an toàn của dữ liệu khi truyền, và quá trình tunnel có thể diễn ra trên nhiều hệ thống mạng khác nhau. Tuy nhiên trong môi trường L2TP/IPSec các VPN Client không thể đặt phía sau NAT Router. Trong trường hợp này chúng ta cần phải có VPN Server và VPN Client hỗ trợ IPSec NAT-T.


Nguyễn Trần Tường Vinh
MCSA/MCSE Security, Comptia SECURITY+, SCNP
Leader@Security365.Org

Director – SECURE SOLUTION

Thứ Bảy, 15/04/2006 08:29
31 👨 7.331
0 Bình luận
Sắp xếp theo