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.

Phòng chống tấn công DOS với TCP Intercept

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

  • Phòng chống tấn công DOS với TCP Intercept

    Phòng chống tấn công DOS với TCP Intercept

    Giới thiệu: TCP intercept là một trong những đặc tính của bộ Cisco IOS Firewall, thường được dùng để phòng chống tấn công TCP SYN flood. Trong tấn công TCP SYN flood attack, attacker sẽ gửi tràn ngập TCP SYN segments mà không hoàn tất quá trình bắt tay 3 bước cho mỗi kết nối TCP. Thông thường, trong cách tấn công này, attacker sẽ kết hợp với tấn công IP spoofing, trong đó địa chỉ source của gói tin là 1 địa chỉ không hợp lệ hoặc là địa chỉ một người nào đó. Vì những địa chỉ source này không thể tới được nên TCP server bị tấn công sẽ bị treo với half-open connection, server phải đợi hết khoảng thời gian timeout để xoá connection này khỏi bảng local connection. Như thế thì tài nguyên của TCP server sẽ bị sử dụng hết, và buộc phải từ chối các TCP connections hợp lệ khác.

    TCP Intercep sẽ giúp hạn chế kiểu tấn công trên với 2 mode: intercept và watch.

    Intercept mode
    Trong mode này, router sẽ chặn tất cả các TCP connections requests, như trong hình bên dưới. User ở bên ngoài dùng TCP connection muốn truy cập vào server ở mạng bên trong, router sẽ chặn các requests này và giả vờ nó chính là server bên trong, và hoàn tất quá trình bắt tay 3 bước với external user. Xong khi hoàn thành quá trình kết nối với user (bước 13), sau đó router mới thiết lập một kết nối TCP thứ hai đến server (bước 46). Router sau đó sẽ kết hợp 2 kết nối này lại tạo thành 1 kết nối duy nhất (bước 7).


    Trong tất cả các bước, router trong suốt với user và server. Với cách tiếp cận này nếu có tấn công TCP SYN xảy ra, router sẽ cung cấp 1 vùng đệm cho server, server sẽ không bị ảnh hưởng gì bởi flood: router bắt tay với các half-open connections, và sau khoảng thời gian timeout router sẽ xoá tất cả các kết nối này ra khỏi bảng TCP connection table của nó. Trên thực tế thì những request hợp lệ sẽ được cho phép kết nối tới router bên trong ngay sau khi hoàn thành tiến trình bắt tay 3 bước với router.

    Watch mode
    Trong mode này, router chỉ xem các phiên kết nối giữa user và server. Router kiểm tra các kết nối này, theo dõi các kết nối chưa được hoàn tất. Sau đó nó sẽ so sánh với giá trị timeout đã cấu hình trước (mặc định là 30s). Nếu một kết nối TCP chưa hoàn tất quá trình bắt tay 3 bước và quá khoảng thời gian timeout thì router sẽ gửi cờ TCP reset đến server để hủy bỏ kết nối. Nếu có trường hợp tấn công trực tiếp đến server bên trong thì router sẽ loại bỏ các half-open connections, vì vậy hạn chế được sự quá tải trên server và vẫn cho phép các kết nối hợp lệ kết nối đến.
    Đặng Hoàng Khánh
    Email: danghoangkhanh@vnpro.org
    ---------------------------
    VnPro - Cisco Authorised Training
    Discuss about Networking, especially Cisco technology: http://vnpro.org
    Discuss about Wireless: http://wifipro.org or http://wimaxpro.org

  • #2
    Phòng chống tấn công DOS với TCP Intercept

    Lab 1: Cấu hình TCP intercept ( Intercept Mode) phòng chống tấn công DOS

    Mục tiêu: Cấu hình router để chặn tất cả và kiểm tra các kết nối TCP tới Web Servers
    Mô hình:


    Mô tả:

    - Cấu hình NAT tĩnh
    - Tạo ACL 199 match các kết nối TCP vào port 80 của server.
    - Cấu hình TCP intercept dùng ACL 199, và mode random-drop
    - Báo động khi số kết nối half-open sessions lên đến 1500
    - Dừng báo động khi số kết nối half-pen session giảm xuống 1200
    - Set thời gian timeout đến với các kết nối inactive là 1 giờ


    Cấu hình tham khảo

    Bước 1: Cấu hình IP, định tuyến, NAT

    Router4
    !
    !
    interface Loopback0
    ip address 150.1.4.4 255.255.255.0
    !
    interface FastEthernet0/0
    ip address 155.1.45.4 255.255.255.0
    ip nat outside
    ip virtual-reassembly
    duplex auto
    speed auto
    !
    interface FastEthernet0/1
    ip address 10.0.0.4 255.255.255.0
    ip nat inside
    ip virtual-reassembly
    duplex auto
    speed auto
    !
    interface Serial0/2/0
    no ip address
    shutdown
    no fair-queue
    clockrate 2000000
    !
    router ospf 1
    log-adjacency-changes
    network 150.1.4.0 0.0.0.255 area 0
    network 155.1.45.0 0.0.0.255 area 0
    !
    ip classless
    !
    !
    ip http server
    no ip http secure-server
    ip nat inside source static 10.0.0.1 150.1.4.4
    !
    !


    Router1
    !
    interface FastEthernet0/0
    ip address 10.0.0.1 255.255.255.0
    duplex auto
    speed auto
    !
    ip classless
    ip route 0.0.0.0 0.0.0.0 10.0.0.4
    !
    !

    Router5
    !
    !
    !
    !
    interface FastEthernet0/0
    ip address 155.1.45.5 255.255.255.0
    duplex auto
    speed auto
    !
    interface FastEthernet0/1
    ip address 150.1.5.5 255.255.255.0
    duplex auto
    speed auto
    no keepalive
    !
    !
    router ospf 1
    log-adjacency-changes
    network 150.1.5.0 0.0.0.255 area 0
    network 155.1.45.0 0.0.0.255 area 0
    !
    ip classless
    ip http server

    !
    !
    !

    Bước 2: Cấu hình TCP intercept

    Router4
    !
    !
    ip tcp intercept list 199
    ip tcp intercept connection-timeout 3600
    ip tcp intercept max-incomplete low 1200
    ip tcp intercept max-incomplete high 1500
    ip tcp intercept drop-mode random
    !
    !
    access-list 199 permit tcp any any eq www
    !
    !


    Bước 3: Kiểm tra

    R4#debug ip tcp intercept
    TCP intercept debugging is on

    R5#telnet 150.1.4.4 80
    Trying 150.1.4.4, 80 ... Open

    [Connection to 150.1.4.4 closed by foreign host]

    R4#
    *Jun 2 06:48:25.507: INTERCEPT: new connection (155.1.45.5:19297 SYN -> 10.0.0.1:80)
    *Jun 2 06:48:25.511: INTERCEPT(*): (155.1.45.5:19297 <- ACK+SYN 10.0.0.1:80)
    *Jun 2 06:48:25.511: INTERCEPT: 1st half of connection is established (155.1.45.5:19297 ACK -> 10.0.0.1:80)
    *Jun 2 06:48:25.511: INTERCEPT(*): (155.1.45.5:19297 SYN -> 10.0.0.1:80)
    *Jun 2 06:48:25.511: INTERCEPT: client packet dropped in SYNSENT (155.1.45.5:19297 -> 10.0.0.1:80)
    *Jun 2 06:48:25.515: INTERCEPT: client packet dropped in SYNSENT (155.1.45.5:19297 -> 10.0.0.1:80)
    *Jun 2 06:48:26.511: INTERCEPT(*): SYNSENT retransmit 1 (155.1.45.5:19297 SYN -> 10.0.0.1:80)
    *Jun 2 06:48:26.511: INTERCEPT: client packet dropped in SYNSENT (155.1.45.5:19297 -> 10.0.0.1:80)
    *Jun 2 06:48:27.511: INTERCEPT: client packet dropped in SYNSENT (155.1.45.5:19297 -> 10.0.0.1:80)
    *Jun 2 06:48:28.511: INTERCEPT(*): SYNSENT retransmit 2 (155.1.45.5:19297 SYN -> 10.0.0.1:80)
    *Jun 2 06:48:28.511: INTERCEPT: client packet dropped in SYNSENT (155.1.45.5:19297 -> 10.0.0.1:80)
    *Jun 2 06:48:31.511: INTERCEPT: client packet dropped in SYNSENT (155.1.45.5:19297 -> 10.0.0.1:80)
    *Jun 2 06:48:32.511: INTERCEPT(*): SYNSENT retransmit 3 (155.1.45.5:19297 SYN -> 10.0.0.1:80)
    *Jun 2 06:48:32.511: INTERCEPT: client packet dropped in SYNSENT (155.1.45.5:19297 -> 10.0.0.1:80)
    *Jun 2 06:48:39.511: INTERCEPT: client packet dropped in SYNSENT (155.1.45.5:19297 -> 10.0.0.1:80)
    *Jun 2 06:48:40.511: INTERCEPT(*): SYNSENT retransmit 4 (155.1.45.5:19297 SYN -> 10.0.0.1:80)
    *Jun 2 06:48:40.511: INTERCEPT: client packet dropped in SYNSENT (155.1.45.5:19297 -> 10.0.0.1:80)
    *Jun 2 06:48:56.511: INTERCEPT: SYNSENT retransmitting too long (155.1.45.5:19297 <-> 10.0.0.1:80)
    *Jun 2 06:48:56.511: INTERCEPT(*): (155.1.45.5:19297 <- RST 10.0.0.1:80) =>(1)

    (1) Kết nối đã vượt quá thời gian timeout, do đó router gửi cờ RST đến 155.1.5.5.
    Đặng Hoàng Khánh
    Email: danghoangkhanh@vnpro.org
    ---------------------------
    VnPro - Cisco Authorised Training
    Discuss about Networking, especially Cisco technology: http://vnpro.org
    Discuss about Wireless: http://wifipro.org or http://wimaxpro.org

    Comment


    • #3
      Lab 2: Cấu hình TCP intercept (Watch Mode) phòng chống tấn công DOS

      Mục tiêu: Cấu hình để router giám sát các kết nối TCP phòng chống tấn công DOS
      Mô hình:


      Mô tả:

      - Cấu hình NAT tĩnh
      - Tạo ACL 199 và match các kết nối TCP port 80 vào server.
      - Cấu hình TCP intercept sử dụng ACL 199 và dùng mode random-drop
      - Router sẽ reset các kết nối nếu chúng ở trong tình trạng half-open hơn 15 giây.
      - Bắt đầu resetting half-open sessions khi số session lên đến 1500
      - Dừng resetting half-open sessions khi số session giảm dần xuống còn 12
      00

      Cấu hình tham khảo

      Bước 1: Đặt địa chỉ IP, định tuyến, cấu hình NAT tĩnh

      Router 4
      !
      interface Loopback0
      ip address 150.1.4.4 255.255.255.0
      !
      interface FastEthernet0/0
      ip address 155.1.45.4 255.255.255.0
      ip nat outside
      ip virtual-reassembly
      duplex auto
      speed auto
      !
      interface FastEthernet0/1
      ip address 10.0.0.4 255.255.255.0
      ip nat inside
      ip virtual-reassembly
      duplex auto
      speed auto
      !
      interface Serial0/2/0
      no ip address
      shutdown
      no fair-queue
      clockrate 2000000
      !
      router ospf 1
      log-adjacency-changes
      network 150.1.4.0 0.0.0.255 area 0
      network 155.1.45.0 0.0.0.255 area 0
      !
      ip classless
      !
      !
      ip http server
      no ip http secure-server
      ip nat inside source static 10.0.0.1 150.1.4.4
      !
      !


      Router1
      !
      interface FastEthernet0/0
      ip address 10.0.0.1 255.255.255.0
      duplex auto
      speed auto
      !
      ip classless
      ip route 0.0.0.0 0.0.0.0 10.0.0.4
      !
      !


      Router5
      !
      !
      interface FastEthernet0/0
      ip address 155.1.45.5 255.255.255.0
      duplex auto
      speed auto
      !
      interface FastEthernet0/1
      ip address 150.1.5.5 255.255.255.0
      duplex auto
      speed auto
      no keepalive
      !
      !
      router ospf 1
      log-adjacency-changes
      network 150.1.5.0 0.0.0.255 area 0
      network 155.1.45.0 0.0.0.255 area 0
      !
      ip classless
      no ip http server
      !
      !
      !


      Bước 2: Cấu hình TCP intercept ở watch mode

      Router 4

      !
      ip tcp intercept list 199
      ip tcp intercept mode watch
      ip tcp intercept watch-timeout 15
      ip tcp intercept max-incomplete high 1500
      ip tcp intercept max-incomplete low 1200
      ip tcp intercept connection-timeout 3600
      ip tcp intercept drop-mode random
      !
      !
      access-list 199 permit tcp any any eq 80
      !
      !


      Bước 3: Kiểm tra.

      R4#debug ip tcp intercept
      TCP intercept debugging is on

      R5#telnet 150.1.4.4 80
      Trying 150.1.4.4, 80 ... Open

      [Connection to 150.1.4.4 closed by foreign host]

      R4#
      Mar 8 10:10:58.783: INTERCEPT: new connection (155.1.45.5:53353 SYN -> 10.0.0.1:80)
      Mar 8 10:10:59.099: INTERCEPT: client packet passed in SYNSENT (155.1.45.5:53353 -> 10.0.0.1:80)
      Mar 8 10:10:59.103: INTERCEPT: client packet passed in SYNSENT (155.1.45.5:53353 -> 10.0.0.1:80)
      Mar 8 10:11:13.787: INTERCEPT: SYNSENT timing out (155.1.45.5:53353 <-> 10.0.0.1:80)
      Mar 8 10:11:13.791: INTERCEPT(*): (155.1.45.5:53353 RST -> 10.0.0.1:80) => (1)

      (1) Kết nối đã quá thời gian timeout, router sẽ gửi cờ RST tới server.
      Đặng Hoàng Khánh
      Email: danghoangkhanh@vnpro.org
      ---------------------------
      VnPro - Cisco Authorised Training
      Discuss about Networking, especially Cisco technology: http://vnpro.org
      Discuss about Wireless: http://wifipro.org or http://wimaxpro.org

      Comment


      • #4
        Bạn ơi, bạn post topo lên cho mình xem với, chỉ có câu lệnh thì hơi khó hiểu. Mà mình có thể mô phỏng tấn công SYN flood trên packet tracer ko bạn. Cảm ơn bạn

        Comment


        • #5
          Chào bạn,

          Có thể dùng công cụ Nmap để giả lập SYN flood. Công cụ này không có trong Packet tracer.

          Có thể dùng GNS3 + Nmap để thay thế.
          Phạm Minh Tuấn

          Email : phamminhtuan@vnpro.org
          Yahoo : phamminhtuan_vnpro
          -----------------------------------------------------------------------------------------------
          Trung Tâm Tin Học VnPro
          149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
          Tel : (08) 35124257 (5 lines)
          Fax: (08) 35124314

          Home page: http://www.vnpro.vn
          Support Forum: http://www.vnpro.org
          - Chuyên đào tạo quản trị mạng và hạ tầng Internet
          - Phát hành sách chuyên môn
          - Tư vấn và tuyển dụng nhân sự IT
          - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

          Network channel: http://www.dancisco.com
          Blog: http://www.vnpro.org/blog

          Comment


          • #6
            có thể up lại hình giúp mình được không

            Thanks for shared

            Comment


            • #7
              Bạn có thể hướng dẫn mình làm sao tạo SYN Flood trên GNS3 và Nmap không. Cảm ơn bạn nhiều

              Comment


              • #8
                Chào bạn,

                Để làm được thì đầu tiên phải tìm hiểu cách sử dụng GNS3.
                + Chạy thiết bị Cisco trên GNS3.
                + Nối interface của GNS3 với interface loopback hoặc interface thật của PC thật.
                + các dòng lệnh để bật tính năng IDS/IPS trên router.

                Tìm hiểu cách sử dụng công cụ Nmap.
                (gõ IP của PC hoặc router cần scan -> chọn profile -> nhấn nút scan )
                Download tại đây
                Phạm Minh Tuấn

                Email : phamminhtuan@vnpro.org
                Yahoo : phamminhtuan_vnpro
                -----------------------------------------------------------------------------------------------
                Trung Tâm Tin Học VnPro
                149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
                Tel : (08) 35124257 (5 lines)
                Fax: (08) 35124314

                Home page: http://www.vnpro.vn
                Support Forum: http://www.vnpro.org
                - Chuyên đào tạo quản trị mạng và hạ tầng Internet
                - Phát hành sách chuyên môn
                - Tư vấn và tuyển dụng nhân sự IT
                - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

                Network channel: http://www.dancisco.com
                Blog: http://www.vnpro.org/blog

                Comment


                • #9
                  Bạn ơi cho mình hỏi là dùng lệnh gì để kiểm tra thời gian time out của các kết nối vậy. Như dùng cho R4 ở trên. Cảm ơn bạn.

                  Comment

                  Working...
                  X