Đầu xuân năm mới tôi viết 1 TUT để tặng anh em cũng như để có điều kiện trao đổi trau dồi thêm kiến thức với mọi người .
Bài viết này tôi viết riêng cho HVA do đó mọi việc sao chép vui lòng ghi rõ nguồn từ HVAonline.net
Bài viết phía dưới là những kiến thức nhỏ bé của tôi muốn chia sẻ và trao đổi cùng các bạn . Trong bài viết tôi đã có gắng hết sức để dùng các từ tiếng Việt thay vì dùng tiếng Anh và nhất thiết sẽ có những sai sót mong các bạn bỏ qua .
Tài liệu tham khảo : Implementing Secure Converged Wide Area Networks của Cisco
Cơ chế hoạt động và cách cấu hình VPN IP Sec trên router Cisco
Phần I Giới thiệu về cơ chế hoạt động của bộ giao thức IPSec
1. Giao thức Ipsec
Ipsec có 3 tầng giao thức chính
- Internet Key Exchange ( IKE ) : Giúp cho các thiết bị tham gia VPN trao đổi với nhau về thông tin an ninh như mã hóa thế nào ? Mã hóa bằng thuật toán gì ? Bao lâu mã hóa 1 lần . IKE có tác dụng tự động thỏa thuận các chính sách an ninh giữa các thiết bị tham gia VPN . Do đó IKE giúp cho Ipsec có thể áp dụng cho các hệ thống mạng mô hình lớn .
Trong quá trình trao đổi key IKE dùng thuật toán mã hóa bất đối xứng gồm bộ Public key và Private Key để bảo vệ việc trao đổi key giữa các thiết bị tham gia VPN .
- Encapsulation Security Payload (ESP) : Có tác dụng xác thực ( authentication ) , mã hóa ( encrytion ) và đảm bảo tính trọn vẹn dữ liệu ( securing of data ) . Đây là giao thức được dùng phổ biến trong việc thiết lập IPSec .
- Authentication Header ( AH ) : Có tác dụng xác thực , AH thì thường ít được sử dụng vì nó đã có trong giao thức ESP
2. Ipsec có 2 dạng là :
- Transports mode : Dữ liệu (Layer4 Payload) được mã hóa sẽ nằm trong ESP header và ESP sẽ chèn vào giữa Layer 2 header và layer 3 header
- Tunnel mode : Dữ liệu sẽ được mã hóa và đóng gói thành 1 IP Header mới với source và des IP mới .
IPSec có những phương pháp mã hóa như DES (Data Encrution Standard) , 3DES , AES (Advance Encrytion Standar)
IPSec có những phương pháp xác thực như HMAC , MD5 , SHA-1
3. Trước khi trao đổi key để thiết lập 1 kênh truyền ảo (VPN-Ipsec) IPSEC sẽ làm nhiệm vụ là xác thực xem mình đang trao đổi với ai ?
Các phương pháp Peer Authentication :
- Username password
- OTP (One time password)
- Biometric (Xác thực bằng sinh học)
- Preshared keys
- Digital certificate (chữ ký số) phương pháp này thường được dùng trong chính phủ điện tử .
4. Cơ chế hoật động của Internet Key Exchange ( IKE )
Như đã nói ở trên giao thức IKE sẽ có chức năng trao đổi key giữa các thiết bị tham gia VPN và trao đổi chính sách an ninh giữa các thiết bị . Và nếu không có giao thức này thì người quản trị phải cấu hình thủ công .
Và những chính sách an ninh trên những thiết bị này được gọi là SA (Security Associate)
Do đó các thiết bị trong quá trình IKE sẽ trao đổi với nhau tất cả những SA mà nó có . Và giữa các thiết bị này sẽ tự tìm ra cho mình những SA phù hợp với đối tác nhất
Những key được trao đổi trong quá trình IKE cũng được mã hóa và những key này sẽ thay đổi theo thơi gian (generate key) để tránh tình trạng bruteforce của Attacker .
Và dứoi đây là các giao thức xác thực cũng như mã hóa key trong quá trình IKE
Oakley (Tham khao thêm trên RFC 2412) , ISAKMP (RFC 2408) , Skeme .
Giao thức IKE sử dụng UDP port 500
5. Các giai đoạn hoạt động của IKE (IKE Phases)
- IKE Phases 1 (Bắt buộc xảy ra trong quá trình IKE)
Bước 1 : Xác thực giữa các thiết bị tham gia VPN (Authentication the peers)
Bước 2 : Trao đổi các SA
Và Phases 1 này có 2 chế độ hoạt động là Main mode (Cần 6 mess để hoàn thành các bước 1&2) và Aggressive mode (Cần 3 mess đển hoàn thành các bước 1&2)
- IKE Phases 1.5 (Không bắt buộc)
Giao đoạn này có tác dụng cấp phát địa chỉ IP LAN , DNS thông qua DHCP và xác thực User (Authentication User ) . Giao thức được gọi trong quá trình này là Xauth (Extended Authentication)
- IKE Phases 2 (Bắt buộc phải xảy ra )
Sau khi trải qua Phase 1& 1.5 lúc này giữa các thiết bị đã có đầy đủ các thông tin về nhau như chính sách mã hóa , xác thực ( SA ) và key .
Và nhờ IKE thì giữa các thiết bị đã xây dựng được 1 kênh truyền ảo an ninh .
Đến đây giữa các thiết bị lại tiếp tục trao đổi cho nhau 1 SA khác ( mọi người chú ý khúc này ) .
Cái SA được trao đổi lúc này là chính sách của giao thức Ipsec (chính sách an ninh đóng gói dự liệu ) nó khác với SA của giao thức IKE ( làm thế nào để xây dựng 1 kênh an toàn ) .
Cái SA của Ipsec này nó sẽ trao đổi với nhau việc mã hóa đóng gói dự liệu theo ESP hay AH , nó hoạt động theo dạng tunel mode hay transports mode , thời gian mã hóa là bao lâu ? .
Đây là mã hóa dự liệu chứ không còn là mã hóa trao đổi khóa (key) như diễn ra trong quá trình IKE .
Đến lúc này nếu muốn trao đổi với ai thì nó sẽ trao đổi SA IPSec với người đó và dữ liệu được gửi trên đường truyền được mã hóa dựa vào SA Ipsec này
Vậy là trong phần 5 tôi đã trình bày 3 bước chính để tạo ra 1 kênh truyền ảo an ninh (VPN Ipsec)
6 .Các chức năng khác của IKE giúp cho IKE hoạt động tối ưu hơn bao gồm :
- Dead peer detection ( DPD ) and Cisco IOS keepalives là những chức năng bộ đếm thời gian . Nghĩa là sau khi 2 thiết bị đã tạo được VPN IPsec với nhau rồi thì nó sẽ thường xuyên gửi cho nhau gói keepalives để kiểm tra tình trạng của đối tác . Mục đích chính để phát hiện hỏng hóc của các thiết bị . Thông thường các gói keepalives sẽ gửi mỗi 10s
- Hỗ trợ chức năng NAT-Traversal : Chức năng này có ý nghĩa là nếu trên đường truyền từ A tới B nếu có những thiết bị NAT or PAT đứng giữa thì lúc này IPSec nếu hoạt động ở chế độ tunel mode và enable chức năng NAT- Trasersal sẽ vẫn chuyển gói tin đi được bình thường .
Tại sao IPSec chỉ hoạt động ở tunel mode mà không hoạt động ở tranports mode thì tôi sẽ giải thích kỹ trong những đoạn sau .
Lưu ý : Chức năng NAT-T bắt đầu được Cisco hỗ trợ tự phiên bản IOS Release 122.2(13)T
Tại sao phải hỗ trợ chức năng NAT-T thì các packet mới tiếp tục đi được ?
Các bạn chú ý phần trên tôi đã trình bày . Khi thực hiện quá trình mã hóa bằng ESP thì lúc này các source IP , port và destination IP, port đều đã được mã hóa và nằm gọn tron ESP Header . Như vậy khi tất cả các thông tin IP và Port bị mã hóa thì kênh truyền IPSec không thể diễn ra quá trình NAT .
Do đó NAT Traversal ra đời trong quá trình hoạt động của IKE nhằm phát hiện và hỗ trợ NAT cho Ipsec .
Các dự liệu sẽ không bị đóng gói trực tiếp bỏi giao thức IP mà nó sẽ đóng gói thông qua giao thức UDP . Và lúc này các thông tin về IP và Port sẽ nằm trong gói UDP này .
- Chức năng Mode Configuration :
Chức năng này có tác dụng pushing các chính sách bảo mật cũng như thông tin về IP , DNS , Gateway cho người dùng di động khi họ quay VPN vào hệ thống .
Ngoài ra Cisco có cung cấp giải pháp cho việc này đó là Easy VPN . Nhưng trong phạm vi bài này tôi sẽ không đi sâu về vấn đề này .
- Chức năng cuối cùng IKE hỗ trợ mà tôi muốn giới thiệu với các bạn đó là Xauth ( Tôi đã giới thiệu sơ trong phares 1.5 )
Xauth sẽ cho phép phương thức AAA (Authentication , Authorization , Accounting) hoạt động đối với việc xác thực user . Các bạn cũng nên lưu ý phần này . Xauth không đè lên IKE mà việc xác thực của giao thức Xauth này là xác thực người dùng chứ không phải quá trình xác thực diễn ra trong Phares 1
Như vậy trong phần I tôi đã giới thiệu cơ chế hoạt động của VPN Ipsec và đi sâu vào bộ giao thức đầu tiên là IKE . Trong các phần kế tiếp tôi sẽ trình bày kỹ hơn về cơ chế hoạt động của ESP và AH . Sau đó là cấu hình Router trong 1 sơ đồ cụ thể .
Hy vọng bài viết này sẽ giúp các bạn hiểu hơn phần nào về giao thức IP Sec và cách thiết lập VPN Ipsec sẽ được trình bày ở các phần kế tiếp ......
Thangdiablo