Phân đoạn Mạng OT Sử dụng Vùng và Ống dẫn ISA-99: Hướng Dẫn Thực Hành Schneider M580 và Bachmann M1

plcdcspro
2026-04-13T11:34:14+08:00

Đừng coi mạng nhà máy của bạn như một miền phát sóng lớp 2 phẳng — đây là cách phân đoạn đúng bằng ISA-99 trước khi xảy ra sự cố tiếp theo.
Hơn

Vấn Đề Thực Sự với Mạng OT Phẳng

Hầu hết các nhà máy công nghiệp xây dựng trước năm 2015 đều vận hành mạng Ethernet phẳng, nơi PLC Schneider Electric Modicon M580, bộ điều khiển tự động hóa Bachmann M1, hệ thống lưu trữ SCADA và ERP doanh nghiệp cùng chia sẻ một miền phát sóng Layer 2. Thứ nhất, điều này có nghĩa là một cuộc tấn công ransomware xâm nhập qua mạng doanh nghiệp sẽ tiếp cận CPU M580 mà không phải qua bất kỳ điểm kiểm soát truy cập nào. Thứ hai, một máy trạm cấu hình sai phát sóng bão ARP có thể làm bão hòa cổng Ethernet CPU M580 BM•P 58•2020 — cổng Ethernet CPU M580 xử lý ARP ở cấp phần mềm với giới hạn 500 gói mỗi giây. Thứ ba, các khai thác giao thức nhắm vào cổng Modbus TCP 502 hoặc EtherNet/IP cổng 44818 có thể tự do di chuyển trên mạng phẳng. Do đó, kiến trúc vùng và ống dẫn ISA-99 / IEC 62443 không phải là tùy chọn — đây là khung làm việc duy nhất đã được chứng minh giúp tăng cường bảo vệ mạng mà không làm gián đoạn chiến lược điều khiển.

Kiến Trúc Vùng và Ống Dẫn ISA-99: Định Nghĩa Cấu Trúc

ISA-99 (IEC 62443-3-3) chia mạng công nghiệp thành các Mức Độ Bảo Mật (SL) và phân bổ tài sản vào các vùng dựa trên hậu quả của việc bị xâm phạm. Trước tiên, hãy xác định các vùng của bạn trước khi thay đổi bất kỳ cấu hình switch nào. Thứ hai, xác định mọi thiết bị trong mạng nhà máy và phân vào một trong bốn vùng sau:

Vùng 1 — An Toàn (SIL): Chỉ PLC an toàn. Đối với hầu hết các nhà máy, đây bao gồm hệ thống ICS Triplex hoặc Triconex TMR. Không có lưu lượng chung nào đi vào vùng này. Ống dẫn đến Vùng 2 chỉ cho phép Modbus TCP ở chế độ chỉ đọc để hiển thị SCADA.

Vùng 2 — Điều Khiển (SL-2): CPU Schneider M580, bộ điều khiển Bachmann M1, mạng I/O, quản lý thiết bị hiện trường. Lưu lượng EtherNet/IP và Modbus TCP chỉ lưu thông trong vùng này. Truy cập bên ngoài chỉ qua ống dẫn IDMZ.

Vùng 3 — Giám Sát (SL-1): Máy chủ SCADA, lưu trữ DCS, máy trạm vận hành. Vùng này truy cập Vùng 2 qua ống dẫn được định nghĩa qua tường lửa trạng thái — không phải kết nối phẳng.

Vùng 4 — Doanh Nghiệp (SL-0): ERP doanh nghiệp, Active Directory, máy chủ email. Không có truy cập trực tiếp đến Vùng 2 hoặc Vùng 1. Tất cả trao đổi dữ liệu đều qua IDMZ.

Hơn nữa, DMZ Công Nghiệp (IDMZ) nằm giữa Vùng 3 và Vùng 4. IDMZ chứa các máy chủ sao chép dữ liệu — OSIsoft PI, Wonderware Historian hoặc cổng OPC DA/UA. Không có lưu lượng nào đi xuyên suốt IDMZ — cả Vùng 3 và Vùng 4 đều kết nối đến máy chủ IDMZ nhưng không bao giờ kết nối trực tiếp với nhau. Đây là nguyên tắc kiểm soát ranh giới cốt lõi của ISA-99.

Cấu Hình VLAN và Tường Lửa cho Mạng Schneider M580

Schneider Modicon M580 sử dụng EtherNet/IP trên cổng Ethernet mặt sau CPU (dòng BMEP58•020) và một cổng Ethernet mạng I/O riêng biệt cho các điểm Ethernet RIO. Trước tiên, gán cổng quản lý CPU vào VLAN 20 (Vùng Điều Khiển) trên switch quản lý của bạn. Thứ hai, gán tất cả các điểm I/O từ xa (BMECRA31210 RIO drops) vào VLAN 21 (vùng phụ I/O). Thứ ba, tạo ACL (Danh sách Kiểm soát Truy cập) trên switch để chặn tất cả lưu lượng giữa VLAN 21 và bất kỳ vùng nào trên cấp độ 2.

Trên switch quản lý Cisco IE4000 hoặc Cisco IE3400, cấu hình định tuyến giữa các VLAN với các quy tắc tường lửa sau:

Bước 1: Tạo VLAN 20 (Điều Khiển) và VLAN 21 (RIO). Gán cổng CPU M580 vào chế độ truy cập VLAN 20. Gán tất cả các cổng điểm BMECRA31210 RIO vào chế độ truy cập VLAN 21.

Bước 2: Áp dụng ACL trên SVI VLAN 20: cho phép TCP bất kỳ đến 192.168.20.0/24 cổng 44818 (EtherNet/IP CIP). Cho phép TCP bất kỳ đến 192.168.20.0/24 cổng 502 (Modbus TCP). Từ chối ip bất kỳ bất kỳ và ghi log. Điều này chỉ cho phép các giao thức cần thiết tiếp cận M580.

Bước 3: Chặn tất cả truy cập bên ngoài đến VLAN 21 tại switch Layer 3 — từ chối ip bất kỳ đến 192.168.21.0/24. Lưu lượng RIO không bao giờ được truy cập từ Vùng 3 hoặc Vùng 4.

Bước 4: Cấu hình tường lửa trạng thái giữa Vùng 2 và Vùng 3 chỉ cho phép cổng OPC UA 4840 từ máy chủ SCADA đến cổng OPC UA Vùng 3. Chặn cổng Modbus TCP 502 giữa Vùng 3 và Vùng 2 — SCADA đọc qua cổng OPC UA, không truy cập trực tiếp M580.

Bước 5: Kích hoạt bảo mật cổng trên tất cả các cổng switch M580 và BMECRA — khóa theo địa chỉ MAC của thiết bị truyền. Đặt chế độ vi phạm bảo mật cổng là "restrict" (không phải "shutdown") để tạo cảnh báo mà không làm rớt mạng I/O.

Tuy nhiên, cổng Ethernet CPU M580 không hỗ trợ gắn thẻ VLAN 802.1Q nguyên bản — nó chỉ hoạt động như cổng truy cập VLAN. Do đó, switch phải xử lý toàn bộ việc gắn thẻ VLAN. Đây là một hạn chế thiết kế mạng M580 phổ biến mà các kỹ sư thường bỏ qua khi thiết kế phân đoạn.

Phân Đoạn Bộ Điều Khiển Bachmann M1 và Kiểm Soát Ranh Giới OPC UA

Bộ điều khiển Bachmann M1 sử dụng mạng Ethernet MIO (Modular I/O) riêng trên một giao diện riêng biệt tách biệt với cổng lập trình. Trước tiên, gán mạng MIO của Bachmann M1 vào VLAN 22 — tách biệt với VLAN điều khiển Schneider M580 VLAN 20. Điều này ngăn chặn bão phát sóng giao thức chéo. Thứ hai, Bachmann M1 hỗ trợ chức năng máy chủ OPC UA nguyên bản trong môi trường lập trình SolutionCenter của nó. Cấu hình máy chủ OPC UA để chỉ hiển thị các thẻ cần thiết cho Vùng 3 — không hiển thị toàn bộ không gian biến M1.

Trong Bachmann SolutionCenter, đặt Chế Độ Bảo Mật OPC UA là "SignAndEncrypt" và Chính Sách Bảo Mật là "Basic256Sha256." Từ chối tất cả kết nối ẩn danh — yêu cầu xác thực dựa trên chứng chỉ. Điều này phù hợp với yêu cầu Mức Độ Bảo Mật 2 của IEC 62443-3-3 cho Vùng Điều Khiển. Hơn nữa, đặt không gian địa chỉ máy chủ OPC UA M1 chỉ xuất bản các thẻ có trong danh sách thẻ SCADA được phê duyệt — sử dụng cấu hình Bachmann OPC UA NodeManager để đưa vào danh sách trắng các nút biến cụ thể. Chặn tất cả các nút khác ở cấp máy chủ OPC UA, không chỉ ở tường lửa.

Bước 1: Trong Bachmann SolutionCenter, điều hướng đến cấu hình Máy chủ OPC UA trong mô-đun "Communication".

Bước 2: Đặt Chế Độ Bảo Mật là "SignAndEncrypt." Đặt Chính Sách Bảo Mật là "Basic256Sha256." Vô hiệu hóa các chính sách "None" và "Sign".

Bước 3: Nhập chứng chỉ máy chủ SCADA vào kho chứng chỉ tin cậy của Bachmann M1. Chỉ các client SCADA có chứng chỉ mới được kết nối.

Bước 4: Kích hoạt chức năng tường lửa Bachmann M1 — chỉ cho phép TCP 4840 (OPC UA) từ địa chỉ IP máy chủ SCADA 192.168.30.10. Chặn tất cả kết nối đến khác trên cổng OPC UA.

Bước 5: Cấu hình thời gian chờ phiên là 30 giây. Bất kỳ phiên SCADA nào không hoạt động trong 30 giây sẽ tự động đóng — ngăn chặn các phiên cũ tích tụ trong bảng phiên M1.

Bước 6: Ghi lại tất cả sự kiện kết nối OPC UA vào syslog của Bachmann M1 — cấu hình chuyển tiếp syslog đến máy chủ SIEM trong IDMZ để giám sát bảo mật.

Thiết Kế IDMZ: Sao Chép Dữ Liệu Không Qua Vùng Trực Tiếp

IDMZ chứa chính xác hai loại máy chủ: máy chủ sao chép dữ liệu lịch sử và máy chủ nhảy truy cập từ xa. Thứ nhất, OSIsoft PI Relay hoặc Honeywell Uniformance PHD chạy trong IDMZ. Máy chủ lịch sử ở Vùng 3 đẩy dữ liệu đến relay IDMZ qua cổng TCP 5450 (giao diện PI-to-PI). Máy chủ lịch sử doanh nghiệp ở Vùng 4 kéo dữ liệu từ relay IDMZ qua cùng cổng. Không có dữ liệu quy trình nào đi trực tiếp giữa Vùng 3 và Vùng 4. Thứ hai, máy chủ nhảy truy cập từ xa trong IDMZ cung cấp truy cập RDP cho kỹ sư bảo trì. Cấu hình máy chủ nhảy chỉ cho phép kết nối RDP từ điểm cuối VPN được bảo vệ MFA đã được phê duyệt — không bao giờ cho phép RDP trực tiếp từ Vùng 4 đến Vùng 2 hoặc Vùng 1.

Hơn nữa, áp dụng các quy tắc tường lửa sau giữa Vùng 4 và IDMZ: cho phép TCP 5450 (PI) từ máy chủ lịch sử Vùng 4 đến relay IDMZ. Từ chối tất cả lưu lượng khác từ Vùng 4 đến IDMZ. Giữa IDMZ và Vùng 3: cho phép TCP 5450 từ relay IDMZ đến máy chủ lịch sử Vùng 3. Cho phép RDP (TCP 3389) từ máy chủ nhảy IDMZ đến máy trạm SCADA Vùng 3 — với xác thực đa yếu tố (MFA) được thực thi tại cổng máy chủ nhảy.

Kết Luận và Lời Khuyên Hành Động

Phân đoạn vùng và ống dẫn ISA-99 cho mạng Schneider M580 và Bachmann M1 là một nhiệm vụ kỹ thuật, không phải dự án bảo mật CNTT. Trước tiên, xác định bốn vùng của bạn và vẽ sơ đồ ống dẫn trước khi thay đổi bất kỳ switch nào. Thứ hai, gán mạng CPU M580 và mạng MIO M1 vào các VLAN riêng biệt với ACL chặn tất cả các giao thức không cần thiết. Thứ ba, thực thi OPC UA SignAndEncrypt trên Bachmann M1 và sử dụng xác thực dựa trên chứng chỉ ngay từ đầu. Thứ tư, xây dựng IDMZ như một bộ chuyển tiếp dữ liệu thực sự — không có đường đi trực tiếp từ Vùng 3 đến Vùng 4. Thứ năm, kích hoạt bảo mật cổng trên tất cả các cổng switch VLAN điều khiển để ngăn chặn kết nối thiết bị trái phép. Cuối cùng, kiểm tra phân đoạn của bạn bằng cách thử quét cổng từ máy trạm Vùng 4 đến địa chỉ Vùng 2 — nếu bạn thấy bất kỳ cổng nào mở trên M580 hoặc M1 từ Vùng 4, quy tắc ống dẫn của bạn chưa hoàn chỉnh. Sửa mọi cổng mở trước khi tuyên bố phân đoạn hoàn tất.