1. Quản lý thông báo
Thông điệp thông báo là cần thiết để giữ phiên LDP, thông báo những sự kiện đáng chú ý cho các LDP ngang hàng. Thông điệp này có thể là lỗi nặng (Error Notifications) hay thông tin thông báo đơn giản (Advisory Notification). Nếu lỗi nặng xảy ra, phiên LDP giữa 2 LSR kết thúc ngay lập tức. Advisory Notification được sử dụng để gửi thông tin về phiên LDP hặc thông điệp báo đã nhận.
Những sự kiện sau có thể dẫn đến việc gửi thông tin thông báo:
• Giao thức đơn vị dữ liệu xấu (PDU)
• Không biết dạng chiều dài giá trị (TLV)
• Bộ định giờ phiên hết hạn
• Kết thúc phiên một bên
• Thông điệp sự kiện khởi tạo
• Kết quả sự kiện từ các thông điệp khác
• Lỗi nội bộ
• Phát hiện loop
• Sự kiện trộn lẫn
2. Chứng thực LDP
Phiên LDP là một phiên TCP có thể bị tấn công bới những phân đoạn TCP giả mạo. Để bảo vệ LDP trước những tấn công như thế, bạn có thể sử dụng chứng thực MD5. MD5 thêm một chữ ký gọi là đoạn mã MD5 vào phân đoạn TCP. Đoạn mã MDP được tính toán cho phân đoạn TCP đặc biệt sử dụng cả 2 mật khẩu ở 2 đầu phiên LDP. Mật khẩu MD5 không bao giờ được truyền đi. Do đó để tấn công, hacker phải đoán được số thứ tự phiên TCP và mật mã MD5. Trong Cisco IOS, có thể cấu hình MD5 cho giao thức LDP như sau:
“mpls ldp neighbor [vrf vpn-name ] ip-addr password [0-7 ] pswd-string”
Đoạn mã MD5 được gắn vào mỗi phân đoạn TCP được gửi ra ngoài, và đoạn mã này chỉ có thể được xác minh bởi cả 2 LDP ngang hàng được cấu hình đúng mật mã.
• Nếu một LSR có cấu hình mật mã MD5, còn LSR còn lại không thi sẽ hiện thông báo:
“%TCP-6-BADAUTH: No MD5 digest from 10.200.254.4(11092) to 10.200.254.3(646)”
• Nếu cả 2 LSR cấu hình mật mã MD5 nhưng khác nhau, sẽ có thông báo:
“%TCP-6-BADAUTH: Invalid MD5 digest from 10.200.254.4(11093) to 10.200.254.3(646)”
3. Điều khiển quảng bá nhãn của LDP
LDP cho phép điều khiển việc quảng bá nhãn bằng việc cho phép hoặc không cho phép quảng bá nhãn nào đó cho một LDP ngang hàng nào đó.
Cú pháp: “mpls ldp advertise-labels [vrf vpn-name ] [ interface inter for prefix-access-list [to peer-access-list ]]”
Với prefix-access-list là số của standard access list chỉ ra prefix nào được quảng bá nhãn.
Peer-access-list là số của standard access list chỉ ra những LDP ngang hàng nào được quảng bá nhãn. LSR nào có nhãn là 4 byte đầu của LDP IP trùng khớp sẽ được đưa vào access list này.
Tác dụng của việc điều khiển quảng bá nhãn này là hạn nhiều trường hợp các nhãn được quảng bá cho prefix đó thực sự được dùng cho vận chuyển thông qua mạng MPLS. Ví dụ trong trường hợp MPLS VPN, những prefix quan trọng cho lưu lượng khách hàng VPN qua mạng MPLS là BPG kế tiếp, được sử dụng thường là cổng loopback trên router biên. Trong trường hợp đó, những prefix của cổng khác trên router biên không cần thiết để quảng bá nhãn.
4. Lọc các nhãn vào trong MPLS LDP
Ngược với tính năng cấm quảng bá nhãn là tính năng lọc các nhãn vào từ LDP láng giềng. Lọc nhãn vào được sử dụng trên LDP ngang hàng khi không thể lọc nhãn ra. Tính năng này có thể hạn chế số lượng nhãn dán chứa trong bảng LIB của router. Ví dụ, có thể chặn tất cả những nhãn nhận từ những LDP ngang hàng ngoại trừ nhãn dán cho công loopback của router biên trong MPLS VNP. Thông thường công loopback được dùng là địa chỉ IP kế tiếp cho BGP và LSR có thể sử dụng nhãn kết hợp với prefix đó để chuyển tiếp dữ liệu VPN của khách hàng.
Câu lệnh bật tính năng này:
“mpls ldp neighbor [vrf vpn-name ] nbr-address labels accept acl”
Tự động cấu hình LDP:
Thay vì phải bật giao thức LDP trên từng cổng bằng câu lệnh “mpls ip” thì ta có thể dễ dàng bật tính năng tự động cấu hình LDP trên những cổng đã cho tham gia định tuyến nội IGP: “mpls ldp autoconfig [area area-id]”
Bảo vệ phiên LDP trong MPLS
Vấn đề chính trong mạn MPLS là những kết nối thay đổi liên tục flapping link dẫn đến kết quả định tuyến sai. Flapping links có một ảnh hưởng quang trong đến sự hội tụ của mạng. Bởi vì quan hệ làng giền của giao thức định tuyến nội và phiên LDP có thể chạy qua những kết nối này và sẽ kết thúc nếu kết nối bị đứt. Rùi ro này đặc biệt do kết nối thường không bị đứt lâu, và tác động của nó là rất lớn, bởi vì giao thức định tuyến và giao thức LDP phải mất thời gian để xây dựng lại quan hệ láng giền. LDP phải xây dựng lại phiên LDP và phải trao đổi nhãn dán lần nữa. Để tránh việc xây dựng lại tất cả phiên LDP, phiên LDP cần được chỉ định rõ giữa 2 LSR. Khi kết nối trực tiếp đứt giữa 2 LSR, phiên LDP chỉ định sẽ giữ chúng cho đến khi có đường dự phòng giữa chúng. Quang hệ làng giềng LDP sẽ mất nếu kết nối đứt nhưng quan hệ láng giềng chỉ định vẫn giữ phiên LDP. Khi kết nối thông trở lại, LSR không cần phải khởi tạo lại phiên LDP do đó hội tụ tốt hơn.
Để bật chức năng bảo vệ phiên LDP dùng câu lệnh ở mode global:
“mpls ldp session protection [vrf vpn-name ] [ for acl ] [ duration seconds]”
Access list (acl) có thể được cấu hình để chỉ định những LDP ngang hàn cần phải bảo vệ phiên. Nó sẽ giữ LDP IP của LDP láng giếng cần bảo vệ.
Thời gian duration là thời gian giữ kết nối LDP khi kết nối LDP đứt, mặc định là không giới hạn.
Để việc bảo vệ phiên này hoạt động, cần phải bật chức năng này trên cả 2 LSR, hoặc ít nhất một LSR bật còn một LSR có thể chấp nhận thông điệp LDP Hellos chỉ định với cấu hình: “mpls ldp discovery targeted-hello accept”
Cả 4 router đều được bật tính năng bảo vệ phiên LDP, giữa madrid và sydney có 2 phiên LDP, Khi kết nối giữa madrid và sydney bị đứt thì phiên LDP vẫn được giữ cho đến khi kết nối thông trở lại. Hiệu quả lớn nhất của tính năng này là luồng dữ liệu vẫn được giữ không bị ngắt quãng dù phiên LDP khởi động lại.
Lê Sơn Hà – VnPro
Thông điệp thông báo là cần thiết để giữ phiên LDP, thông báo những sự kiện đáng chú ý cho các LDP ngang hàng. Thông điệp này có thể là lỗi nặng (Error Notifications) hay thông tin thông báo đơn giản (Advisory Notification). Nếu lỗi nặng xảy ra, phiên LDP giữa 2 LSR kết thúc ngay lập tức. Advisory Notification được sử dụng để gửi thông tin về phiên LDP hặc thông điệp báo đã nhận.
Những sự kiện sau có thể dẫn đến việc gửi thông tin thông báo:
• Giao thức đơn vị dữ liệu xấu (PDU)
• Không biết dạng chiều dài giá trị (TLV)
• Bộ định giờ phiên hết hạn
• Kết thúc phiên một bên
• Thông điệp sự kiện khởi tạo
• Kết quả sự kiện từ các thông điệp khác
• Lỗi nội bộ
• Phát hiện loop
• Sự kiện trộn lẫn
2. Chứng thực LDP
Phiên LDP là một phiên TCP có thể bị tấn công bới những phân đoạn TCP giả mạo. Để bảo vệ LDP trước những tấn công như thế, bạn có thể sử dụng chứng thực MD5. MD5 thêm một chữ ký gọi là đoạn mã MD5 vào phân đoạn TCP. Đoạn mã MDP được tính toán cho phân đoạn TCP đặc biệt sử dụng cả 2 mật khẩu ở 2 đầu phiên LDP. Mật khẩu MD5 không bao giờ được truyền đi. Do đó để tấn công, hacker phải đoán được số thứ tự phiên TCP và mật mã MD5. Trong Cisco IOS, có thể cấu hình MD5 cho giao thức LDP như sau:
“mpls ldp neighbor [vrf vpn-name ] ip-addr password [0-7 ] pswd-string”
Đoạn mã MD5 được gắn vào mỗi phân đoạn TCP được gửi ra ngoài, và đoạn mã này chỉ có thể được xác minh bởi cả 2 LDP ngang hàng được cấu hình đúng mật mã.
• Nếu một LSR có cấu hình mật mã MD5, còn LSR còn lại không thi sẽ hiện thông báo:
“%TCP-6-BADAUTH: No MD5 digest from 10.200.254.4(11092) to 10.200.254.3(646)”
• Nếu cả 2 LSR cấu hình mật mã MD5 nhưng khác nhau, sẽ có thông báo:
“%TCP-6-BADAUTH: Invalid MD5 digest from 10.200.254.4(11093) to 10.200.254.3(646)”
3. Điều khiển quảng bá nhãn của LDP
LDP cho phép điều khiển việc quảng bá nhãn bằng việc cho phép hoặc không cho phép quảng bá nhãn nào đó cho một LDP ngang hàng nào đó.
Cú pháp: “mpls ldp advertise-labels [vrf vpn-name ] [ interface inter for prefix-access-list [to peer-access-list ]]”
Với prefix-access-list là số của standard access list chỉ ra prefix nào được quảng bá nhãn.
Peer-access-list là số của standard access list chỉ ra những LDP ngang hàng nào được quảng bá nhãn. LSR nào có nhãn là 4 byte đầu của LDP IP trùng khớp sẽ được đưa vào access list này.
Tác dụng của việc điều khiển quảng bá nhãn này là hạn nhiều trường hợp các nhãn được quảng bá cho prefix đó thực sự được dùng cho vận chuyển thông qua mạng MPLS. Ví dụ trong trường hợp MPLS VPN, những prefix quan trọng cho lưu lượng khách hàng VPN qua mạng MPLS là BPG kế tiếp, được sử dụng thường là cổng loopback trên router biên. Trong trường hợp đó, những prefix của cổng khác trên router biên không cần thiết để quảng bá nhãn.
4. Lọc các nhãn vào trong MPLS LDP
Ngược với tính năng cấm quảng bá nhãn là tính năng lọc các nhãn vào từ LDP láng giềng. Lọc nhãn vào được sử dụng trên LDP ngang hàng khi không thể lọc nhãn ra. Tính năng này có thể hạn chế số lượng nhãn dán chứa trong bảng LIB của router. Ví dụ, có thể chặn tất cả những nhãn nhận từ những LDP ngang hàng ngoại trừ nhãn dán cho công loopback của router biên trong MPLS VNP. Thông thường công loopback được dùng là địa chỉ IP kế tiếp cho BGP và LSR có thể sử dụng nhãn kết hợp với prefix đó để chuyển tiếp dữ liệu VPN của khách hàng.
Câu lệnh bật tính năng này:
“mpls ldp neighbor [vrf vpn-name ] nbr-address labels accept acl”
Tự động cấu hình LDP:
Thay vì phải bật giao thức LDP trên từng cổng bằng câu lệnh “mpls ip” thì ta có thể dễ dàng bật tính năng tự động cấu hình LDP trên những cổng đã cho tham gia định tuyến nội IGP: “mpls ldp autoconfig [area area-id]”
Bảo vệ phiên LDP trong MPLS
Vấn đề chính trong mạn MPLS là những kết nối thay đổi liên tục flapping link dẫn đến kết quả định tuyến sai. Flapping links có một ảnh hưởng quang trong đến sự hội tụ của mạng. Bởi vì quan hệ làng giền của giao thức định tuyến nội và phiên LDP có thể chạy qua những kết nối này và sẽ kết thúc nếu kết nối bị đứt. Rùi ro này đặc biệt do kết nối thường không bị đứt lâu, và tác động của nó là rất lớn, bởi vì giao thức định tuyến và giao thức LDP phải mất thời gian để xây dựng lại quan hệ láng giền. LDP phải xây dựng lại phiên LDP và phải trao đổi nhãn dán lần nữa. Để tránh việc xây dựng lại tất cả phiên LDP, phiên LDP cần được chỉ định rõ giữa 2 LSR. Khi kết nối trực tiếp đứt giữa 2 LSR, phiên LDP chỉ định sẽ giữ chúng cho đến khi có đường dự phòng giữa chúng. Quang hệ làng giềng LDP sẽ mất nếu kết nối đứt nhưng quan hệ láng giềng chỉ định vẫn giữ phiên LDP. Khi kết nối thông trở lại, LSR không cần phải khởi tạo lại phiên LDP do đó hội tụ tốt hơn.
Để bật chức năng bảo vệ phiên LDP dùng câu lệnh ở mode global:
“mpls ldp session protection [vrf vpn-name ] [ for acl ] [ duration seconds]”
Access list (acl) có thể được cấu hình để chỉ định những LDP ngang hàn cần phải bảo vệ phiên. Nó sẽ giữ LDP IP của LDP láng giếng cần bảo vệ.
Thời gian duration là thời gian giữ kết nối LDP khi kết nối LDP đứt, mặc định là không giới hạn.
Để việc bảo vệ phiên này hoạt động, cần phải bật chức năng này trên cả 2 LSR, hoặc ít nhất một LSR bật còn một LSR có thể chấp nhận thông điệp LDP Hellos chỉ định với cấu hình: “mpls ldp discovery targeted-hello accept”
Cả 4 router đều được bật tính năng bảo vệ phiên LDP, giữa madrid và sydney có 2 phiên LDP, Khi kết nối giữa madrid và sydney bị đứt thì phiên LDP vẫn được giữ cho đến khi kết nối thông trở lại. Hiệu quả lớn nhất của tính năng này là luồng dữ liệu vẫn được giữ không bị ngắt quãng dù phiên LDP khởi động lại.
Lê Sơn Hà – VnPro