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.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Flow là gì?

    Flow là gì? Vì sao dân mạng và bảo mật phải hiểu đúng NetFlow?


    Khi phân tích lưu lượng mạng, rất nhiều người nhầm flow với session. Đây là một nhầm lẫn cực kỳ phổ biến, và nếu không hiểu rõ, bạn sẽ gặp khó khăn khi làm việc với NetFlow, phân tích lưu lượng, troubleshooting hoặc thậm chí triển khai các giải pháp phát hiện tấn công DDoS. Flow là gì?


    Flow (luồng) là một chuỗi gói tin một chiều (unidirectional) đi giữa một nguồn và một đích xác định.

    Một flow được nhận diện bởi cùng một tập 5 thuộc tính gọi là Five-Tuple, bao gồm:
    • Địa chỉ IP nguồn (Source IP Address)
    • Địa chỉ IP đích (Destination IP Address)
    • Cổng nguồn (Source Port)
    • Cổng đích (Destination Port)
    • Giao thức lớp IP (IP Protocol — TCP, UDP, ICMP…)

    Đây chính là “dấu vân tay” để thiết bị định danh một flow trong cơ sở dữ liệu NetFlow. Ví dụ dễ hiểu


    Giả sử máy tính:
    • Client: 10.1.1.10
    • Web Server: 172.16.10.20
    • Client dùng source port 49152
    • Truy cập HTTP port 80

    Flow từ client đến server sẽ là:
    10.1.1.10:49152 → 172.16.10.20:80 TCP


    Đây là một flow.

    Nhưng khi server phản hồi:
    172.16.10.20:80 → 10.1.1.10:49152 TCP


    Đây là một flow khác. Flow khác Session như thế nào?


    Đây là điểm rất quan trọng.
    • Session (ví dụ một phiên HTTP) mang tính hai chiều.
    • Flow chỉ là một chiều.

    Nghĩa là:

    Một session HTTP = Hai flow riêng biệt
    1. Client → Server
    2. Server → Client

    Đó là lý do trong NetFlow bạn luôn thấy hai chiều tách biệt.
    Router tạo Flow Record như thế nào?


    Khi lưu lượng đi qua router đã bật NetFlow:
    • Router quan sát packet
    • Dùng Five-Tuple nhận diện flow
    • Tạo một flow record trong NetFlow cache

    Khi flow kết thúc hoặc timeout:
    • Flow record (NetFlow PDU) được export đến NetFlow Collector.

    Ví dụ các collector phổ biến:
    • Cisco Secure Network Analytics (Stealthwatch)
    • SolarWinds NTA
    • Scrutinizer
    • Elastiflow

    Ngoài Five-Tuple, NetFlow còn thu thập gì?


    Tùy phiên bản NetFlow, router có thể ghi thêm metadata rất giá trị: QoS và dịch vụ
    • ToS byte (Type of Service)
    • DSCP markings

    Ví dụ:
    DSCP EF (46)


    cho lưu lượng thoại.
    Thống kê lưu lượng
    • Packet count
    • Byte count

    Ví dụ:
    • 25 packets
    • 18,540 bytes

    Rất hữu ích để capacity planning.
    Thời gian
    • Start timestamp
    • End timestamp

    Giúp tính:
    • Flow duration
    • Bandwidth utilization
    • Long-lived connections bất thường

    Interface
    • Input interface
    • Output interface

    Ví dụ biết lưu lượng đi vào từ:
    GigabitEthernet0/1


    và ra:
    GigabitEthernet0/2


    rất hữu ích khi troubleshooting.
    TCP Flags


    Có thể theo dõi:
    • SYN
    • ACK
    • FIN
    • RST

    Ví dụ:

    Một flood SYN attack sẽ lộ ra cực nhanh qua NetFlow.
    Flexible NetFlow (FNF) — NetFlow thế hệ mới


    Cisco Flexible NetFlow mở rộng cực mạnh.

    Không chỉ Layer 3/4, nó theo dõi: Layer 2
    • Source MAC
    • Destination MAC

    Hữu ích trong data center.
    IPv4 và IPv6 Header Fields


    IPv4:
    • IP-ID
    • TTL
    • Fragmentation info

    IPv6:
    • Flow Label
    • Option Headers

    Đây là mức chi tiết gần DPI.
    Deep Packet Inspection (DPI)


    Flexible NetFlow thậm chí có thể export:
    • Một phần payload packet

    Giúp:
    • Application visibility
    • Threat hunting

    Routing Intelligence


    Đây là phần dân CCNP/CCIE rất thích.

    Có thể thu thập:
    • Next-hop
    • Source ASN
    • Destination ASN
    • Prefix masks
    • BGP next-hop
    • BGP policy accounting index

    Ví dụ:
    Source ASN: 65001
    Destination ASN: 15169


    Biết traffic đang đi tới Google.

    Đây là gold mine cho traffic engineering.
    Ba loại NetFlow Cache

    1. Normal Cache (mặc định)


    Phổ biến nhất.

    Flow bị age-out dựa trên:
    • Active timeout
    • Inactive timeout

    Ví dụ:
    ip flow-cache timeout active 60
    ip flow-cache timeout inactive 15
    2. Immediate Cache


    Mỗi packet = một flow.

    Nghe lạ nhưng rất mạnh cho:
    • Real-time traffic monitoring
    • DDoS detection
    • Sampling

    Ví dụ:

    Một SYN flood tạo hàng triệu tiny flows.

    Immediate cache thấy rất rõ.
    3. Permanent Cache


    Flow không tự expire.

    Đặc điểm:
    • Export định kỳ bằng update timer
    • Dùng update counters thay delta counters
    • Khi cache đầy, flow mới không được theo dõi

    Thường dùng cho:
    • Long-term accounting
    • Billing systems

    Đúng với nguồn gốc ban đầu của NetFlow.
    NetFlow ban đầu sinh ra để làm gì?


    Nhiều người nghĩ NetFlow sinh ra cho security.

    Không.

    Ban đầu nó được tạo cho:
    • IP accounting
    • Billing

    Ví dụ ISP tính cước theo usage.

    Sau này NetFlow trở thành nền tảng cho: Network Security


    Phát hiện:
    • Botnet C2 traffic
    • Data exfiltration
    • Port scanning
    • DDoS
    • Lateral movement

    Nhiều SOC dùng flow telemetry thay full packet capture vì scale tốt hơn.
    Traffic Engineering


    Hiểu:
    • Ai nói chuyện với ai
    • Top talkers
    • Elephant flows

    Rất quan trọng trong data center.
    Capacity Planning


    Biết:
    • Peak utilization
    • Ứng dụng ngốn băng thông
    • Nâng cấp đường truyền ở đâu

    Troubleshooting


    Ví dụ người dùng báo chậm.

    NetFlow cho thấy:
    • TCP retransmissions tăng
    • Asymmetric routing
    • Unexpected east-west traffic

    Rất nhanh ra bệnh.
    Một góc nhìn hiện đại: NetFlow không chỉ là NetFlow nữa


    Ngày nay khái niệm này mở rộng thành:
    • NetFlow (Cisco)
    • IPFIX (chuẩn IETF)
    • sFlow
    • J-Flow (Juniper)

    Và tất cả là nền tảng cho:
    • NDR (Network Detection and Response)
    • Security Analytics
    • AIOps Telemetry
    • Zero Trust Visibility

    Có thể nói:

    Routing cho biết packet đi đâu.
    NetFlow cho biết chuyện gì đang xảy ra trên mạng.


    Đó là khác biệt giữa connectivity và visibility.

    Nếu đang học CCNA/CCNP, hãy nhớ một câu để tránh nhầm:

    Session là hai chiều. Flow là một chiều. Một TCP session thường gồm hai flow.

    Đây là câu hỏi rất hay xuất hiện trong CCNP ENCOR, SCOR và cả thực chiến SOC.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X