Có hai loại IPSEC VPN: VPN Site-to-Site (Lan-to-Lan) được mã hóa và VPN truy cập từ xa (Remote Access VPN). VPN Site-to-Site được sử dụng rộng rãi để kết nối an toàn các mạng văn phòng ở xa còn Remote Access VPN để cho phép người dùng (nhân viên) làm việc từ xa truy cập tài nguyên mạng ở site trung tâm. Trong bài viết này sẽ mô tả ngắn gọn một Site-to-Site IPSEC VPN và kèm một ví dụ cấu hình đầy đủ với hai Bộ định tuyến IOS của Cisco sử dụng IPSEC. Cũng cần lưu ý rằng IPSEC VPN site-to-site cũng có thể được định cấu hình trên tường lửa Cisco ASA (Firewall Cisco). Với IPSEC VPN, các doanh nghiệp có thể kết nối các mạng LAN văn phòng từ xa với nhau qua Internet với tính năng mã hóa và bảo mật mạnh mẽ do giao thức IPSEC cung cấp. IPSEC là một tiêu chuẩn bảo mật IETF. Về cơ bản, nó là một tập hợp của một số giao thức cung cấp thông tin liên lạc an toàn qua các đường dẫn không an toàn có sẵn (FTTH chẳng hạn). Do đó, nó lý tưởng để kết nối các mạng LAN ở xa một cách an toàn qua Internet . Chúng ta có thể sử dụng một mạng WAN riêng với các kết nối Frame Relay hoặc MPLS, tuy nhiên, điều này sẽ mang lại chi phí rất cao. Thay vào đó, với IPSEC VPN, chúng ta có thể sử dụng kết nối Internet giá rẻ (sẽ được bảo mật bởi IPSEC) để liên lạc giữa các site từ xa của công ty hay tập đoàn với nhiều chi nhánh. Sơ đồ mạng (Network Diagram) Bài viết sẽ sử dụng sơ đồ trên cho kịch bản cấu hình. Nói chung, có hai giai đoạn cho IPSEC VPN: Giai đoạn 1: Trong Giai đoạn này, chúng ta cấu hình chính sách ISAKMP. Chính sách này thiết lập một kênh bảo mật ban đầu mà qua đó sẽ tiếp tục giao tiếp. Nó xác định cách các đồng đẳng ipsec sẽ xác thực lẫn nhau và những giao thức bảo mật nào sẽ được sử dụng. Giai đoạn 2: Trong Giai đoạn này, chúng ta cấu hình crypto map và các bộ chuyển đổi crypto. Nói chung, Giai đoạn 2 đề cập đến việc quản lý lưu lượng thông tin liên lạc dữ liệu thực tế giữa các Sites. Các bộ biến đổi được cấu hình ở đây, xác định giao thức xác thực và mã hóa nào sẽ được sử dụng trên lưu lượng dữ liệu. Cấu hình (Configuration) Để biết cấu hình VPN site-to-site IPSEC, hãy xem ví dụ sau. Một điểm quan trọng cần lưu ý là cấu hình NAT. Trong hầu hết các mạng thực, bộ định tuyến biên kết nối Site với Internet cũng được sử dụng là điểm kết thúc đường hầm IPSEC VPN. Bộ định tuyến biên giới này cũng phải thực hiện NAT để cung cấp quyền truy cập vào các địa chỉ IP LAN riêng tới Internet. Tuy nhiên, IPSEC không hoạt động với NAT. Do đó, chúng ta cần tạo quy tắc miễn NAT cho lưu lượng đi từ Site1 đến Site2 (và ngược lại) để tắt NAT cho lưu lượng sẽ đi qua đường hầm IPSEC. Cấu hình đầy đủ như bên dưới: Cấu hình cho Cisco ROUTER A: ROUTER-A#show run Building configuration… version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname ROUTER-A ! boot-start-marker boot-end-marker ! ip audit po max-events 100 no ip domain lookup no ftp-server write-enable ! !— Define Internet Key Exchange (IKE) policy. crypto isakmp policy 10 !— Specify the 256-bit AES as the !— encryption algorithm within an IKE policy. encr aes 256 !— Specify that pre-shared key authentication is used. authentication pre-share !— Specify the shared secret. crypto isakmp key testkey1234 address 200.0.0.1 ! !— Define the IPSec transform set. crypto ipsec transform-set aes-sha-transform esp-aes 256 esp-sha-hmac ! !— Define crypto map entry name “aesmap” that will use !— IKE to establish the security associations (SA). crypto map aesmap 10 ipsec-isakmp !— Specify remote IPSec peer. set peer 200.0.0.1 !— Specify which transform sets !— are allowed for this crypto map entry. set transform-set aes-sha-transform !— Name the access list that determines which traffic !— should be protected by IPSec. match address acl_vpn ! interface FastEthernet0/0 ip address 100.0.0.1 255.255.255.0 ip nat outside !— Apply crypto map to the outside interface. crypto map aesmap ! interface FastEthernet0/1 ip address 192.168.1.254 255.255.255.0 ip nat inside ip nat inside source list acl_nat interface FastEthernet0/0 overload ip classless ip route 0.0.0.0 0.0.0.0 100.0.0.2 no ip http server no ip http secure-server ! ip access-list extended acl_nat !— Exclude protected traffic from being NAT’ed. deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 permit ip 192.168.1.0 0.0.0.255 any !— Access list that defines traffic protected by IPSec. ip access-list extended acl_vpn permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 ! ! line con 0 exec-timeout 0 0 line aux 0 line vty 0 4 ! end Cấu hình cho Cisco ROUTER B: ROUTER-B#show run Building configuration… version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname ROUTER-B ! boot-start-marker boot-end-marker ! ip audit po max-events 100 no ip domain lookup no ftp-server write-enable ! !— Define Internet Key Exchange (IKE) policy. crypto isakmp policy 10 !— Specify the 256-bit AES as the !— encryption algorithm within an IKE policy. encr aes 256 !— Specify that pre-shared key authentication is used. authentication pre-share !— Specify the shared secret. crypto isakmp key testkey1234 address 100.0.0.1 ! !— Define the IPSec transform set. crypto ipsec transform-set aes-sha-transform esp-aes 256 esp-sha-hmac ! !— Define crypto map entry name “aesmap” that will use !— IKE to establish the security associations (SA). crypto map aesmap 10 ipsec-isakmp !— Specify remote IPSec peer. set peer 100.0.0.1 !— Specify which transform sets !— are allowed for this crypto map entry. set transform-set aes-sha-transform !— Name the access list that determines which traffic !— should be protected by IPSec. match address acl_vpn ! interface FastEthernet0/0 ip address 200.0.0.1 255.255.255.0 ip nat outside !— Apply crypto map to the outside interface. crypto map aesmap ! interface FastEthernet0/1 ip address 192.168.2.254 255.255.255.0 ip nat inside ip nat inside source list acl_nat interface FastEthernet0/0 overload ip classless ip route 0.0.0.0 0.0.0.0 200.0.0.2 no ip http server no ip http secure-server ! ip access-list extended acl_nat !— Exclude protected traffic from being NAT’ed. deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 permit ip 192.168.2.0 0.0.0.255 any !— Access list that defines traffic protected by IPSec. ip access-list extended acl_vpn permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255 ! line con 0 exec-timeout 0 0 line aux 0 line vty 0 4 ! end Đến đây bạn có thể ping từ Site A (192.168.1/0/24) qua Site B (192.168.2.0/24) thông suốt, chứng tỏ Site A và Site B có thể giao tiếp với nhau thông qua hầm IPSEC. Bài viết VPN Site-to-Site trên bộ chuyển mạch Router Cisco đã hoàn tất. Chúc các bạn thực hiện thành công!
Tìm hiều qui trình thiết lập Tunnel IPSEC trên Router Cisco I. Quy trình xây dựng đường hầm IPSEC-VPN - Xây dựng IPSEC VPN trải qua 2 giai đoạn 1. IKE phase 1: - Đàm phán về Policy - Đàm phán về Diffie hellman - Xác thực peer - Xây dựng đường hầm ISAKMP sử dụng 1 trong 2 mode : 1.1 Main mode : Thường dùng cho Site-to-site. Sử dụng tất cả 6 thông điệp nói chuyện qua lại. 6 thông điệp đó trải qua 3 bước làm việc gồm : - Bước 1 : Thống nhất Policy giống nhau (encryption, pre-share key…DES: Kiểu mã hóa MD5: Thuật toán băm MD5 để xác thực Pre-share: Thống nhất sử dụng Pre-share key để xác thực DH1: Sử dụng Diffie Hellman group 1 để trao đổi khóa Lifetime: Quy đinh thời gian sống của đường hầm Bước 2 : Sử dụng DH để sinh ra key chung Bước 3 : Chứng thực . Có thể dùng Pre-share key RSA signatures RSA encrypted nonces. => Tới đây đường hầm bidirectional (2 chiều) đã được thiết lập 1.2 Agressive mode : Sử dụng 3 thông điệp. Thường dùng chi client-to-site 2. IKE Phase 2 - Xây dựng đường hầm IPSEC thì dùng Quick mode : Đường hầm IPSEC là đường hầm 1 chiều II. Các bước cấu hình IPSEC site-to-site 1. Các bước cấu hình VPN site-to-site - Như ở trên thì IPSEC VPN sẽ phải cấu hình qua 2 phase. - Để cấu hình VPN site-to-site bạn cần trải qua 5 bước cấu hình 1.1 Interesting traffic: Là traffic cần bảo vệ để đi vào được hầm. ví dụ như gói tin ra internet thì đi bình thường, gói tin đi từ Host A qua Host B mới cần được bảo vệ gọi là Interesting traffic - Đảm bảo ACL cho phép các traffic của IPSEC-VPN đi quaESP port 50 AH port 51 UDP port 500 (ISAKMP) 1.2 Phase 1 - Tạo các Policy để xây dựng đường hầm ISAKMP Kiểu mã hóa Thuật toán băm MD5 để xác thực Kiểu xác thực Group DH sử dụng để trao đổi khóa Lifetime: Quy đinh thời gian sống của đường hầm 1.3 Cấu hình transform set - Cấu hình transform set để mã hóa dữ liệu - Transform set dùng để thương lượng trong suốt quá trình IKE phase 2. Bạn có thể cấu hình nhiều transform set - Transform set là sự kết hợp giữa: Cơ chế cho việc chứng thực chính sách AH Cơ chế cho việc mã hóa: chính sách ESP Chế độ IPSec (phương tiện truyền thông cùng với đường hầm bảo mật) - Transform set được trao đổi trong suốt quá trình trao đổi quick mode ở phase 2 IKE, cả 2 Router sẽ thực hiện tìm kiếm transform set giống nhau ở cả 2 bên. IPsec chỉ chọn 1 transform set duy nhất cho mỗi bên SA - Khi 1 transform set giống nhau được tìm thấy thì nó sẽ sử dụng để bảo vệ dữ liệu trên đường truyền. 1.4 Crypto ACLs: - Dùng để mô tả traffic nào cần được bảo vệ và traffic nào thì không cần 1.5 Crypto Map - Tạo đường hầm IPSEC tạo chính sách tên mymap để:Áp policy vào đường hầm Khai báo peer (IP của đầu VPN bên kia) - Cuối cùng là apply vào interface. Và thực hiện cấu hình IPSEC-VPN tương tự với peer bên kia 2. Cấu hình Cisco Router 2.1. Đảm bảo traffic VPN không bị ACLs block RouterA#show access-lists access-list 102 permit ahp host 172.30.2.2 host 172.30.1.2 access-list 102 permit esp host 172.30.2.2 host 172.30.1.2 access-list 102 permit udp host 172.30.2.2 host 172.30.1.2 eq isakmp 2.2 Cấu hình IKE phase 1 - Thiết lập các chính sách RouterA(config)#crypto isakmp policy 110 RouterA(config–isakmp)#authentication pre-share RouterA(config–isakmp)#encryption des RouterA(config–isakmp)#group 1 RouterA(config–isakmp)#hash md5 RouterA(config–isakmp)#lifetime 86400 2.3 Cấu hình transform-sets RouterA(config)#crypto ipsec transform -set mine esp-des 2.4 Cấu hình crypto ACLs - Xác định traffic cần được bảo vệ và ACLs được sử dụng là kiểu Extended permit: Mã hóa deny: không mã hóa RouterA(config)#access-list 110 permit tcp 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255 2.5 Cấu hình IPsec crypto Maps - Xác định peer-VPN RouterA(config)#crypto map mymap 10 ipsec-isakmp RouterA(config-crypto-map)#match address 110 RouterA(config-crypto-map)#set peer 172.30.2.2 default RouterA(config-crypto-map)#set peer 172.30.3.2 RouterA(config-crypto-map)#set pfs group1 RouterA(config-crypto-map)#set tranform-set mine RouterA(config-crypto-map)#set security-association lifetime seconds 86400 - Cuối cùng là apply lên interface RouterA (config)#interface serial0/1 RouterA (config -if)#crypto map mymap - Các bạn thực hiện cấu hình hoàn toàn tương tự trên Router bên kia 3. Show and test - Các lệnh show: //Xem các policy IKE show crypto isakmp policy // Xem transform-set đã cấu hình show crypto ipsec transform-set // xem crypto-map show crypto map - Kiểm tra trạng thái IPSEC RouterA#show crypto ipsec sa Interface: Serial0/1 Crypto map tag: mymap, local addr. 172.30.1.2 local ident (addr/mask/prot/port): (172.30.1.2/255.255.255.255/0/0) remote ident (addr/mask/prot/port): (172.30.2.2/255.255.255.255/0/0) current_peer: 172.30.2.2 PERMIT, flacs={origin_is_acl,} #pkts encaps: 21, #pkts encrypt: 21, #pkts digest 0 #pkts decaps: 21, #pkts decrypt: 21, #pkts verify 0 #send errors 0, #recv errors 0 local crypto endpt.: 172.30.1.2, remote crypto endpt.: 172.30.2.2 path mtu 1500, media mtu 1500 current outbound spi: 8AE1C9C Cám ơn các bạn đã đọc bài viết!