OT hálózati szegmentáció ISA-99 zónák és csatornák használatával: Schneider M580 és Bachmann M1 gyakorlati útmutató

A valódi probléma a lapos OT hálózatokkal
A legtöbb 2015 előtt épült ipari üzem lapos Ethernet hálózatot használ, ahol a Schneider Electric Modicon M580 PLC, a Bachmann M1 automatizálási vezérlő, a SCADA történeti adatbázis és a vállalati ERP ugyanabban a 2. rétegű broadcast tartományban osztozik. Ez először azt jelenti, hogy egy ransomware támadás, amely a vállalati hálózaton keresztül jut be, eléri az M580 CPU-t anélkül, hogy bármilyen hozzáférés-ellenőrzési ponton átmenne. Másodszor, egy hibásan konfigurált munkaállomás, amely ARP viharokat sugároz, telítheti az M580 BM•P 58•2020 CPU Ethernet portját — az M580 CPU Ethernet port szoftveresen kezeli az ARP-t, 500 csomag/másodperc korlát mellett. Harmadszor, a Modbus TCP 502-es vagy EtherNet/IP 44818-as portját célzó protokoll sebezhetőségek szabadon közlekednek a lapos hálózaton. Ezért az ISA-99 / IEC 62443 zóna- és csatornaarchitektúra nem választható opció — ez az egyetlen bizonyított keretrendszer, amely hálózati szintű védelmet nyújt a vezérlési stratégia megzavarása nélkül.
ISA-99 zóna- és csatornaarchitektúra: a struktúra meghatározása
Az ISA-99 (IEC 62443-3-3) az ipari hálózatot biztonsági szintekre (SL) osztja, és az eszközöket a kompromittálás következményei alapján zónákba sorolja. Először határozza meg a zónákat, mielőtt bármilyen kapcsolókonfigurációhoz nyúlna. Másodszor, azonosítson minden eszközt az üzem hálózatában, és sorolja be őket a négy zóna egyikébe:
- 1. zóna — Biztonság (SIL): Csak biztonsági PLC-k. A legtöbb üzem esetében ez az ICS Triplex vagy Triconex TMR rendszereket jelenti. Ebbe a zónába nem lép be általános forgalom. A 2. zónához vezető csatorna csak olvasási jogú Modbus TCP-t engedélyez SCADA megjelenítés céljából.
- 2. zóna — Vezérlés (SL-2): Schneider M580 CPU-k, Bachmann M1 vezérlők, I/O hálózatok, terepi eszközkezelés. Az EtherNet/IP és Modbus TCP forgalom ezen a zónán belül marad. Külső hozzáférés csak az IDMZ csatornán keresztül lehetséges.
- 3. zóna — Felügyelet (SL-1): SCADA szerverek, DCS történeti adatbázis, kezelői munkaállomások. Ez a zóna a 2. zónához egy meghatározott csatornán keresztül, állapotkövető tűzfalon át fér hozzá — nem lapos kapcsolat.
- 4. zóna — Vállalati (SL-0): Vállalati ERP, Active Directory, e-mail szerverek. Nincs közvetlen hozzáférés a 2. vagy 1. zónához. Az adatcsere kizárólag az IDMZ-n keresztül történik.
Továbbá az Ipari DMZ (IDMZ) a 3. és 4. zóna között helyezkedik el. Az IDMZ tartalmazza az adatreplikációs szervereket — OSIsoft PI, Wonderware Historian vagy OPC DA/UA átjáró. Az IDMZ-n nem halad át forgalom végponttól végpontig — a 3. és 4. zóna is az IDMZ szerverekhez csatlakozik, de soha nem közvetlenül egymáshoz. Ez az ISA-99 alapvető határvédelmi elve.
VLAN és tűzfal konfiguráció Schneider M580 hálózatokhoz
A Schneider Modicon M580 az EtherNet/IP-t használja a CPU hátlapi Ethernet portján (BMEP58•020 sorozat) és egy dedikált I/O hálózati Ethernet portot az Ethernet RIO csatlakozásokhoz. Először rendelje a CPU menedzsment portját a VLAN 20-hoz (vezérlő zóna) a menedzselt kapcsolón. Másodszor, rendelje az összes távoli I/O-t (BMECRA31210 RIO csatlakozók) a VLAN 21-hez (I/O alzóna). Harmadszor, hozzon létre egy ACL-t (hozzáférés-ellenőrzési listát) a kapcsolón, amely blokkolja a forgalmat a VLAN 21 és a 2. szint feletti zónák között.
Egy Cisco IE4000 vagy Cisco IE3400 menedzselt kapcsolón konfigurálja az inter-VLAN útválasztást az alábbi tűzfal szabályokkal:
- 1. lépés: Hozza létre a VLAN 20-at (vezérlés) és VLAN 21-et (RIO). Állítsa az M580 CPU portját VLAN 20 hozzáférési módra. Állítsa az összes BMECRA31210 RIO portot VLAN 21 hozzáférési módra.
- 2. lépés: Alkalmazzon ACL-t a VLAN 20 SVI-n: engedélyezze a TCP bármely 192.168.20.0/24 címre port 44818 (EtherNet/IP CIP). Engedélyezze a TCP bármely 192.168.20.0/24 címre port 502 (Modbus TCP). Tiltson minden egyéb IP forgalmat és naplózza. Ez csak a szükséges protokollokat engedi elérni az M580-hoz.
- 3. lépés: Blokkolja a külső hozzáférést a VLAN 21-hez a 3. rétegű kapcsolón — tiltson minden IP forgalmat a 192.168.21.0/24 hálózatra. Az RIO forgalom soha nem lehet elérhető a 3. vagy 4. zónából.
- 4. lépés: Konfigurálja az állapotkövető tűzfalat a 2. és 3. zóna között úgy, hogy csak az OPC UA 4840-es portot engedélyezze a SCADA szerver és a 3. zóna OPC UA átjárója között. Tiltson minden Modbus TCP 502-es port forgalmat a 3. és 2. zóna között — a SCADA az OPC UA átjárót olvassa, nem közvetlenül az M580-at.
- 5. lépés: Engedélyezze a portbiztonságot az összes M580 és BMECRA kapcsolóporton — zárolja a portot a küldő MAC-címéhez. Állítsa a portbiztonsági szabálysértés módját "korlátozás"-ra (nem "leállítás") hogy riasztást generáljon anélkül, hogy az I/O hálózatot megszakítaná.
Azonban az M580 CPU Ethernet port nem támogatja natívan az 802.1Q VLAN címkézést — csak VLAN hozzáférési portként működik. Ezért a kapcsolónak kell kezelnie az összes VLAN címkézést. Ez egy gyakori M580 hálózati tervezési korlát, amelyet a mérnökök figyelmen kívül hagynak a szegmentáció tervezésekor.
Bachmann M1 vezérlő szegmentáció és OPC UA határvédelem
A Bachmann M1 vezérlők saját MIO (Moduláris I/O) Ethernet hálózatot használnak egy dedikált interfészen, külön a programozó porttól. Először rendelje a Bachmann M1 MIO hálózatot a VLAN 22-höz — elkülönítve a Schneider M580 vezérlő VLAN 20-tól. Ez megakadályozza a protokollok közötti broadcast viharokat. Másodszor, a Bachmann M1 natívan támogatja az OPC UA szerver funkciót a SolutionCenter programozási környezetében. Konfigurálja az OPC UA szervert úgy, hogy csak a szükséges címkéket tegye elérhetővé a 3. zónának — ne tegye elérhetővé az M1 teljes változónévtárát.
A Bachmann SolutionCenter-ben állítsa az OPC UA biztonsági módot "SignAndEncrypt"-re és a biztonsági szabályzatot "Basic256Sha256"-re. Utasítsa el az összes anonim kapcsolatot — követelje a tanúsítvány alapú hitelesítést. Ez megfelel az IEC 62443-3-3 Biztonsági Szint 2 követelményeinek a vezérlő zónában. Továbbá állítsa be az M1 OPC UA szerver címtartományát úgy, hogy csak az engedélyezett SCADA címkelistán szereplő címkéket publikálja — használja a Bachmann OPC UA NodeManager konfigurációt a specifikus változónódok fehérlistázására. Blokkolja az összes többi nódot az OPC UA szerver szintjén, ne csak a tűzfalon.
- 1. lépés: A Bachmann SolutionCenter-ben navigáljon az OPC UA szerver konfigurációhoz a "Kommunikáció" modul alatt.
- 2. lépés: Állítsa a biztonsági módot "SignAndEncrypt"-re. Állítsa a biztonsági szabályzatot "Basic256Sha256"-re. Tiltsa le a "None" és "Sign" szabályzatokat.
- 3. lépés: Importálja a SCADA szerver tanúsítványát a Bachmann M1 megbízható tanúsítványtárába. Csak tanúsítvánnyal rendelkező SCADA kliensek csatlakozhatnak.
- 4. lépés: Engedélyezze a Bachmann M1 tűzfal funkciót — engedélyezze csak a TCP 4840 (OPC UA) forgalmat a SCADA szerver IP-címéről 192.168.30.10. Blokkoljon minden más bejövő kapcsolatot az OPC UA porton.
- 5. lépés: Állítsa be a munkamenet időtúllépést 30 másodpercre. Bármely SCADA munkamenet, amely 30 másodpercig inaktív, automatikusan lezárul — megakadályozza az elavult munkamenetek felhalmozódását az M1 munkamenettáblában.
- 6. lépés: Naplózza az összes OPC UA kapcsolódási eseményt a Bachmann M1 syslogjába — konfigurálja a syslog továbbítást az IDMZ-ben lévő SIEM szerverhez a biztonsági megfigyeléshez.
IDMZ tervezés: adatreplikáció közvetlen zónakeresztülhaladás nélkül
Az IDMZ pontosan kétféle szervert tartalmaz: az adat történeti replikációs szervert és a távoli hozzáférés ugrószervert. Először az OSIsoft PI Relay vagy Honeywell Uniformance PHD fut az IDMZ-ben. A 3. zónában lévő történeti adatbázis TCP 5450-es porton (PI-to-PI interfész) tolja az adatokat az IDMZ relay-hez. A 4. zónában lévő vállalati történeti adatbázis ugyanerről a portról húzza az adatokat az IDMZ relay-ből. Soha nem utazik közvetlenül folyamatadat a 3. és 4. zóna között. Másodszor, az IDMZ-ben lévő távoli hozzáférés ugrószerver RDP hozzáférést biztosít karbantartó mérnököknek. Konfigurálja az ugrószervert úgy, hogy csak egy jóváhagyott, MFA-val védett VPN végpontról engedélyezze az RDP kapcsolatokat — soha ne engedélyezzen közvetlen RDP-t a 4. zónából a 2. vagy 1. zónába.
Továbbá alkalmazza az alábbi tűzfal szabályokat a 4. zóna és az IDMZ között: engedélyezze a TCP 5450-et (PI) csak a 4. zónabeli történeti adatbázistól az IDMZ relay-hez. Tiltson minden más forgalmat a 4. zónából az IDMZ felé. Az IDMZ és a 3. zóna között: engedélyezze a TCP 5450-et az IDMZ relay-től a 3. zónabeli történeti adatbázishoz. Engedélyezze az RDP-t (TCP 3389) csak az IDMZ ugrószervertől a 3. zónabeli SCADA munkaállomásokhoz — MFA érvényesítésével az ugrószerver átjárónál.
Következtetés és cselekvési javaslat
Az ISA-99 zóna- és csatornaszegmentáció a Schneider M580 és Bachmann M1 hálózatok esetében mérnöki feladat, nem IT biztonsági projekt. Először határozza meg a négy zónát és rajzolja meg a csatorna diagramot, mielőtt bármilyen kapcsolóhoz nyúlna. Másodszor, rendelje az M580 CPU és M1 MIO hálózatokat dedikált VLAN-okhoz, ACL-ekkel blokkolva minden nem szükséges protokollt. Harmadszor, érvényesítse az OPC UA SignAndEncrypt-et a Bachmann M1-en, és használjon tanúsítvány alapú hitelesítést az első naptól kezdve. Negyedszer, építse ki az IDMZ-t valódi adatátjátszóként — ne legyen közvetlen út a 3. és 4. zóna között. Ötödször, engedélyezze a portbiztonságot az összes vezérlő VLAN kapcsolóporton, hogy megakadályozza a jogosulatlan eszközök csatlakozását. Végül tesztelje a szegmentációt úgy, hogy megpróbál portszkennelést végezni egy 4. zónabeli munkaállomásról a 2. zóna címek felé — ha bármilyen nyitott portot lát az M580 vagy M1 eszközökön a 4. zónából, akkor a csatornaszabályok hiányosak. Javítsa ki az összes nyitott portot, mielőtt a szegmentációt késznek nyilvánítja.
