Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Bảo vệ hạ tầng mạng với tính năng DHCP Snooping

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bảo vệ hạ tầng mạng với tính năng DHCP Snooping

    DHCP snooping là một tính năng bảo mật nhằm ngăn chặn việc giả mạo DHCP server để gửi các gói tin DHCP giả mạo.
    Khi DHCP snooping được kích hoạt, cổng trên Switch sẽ phân loại thành cổng tin cậy (trusted) và không tin cậy (untrusted). Cổng tin cậy cho phép nhận DHCP Reply hay cổng được kết nối với Server DHCP. Nếu DHCP Server giả mạo gắn vào cổng “untrusted” và gởi DHCP Reply thì gói Reply sẽ bị loại bỏ. Các cổng nào bị vi phạm sẽ tự động shutdown chuyển sang trang thái err-disable
    DHCP snooping cũng có một cơ sở dữ liệu có chứa địa chỉ MAC của client, địa chỉ IP được cung cấp, thời gian cấp bao lâu, thông tin cổng,...
    Tại sao chúng ta cần DHCP Snooping?
    Chúng ta cần DHCP Snooping để ngăn chặn các cuộc tấn công “man-in-the-middle”. Giả sử tồn tại một kẻ tấn công “man-in-the-middle” giả mạo DHCP server và trả lời cho gói tin DHCPDISCOVER trước khi DHCP Server thực trả lời, từ đó DHCP giả mạo sẽ gửi thông tin cấu hìn IP trong đó có gateway giả mạo. Khi máy tính của người dùng gởi dữ liệu đến gateway để ra mạng bên ngoài, máy tính của kẻ tấn công sẽ trở thành gateway trong trường hợp này. Kẻ tấn công có thể phân tích nội dung của mỗi gói dữ liệu được gởi đến trước khi thực hiện chuyển tiếp thông thường.
    Mô hình

    Các client sẽ kết nối tới port untrusted, mặc định tất cả các port đều là untrusted. client gửi thông điệp DHCPDISCOVER với DHCP Snooping đã được bật lên thì switch chỉ forward thông điệp DHCP broadcast tới các cổng trusted. Trong mô hình này distribution switch sẽ đóng vai trò là một DHCP Server. Trusted port là port duy nhất cho phép DHCP Server gửi thông điệp trả lời DHCPOFFER
    Cấu hình

    Đầu tiên chúng ta sẽ vào SW1 và bật tính năng DHCP Snooping:
    SW1(config)#ip dhcp snooping

    Chúng ta cần phải kích hoạt cho các VLAN, trong trường hợp này chúng ta chỉ dùng cho VLAN1
    SW1(config)#ip dhcp snooping vlan 1

    Bây giờ chúng ta sẽ cấu hình interface f0/1 kết nối với DSW1 là một trusted port:
    SW1(config)#interface f0/1
    SW1(config-if)#ip dhcp snooping trust

    Chúng ta nên kích hoạt rate limiting trên các cổng untrusted để giới hạn packet được truyền nhận mỗi giây. Được sử dụng để ngăn chặn việc tấn công DHCP server bằng cách gửi rất nhiều yêu cầu đến DHCP server làm cho DHCP server cạn kiệt các IP cung cấp cho client
    SW1(config)#interface f0/1
    SW1(config-if)#ip dhcp snooping limit rate 25

    Kiểm tra

    Bây giờ chúng ta sẽ kiểm tra lại cấu hình DHCP Snooping
    SW1#show ip dhcp snooping
    Switch DHCP snooping is enabled
    DHCP snooping is configured on following VLANs: 1
    Insertion of option 82 is enabled
    Option 82 on untrusted port is not allowed
    Verification of hwaddr field is enabled
    Interface Trusted Rate limit (pps)
    ----------------------- ------- ----------------
    FastEthernet0/24 no unlimited
    FastEthernet0/1 yes 25

    Tiếp theo chúng ta sẽ kết nối máy tính client vào cổng Fa0/24 trên SW1 để xin IP động, chúng ta có thể thấy các IP được cấp đã được DHCP Snooping lưu lại:
    SW1#show ip dhcp snooping binding
    MacAddress IpAddress Lease(sec) Type VLAN Interface
    ------------------ --------------- ---------- ------------- ---- -----------------
    00:05:5E:54:41:4E 192.168.10.2 86400 dhcp-snooping 1 FastEthernet0/24
    Total number of bindings: 1

    DHCP Option 82

    Do khi kích hoạt tính năng DHCP Snooping trên SW1, DHCP Option 82 sẽ được thêm vào các DHCP packet khi đi qua một switch. Option 82 chứa thông tin cụ thể về port mà client kết nối tới. Các gói tin DHCP cũng mang theo một trường “giaddr” mặc định được thiết lập là 0.0.0.0 (một giá trị khác 0)
    Khi DHCP Snooping hoặc DHCP relay agent được kích hoạt, DHCP Option 82 sẽ được thêm vào DHCP packet khi đi qua một switch. Option 82 chứa thông tin cụ thể về port mà client kết nối tới.

    Trong mô hình này, các cổng đối diện với DHCP Server là Fa0/2 trên SW1, Fa0/11 trên SW2, các cổng này đã được cấu hình là trusted. Mặc định SW1 sẽ chèn DHCP Option 82 vào tất cả các packet mà nó nhận được từ client. Cũng theo mặc định thì SW2 sẽ hủy các packet này khi nhận được vì một switch khi DHCP Snooping được kích hoạt sẽ hủy các packet trên cổng untrusted có chứa Option 82 hoặc có giaddr khác 0 (ví dụ 0.0.0.0). Dưới đây là thông điệp mà chúng ta nhìn thấy nếu debug trên SW2 khi SW1 gửi DHCPDISCOVER ra cổng Fa0/2
    %DHCP_SNOOPING-5-DHCP_SNOOPING_NONZERO_GIADDR: DHCP_SNOOPING drop message with non-zero giaddr or option82 value on untrusted port
    Chúng ta có thể thấy cổng Fa0/24 trên SW2 là một cổng untrusted cho nên nó sẽ hủy các packet từ Client gửi đến vì có chứa Option 82 do trên SW1 đã kích hoạt DHCP Snooping, các packet sẽ không bao giờ đến được DSW1. Chúng ta sẽ giải quyết vấn đề này bằng cách sử dụng một lệnh trên SW2 sẽ trusted các gói tin chứa DHCP Option 82 được nhận trên cổng untrusted (Fa0/24).
    SW2(config)#ip dhcp snooping information option allow-untrusted
    Bởi vì DHCP Server của chúng ta là một thiết bị Cisco IOS, mặc định nó sẽ từ chối các gói tin chứa Option 82 nên chúng ta cũng cần phải trust trên DSW1
    DSW1(config)#ip dhcp relay information trust-all
    Ngoài ra chúng ta còn có một số cách khác như cấu hình trusted trên Fa0/24 của SW2 hoặc chúng ta có thể cấu hình trên SW1 (SW1(config)# #no ip dhcp snooping information option).

    Người biên dịch: Nguyễn Văn Hiền
    Liên kết tham khảo: http://blog.router-switch.com/2012/0...dhcp-snooping/
    Cuộc sống có bao lâu mà hững hờ

  • #2
    Dear anh!
    Cảm ơn anh về bài viết bổ ích này.
    Em cũng đang cấu hình tính năng dhcp snooping cho Switch ES3500-24 nhưng gặp vấn đề sau:

    Trên Switch ES3500-24: từ port 1 đến 27 dùng cho client kết nối trực tiếp đến nó, port 28 kết nối sang switch access khác về hệ thống (core-switch, dhcp server,...). Trên switch đã bật sẵn DHCP Snooping vlan 1, port 1 tới 27 untrusted, port 28 trusted (file cấu hình đính kèm)
    Vấn đề là trong DHCP Snooping binding table của ES3500-24 chỉ lưu được một vài entry của các port từ 1 tới 27 (untrust), mà lại lưu rất nhiều entry từ port 28 (trusted) (vốn là thông tin của Client trực tiếp của các Switch Access khác). Em không rõ tại sao bảng binding table này lại lưu những entry đến từ port trusted (vốn để nhận respond từ dhcp server)!!

    Tình trạng này không bị đối với các switch access khác trong hệ thống mà chỉ bị với SwitchES3500-24, em đã kiểm tra 1 switch access khác là XGS-4528F chỉ lưu những port untrusted, không lưu thông tin port trusted, trong khi cấu hình tương tự nhau.

    Em xin gửi các file cấu hình và bảng dhcp snooping binding của 2 switch ES3500-24 và XGS-4528F.

    Anh và mọi người xem hỗ trợ giúp em với, em xin cảm ơn.
    Attached Files

    Comment

    Working...
    X