Back to blog

Бақыланатын SCADA сервері өзгерістерін Ansible арқылы басқару

OT тәуекелін арттырмай, SCADA серверлеріндегі өзгерістерді стандарттау үшін Ansible пайдаланыңыз. Бұл нұсқаулық инвентаризацияларды, идемпотентті плейбуктерді, кезең-кезеңімен тестілеуді, тіркелгі ...

Ansible SCADA қолданбалы серверлерінде, деректерді жинау серверлерінде, инженерлік жұмыс станцияларында және қолдау көрсететін желілік құрылғыларда қайталанатын өзгерістерді стандарттай алады. Оны басқару активтерін шектеусіз автоматтандыруға рұқсат ретінде қарастырмау керек. Инженерлік міндет — нені, қай жерде өзгертуге болатынын және нысан нәтижені қалай дәлелдей алатынын анықтау.

Бұл нұсқаулық SCADA жүйесінің айналасындағы бақыланатын инфрақұрылымдық өзгерістерге арналған. Мұнда PLC логикасын ауыстыру немесе кәсіпорын рәсімдерін айналып өту ұсынылмайды. Әдетте ең қауіпсіз бастама — тест ортасы мен сервер жағындағы ауқымы тар тапсырма.

Ansible OT архитектурасында қай жерде қолданылады

Ansible басқарылатын түйіндерді анықтау үшін inventory файлдарын, ал қажетті тапсырмаларды сипаттау үшін playbook файлдарын пайдаланады. Ресми Ansible inventory нұсқаулығында түйіндер, топтар және айнымалылар автоматтандыру нысандарын қалай анықтайтыны түсіндіріледі.

Өнеркәсіптік нысанда мұндай нысандарға SCADA серверлері, jump host серверлері, жаңарту репозиторийлері, сақтық көшірме серверлері және басқарылатын желілік жабдық кіруі мүмкін. PLC мен қауіпсіздік жүйелері бөлек тексеруді қажет етеді. Жеткізушінің қолдауы, протоколдардың әрекеті және өзгерістерді басқару талаптары әдеттегі сервер әкімшілігінен өзгеше.

Практикалық архитектура Ansible басқару түйінін басқарылатын аймақта орналастырады. Оның басқару желісі бойынша шектеусіз қатынасы болмауы тиіс. Брандмауэр ережелері, атаулы есептік жазбалар және бекітілген тіркелгі деректері әр playbook файлының тек белгіленген жүйелермен жұмыс істеуін шектеуі керек.

Кеңірек архитектураны қарастыратын оқырмандар басқару және желі контекстіне қатысты материалдар үшін PLC ProTech компаниясының Білімдер кітапханасын және Байланыс және желілер топтамасын пайдалана алады.

Ауқымы тар, қайтаруға болатын пайдалану жағдайынан бастаңыз

Жақсы бастапқы тапсырмалардың кірістері анық әрі оларды оңай кері қайтаруға болады. Мысалы, тексерілген конфигурация файлын көшіру, қызмет күйін тексеру, нұсқа туралы деректерді жинау немесе сақтық көшірменің бар екенін растау.

Firmware жаңартуларынан, контроллерге жүктеуден, қауіпсіздік конфигурациясынан немесе брандмауэрге ауқымды өзгерістер енгізуден бастамаңыз. Мұндай әрекеттер өндірістің жұмысына әсер етуі мүмкін. Сонымен қатар олар жеткізушіден алынған нақтырақ дәлелдер мен кәсіпорынға тән тестілеуді қажет етеді.

Әр тапсырма үшін playbook жазбас бұрын күтілетін күйді анықтаңыз. Қатысты файлдарды, қызметтерді, порттарды, есептік жазбаларды және тәуелділіктерді тіркеңіз. Қандай нәрселер өзгеріссіз қалуы тиіс екенін көрсетіңіз.

Inventory файлдарын функциясы мен тәуекеліне қарай бөліңіз

Барлық OT түйіндерін біртекті inventory файлына орналастырмаңыз. Жүйелерді нысан, функция, орта және салдар бойынша топтастырыңыз. Әзірлеу ортасындағы SCADA серверлері өндірістік серверлермен бірдей нысана үлгісін пайдаланбауы тиіс.

Әр бекітілген өзгеріс терезесі үшін нақты түйін топтарын пайдаланыңыз. Түйін айнымалыларын нұсқаларды басқару жүйесінде сақтаңыз. Inventory өзгерістерін playbook өзгерістері сияқты мұқият тексеріңіз. Дұрыс тапсырманы қате түйінге жіберу де — сәтсіздік.

Динамикалық inventory пайдалы болуы мүмкін, бірақ ол деректердің тағы бір көзін енгізеді. Инженерлер түйіндердің inventory файлына қалай қосылатынын немесе одан қалай шығарылатынын растауы керек. Ескірген актив жазбасы автоматтандыруды қолданыстан шығарылған немесе басқа мақсатқа бейімделген жабдыққа бағыттауы мүмкін.

Идемпотентті playbook файлдарын әзірлеңіз

Идемпотентті тапсырма әр іске қосылған сайын қажетсіз өзгерістер енгізбей, талап етілетін күйге жеткізеді. Бұл қайталап орындауды түсінуді жеңілдетіп, қажетсіз қайта іске қосуларды азайтады.

Мақсатты платформаны қолдайтын арнайы модульдерді пайдаланыңыз. Shell командалары жанама әсерлерді жасырып, нәтижелері түсініксіз болуы мүмкін. Команданы қолдану міндетті болса, оның шарттарын, күтілетін қайтару кодтарын және кері қайтару әрекетін анықтаңыз.

Handlers тек тиісті конфигурация өзгерген кезде қызметтерді қайта іске қосуы керек. Сериялық орындау әсер ететін түйіндер санын шектей алады. Шағын топ мөлшері мониторинг пен кері қайтаруды да басқаруды жеңілдетеді.

Өндірісте орындамас бұрын тексеріңіз

Синтаксисті тексеру құрылымдық қателерді анықтайды, бірақ өзгерістің қауіпсіз екенін дәлелдемейді. Ansible-дің тексеру режимі қолдау көрсетілетін тапсырмаларды модельдейді, ал айырмашылықтар режимі ұсынылған файл өзгерістерін көрсете алады. Ресми тексеру және айырмашылықтар режимі құжаттамасында олардың шектеулері де көрсетілген.

Кейбір модульдер тексеру режимін толық қолдамайды. Тіркелген айнымалылар мен шартты тапсырмалар модельдеу кезінде өзгеше әрекет етуі мүмкін. Айырмашылықтар нәтижесінде құпиялар көрініп қалуы ықтимал. Бұл құралдарды кеңірек тестілеу үдерісіндегі дәлелдердің бірі ретінде қарастырыңыз.

Алдымен playbook файлын соған ұқсас тест түйінінде іске қосыңыз. Содан кейін өндірістегі шектеулі сынақ нысанын пайдаланыңыз. Нысандар тобын кеңейтпес бұрын қолданбаның күйін, дабылдарды, байланыстарды, historian деректерін жинауды, уақытты синхрондауды және операторға көрінуін растаңыз.

Тіркелгі деректері мен журналдарды қорғаңыз

Қажетті құқықтары ең аз атаулы қызметтік есептік жазбаларды пайдаланыңыз. Ортақ әкімші тіркелгі деректерінен аулақ болыңыз. Құпияларды бекітілген қоймада сақтап, playbook нәтижесінде құпиясөздердің, токендердің, сертификаттардың немесе жабық кілттердің көрінуіне жол бермеңіз.

Журналдарда сұраушы, тексеруші, playbook нұсқасы, inventory, басталу уақыты, нәтиже және өзгертілген элементтер көрсетілуі керек. Жазбаларды қорғалған орынға жіберіңіз. Басқару түйініндегі жергілікті журналдар сол түйін істен шыққан жағдайда жеткіліксіз.

Өзгерістің ішіне кері қайтаруды қосыңыз

Кері қайтару жоспары «сақтық көшірмені қалпына келтіру» дегеннен нақтырақ болуы тиіс. Орындау алдында нақты файлдарды, пакеттерді, қызмет күйлерін және қолданба нұсқаларын тіркеңіз. Қалпына келтіру жолын соған ұқсас жүйеде тексеріңіз.

Кейбір өзгерістерді өндірісте қауіпсіз кері қайтару мүмкін емес. Дерекқор схемасының өзгерістері мен firmware жаңартулары — жиі кездесетін мысалдар. Мұндай жағдайда жоспарға техникалық қызмет көрсету үшін тоқтап тұру уақыты, жеткізушінің нұсқауы және қалпына келтіру тасымалдағышы қажет.

Пайдалану бойынша тексеру тізімі

  • Playbook иесін, тексерушісін және бекітілген өзгеріс өтінімін растаңыз.
  • Inventory файлын атауы көрсетілген түйіндермен және дұрыс ортамен шектеңіз.
  • Орындамас бұрын сақтық көшірмелер мен қалпына келтіру нұсқауларын тексеріңіз.
  • Синтаксисті тексеруді, тексеру режимін және қолдау көрсетілген жағдайда тест түйініндегі сынақты орындаңыз.
  • Сериялық топтарды және алдын ала белгіленген тоқтату шарттарын пайдаланыңыз.
  • SCADA қызметтерін, байланыстарды, дабылдарды және деректер жиналуын бақылаңыз.
  • Playbook нұсқасын, журналдарды, нәтижелерді және кері қайтару дәлелдерін мұрағаттаңыз.

Қорытынды

Ansible SCADA инфрақұрылымындағы конфигурацияның ауытқуын және қолмен жасалатын өзгерістердің әркелкілігін азайта алады. Оның құндылығы өзгерістерді жылдамырақ орындауда емес, қайталанатын дәлелдемелерде. Сервердегі шектеулі тапсырмалардан бастаңыз, inventory файлдарын тәуекелге қарай бөліңіз, әр playbook файлын тексеріңіз және сынақтан өткен қалпына келтіру жолын сақтаңыз.

Leave a comment

Please note, comments need to be approved before they are published.