Hướng dẫn người dùng bảo mật lưu lượng GTP và SCTP cho các thiết bị bảo mật trên JunOS.

Hướng dẫn người dùng bảo mật lưu lượng GTP và SCTP cho các thiết bị bảo mật trên JunOS.

Tổng quan về SCTP (Stream Control Transmission Protocol)

Giao thức Điều khiển Truyền tải Dòng (SCTP) là một giao thức tầng vận chuyển (transport layer) đảm bảo truyền dữ liệu đáng tin cậy và đúng thứ tự. SCTP hỗ trợ multihoming, cho phép một hoặc cả hai đầu của kết nối có nhiều hơn một địa chỉ IP. Điều này giúp chuyển đổi giữa các đường truyền mạng dự phòng một cách minh bạch khi xảy ra lỗi.

Hiểu về Giao thức SCTP

Stream Control Transmission Protocol (SCTP) là một giao thức tầng vận chuyển mạnh mẽ thuộc bộ giao thức Internet, hoạt động song song với UDP và TCP. Giao thức này được thiết kế để cung cấp truyền tải kết nối đáng tin cậy cho nhiều ứng dụng Internet. Các đặc điểm nổi bật của SCTP bao gồm:

  • Giao thức đa luồng (Multi-stream Protocol):

SCTP hỗ trợ nhiều luồng tin nhắn cho mỗi đầu kết nối, rất phù hợp cho các ứng dụng yêu cầu thứ tự nghiêm ngặt trong từng luồng và có các mức ưu tiên tin nhắn khác nhau.

  • Phân mảnh dữ liệu người dùng (User Data Fragmentation):

Khi tin nhắn lớn hơn kích thước truyền tối đa của đường truyền (MTU), SCTP sẽ phân mảnh dữ liệu thành các chunk (khối), đánh dấu chunk cuối cùng bằng cờ đặc biệt. Ở phía nhận, các chunk được tập hợp lại trước khi chuyển đến tầng trên.

  • Gộp chunk (Chunk Bundling):

SCTP cho phép gộp nhiều chunk từ các tin nhắn khác nhau vào cùng một gói SCTP, giúp truyền dữ liệu hiệu quả hơn. Phía nhận sẽ tách các chunk này ra trước khi chuyển tiếp.

  • Xác thực gói tin (Packet Validation):

Trong phần tiêu đề, SCTP có chứa một verification tag (thẻ xác minh) dùng để định danh duy nhất cho phiên kết nối (association). Thẻ này giúp chống lại các cuộc tấn công giả mạo và ngăn việc xử lý các gói SCTP cũ từ những phiên kết nối trước.

  • Hỗ trợ Multihoming:

SCTP cho phép các điểm cuối khai báo danh sách địa chỉ mạng cục bộ trong quá trình thiết lập kết nối, giúp đảm bảo tính sẵn sàng cao trong truyền dữ liệu bằng cách thiết lập đường dẫn cho từng địa chỉ đích.

Ngoài ra, SCTP cung cấp khả năng chuyển đổi dự phòng minh bạch (transparent failover) giữa các đường truyền mạng dư thừa, khiến nó trở thành lựa chọn lý tưởng cho các ứng dụng yêu cầu truyền dữ liệu đáng tin cậy và đúng thứ tự. SCTP hoạt động trên các mạng gói không kết nối như IP, và hỗ trợ cả tình huống một hoặc nhiều địa chỉ IP cho mỗi điểm kết nối.

Bên cạnh đó, SCTP được ứng dụng trong việc truyền các tin hiệu điều khiển của mạng di động 3G thông qua các giao thức như M3UA, M2UA, hoặc SUA. Giao thức này được tối ưu hóa để: Tránh các vấn đề hạ tầng đa luồng (multithread) trong điều kiện lưu lượng cao, tăng tốc độ tìm kiếm phiên kết nối (association searching rate) và cải tiến FSM (Finite State Machine) trong các trường hợp truyền lại dữ liệu.

SCTP đặc biệt phù hợp với các ứng dụng cần giám sát và phát hiện mất kết nối phiên làm việc (loss-of-session detection). Cơ chế heartbeat (nhịp tim) của nó giúp theo dõi tình trạng kết nối phiên, đảm bảo một cơ chế truyền tải đáng tin cậy và an toàn, với độ trễ đầu-cuối thấp và thời gian chuyển đổi nhanh khi xảy ra sự cố mạng.

Hình 1: Bắt tay 4 bước của SCTP so với bắt tay 3 bước của TCP

Các dịch vụ mà SCTP cung cấp

SCTP hỗ trợ nhiều dịch vụ và giao thức thích ứng khác nhau trong các hệ thống mạng viễn thông và truyền dữ liệu. Dưới đây là danh sách các dịch vụ mà SCTP hỗ trợ:

  • ASAP (Aggregate Server Access Protocol): Giao thức truy cập máy chủ tổng hợp
  • BICC (Bearer-independent Call Control): Điều khiển cuộc gọi độc lập với kênh truyền tải
  • DDP-segment (Direct Data Placement Segment chunk): Đặt dữ liệu trực tiếp – phần đoạn dữ liệu
  • DDP-stream (Direct Data Placement Stream session control): Đặt dữ liệu trực tiếp – điều khiển phiên luồng
  • Diameter-DTLS: Giao thức Diameter trong gói dữ liệu DTLS/SCTP
  • Diameter-SCTP: Giao thức Diameter trong gói dữ liệu SCTP
  • DUA (DPNSS/DASS 2 extensions to IUA Protocol): Phần mở rộng DPNSS/DASS 2 cho giao thức IUA
  • ENRP (Endpoint Handlescape Redundancy Protocol): Giao thức dự phòng điểm cuối
  • H.248 (H248 Protocol): Giao thức H.248 – dùng cho điều khiển phương tiện truyền thông
  • H.323 (H323 Protocol): Giao thức H.323 – dùng cho truyền thông đa phương tiện trên mạng IP
  • IUA (ISDN User Adaptation Layer): Lớp thích ứng người dùng ISDN
  • M2PA (MTP2 User Peer-to-Peer Adaptation Layer): Lớp thích ứng ngang hàng người dùng MTP2
  • M2UA (MTP2 User Adaptation Layer): Lớp thích ứng người dùng MTP2
  • M3UA (MTP3 User Adaptation Layer): Lớp thích ứng người dùng MTP3
  • Others: Các giao thức tải SCTP khác chưa được chỉ rõ cấu hình
  • Q.IPC: Giao thức liên kết giữa các thành phần trong hệ thống mạng
  • Reserved: Dành riêng cho mục đích sử dụng trong tương lai
  • S1AP (S1 Application Protocol): Giao thức ứng dụng S1 – dùng trong LTE giữa eNodeB và MME
  • SIMCO (Simple Middlebox Configuration): Cấu hình trung gian đơn giản
  • SUA (SCCP User Adaptation Layer): Lớp thích ứng người dùng SCCP
  • TALI (Transport Adapter Layer Interface): Giao diện lớp bộ điều hợp truyền tải
  • V5UA (V5.2 User Adaptation Layer): Lớp thích ứng người dùng V5.2
  • X2AP (X2 Application Protocol): Giao thức ứng dụng X2 – dùng giữa các eNodeB trong mạng LTE

Giới hạn và Ràng buộc của SCTP (SCTP Limitations and Constraints)

SCTP tuy mạnh mẽ nhưng cũng có những giới hạn và ràng buộc sau:

Địa chỉ IP

  • Chỉ hỗ trợ NAT IP tĩnh (static IP NAT); các gói tin từ một phía (client hoặc server) phải thuộc cùng một vùng (zone).

Chính sách (Policies)

  • Không hỗ trợ chính sách động (dynamic policy).
    ➤ Tất cả các chính sách liên quan đến phiên SCTP phải được cấu hình thủ công.
  • Khi xóa chính sách, các phiên (sessions) và liên kết SCTP (associations) liên quan cũng sẽ bị xóa theo.
  • Phải cấu hình:
    • Một chính sách cho phép lưu lượng SCTP từ tất cả IP client → tất cả IP server
    • Một chính sách khác cho phép lưu lượng SCTP từ server → client
    • Nếu một trong hai chính sách dùng SCTP profile, thì chính sách ngược chiều phải dùng cùng profile đó.
  • Nếu cấu hình các chính sách khác nhau cho từng phiên thuộc cùng một association, thì sẽ có nhiều chính sách liên quan đến cùng một association. Khi đó, việc xử lý SCTP (drop, giới hạn tốc độ, v.v.) sẽ dựa trên profile đính kèm với chính sách của phiên SCTP đang được xử lý.
  • Các ứng dụng được sử dụng trong chính sách bảo mật để cho phép lưu lượng SCTP ALG không được cấu hình với tùy chọn "application-protocol ignore" – ngay cả khi không cấu hình kiểm tra SCTP ALG.

Kích hoạt / Vô hiệu hóa SCTP

  • SCTP được bật hoặc tắt dựa vào việc có cấu hình SCTP profile hay không.
  • Nếu không có profile gắn vào chính sách, các gói SCTP sẽ được chuyển tiếp mà không kiểm tra.
  • Nếu profile có tùy chọn nat-only, thì chỉ thực hiện NAT mà không kiểm tra SCTP.
  • Nếu profile không có nat-only, thì vừa thực hiện NAT, vừa kiểm tra SCTP cho từng gói SCTP phù hợp với chính sách.
  • Khi tắt SCTP, tất cả liên kết (associations) sẽ bị xóa, và các gói SCTP tiếp theo sẽ được chuyển tiếp hoặc chặn theo chính sách.
  • Khi bật SCTP lại, phải xóa toàn bộ phiên SCTP hiện có, nếu không các gói thuộc phiên cũ sẽ được chuyển tiếp mà không qua kiểm tra SCTP.
  • Nếu muốn bật lại SCTP, toàn bộ lưu lượng SCTP đang chạy sẽ bị cắt, vì không còn liên kết SCTP nào tồn tại. Các kết nối mới có thể thiết lập lại association và thực hiện kiểm tra lại từ đầu.

**Lưu ý: Xóa các phiên SCTP cũ khi bật lại SCTP: Việc này sẽ giúp tránh các ảnh hưởng tiêu cực từ các phiên SCTP cũ đến các kết nối SCTP mới.

  • Nếu bạn thêm một profile SCTP vào một chính sách hiện có, bạn phải thực hiện một trong hai cách sau: Xóa các phiên liên quan. Hoặc xóa chính sách cũ và tạo mới lại chính sách đó.
  • Nếu bạn thay đổi giá trị timeout trong profile SCTP, thì các liên kết (association) hiện tại sẽ không bị ảnh hưởng — chúng vẫn giữ nguyên giá trị timeout và trạng thái handshake đã cấu hình trước đó.

Giới hạn tốc độ SCTP (SCTP Rate Limiting)

  • Việc thay đổi cấu hình giới hạn tốc độ không ảnh hưởng đến lưu lượng của các liên kết hiện tại, chỉ áp dụng cho các liên kết mới được thiết lập sau đó.
  • Giá trị giao thức hỗ trợ: từ 0 đến 63, bao gồm: 48 giao thức được IANA gán, 16 giao thức chưa gán.
  • Tối đa 80 địa chỉ có thể áp dụng giới hạn tốc độ trong một profile.
  • Mỗi địa chỉ có thể giới hạn tối đa 10 giao thức.
  • Giá trị giới hạn tốc độ hỗ trợ: từ 1 đến 12000.

Chặn giao thức Payload SCTP (SCTP Payload Protocol Blocking)

  • Bất kỳ thay đổi nào trong cấu hình chặn giao thức sẽ ngay lập tức ảnh hưởng đến lưu lượng của các liên kết SCTP hiện tại.
  • Hỗ trợ giá trị giao thức: từ 0 đến 63 (tương tự như trên, gồm 48 IANA và 16 chưa gán).

Hạn chế về NAT và Đa địa chỉ (Multihoming)

  • Một đầu cuối SCTP hỗ trợ NAT-PT hai chiều: từ định dạng địa chỉ IPv4 sang IPv6 và ngược lại.
  • Không hỗ trợ multihoming kết hợp IPv4 và IPv6 hoặc NAT-PT dạng kết hợp.
  • Để NAT tĩnh hoạt động, các gói dữ liệu đi vào (từ client hoặc server) phải thuộc cùng một zone.
  • Trong các trường hợp multihoming, chỉ hỗ trợ địa chỉ IPv4 trong các thông điệp INIT hoặc INIT_ACK.
  • Chỉ hỗ trợ NAT tĩnh cho SCTP.

Phiên SCTP và liên kết

  • Chỉ các liên kết SCTP đã thiết lập (established) mới được đồng bộ hóa sang các phiên của phía peer.
  • Các phiên SCTP không bị xóa cùng với liên kết, mà sẽ tự động timeout sau 30 phút (có thể thay đổi thời gian timeout này).
  • Nếu quá trình 4-way handshake không được xử lý trên cùng một node (ví dụ: hai phiên chạy trên hai node trong chế độ active/active) hoặc nếu xảy ra failover trước khi handshake hoàn tất, thì liên kết sẽ không được thiết lập thành công.

Các giới hạn kỹ thuật khác

  • ISSU (cập nhật phần mềm khi hệ thống đang chạy) không hỗ trợ quay về các phiên bản Junos OS cũ hơn.
  • Chỉ phân tích nội dung các thông điệp M3UA/SCCP, không thực hiện kiểm tra trạng thái (stateful inspection).
  • Chỉ hỗ trợ tiêu chuẩn ITU-T Rec. Q.711–Q.714 (07/1996). Không hỗ trợ các tiêu chuẩn ANSI, ETSI, Trung Quốc, hoặc các chuẩn khác.
  • Chỉ hỗ trợ RFC 4960 (chuẩn chính thức của SCTP).
  • VPN session affinity không hỗ trợ GTP và SCTP.

Tổng quan về các tính năng của SCTP

Các tính năng quan trọng của giao thức SCTP bao gồm:

  • Hỗ trợ Multihoming: Một hoặc cả hai đầu kết nối có thể bao gồm nhiều địa chỉ IP, cho phép chuyển đổi giữa các đường truyền mạng dự phòng một cách minh bạch khi có sự cố.
  • Truyền dữ liệu theo dạng “chunk” qua các luồng độc lập: Giúp loại bỏ hiện tượng tắc nghẽn đầu hàng (head-of-line blocking) không cần thiết như trong TCP.
  • Lựa chọn và giám sát đường truyền: SCTP có thể chọn đường truyền chính và kiểm tra khả năng kết nối của đường truyền này.
  • Cơ chế xác thực và xác nhận (acknowledgment): Bảo vệ chống lại các cuộc tấn công flood và cung cấp cảnh báo về việc trùng lặp hoặc thiếu gói dữ liệu.
  • Phát hiện lỗi nâng cao: Phù hợp với các khung Ethernet có kích thước lớn (jumbo frame).

Hỗ trợ kiến trúc phân tán trung tâm cho SCTP

  • Một liên kết SCTP (SCTP association) là kết nối giữa hai điểm đầu SCTP. Mỗi đầu sẽ xác định liên kết bằng một thẻ (tag). Trong quá trình thiết lập, hai điểm đầu trao đổi tag này để nhận diện gói tin.
  • Trong suốt quá trình truyền gói, địa chỉ nguồn và đích có thể thay đổi, nhưng vẫn trong cùng một liên kết.
  • Phiên SCTP (SCTP flow session) sử dụng connection tag (giải mã từ SCTP vtag) để phân phối lưu lượng SCTP tốt hơn trên các SPU của các thiết bị:
    SRX1500, SRX4100, SRX4200, SRX5400, SRX5600, và SRX5800 (có hỗ trợ SCTP ALG).
  • Một phiên SCTP riêng sẽ được tạo ra cho ba gói đầu tiên:
    • INIT
    • INIT-ACK
    • COOKIE-ECHO
  • Vì lưu lượng ngược chiều có phiên riêng biệt, nên không thể sử dụng phiên chiều thuận hiện có để cho phép tự động. Do đó, cần một chính sách riêng biệt cho lưu lượng ngược chiều, tương tự như chính sách cho chiều thuận.
  • Trong tình huống này, cần cấu hình chính sách 2 chiều (bidirectional policy) ngay cả khi là kết nối cơ bản.

Hỗ trợ SCTP với VRF (Virtual Routing and Forwarding)

Tính năng VRF cho phép quản lý các địa chỉ IP từ xa bằng cách chia bảng định tuyến.

Trên phía client SCTP:
Trước khi thiết lập một liên kết SCTP, client cần cấu hình socket option để chọn bảng định tuyến (route table index/VRF index). Nếu giao diện gửi ra (egress) được cấu hình trong VRF mà client không chỉ định đúng VRF, liên kết sẽ không được thiết lập vì sẽ dùng bảng định tuyến mặc định.

Trên phía server SCTP: Nếu socket option VRF index không được cấu hình, server sẽ chấp nhận yêu cầu kết nối từ tất cả các VRF. Nếu có cấu hình VRF index, thì chỉ những yêu cầu từ đúng VRF đó mới được chấp nhận.

Ứng dụng có thể: Tự đặt socket option để chỉ định bảng định tuyến. Hoặc để kernel tự chọn VRF dựa trên giao diện tiếp nhận gói (trong quá trình bắt tay 4 bước).

Khi liên kết SCTP được thiết lập qua một VRF, kernel cần xét thêm VRF ID bên cạnh 4 thông tin cũ (4-tuple): IP nguồn, cổng nguồn, IP đích, cổng đích → Tổng cộng thành 5-tuple để định danh duy nhất một liên kết.

  • SCTP đến (Inbound) qua VRF: Khi một gói SCTP đến từ giao diện thuộc VRF, kernel sẽ dùng 5 thông số (IP nguồn, cổng nguồn, IP đích, cổng đích, VRF ID) để tìm liên kết SCTP đã tồn tại.
  • SCTP đi (Outbound) qua VRF: Mỗi khi kernel gửi gói SCTP đi, VRF ID tương ứng sẽ được truy xuất từ thông tin liên kết để gửi đúng ra giao diện thuộc VRF đó.

Socket kiu mt-nhiu (One to Many) trong SCTP

SCTP hỗ trợ hai kiểu socket: Kiểu 1:1 (One to One) – Tương tự như TCP: mỗi liên kết (association) sẽ sử dụng một socket riêng. Kiểu 1:N (One to Many) – Cho phép nhiều liên kết hoạt động đồng thời trên một socket duy nhất. Kiểu này hỗ trợ giao tiếp với nhiều endpoint khác nhau cùng lúc, bằng cách sử dụng assoc-id (association identifier) để phân biệt giữa các kết nối.

Các lnh h thng (System Call) dùng cho socket kiu 1:1

  • Vai trò Server: socket(), bind(), listen(), accept(), write()/read(), close()
  • Vai trò Client: socket(), connect(), write()/read(), close()

Các lnh h thng (System Call) dùng cho socket kiu 1:N

  • Vai trò Server: socket(), bind(), listen(), recvmsg(), sendmsg(), close()
  • Vai trò Client: socket(), sendmsg(), recvmsg(), close()

Tổng Quan Cấu Trúc Gói SCTP

Một gói SCTP bao gồm các phần sau:

  • Phần Header Chung
  • Phần Dữ Liệu Chunk

Hình 2 minh họa cấu trúc của gói SCTP.

Phần Header Chung 

Tất cả các gói SCTP yêu cầu một phần header chung. Phần này chiếm 12 byte đầu tiên của gói. Bảng 1 mô tả các trường trong phần header chung:

Bảng 1: Các Trường Trong Header Chung

TrườngMô tả
Số cổng nguồnXác định cổng gửi
Số cổng đíchXác định cổng nhận. Các máy chủ sử dụng số cổng đích để định tuyến gói đến đích phù hợp hoặc ứng dụng
Mã xác minhPhân biệt các gói cũ từ kết nối trước. Đây là một giá trị ngẫu nhiên 32-bit được tạo ra trong quá trình khởi tạo
Kiểm tra tổngSử dụng thuật toán kiểm tra độ dư chu kỳ (CRC32) để phát hiện lỗi có thể đã được giới thiệu trong quá trình truyền dữ liệu

Phần dữ liệu (Data Chunk Section)

Phần dữ liệu (Data Chunk Section) – Phần này chiếm phần còn lại của gói tin. Bảng 2 mô tả các trường trong phần dữ liệu:

Bảng 2: Các trường trong phần dữ liệu (Data Chunk Fields)

TrườngMô tả
Chunk TypeXác định nội dung của trường giá trị chunk. Trường này dài 1 byte.
Chunk FlagsGồm 8 bit cờ, định nghĩa của chúng thay đổi tùy theo loại chunk. Giá trị mặc định là 0, cho biết không có định danh ứng dụng nào được lớp trên xác định cho dữ liệu.
Chunk LengthXác định tổng độ dài của chunk tính theo byte. Trường này dài 2 byte. Nếu chunk không có độ dài là bội số của 4 byte (tức là không chia hết cho 4), nó sẽ được bổ sung ngầm bằng các số 0 (padding), nhưng các số 0 này không được tính vào độ dài chunk.
Chunk ValueTrường dữ liệu dùng cho mục đích chung

Trình quản lý tài nguyên (RM) cho phép sử dụng 8 địa chỉ IP nguồn và 8 địa chỉ IP đích trong quá trình truyền thông SCTP.

Hiểu về SCTP Multihoming (đa kết nối)

Một điểm cuối SCTP (SCTP endpoint) có thể là một máy chủ hỗ trợ đa kết nối (multihomed) với toàn bộ địa chỉ IPv4 hoặc toàn bộ địa chỉ IPv6.

Trong Hình 3, điểm cuối A được kết nối với thiết bị tường lửa SRX Series với hai địa chỉ IPv4, và điểm cuối B cũng được kết nối với tường lửa SRX Series với hai địa chỉ IPv4.

Do đó, điểm cuối A và điểm cuối B có thể thiết lập một phiên liên kết (association) sử dụng bốn cặp địa chỉ IP khác nhau, dẫn đến bốn đường truyền hợp lệ cho việc truyền thông.

Hình 3: SCTP Multihoming với hai điểm cuối IPv4

Trong Hình 4, điểm cuối A được kết nối với tường lửa SRX Series với hai địa chỉ IPv6, và điểm cuối B cũng được kết nối với tường lửa SRX Series với hai địa chỉ IPv6.

Do đó, điểm cuối A và điểm cuối B có thể thiết lập một phiên liên kết (association) sử dụng bốn cặp địa chỉ IP khác nhau, tạo ra bốn đường truyền hợp lệ cho quá trình truyền thông.

Hình 4: SCTP Multihoming với hai điểm cuối IPv6

Hiểu về kiểm tra nhiều Chunk trong SCTP (SCTP Multichunk Inspection)

Tường lửa của giao thức Stream Control Transmission Protocol (SCTP) sẽ kiểm tra tất cả các chunk trong một thông điệp và sau đó cho phép hoặc chặn gói tin dựa trên chính sách đã cấu hình.

Sử dụng lệnh: set security gprs sctp multichunk-inspection enable để bật chế độ kiểm tra nhiều chunk trong SCTP. delete security gprs sctp multichunk-inspection enable hoặc set security gprs sctp multichunk-inspection disable để tắt chế độ này (lúc này chỉ kiểm tra chunk đầu tiên).

Sau khi bật tính năng kiểm tra nhiều chunk, tường lửa SCTP sẽ: Kiểm tra tất cả các chunk trong thông điệp. Cho phép hoặc chặn gói tin tùy theo kết quả kiểm tra.

Tường lửa SCTP sẽ chặn gói tin trong các trường hợp sau:

  • Bố cục các chunk SCTP không tuân theo chuẩn RFC 4960.
  • Chunk điều khiển (control chunk) không vượt qua được kiểm tra FSM (Finite State Machine) hoặc kiểm tra tính hợp lệ.
  • Chunk dữ liệu (data chunk) bị chặn theo cấu hình profile do không vượt qua được FSM hoặc kiểm tra tính hợp lệ.
  • Chunk dữ liệu bị chặn bởi chính sách chặn giao thức hoặc giới hạn tốc độ (rate limiting).
  • Trong trường hợp 4, chunk sẽ được thiết lập lại thành một đơn vị dữ liệu giao thức rỗng (null PDU) và tường lửa tiếp tục kiểm tra các chunk tiếp theo. Chunk dữ liệu được gán null PDU dựa theo các quy tắc sau:
    • Khi đặt giá trị null PDU là 0xFFFF bằng lệnh:
      set security gprs sctp nullpdu protocol ID-0xFFFF, thì giá trị định danh giao thức (payload protocol identifier) sẽ được thay bằng 0xFFFF và trường dữ liệu người dùng sẽ không bị thay đổi.
    • Khi đặt giá trị null PDU là 0x0000 bằng lệnh:
      set security gprs sctp nullpdu protocol ID-0x0000, thì giá trị định danh giao thức được thay bằng 0x0000 và 4 byte đầu tiên của dữ liệu người dùng sẽ được thay bằng số 0.

Nếu tất cả chunk trong một gói tin đều là null PDU, tường lửa SCTP sẽ chặn gói tin đó.

Hiểu về Hành vi của SCTP trong Cấu hình Chassis Cluster

Trong chế độ cấu hình chassis cluster, cấu hình SCTP và các kết nối SCTP đã được thiết lập (SCTP association) sẽ được đồng bộ với thiết bị ngang hàng (peer). Mô-đun SCTP hỗ trợ cả hai chế độ hoạt động: active-active và active-passive.

  • Khi một SCTP association được tạo hoặc xóa trên thiết bị active, một thông điệp tương ứng (tạo hoặc xóa) sẽ được gửi tới thiết bị peer.
  • Thiết bị secondary sẽ thêm hoặc xóa association tương ứng khi nhận được thông điệp đó.
  • Mô-đun SCTP sẽ đăng ký hàm callback để nhận và xử lý thông điệp này.
  • Không có bộ đếm thời gian đồng bộ liên tục giữa các association.

Khi một thiết bị secondary tham gia cluster hoặc khởi động lại, mô-đun SCTP sẽ đăng ký một hàm đồng bộ cold start. Hàm này sẽ được gọi để đồng bộ toàn bộ các SCTP association với thiết bị peer cùng một lúc.

Khi xảy ra chuyển đổi (switchover):

  • Các SCTP association đã được thiết lập vẫn hoạt động bình thường.
  • Những association đang trong quá trình thiết lập sẽ bị mất, và quá trình thiết lập cần được thực hiện lại từ đầu.
  • Ngoài ra, các association đang trong quá trình teardown (ngắt kết nối) có thể bị mất thông điệp xác nhận (ACK) và dẫn đến các kết nối SCTP chưa được hoàn tất vẫn tồn tại trong firewall.
  • Những association "treo" này sẽ được xóa sau khi hết thời gian chờ (mặc định là 5 giờ) nếu không có hoạt động gì thêm.

Cấu hình chính sách (policy):

- Bạn cần cấu hình đầy đủ các chính sách phù hợp với các phiên SCTP cần thiết.

  Ví dụ: Giả sử bạn có endpoint A và endpoint B.

  • Endpoint A có một association với x địa chỉ IP (IP_a1, IP_a2, ..., IP_ax).
  • Endpoint B có một association với y địa chỉ IP (IP_b1, IP_b2, ..., IP_by).

  Chính sách trên thiết bị bảo mật (firewall/security device) phải cho phép tất cả các đường đi có thể có là x × y chiều, theo cả hai hướng.

- Khi một SCTP association bị xóa, các phiên SCTP liên quan vẫn tồn tại và sẽ tự động hết hạn theo thời gian chờ.

Cấu hình SCTP (Stream Control Transmission Protocol)

Giao thức SCTP có thể được cấu hình để thực hiện kiểm tra trạng thái (stateful inspection) trên toàn bộ lưu lượng SCTP.

Tổng quan cấu hình SCTP

Để thiết bị bảo mật có thể thực hiện kiểm tra trạng thái, bạn phải cấu hình ít nhất một hồ sơ SCTP (SCTP profile). Việc kiểm tra này sẽ giúp phát hiện và loại bỏ các gói SCTP bất thường.

Các chức năng kiểm tra sâu của firewall SCTP bao gồm:

  • Lọc gói tin (Packet filtering): Hồ sơ SCTP có thể được cấu hình để loại bỏ các gói có payload đặc biệt hoặc thuộc dịch vụ M3UA, nhằm tăng cường bảo mật.
  • Giới hạn tốc độ (Limit-rate): Quản lý tốc độ gói tin M3UA và SCCP trên mỗi phiên kết nối (association), nhằm ngăn chặn tấn công quá tải (DoS).

 Các bước yêu cầu để cấu hình kiểm tra sâu SCTP:

  • Tạo một SCTP profile
  • Cấu hình các tham số lọc và giới hạn (filtering & rate limit)
  • Gắn (bind) hồ sơ SCTP vào chính sách bảo mật (policy)

Ví d: Cu hình Chính sách Bo mt để Cho phép hoc T chi Lưu lượng SCTP

Yêu cu

Trước khi bắt đầu:

  • Tạo các vùng bảo mật (zones). Xem ví dụ: Tạo Security Zones.
  • Cấu hình sổ địa chỉ và tạo các địa chỉ để sử dụng trong chính sách. Xem ví dụ: Cấu hình Address Books và Address Sets.
  • Tạo một ứng dụng (hoặc tập hợp ứng dụng) để chỉ định rằng chính sách áp dụng cho loại lưu lượng đó. Xem ví dụ: Cấu hình ứng dụng trong chính sách bảo mật.
  • Cấu hình hồ sơ SCTP cho GPRS. Xem ví dụ: Cấu hình GPRS SCTP Profile để giảm thiểu rủi ro bảo mật.

Tng quan

Tường lửa SCTP triển khai một cơ chế chính sách được quản trị để xác định các gói tin được phép đi qua hoặc bị chặn. Các chính sách có thể được cấu hình cho nhiều địa chỉ, nhóm địa chỉ, hoặc toàn bộ vùng bảo mật.

Trong các tình huống chỉ sử dụng một số cổng nhất định cho lưu lượng SCTP, các phiên SCTP có thể không được phân phối đều đến các đơn vị xử lý dịch vụ (SPU). Điều này xảy ra trong các trường hợp:

  • Kết quả hàm băm giữa các cặp cổng của phiên không đồng đều.
  • Số lượng cặp cổng nhỏ hơn hoặc không lớn hơn đáng kể so với số lượng SPU.

Ví d cu hình

Ví dụ cấu hình dưới đây sẽ:

  • Từ chối lưu lượng SCTP từ vùng trust đến dải địa chỉ 10.1.1.0/24 trong vùng untrust.
  • Cho phép lưu lượng SCTP từ dải địa chỉ 10.1.2.0/24 trong vùng trust đến vùng untrust, với cấu hình SCTP được chỉ định trong hồ sơ roam2att.

Trin khai Firewall SCTP

Hình minh họa mô tả cách triển khai tường lửa cho SCTP (nếu có hình sẽ được tham khảo thêm trong tài liệu).

Hình 1: Triển khai tường lửa SCTP

Cấu hình nhanh qua CLI

Để cấu hình nhanh ví dụ này, hãy thực hiện các bước sau: Sao chép các lệnh bên dưới. Dán chúng vào một tệp văn bản. Xóa bất kỳ dấu xuống dòng nào (nếu có). Thay đổi các thông tin cần thiết để phù hợp với cấu hình mạng của bạn. Sao chép và dán toàn bộ chuỗi lệnh vào giao diện CLI tại cấp độ [edit]. Sau đó, nhập lệnh commit trong chế độ cấu hình để áp dụng thay đổi.

set security zones security-zone trust interfaces ge-0/0/2

set security zones security-zone untrust interfaces ge-0/0/1

set security policies from-zone trust to-zone untrust policy deny-all match source-address any

set security policies policy from-zone trust to-zone untrust policy deny-all match destination-address 10.1.1.0/24

set security policies policy from-zone trust to-zone untrust policy deny-all match application junos-gprs-sctp

set security policies from-zone trust to-zone untrust policy deny-all then deny

set security policies from-zone trust to-zone untrust policy allow-att-roaming match source-address 10.1.2.0/24

set security policies from-zone trust to-zone untrust policy allow-att-roaming match destination-address any

set security policies policy from-zone trust to-zone untrust policy allow-att-roaming match application junos-gprs-sctp

set security policies from-zone trust to-zone untrust policy allow-att-roaming then permit application-services gprs-sctp-profile roam2att

Quy trình từng bước

Để cấu hình một chính sách bảo mật nhằm cho phép hoặc chặn lưu lượng SCTP:

Bước 1: Cấu hình các cổng mạng (interfaces) và các vùng bảo mật (security zones).

[edit security zones]

user@host# set security-zone trust interfaces ge-0/0/2

user@host# set security-zone untrust interfaces ge-0/0/1

Bước 2: Tạo chính sách bảo mật để cho phép lưu lượng từ vùng trust (đáng tin cậy) đến vùng untrust (không đáng tin cậy).

[edit security policies from-zone trust to-zone untrust]

user@host# set policy allow-att-roaming match source-address 10.1.2.0/24

user@host# set policy allow-att-roaming match destination-address any

user@host# set policy allow-att-roaming match application junos-gprs-sctp

user@host# set policy allow-att-roaming then permit application-services gprs-sctp-profile roam2att

Bước 3: Tạo chính sách bảo mật để chặn lưu lượng từ vùng trust (đáng tin cậy) đến vùng untrust (không đáng tin cậy).

[edit security policies from-zone trust to-zone untrust]

user@host# set policy deny-all match source-address any

user@host# set policy deny-all match destination-address 10.1.1.0/24

user@host# set policy deny-all match application junos-gprs-sctp

user@host# set policy deny-all then deny

Kết quả

Từ chế độ cấu hình, xác nhận cấu hình của bạn bằng cách nhập lệnh: show security policies. Nếu đầu ra không hiển thị cấu hình như mong muốn, hãy lặp lại các bước trong ví dụ này để chỉnh sửa cấu hình cho đúng.

[edit]

user@host# show security policies

from-zone trust to-zone untrust {

    policy deny-all {

        match {

            source-address any;

            destination-address 10.1.1.0/24;

            application junos-gprs-sctp;}

        then {

            deny;}}

    policy allow-att-roaming {

        match {

            source-address 10.1.2.0/24;

            destination-address any;

            application junos-gprs-sctp;}

        then {

            permit {

                application-services {

                    gprs-sctp-profile roam2att;}}}}}

Nếu bạn đã hoàn tất cấu hình thiết bị, hãy nhập lệnh commit từ chế độ cấu hình.

Xác minh

Xác nhận rằng cấu hình đang hoạt động chính xác.

Xác minh Cấu hình SCTP

Mục đích:

Xác minh cấu hình kiểm tra chính sách.

Thao tác:

Từ chế độ vận hành (operational mode), nhập lệnh: show configuration | display set | match profile

Ví dụ: Cấu hình hồ sơ SCTP GPRS để kiểm tra chính sách nhằm giảm rủi ro bảo mật

Trong kiến trúc GPRS, nguyên nhân cơ bản gây ra các mối đe dọa bảo mật cho mạng của nhà mạng là do thiếu bảo mật vốn có trong giao thức đường hầm GPRS (GTP).
Ví dụ này cho thấy cách cấu hình hồ sơ SCTP GPRS để thực hiện kiểm tra chính sách nhằm giảm thiểu rủi ro bảo mật của GTP.

Yêu cầu

Trước khi bắt đầu, hãy hiểu rõ cấu trúc phân cấp của GPRS SCTP và các tùy chọn của nó.

Tổng quan

Trong ví dụ này, bạn sẽ cấu hình hồ sơ SCTP GPRS bằng cách thiết lập các tham số: limit-rate – giới hạn tốc độ gói tin, payload-protocol – quy định giao thức tải trọng để kiểm tra SCTP. Nếu chính sách của bạn bao gồm tùy chọn nat-only, các địa chỉ IP trong payload sẽ được chuyển đổi (NAT), nhưng sẽ không được kiểm tra. Các lệnh cấu hình SCTP chỉ được áp dụng cho chính sách đã được cấu hình với hồ sơ SCTP.

Nếu bạn gỡ bỏ hồ sơ SCTP khỏi chính sách, các gói tin sẽ được chuyển tiếp mà không qua kiểm tra, và danh sách địa chỉ IP trong payload cũng sẽ không được dịch địa chỉ, ngay cả khi NAT tĩnh đã được cấu hình.

Thủ tục CLI nhanh (CLI Quick Configuration)

Để cấu hình nhanh, sao chép các lệnh bên dưới, dán vào một file văn bản, xóa bỏ xuống dòng, chỉnh sửa thông tin phù hợp với mạng của bạn, sau đó dán vào CLI ở cấp độ [edit], và nhập lệnh commit.

set security gprs sctp profile roam2att limit rate address 10.1.1.0 sccp 100

set security gprs sctp profile roam2att limit rate address 10.1.1.0 ssp 10

set security gprs sctp profile roam2att limit rate address 10.1.1.0 sst 50

set security gprs sctp profile roam2att drop payload-protocol all

set security gprs sctp profile roam2att permit payload-protocol dua

Quy trình từng bước

Để cấu hình một GPRS SCTP profile:

  • Cấu hình tham số giới hạn tỉ lệ (limit rate). Giới hạn tỉ lệ xác định tỉ lệ mà các gói SCTP được truyền mỗi liên kết (association).

[edit security gprs sctp profile roam2att]

user@host# set limit rate address 10.1.1.0 sccp 100

user@host# set limit rate address 10.1.1.0 ssp 10

user@host# set limit rate address 10.1.1.0 sst 50

  • Cấu hình giao thức payload để loại bỏ tất cả các tin nhắn SCTP payload.

[edit security gprs sctp profile roam2att]

user@host# set drop payload-protocol all

  • Cấu hình giao thức payload để cho phép các tin nhắn SCTP payload nhất định.

[edit security gprs sctp profile roam2att]

user@host# set permit payload-protocol dua

Kết quả

Từ chế độ cấu hình, xác nhận cấu hình của bạn bằng cách nhập lệnh show security gprs. Nếu kết quả không hiển thị cấu hình mong muốn, hãy lặp lại các bước trong ví dụ này để sửa lại cấu hình.

[edit]

user@host# show security gprs

sctp {

    profile roam2att {

        drop {

            payload-protocol all;}

        permit {

            payload-protocol dua;}

        limit {

            rate {

                address 10.1.1.0 {

                    sccp 100;

                    ssp 10;

                    sst 50;}}}}}

Nếu bạn đã hoàn tất cấu hình thiết bị, nhập lệnh commit từ chế độ cấu hình.

Xác nhận

Xác nhận rằng cấu hình đang hoạt động đúng cách.

Xác minh cấu hình SCTP Profile

Mục đích

Xác minh cấu hình SCTP profile.

 

Hành động

Từ chế độ cấu hình, nhập lệnh show configuration security gprs sctp profile roam2att.

[edit]

user@host# show security gprs

sctp {

    profile roam2att {

        drop {

            payload-protocol all;}

        permit {

            payload-protocol dua;}

        limit {

            rate {

                address 10.1.1.0 {

                    sccp 100;

                    ssp 10;

                    sst 50;}}}}}

Ý nghĩa

Kết quả hiển thị thông tin về các thông điệp SCTP payload được phép và các thông điệp SCTP payload bị loại bỏ. Kiểm tra các thông tin sau:

  • Các thông điệp SCTP payload bị loại bỏ

  • Các thông điệp SCTP payload được phép

 

Chúc các bạn thực hiện thành công. Hi vọng bài viết này sẽ giúp ích cho các bạn trong công việc. Nếu bạn có vấn đề gì thắc mắc đừng ngần ngại liên hệ với chúng tôi theo thông tin dưới đây để được hỗ trợ thêm.

Hẹn gặp lại các bạn trong các bài viết tiếp theo!

 

CÔNG TY CỔ PHẦN DỊCH VỤ CÔNG NGHỆ DATECH

• Địa chỉ: Số 23E4 KĐT Cầu Diễn, Tổ 7, Phú Diễn, Bắc Từ Liêm, Hà Nội

• Điện thoại: 02432012368

• Hotline: 098 115 6699

• Email: info@datech.vn

• Website: https://datech.vn