IPsec toàn tập

27
IPsec toàn tập IPsec (IP security) bao gồm một hệ thống các giao thức để bảo mật quá trình truyền thông tin trên nền tảng Internet Protocol (IP). Bao gồm xác thực và/hoặc mã hoá (Authenticating and/or Encrypting) cho mỗi gói IP (IP packet) trong quá trình truyền thông tin. IPsec cũng bao gồm những giao thức cung cấp cho mã hoá và xác thực Nội dung 1. Tổng quan 2. Cấu trúc bảo mật 3. Các chuẩn hoá 4. Thiết kế và sử dụng theo yêu cầu. 5.1. Transport mode 5.2. Tunnel mode 6. Phương thức 6.1. Authentication header (AH) 6.2. Encapsulating Security Payload (ESP) 7. triển khai sử dụng 1. Tổng quan Giao thức IPsec được làm việc tại tầng Network Layer – layer 3 của mô hình OSI. Các giao thức bảo mật trên Internet khác như SSL, TLS và SSH, được thực hiện từ tầng transport layer trở lên (Từ tầng 4 tới tầng 7 mô hình OSI). Điều này tạo ra tính mềm dẻo cho IPsec, giao thức này có thể hoạt động từ tầng 4 với TCP, UDP, hầu hết các giao thức sử dụng tại tầng này. IPsec có một tính năng cao cấp hơn SSL và các phương thức khác hoạt động tại các tầng trên của mô hình OSI. Với một ứng dụng sử dụng IPsec mã (code) không bị thay đổi, nhưng nếu ứng dụng đó bắt buộc sử dụng SSL và các giao thức bảo mật trên các tầng trên trong mô hình OSI thì đoạn mã ứng dụng đó sẽ bị thay đổi lớn. 2. Cấu trúc bảo mật IPsec được triển khai (1) sử dụng các giao thức cung cấp mật mã (cryptographic protocols) nhằm bảo mật gói tin (packet) trong quá trình truyền, (2) phương thức xác thực và (3) thiết lập các thông số mã hoá. Xây dựng IPsec sử dụng khái niệm về bảo mật trên nền tảng IP. Một sự kết hợp bảo mật rất đơn giản khi kết hợp các thuật toán và các thông số (ví như các khoá – keys) là nền tảng trong việc mã hoá và xác thực trong một chiều. Tuy nhiên trong các giao tiếp hai chiều, các giao thức bảo mật sẽ làm việc với nhau và đáp ứng quá trình giao tiếp. Thực tế lựa chọn các thuật toán mã hoá và xác thực lại phụ thuộc vào người quản trị IPsec bởi IPsec bao gồm một nhóm các giao thức bảo mật đáp ứng mã hoá và xác thực cho mỗi gói tin IP.

Transcript of IPsec toàn tập

Page 1: IPsec toàn tập

IPsec toàn tập

IPsec (IP security) bao gồm một hệ thống các giao thức để bảo mật quá trình truyền thông tin trên nền tảng Internet Protocol (IP). Bao gồm xác thực và/hoặc mã hoá (Authenticating and/or Encrypting) cho mỗi gói IP (IP packet) trong quá trình truyền thông tin. IPsec cũng bao gồm những giao thức cung cấp cho mã hoá và xác thực

 Nội dung

1. Tổng quan

2. Cấu trúc bảo mật

3. Các chuẩn hoá

4. Thiết kế và sử dụng theo yêu cầu. 

5.1. Transport mode

5.2. Tunnel mode

6. Phương thức

6.1. Authentication header (AH)

6.2. Encapsulating Security Payload (ESP)

7. triển khai sử dụng

1. Tổng quan

Giao thức IPsec được làm việc tại tầng Network Layer – layer 3 của mô hình OSI. Các giao thức bảo mật trên Internet khác như SSL, TLS và SSH, được thực hiện từ tầng transport layer trở lên (Từ tầng 4 tới tầng 7 mô hình OSI). Điều này tạo ra tính mềm dẻo cho IPsec, giao thức này có thể hoạt động từ tầng 4 với TCP, UDP, hầu hết các giao thức sử dụng tại tầng này. IPsec có một tính năng cao cấp hơn SSL và các phương thức khác hoạt động tại các tầng trên của mô hình OSI. Với một ứng dụng sử dụng IPsec mã (code) không bị thay đổi, nhưng nếu ứng dụng đó bắt buộc sử dụng SSL và các giao thức bảo mật trên các tầng trên trong mô hình OSI thì đoạn mã ứng dụng đó sẽ bị thay đổi lớn.

2. Cấu trúc bảo mật

IPsec được triển khai (1) sử dụng các giao thức cung cấp mật mã (cryptographic protocols) nhằm bảo mật gói tin (packet) trong quá trình truyền, (2) phương thức xác thực và (3) thiết lập các thông số mã hoá.

Xây dựng IPsec sử dụng khái niệm về bảo mật trên nền tảng IP. Một sự kết hợp bảo mật rất đơn giản khi kết hợp các thuật toán và các thông số (ví như các khoá – keys) là nền tảng trong việc mã hoá và xác thực trong một chiều. Tuy nhiên trong các giao tiếp hai chiều, các giao thức bảo mật sẽ làm việc với nhau và đáp ứng quá trình giao tiếp. Thực tế lựa chọn các thuật toán mã hoá và xác thực lại phụ thuộc vào người quản trị IPsec bởi IPsec bao gồm một nhóm các giao thức bảo mật đáp ứng mã hoá và xác thực cho mỗi gói tin IP.

Trong các bước thực hiện phải quyết định cái gì cần bảo vệ và cung cấp cho một gói tin outgoing (đi ra ngoài), IPsec sử dụng các thông số Security Parameter Index (SPI), mỗi quá trình Index (đánh thứ tự và lưu trong dữ liệu – Index ví như một cuốn danh bạ điện thoại) bao gồm Security Association Database (SADB), theo suốt chiều dài của địa chỉ đích trong header của gói tin, cùng với sự nhận dạng duy nhất của một thoả hiệp bảo mật (tạm dịch từ - security association) cho mỗi gói tin. Một quá trình tương tự cũng được làm với gói tin đi vào (incoming packet), nơi IPsec thực hiện quá trình giải mã và kiểm tra các khoá từ SADB.

Cho các gói multicast, một thoả hiệp bảo mật sẽ cung cấp cho một group, và thực hiện cho toàn bộ các receiver trong group đó. Có thể có hơn một thoả hiệp bảo mật cho một group, bằng cách sử dụng các SPI khác nhau, tuy nhiên nó cũng cho phép thực hiện nhiều mức độ bảo mật cho một group. Mỗi người gửi có thể có nhiều thoả hiệp

Page 2: IPsec toàn tập

bảo mật, cho phép xác thực, trong khi người nhận chỉ biết được các keys được gửi đi trong dữ liêu. Chú ý các chuẩn không miêu tả làm thế nào để các thoả hiệp và lựa chọn việc nhân bản từ group tới các cá nhân.

3. Hiện trạng

IPsec là một phần bắt bược của IPv6, có thể được lựa chọn khi sử dụng IPv4. Trong khi các chuẩn đã được thiết kết cho các phiên bản IP giống nhau, phổ biến hiện nay là áp dụng và triển khai trên nền tảng IPv4.

Các giao thức IPsec được định nghĩa từ RFCs 1825 – 1829, và được phổ biến năm 1995. Năm 1998, được nâng cấp với các phiên bản RFC 2401 – 2412, nó không tương thích với chuẩn 1825 – 1929. Trong tháng 12 năm 2005, thế hệ thứ 3 của chuẩn IPSec, RFC 4301 – 4309. Cũng không khác nhiều so với chuẩn RFC 2401 – 2412 nhưng thế hệ mới được cung cấp chuẩn IKE second. Trong thế hệ mới này IP security cũng được viết tắt lại là IPsec.

Sự khác nhau trong quy định viết tắt trong thế hệ được quy chuẩn bởi RFC 1825 – 1829 là ESP còn phiên bản mới là ESPbis.

4. Thiết kế theo yêu cầu.

IPsec được cung cấp bởi Transport mode (end-to-end) đáp ứng bảo mật giữa các máy tính giao tiếp trực tiếp với nhau hoặc sử dụng Tunnel mode (portal-to-portal) cho các giao tiếp giữa hai mạng với nhau và chủ yếu được sử dụng khi kết nối VPN.

IPsec có thể được sử dụng trong các giao tiếp VPN, sử dụng rất nhiều trong giao tiếp. Tuy nhiên trong việc triển khai thực hiện sẽ có sự khác nhau giữa hai mode này.

Giao tiếp end-to-end được bảo mật trong mạng Internet được phát triển chậm và phải chờ đợi rất lâu. Một phần bở lý do tính phổ thông của no không cao, hay không thiết thực, Public Key Infrastructure (PKI) được sử dụng trong phương thức này.

IPsec đã được giới thiệu và cung cấp các dịch vụ bảo mật:

1. Mã hoá quá trình truyền thông tin

2. Đảm bảo tính nguyên ven của dữ liệu

3. Phải được xác thực giữa các giao tiếp

4. Chống quá trình replay trong các phiên bảo mật.

5. Modes – Các mode

Có hai mode khi thực hiện IPsec đó là: Transport mode và tunnel mode.

Transport mode

Trong Transport mode, chỉ những dữ liệu bạn giao tiếp các gói tin được mã hoá và/hoặc xác thực. Trong quá trình routing, cả IP header đều không bị chỉnh sửa hay mã hoá; tuy nhiên khi authentication header được sử dụng, địa chỉ IP không thể biết được, bởi các thông tin đã bị hash (băm). Transport và application layers thường được bảo mật bởi hàm băm (hash), và chúng không thể chỉnh sửa (ví dụ như port number). Transport mode sử dụng trong tình huống giao tiếp host-to-host.

Điều này có nghĩa là đóng gói các thông tin trong IPsec cho NAT traversal được định nghĩa bởi các thông tin trong tài liệu của RFC bởi NAT-T.

Tunnel mode

Trong tunnel mode, toàn bộ gói IP (bao gồm cả data và header) sẽ được mã hoá và xác thực. Nó phải được đóng gói lại trong một dạng IP packet khác trong quá trình routing của router. Tunnel mode được sử dụng trong giao tiếp network-to-network (hay giữa các routers với nhau), hoặc host-to-network và host-to-host trên internet.

Page 3: IPsec toàn tập

6. Technical details.

Có hai giao thức được phát triển và cung cấp bảo mật cho các gói tin của cả hai phiên bản IPv4 và IPv6:

IP Authentication Header giúp đảm bảo tính toàn vẹn và cung cấp xác thực.

IP Encapsulating Security Payload cung cấp bảo mật, và là option bạn có thể lựa chọn cả tính năng authentication và Integrity đảm bảo tính toàn vẹn dữ liệu.

Thuật toán mã hoá được sử dụng trong IPsec bao gồm HMAC-SHA1 cho tính toàn vẹn dữ liệu (integrity protection), và thuật toán TripleDES-CBC và AES-CBC cho mã mã hoá và đảm bảo độ an toàn của gói tin. Toàn bộ thuật toán này được thể hiện trong RFC 4305.

a. Authentication Header (AH)

AH được sử dụng trong các kết nối không có tính đảm bảo dữ liệu. Hơn nữa nó là lựa chọn nhằm chống lại các tấn công replay attack bằng cách sử dụng công nghệ tấn công sliding windows và discarding older packets. AH bảo vệ quá trình truyền dữ liệu khi sử dụng IP. Trong IPv4, IP header có bao gồm TOS, Flags, Fragment Offset, TTL, và Header Checksum. AH thực hiện trực tiếp trong phần đầu tiên của gói tin IP. dưới đây là mô hình của AH header. 

5. Các modes thực hiện

0 - 7 bit 8 - 15 bit 16 - 23 bit 24 - 31 bit

Next header Payload length RESERVED

Security parameters index (SPI)

Sequence number

Authentication data (variable)

Ý nghĩa của từng phần:

Next header

Nhận dạng giao thức trong sử dụng truyền thông tin.

Payload length

Độ lớn của gói tin AH.

RESERVED

Sử dụng trong tương lai (cho tới thời điểm này nó được biểu diễn bằng các số 0).

Security parameters index (SPI)

Nhận ra các thông số bảo mật, được tích hợp với địa chỉ IP, và nhận dạng các thương lượng bảo mật được kết hợp với gói tin.

Page 4: IPsec toàn tập

Sequence number

Một số tự động tăng lên mỗi gói tin, sử dụng nhằm chống lại tấn công dạng replay attacks.

Authentication data

Bao gồm thông số Integrity check value (ICV) cần thiết trong gói tin xác thực.

b. Encapsulating Security Payload (ESP)

Giao thức ESP cung cấp xác thực, độ toàn vẹn, đảm bảo tính bảo mật cho gói tin. ESP cũng hỗ trợ tính năng cấu hình sử dụng trong tính huống chỉ cần bảo mã hoá và chỉ cần cho authentication, nhưng sử dụng mã hoá mà không yêu cầu xác thực không đảm bảo tính bảo mật. Không như AH, header của gói tin IP, bao gồm các option khác. ESP thực hiện trên top IP sử dụng giao thức IP và mang số hiệu 50 và AH mang số hiệu 51.

0 - 7 bit 8 - 15 bit 16 - 23 bit 24 - 31 bit

Security parameters index (SPI)

Sequence number

Payload data (variable)

 

  Padding (0-255 bytes)  

    Pad Length Next Header

Authentication Data (variable)

 

Ý nghĩa của các phần:

Security parameters index (SPI)

Nhận ra các thông số được tích hợp với địa chỉ IP.

Sequence number

Tự động tăng có tác dụng chống tấn công kiểu replay attacks.

Payload data

Cho dữ liệu truyền đi

Padding

Sử dụng vài block mã hoá

Pad length

Page 5: IPsec toàn tập

Độ lớn của padding.

Next header

Nhận ra giao thức được sử dụng trong quá trình truyền thông tin.

Authentication data

Bao gồm dữ liệu để xác thực cho gói tin.

7. Implementations - thực hiện

IPsec được thực hiện trong nhân với các trình quản lý các key và quá trình thương lượng bảo mật ISAKMP/IKE từ người dùng. Tuy nhiên một chuẩn giao diện cho quản lý key, nó có thể được điều khiển bởi nhân của IPsec.

Bởi vì được cung cấp cho người dùng cuối, IPsec có thể được triển khai trên nhân của Linux. Dự án FreeS/WAN là dự án đầu tiên hoàn thành việc thực hiện IPsec trong mã nguồn mở cụ thể là Linux. Nó bao gồm một nhấn IPsec stack (KLIPS), kết hợp với trình quản lý key là deamon và rất nhiều shell scripts. Dự án FreeS/WAN được bắt đầu vào tháng 3 năm 2004. Openswan và strongSwan đã tiếp tục dự án FreeS/WAN. Dự án KAME cũng hoàn thành việc triển khai sử dụng IPsec cho NetBSB, FreeBSB. Trình quản lý các khoá được gọi là racoon. OpenBSB được tạo ra ISAKMP/IKE, với tên đơn giản là isakmpd (nó cũng được triển khai trên nhiều hệ thống, bao gồm cả hệ thống Linux).

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:

Page 6: IPsec toàn tập

- 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ệ

Page 7: IPsec toàn tập

- 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).

Page 8: IPsec toàn tập

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)

Page 9: IPsec toàn tập

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

(join_srv-1_server_to_domain.avi)

Đư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)

Page 10: IPsec toàn tập

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)

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)

Kết nối VPN Client Client-1 vào domain(join-vpn-client-1-to-greenlizardbooks_domain.avi) 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)

Page 11: IPsec toàn tập

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

(establish_L2TP_VPN_connection.avi)

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.

Page 12: IPsec toàn tập

Sử dụng IPSec Policy trong Windows

Thông tin quan trọng của bạn truyền trên mạng, bạn có chắc chắn thông tin đó không bị kẻ xấu đánh cắp. Hiện nay có rất nhiều phương pháp bảo mật dữ liệu truyền trên mạng. Phổ thông nhất và hiệu quả hiện nay đó là IPSec.

PHẦN 1

Thông tin quan trọng của bạn truyền trên mạng, bạn có chắc chắn thông tin đó không bị kẻ xấu đánh cắp. Vậy chúng ta bó tay sao, thật may mắn hiện nay có rất nhiều phương pháp bảo mật dữ liệu truyền trên mạng. Phổ thông nhất và hiệu quả hiện nay đó là IPSec, Trong bài viết này tôi sẽ mang đến các kiến thức về: Thế nào là IPSec, các IPSec Policy trong hệ thống Windows, cách triển khai áp dụng IPSec Policy trong bảo mật dữ liệu truyền trên mạng.

IPSec là tập hợp đầy đủ các giao thức đảm bảo thông tin truyền giữa hai máy tính được mã hóa và bảo mật trong hệ thống mạng không bảo mật. Mạng không bảo mật điển hình nhất đó là Internet. IPSec có hai tác dụng chính đó là bảo mật gói tin IP (IP Packet) và chống lại các tấn công.

IPSec bao gồm ba quá trình đó là Encryption, Decryption và Signing. Encryption đáp ứng yêu cầu dữ liệu phải được mã hóa trước khi truyền, Decryption đáp ứng yêu cầu khi dữ liệu đến đúng người nhận thì người đó mới có thể giải mã được, Signing đáp ứng yêu cầu chỉ nhận những dữ liệu từ nguồn tin cậy.

Trước khi quá trình truyền dữ liệu hai máy tính phải tiến hành việc thương lượng, thương lượng phương thức mã hóa, thương lượng phương thức giải mã.

Ví dụ về mã hóa thời xa xưa:

Mã hóa và giải mã được áp dụng từ khi chưa máy tính khi những bức thư quan trọng được gửi đi. Thời đó họ nghĩ ra một cách là viết thư chỉ là các con số như các tọa độ của chữ trong cuốn sách nào đó (ví dụ "33 32 10" trang 33, dòng 32, chữ thứ 5), cách mã hóa cả hai đều phải biết khi đọc những con số 33 32 10 là gì đó là quá trình thương lượng mã hóa. Khi người nhận thư nhận được bức thư này bản thân vẫn không thể đọc được hay giải mã được, người đó phải gửi lại bức thư khác là tôi đã nhận được bức thư của ông rồi. Khi người gửi nhận được tín hiệu là bức thư đã đến nơi thì gửi tiếp một bức thư khác chẳng hạn ông sử dụng cuốn tiểu thuyết nào đó mà giải mã. Lúc người nhận, nhận được hai hai bức thư một mã hóa, hai là phương thức giải mã thì có thể giải mã và lấy thông tin. Trong trường hợp người đưa thư bị mất một trong hai bức thư thì kẻ lấy được nó cũng không làm gì được. Có người nói vậy lấy được cả hai bức thu thì sao, điều này là không thể khi người nhận phải xác thực lại là tôi đã nhận đúng bức thư thì người gửi mới gửi tiếp Key để giải mã.

Với ý nghĩa ở trên ta có thể thấy IPSec được ứng dụng nhiều nhất ở trong VPN khi kết nối Site to Site, mọi thông tin truyền giữa hai máy chủ VPN đều được mã hóa và đảm bảo tính bảo mật.

Sử dụng IPSec trong quá trình truyền dữ liệu giữa hai máy bằng cách nào, trong bài viết này tôi giới thiệu với các bạn cách sử dụng IPSec Policy trong Group Policy của Windows.

Cách truy cập vào group policy để thiết lập IPSec policy

Page 13: IPsec toàn tập

Hình 1 cách truy cập vào IPSec Policy trong GPO

Trong IPSec Policy của Windows có ba chính sách mặc định đó là:

Server (Request Security)

Client (Respond Only)

Secure Server (Require Security)

Lưu ý trong một GPO bạn chỉ có thể thực hiện một trong ba thiết lập trên. Muốn thiết lập nhiều chính sách chúng ta tạo ra nhiều GPO rồi link tới những OU cần thiết trong domain.

1. Server (Request Security).

Khi máy chủ thiết lập chính sách này, khi có một kết nối đến nó hay từ nó đi tới máy khác thì máy chủ này sẽ yêu cầu thương lượng phương thức bảo mật (trong Windows tất cả các máy tính trong một domain đều có thể thương lượng bảo mật với nhau qua giao thức Kerberos). Với các máy trả lời là có thể thương lượng bảo mật ví như cùng trong domain có thể sử dụng Kerberos thì hai máy sẽ sử dụng phương thức đó để mã hóa và truyền dữ liệu với nhau. Nhưng khi nó yêu cầu thương lượng bảo mật một số máy không trong domain thì sẽ không thể thương lượng được thì quá trình truyền dữ liệu vẫn được thực hiện nhưng không được mã hóa thông tin và không đáp ứng yêu cầu bảo mật cao.

Page 14: IPsec toàn tập

Hình 2: Rules security trong Server (Request Security)

Thiết lập mặc định này máy chủ sẽ yêu cầu toàn bộ các giao tiếp IP phải thương lượng bảo mật trước khi truyền và tự động trả lời cho quá trình thương lượng bảo mật. Nếu thương lượng thất bại quá trình truyền dữ liệu không được mã hóa. Gói ICMP không luôn luôn được cho phép và không cần mã hóa. Trong thiết lập mặc định của Server (Request Security) bao gồm ba Rule Security:

All IP Traffic, All ICMP Traffic và <Dynamic>

a. All IP Traffic thiết lập

Page 15: IPsec toàn tập

Hình 3: Các thiết lập trong Rule Security: All IP Traffic

Với thiết lập mặc định này sẽ được áp dụng cho toàn bộ các giao tiếp thông qua IP (All IP Traffic), được áp dụng với Port, IP nguồn (source) là My IP địa từ chính máy yêu cầu, Port và IP đích (Destination) là Any IP. Với thiết lập hệ thống sẽ yêu cầu bảo mật khi máy tính giao tiếp với tất cả các máy khác.

Trong Filter Action có ba mức độ là Permit, Request Security, Require Security. Rule này với thiết lập mặc định phải là Request Security.

Authentication Methods mặc định chỉ sử dụng Kerberos để xác thực mà thôi, bạn có thể add thêm hai phương thức xác thực khác đó là CA và Preshare key.

Trong tab tunnel setting cho phép bạn thực hiện cấu hình tạo đường hầm ảo với toàn bộ các giao tiếp hay chỉ với một địa chỉ mạng hay địa chỉ host mà thôi.

Connection Type được áp dụng cho những dạng kết nối nào, với mặc định là Any Connection bạn có thể chỉ cần áp dụng cho các kết nối từ xa như VPN, hay LAN mà thôi.

b. All ICMP Traffic

Page 16: IPsec toàn tập

Hình 4: các thiết lập trong Rule Security: All ICMP Traffic.

Với thiết lập mặc định sẽ cho phép toàn bộ các gói ICMP đi ra và tới máy tính này.

Tab filter lọc toàn bộ gói ICMP, tab action thiết lập allow, không cần xác thực ..

c. <dynamic> rule

Page 17: IPsec toàn tập

Hình 5: Dynamic Rule

Với thiết lập trong Dynamic Security Rule này để đảm bảo hệ thống sẽ trả lời các request security nào.

Trong bảng trên thể hiện những phương thức mà chúng có thể trả lời như 3DES, DES, SH, MD5…

Phương thức xác thực sử dụng Kerberos

2. Client (Respond Only)

Nếu các client chịu chính sách này trong domain sẽ tự động trả lời các quá trình thương lượng bảo mật (trong domain sẽ tự động sử dụng Kerberos).

Page 18: IPsec toàn tập

Với thiết lập này hệ thống sẽ trả lời toàn bộ các request security thông qua giao thức xác thực Kerberos. Thiết lập này chính là <dynamic> rule Security trong Server (Request Security).

Do đó nếu bạn đã sử dụng chính sách Server (Request Security) bạn không cần sử dụng chính sách Client (Respond only) nữa, và cuối phần này tôi sẽ giải thích tại sao lại chỉ sử dụng một trong ba chính sách, Server (Request Security) và Client (Respond only), Server Secure (Require Security).

PHẦN 2:

3. Server Secure (Require Security).

Khi chính sách Require Security được enable lên toàn bộ quá trình giao tiếp tới nó đều được yêu cầu thương lượng phương thức bảo mật. Nếu thương lượng thành công thì quá trình truyền dữ liệu được tiến hành. Khác với Server (Request Security) đó là với chính sách này được enable nếu quá trình thương lượng bảo mật bị thất bại nó sẽ hủy bỏ quá trình giao tiếp.

Page 19: IPsec toàn tập

Trong thiết lập mặc định này cũng bao gồm ba Security Rule đó là All IP Traffic, All ICMP Traffic, <dynamic>. Nếu là thiết lập mặc định như vậy nó yêu cầu bắt buộc phải bảo mật từ máy chủ đó tới toàn bộ các máy khác nhưng từ các máy khác thì không thể đến được nó. Do vậy khi chúng ta muốn cho phép các máy client khác trong domain có khả năng truy cập được vào máy chủ đó đã enable chính sách này bạn phải chỉnh sửa lại: Source Port và Source IP là (Any) thay vì là (My IP).

Cách thực hiện chọn Rule All IP Traffic nhấn vào Edit trong rule này chọn tab IP filter list chọn All IP Traffic nhấn Edit, trong cửa sổ đó nhấn tiếp Edit.

Page 20: IPsec toàn tập

Chuyển Source IP từ My IP thành Any khi đó sẽ cho phép những giao tiếp bảo mật từ nó đi tới máy khác và từ máy khác tới nó. Với thiết lập này chỉ những máy cho domain có thể giao tiếp với nhau mà thôi các máy ngoài domain không thể giao tiếp được với nhau.

Khác với thiết lập của Server (Request Security) thiết lập All IP Traffic trong Server Secure (Require Security). Đó là thiết lập trong action filter là Require Security. Bắt buộc tất cả các giao tiếp ra bên ngoài đều phải được bảo mật không giống như Request Security nếu có bảo mật thì thương lượng không có thì truyền không bảo mật. Require Security bắt buộc chỉ cho phép những quá trình truyền thông tin phải đảm bảo tính bảo mật mà thôi.

Các Security Rule ở trong Server Secure (Require Security) khác đều tương tự với (Request Security).

4. Custom Policy

Nếu bạn không muốn sử dụng hay cấu hình lại các chính sách đã có từ trước bạn có thể tạo ra một chính sách mới.

Vào Group Policy Editor trong phần thiết lập các chính sách cho IPSec bạn chuột phải chọn Create IP Security Policy.

Page 21: IPsec toàn tập

Bạn chỉ được lựa chọn phương thức xác thực là Kerberos, CA, Preshare Key. Sau khi hoàn thành công việc tạo mới một IP Security Policy bạn phải add thêm các rule tương tự như All IP Traffic hay All ICMP traffic, phương thức xác thực, tunnel, apply cho các dạng kết nối nào.

Ý nghĩa của nó tương tự như phần All IP Traffic trong phần 1 của bài viết.

5. Cách thực áp dụng IPSec Policy vào thực tế.

Chúng ta hãy quan tâm tới một ví dụ sau:

"Bạn có một domain với tên VNE.NET bạn có hai máy chủ chứa dữ liệu đó là Server1.vne.net và Server2.vne.net. Trong đó máy chủ Server1.vne.net chứa dữ liệu rất quan trọng cho công ty, dữ liệu chứa trên máy chủ Server2.vne.net chứa dữ liệu public. Người quản lý nói với bạn rằng ông ấy muốn ngoài việc bảo mật share dữ liệu sử dụng NTFS Permission và Share Permission ra các máy chủ còn phải đáp ứng.

Toàn bộ quá trình truyền dữ liệu giữa các máy client và Server1.vne.net đều được mã hóa để đảm bảo tính bảo mật, và chỉ cho những máy tính trong domain được truy cập vào máy chủ đó. Những máy tính không trong domain sẽ không thể truy cập được vào máy chủ đó nhằm đảm bảo tính bảo mật cho dữ liệu.

Toàn bộ quá trình truyền dữ liệu giữa client với Server2.vne.net phải đáp ứng: Nếu quá trình truyền dữ liệu với những máy tính trong domain phải được mã hóa, nhưng vẫn đảm bảo cho người dùng không trong domain vẫn truy cập vào bình thường."

Với ví dụ này bạn cần phải thực hiện những yêu cầu sau:

Do máy chủ Server1.vne.net yêu cầu toàn bộ các giao tiếp phải được bảo mật và chỉ cho phép giao tiếp với các máy trong cùng domain. Như chúng ta đã biết trong cùng domain sẽ có một giao thức xác thực trung là Kerberos. Chúng hoàn toàn có thể thương lượng bảo mật với nhau, người ngoài domain thì không có cơ chế xác thực Kerberos. Chúng ta phải áp dụng chính xách Server Secure (Require Security) cho máy chủ Server1.vne.net sẽ đáp ứng toàn bộ yêu cầu của bài toán.

Page 22: IPsec toàn tập

Còn trong máy chủ Server2.vne.net sẽ áp dụng chính sách là Server (Request Security) Bởi yêu cầu bắt buộc các máy tính trong domain giao tiếp với máy chủ này phải được mã hóa, còn máy chủ này cũng cho phép người khác không trong domain cũng có thể giao tiếp được với nó.

Cách thực hiện.

Vào Active Directory Users and Computers

Tạo hai OU mới là: Secure và Public sau đó chuyển máy chủ Server1.vne.net vào OU Secure và Server2.vne.net vào OU Public.

Chuột phải vào OU Secure chọn Properties chuyển sang tab Group Policy, nhấn vào New để tạo ra một GPO mới đặt tên cho GPO mới, nhấn tiếp vào Edit sẽ bật ra cửa sổ Group Policy Editor

Page 23: IPsec toàn tập

Vào phần thiết lập của IPSec policy trong GPO đó chuột phải vào Server Secure (Require Security) chọn assign để apply chính sách đó cho OU này.

Làm tương tự với OU Public và assign Server (Request Security) cho máy chủ Server2.vne.net.

Ở đây tôi chỉ tạo GPO mới link trực tiếp tới OU mà không thực hiện với domain bởi khi enable nhiều GPO trong cùng domain khi đó cứ thiết lập nào được enable của GPO trước thì GPO sau có cấu hình thì cũng không có tác dụng.

Lưu ý rằng trong Rule All IP Traffic chúng ta phải chỉnh lại source IP là ANY thay cho My IP, nếu bạn assign chính sách Secure Server (Require Security) mà chưa có thay đổi này thì bất kỳ máy tính nào cũng không thể giao tiếp được với máy tính khác.

Khi thực hiện song các bước này các bạn sẽ thấy chỉ các máy tính trong domain mới có khả năng truy cập vào máy chủ Server1.vne.net, các máy tính không trong domain chỉ có thể Ping được cho máy chủ này mà thôi.

Và Server2.vne.net khi request thương lượng bảo mật máy tính trong domain trả lời khi đó truyền thông tin sẽ được bảo mật. Nếu các máy không trả lời thì giao tiếp sẽ được tiến hành nhưng không bảo mật.

Bảo vệ thư mục dùng chung với IPSec

Giải pháp VLAN thường được triển khai để cách ly các máy tính nối mạng nhưng thực tế nhiều đơn vị không có điều kiện trang bị switch hỗ trợ VLAN. Trường hợp này, dùng IPSec là giải pháp hữu hiệu để bảo vệ tài nguyên mạng chẳng hạn như thư mục dùng chung.

Trong mô hình ví dụ có 2 nhóm máy tính, gọi là nhóm 1 và nhóm 2. Ta sẽ thực hiện cấu hình IPSec để chỉ có các máy tính ở trong cùng 1 nhóm có thể truy cập thư mục dùng chung của nhau.

Để truy cập thư mục dùng chung, hệ điều hành XP/2000/2003 dùng giao thức TCP port 139 và port 445. Như vậy ta sẽ tạo 1 policy để lọc các cổng này.

1. Tạo mới và cấu hình IP Secutity Policy cho máy tính đầu tiên

Bước 1: Chọn Start, Run và gõ MMC, nhấn Enter để mở trình Microsoft Manangement Console.

Page 24: IPsec toàn tập

Bước 2: Trong cửa sổ Console, chọn File, rồi chọn Add/Remove Snap-in.

Bước 3: Trong hộp thoại mới mở, nhấn Add. Trong hộp thoại Add Stanalone Snap-in ta chọn IP Security Policy Management rồi nhấn Add.

Bước 4: Trong hộp thoại Select Computer or Domain ta chọn Local computer rồi nhấn Finish.

Bước 5: Tiếp theo nhấn Close, rồi OK để trở về màn hình của MMC

Bước 6: Nhấn phải chuột vào mục IP Security Policies on Local Computer và chọn Create IP Security Policy. Nhấn Next để tiếp tục.

Bước 7: Tiếp theo, gõ tên của Policy cần tạo vào ô name, ví dụ "Lọc cổng 445 và 139". Nhấn Next để tiếp tục.

Bước 8: Chọn Activate the default response rule, rồi nhấn Next. Tiếp theo, tại Default Response Rule Authentication Method, bạn chọn Use this string to protect the key exchange (preshared key) và gõ vào "1234". Nhấn Next để tiếp tục.

Bước 9: Chọn Edit properties, rồi nhấn Finish để hoàn tất.

Bước 10: Trong hộp thoại "Lọc cổng 445 và 139", bạn bỏ mục chọn ở phần <Dynamic> và nhấn Add. Tiếp tục, bạn chọn Next và chọn This rule does not specify a tunnel. Nhấn Next, chọn All Connection, rồi nhấn Next.

Bước 11: Trong hộp thoại IP Filter List, bạn chọn Add. Tại mục name, bạn gõ vào tên của danh sách, ví dụ "Cổng 445, 139 ra - vào" (nên đặt tên cho dễ nhớ). Nhấn Add, rồi Next để tiếp tục.

Bước 12: Trong hộp thoại IP Filter Wizard, bạn gõ mô tả vào ô Description, ví dụ "445 ra". Nhấn Next để tiếp tục.

Bước 13: Tại mục IP Traffic Source Address bạn chọn My IP Address. Nhấn Next để tiếp tục. Tại mục IP Traffic Destination Address bạn chọn Any IP Address. Nhấn Next để tiếp tục. Tại mục Select a protocol type bạn chọn TCP. Nhấn Next để tiếp tục.Tại mục hộp thoại IP Protocol Port bạn chọn To this port và gõ vào giá trị 445.Nhấn Next rồi Finish để hoàn tất.

Bước 14: Lặp lại từ bước 12 đến bước 13 thêm 3 lần nữa với các tham số như sau:

- Lần 1:* Descripton : Cổng 445 vào* Source Address : My IP Address* Destination Address: Any IP Address* Protocol Type: TCP* IP Protocol Port: Chọn From this port giá trị 445

- Lần 2:* Descripton: Cổng 139 ra* Source Address: My IP Address* Destination Address: Any IP Address* Protocol Type: TCP* IP Protocol Port: Chọn To this port giá trị 139

- Lần 3:* Descripton: Cổng 139 vào* Source Address: My IP Address* Destination Address: Any IP Address* Protocol Type: TCP* IP Protocol Port: Chọn From this port giá trị 139Kết thúc ta thu được kết quả như hình. Nhấn OK để tiếp tục.

Bước 15: Trong hộp thoại Security Rile Wizard, ta chọn mục Cổng 445, 139 ra - vào. Nhấn Next để tiếp tục.

Page 25: IPsec toàn tập

Bước 16: Tại hộp thoại Filter Action ta chọn mục Require Security. Nhấn Edit để thay đổi tham số của Filter Action.

Bước 17: Trong hộp thoại Require Security Properties, ta chọn mục Use session key perfect forward secrecy (PFS). Nhấn OK để quay trở lại rồi nhấn Next để tiếp tục.

Bước 18: Tiếp theo trong hộp thoại Authentication Method, bạn chọn Use this string to protect the key exchange (preshared key) và gõ vào "1234".

Bạn có thể dùng chuỗi khác phức tạp hơn, tuy nhiên phải nhớ rằng các máy tính trong cùng 1 nhóm sẽ có preshared key giống nhau.

Tại hộp thoại này còn có 2 mục trên chúng ta không chọn có ý nghĩa như sau:

- Active Directory default (Kerberos V5 protocol): Chỉ chọn khi máy tính của bạn là thành viên được đăng nhập vào máy chủ (Windows Server 2000/2003) có cài Active Directory (hay còn gọi tắt là AD). Kerberos V5 là giao thức được mã hóa dữ liệu sử dụng giữa các user nằm trong AD.

- Use a certificate from this certification authority (CA): Sử dụng phương thức xác thực dựa trên Certificate Authority (CA). Muốn dùng phương thức này, bạn cần kết nối đến một máy chủ có cài Certificate Service để thực hiện yêu cầu và cài đặt CA dùng cho IPSec.Nhấn Next tiếp tục, rồi Finish để trở về.

Bước 19: Trong hộp thoại Edit Rule Properties bạn chọn mục "Cổng 445, 139 ra - vào" và nhấn Apply rồi OK để trở về.

Bước 20: Nhấn phải chuột vào mục IP Security Policy vừa tạo (Lọc cổng 445 và 139) và chọn Assign.

2. Sao chép IP Security cho máy tiếp theo

Ta có thể tiến hành 20 bước trên cho máy 2, rồi máy 3. Tuy nhiên, như vậy sẽ rất mất thời gian và có thể xảy ra nhầm lẫn dẫn đến không thể liên lạc được với nhau. Ta dùng công cụ netsh để thực hiện thao tác Export IPsec Policy để xuất policy ra 1 file, sau đó nhập (Import) file này vào máy tính khác. Cách thực hiện như sau:

Bước 1: Chuẩn bị

Chọn Start, Run và gõ cmd và ấn Enter. Tại dấu nhắc của DOS ta gõ lệnh sau để tạo ra thư mục Ipsec ở ổ đĩa C:md C:\Ipsec

Bước 2: Xuất IPSec policy ra file có tên Loc445va139.ipsecGõ lệnh sau:netsh ipsec static exportpolicy file = c:\Ipsec\Loc445va139(phần mở rộng ipsec do netsh tự thêm vào)

Bước 3: Nhập IPSec Policy từ file Loc445va139.ipsecChép file Loc445va139.ipsec vào thư mục C:\IPsec ở máy 2 và gõ lệnh sau:netsh ipsec static importpolicy file = c:\Ipsec\Loc445va139.ipsecTại máy 2, tiếp tục các bước từ 1 đến 5 ở mục 1, để có được màn hình quản lý IP Security Management. Nhấn phải chuột vào mục IP Security Policy (Lọc cổng 445 và 139) và chọn Assign.Tiếp tục bước 3 với máy 3.

3. Thực hiện với nhóm 2

Đối với máy 4, 5 trong nhóm 2, ta tiến hành tương tự với nhóm 1 như đã trình bày ở trên. Tuy nhiên giá trị preshared key phải khác là giá trị của nhóm 1.

Page 26: IPsec toàn tập