- Giới hạn truy cập đến các client VPN IPSec (hoặc Group) có thể thực hiện được bằng cách sử dụng một danh sách truy cập (Access List – ACL) cơ bản hoặc mở rộng, được áp dụng vào phần 'crypto isakmp client configuration group' trên các thiết bị Cisco Router chạy IOS Router. - Vấn đề mà các quản trị viên và kỹ sư của Cisco gặp phải là mặc dù việc sử dụng ACL mở rộng, xác định các dịch vụ ở Layer 4 như TCP hoặc UDP, được cho phép, router sẽ chỉ áp dụng tối đa vào thông tin ACL ở Layer-3. Thông tin L4 trong ACL đã được chỉ định sẽ hoàn toàn bị bỏ qua. I/. LÝ DO TẠI SAO ACCESS LIST VPN LAYER-4 BỊ ROUTER BỎ QUA? - Đơn giản, nếu có như cầu giới hạn các client Cisco IPSec VPN đối với các dịch vụ ở L4, ví dụ như truy cập HTTP (TCP port 80) hoặc MSSQL Access (TCP port 1433) vào một máy chủ nội bộ (vd: 192.168.0.6). Và mặc dù ACL cho nhóm user VPN có thể xác định các hạn chế quyền truy cập vào các dịch vụ, thì các client VPN sẽ vẫn có toàn quyền truy cập vào máy chủ lưu trữ 192.168.0.6 khi kết nối tới VPN server. - Cisco IOS sẽ hoàn toàn bỏ qua bất kỳ thông tin ở L4 nào (TCP – UP) có sẵn trong ACL mở rộng áp dụng cho nhóm VPN đó. - Lấy một cấu hình thử nghiệm sau, mạng sẽ giới hận nhóm CCLIENT-VPN VPN vào một host có IP-192.168.0.6 và các port TCP-80 và 1433: ! aaa new-model aaa authentication login default local aaa authentication login vpn_xauth_ml_1 local aaa authorization network vpn_group_ml_1 local aaa session-id common ! crypto isakmp policy 1 encr 3des authentication pre-share group 2 ! crypto isakmp policy 2 encr 3des hash md5 authentication pre-share group 2 ! crypto isakmp client configuration group CCLIENT-VPN key thegioimang pool VPN-Pool acl 120 max-users 5 ! crypto isakmp profile vpn-ike-profile-1 match identity group CCLIENT-VPN client authentication list vpn_xauth_ml_1 isakmp authorization list vpn_group_ml_1 client configuration address respond virtual-template 2 ! crypto ipsec transform-set encrypt-method-1 esp-3des esp-sha-hmac ! crypto ipsec profile VPN-Profile-1 set transform-set encrypt-method-1 ! ! interface Virtual-Template2 type tunnel ip unnumbered Vlan1 tunnel mode ipsec ipv4 tunnel protection ipsec profile VPN-Profile-1 ! access-list 120 remark ==[VPN Group CCLIENT-VPN Access Lists]== access-list 120 permit tcp host 192.168.0.6 eq 80 192.168.0.0 0.0.0.255 access-list 120 permit tcp host 192.168.0.6 eq 1433 192.168.0.0 0.0.0.255 - Khi một VPN client thuộc nhóm CCLIENT-VPN kết nối đến, client dự kiến có thể truy cập vào host 192.168.0.6 và các dịch vụ được xác định (bởi các ACL) – như TCP port 80 và 1443. Nhưng nó sẽ không xảy ra. - ACL dưới cấu hình 'crypto isakmp client configuration group' không lọc được ACL. Mục đích của chúng không phải là để kiểm soát các dịch vụ ở Layer-4, nhưng là để xác định các định tuyến cho người dùng VPN từ xa sẽ truy cập đến. Kháí niệm này được gọi là 'Split-Tunneling'. - Đây là lý do tại sao IOS router sẽ cho phép đầy đủ quyền đến host 192.168.0.6 ở đây. Các dịch vụ TCP/UDP nằm ở Layer-4 của mô hình OSI, sẽ hoàn toàn bị bỏ qua sau khi đã được xác định trong cấu hình ACL của nhóm VPN. - Do đó, thiết kế hoặc giới hạn này là một vấn đề rất lớn với các admin vì nó không cung cấp sự linh hoạt và chi tiết cần thiết trong các mạng VPN phức tạp và khắt khe như hiện tại. II/.GIẢI PHÁP ĐỂ LÀM ACL MỞ RỘNG HOẠT ĐỘNG CHO CÁC VPN CLIENT TRÊN CISCO IOS – GIỚI HẠN DỊCH VỤ Ở LAYER-4: - Mặc dù có trở ngại, bạn vẫn có thể kiểm soát quyền truy cập vào các dịch vụ Layer-4 TCP/UDP cho các nhóm VPN. Giải pháp được đưa ra là tạo các cổng 'Virtual-Template' khác nhau tới các profile 'ISAKMP', do đó các nhóm VPN được ràng buộc với nhau. Sau đó, chúng ta tạo mới một ACL và áp dụng vào 'Virtual-Template' trong hướng 'inbound' như dưới đây: ! crypto isakmp client configuration group web-sql-group key $thegioimang$ pool VPN-Pool acl 110 max-users 3 ! crypto isakmp profile vpn-ike-profile-2 match identity group web-sql-group client authentication list vpn_xauth_ml_5 isakmp authorization list vpn_group_ml_1 client configuration address respond virtual-template 3 ! ! interface Virtual-Template3 type tunnel ip unnumbered Vlan1 ip access-group 121 in tunnel mode ipsec ipv4 tunnel protection ipsec profile VPN-Profile-1 ! access-list 110 remark ==[Cisco VPN- WEB Service ]== access-list 110 permit ip host 192.168.0.6 any access-list 110 remark ! access-list 121 remark ==[Virtual Template3 - Restrict Access to 192.168.0.6 - HTTP & MSSQL]== access-list 121 permit tcp any host 192.168.0.6 eq www access-list 121 permit tcp any host 192.168.0.6 eq 1433 access-list 121 deny ip any any access-list 121 remark - Lưu ý: cách chúng ta vẫn sử dụng một ACL (110) cho nhóm mới 'web-sql-group', hạn chế quyền truy cập host '192.168.0.6'. Điều này để đảm bảo nhóm VPN này sẽ có thể truy cập vào máy chủ cụ thể. - Tiếp theo, chúng ta tạo ACL (121) đặt vào trong 'Virtual-Template3' mới theo hướng 'inbound'. Đây là ACL mở rộng làm việc. - Hãy nhớ rằng các ACL này phải luôn được đặt theo hướng đến 'inbound' của giao diện Virtual-Template3, để đảm bảo chúng hoạt động chính xác và chặn các loại lưu lượng truy cập khác của người dùng VPN đến mạng hoặc host. - Cuối cùng, điều quan trọng không kém là phải chú ý đến lệnh profile ' crypto isakmp profile vpn-ike-profile-2 ', về cơ bản map nhóm VPN với interface Virtual-Template3 mới. Nếu cần tạo các nhóm VPN thêm vào mới với quyền truy cập hạn chế, tất cả những gì cần thiết là cấu hình mới thêm một profile 'cryto isakmp' và 'Virtual-Template' cùng với ACL trên Router Cisco cần thiết như được minh họa trong bài viết này.