Giới hạn các dịch vụ Layer 4 (TCP, UDP) cho VPN Client sử dụng ACL trên Router Cisco

Thảo luận trong 'Routing' bắt đầu bởi tringuyen, 8/10/21.

  1. tringuyen

    tringuyen Member

    - 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 đó.

    [​IMG]

    - 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-801433:


    !
    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 Rout
    er Cisco cần thiết như được minh họa trong bài viết này.
     

trang này