Бірліктер
1. Жүйе мен желіні басқарудағы жасанды интеллектке кіріспе: рөлдер, шекаралар, аутентификация және өкілеттік 2. Автоматтандыру сценарийлері: Bash, PowerShell және Python файлдарын қауіпсіз жасау 3. Журналды талдау және түбірлік себептерді талдау: шудағы сигналды табу 4. Сыйымдылық пен өнімділікті бақылау: көрсеткіштерді оқу және болашақты жоспарлау 5. Конфигурацияны басқару: конфигурацияны жасау, растау және Drift түсіру 6. Инфрақұрылымды код ретінде басқару (IaC): Terraform, Ansible және Plan Control 7. Құжаттама және ақпаратты басқару: Runbook, өлгеннен кейінгі және корпоративтік жад 8. Болжалды техникалық қызмет көрсету: сәтсіздіктерді олар болғанға дейін көру 9. Өзгерістерді басқару: тәуекелді бағалау, кері қайтару және техникалық қызмет көрсету терезесі 10. Қауіпсіздік және қорғаныс: жасанды интеллектті қорғаныс мақсатында және өкілеттік шегінде пайдалану 11. Ақыр аяғына дейін интеграция: оқиғаны басынан аяғына дейін басқару
Бірлік 6 / 11

Инфрақұрылымды код ретінде басқару (IaC): Terraform, Ansible және Plan Control

Табыстар:

  • Ең тар рұқсаттар мен қауіпсіз әдепкі мәндері бар жасанды интеллектпен IaC (Terraform, Ansible) кодын шығару және декларативті тәсілді түсіну мүмкіндігі
  • Жоспар/тексеру нәтижесін қолданбас бұрын жою және күштеп ауыстыру жолдарын оқу және түсіру арқылы деректердің жоғалуын болдырмау мүмкіндігі
  • Күй файлын шифрланған, құлыпталған, қашықтағы серверде сақтау және өзгерістерді шағын, қайтымды қадамдарға бөлу арқылы құпия ағып кетудің алдын алу мүмкіндігі

Инфрақұрылымды код ретінде басқару (IaC): AI көмегімен Terraform, Ansible және Plan Control

Бұрын серверді орнату қолмен басу, пәрмендер және жеке жазбалар арқылы жасалды; Нәтижесі қайталанбайтын «снежинка» серверлері болды, оларды қалай орнату керектігін ешкім білмейді. Инфрақұрылым ретінде код (IaC) - бұл хаосты аяқтайтын тәсіл: серверлер, желілер, қауіпсіздік ережелері қолмен емес, нұсқалық мәтіндік файлдармен (код) анықталады. Бұл кодты іске қосқан кезде, инфрақұрылым дәл сіз жазғандай орнатылады — бірдей, құжатталған және әр уақытта қайталанатын. Ең көп таралған құралдар бұлттық инфрақұрылымға арналған Terraform және CloudFormation және сервер конфигурациясына арналған Ansible болып табылады. Мұнда AI осы IaC кодын жазуда, түсіндіруде және қарауда өте шебер. Бірақ IaC қуаты оның қауіптілігі болып табылады: бір қате желі бүкіл инфрақұрылымды жоюы мүмкін; сондықтан AI кодты жазады, сіз «жоспарды» оқып, оны бекітіп, оны орындайсыз.

Бұл бөлімде біз декларативті тәсілді, жоспар/қолданбалы айырмашылықты, мемлекеттік қауіпсіздік пен импотенцияны талқылаймыз; Сіз AI және ең маңызды дағды, «жоспарды басқару» арқылы IaC буынын үйренесіз.

Декларативті ойлау: «қалай істеу керек» емес, «егер не істеу керек»

Көптеген IaC құралдары декларативті болып табылады: сіз жүйенің соңғы күйін сипаттайсыз («3 веб-сервер, 1 жүктеме теңестіруші» дейік), құралдың өзі сол күйге жету жолын есептейді. Бұл сценарий жазудан өзгеше («мынаны орында, содан кейін мұны қадаммен орында»). Декларативті тәсілдің үлкен артықшылығы - импотенттілік: кодты он рет іске қоссаңыз да, нәтиже бірдей болады, өйткені құрал қажетті күйдің бар-жоғын тексереді, ал егер бар болса, оған қол тигізбейді. AI-ге IaC жазғанда бұл айырмашылықты есте сақтаңыз: сіз оған «осы командаларды іске қосу» емес, «осы инфрақұрылым күйіне рұқсат етіңіз» деп айтасыз.

Жоспарлау/қолдану: ең маңызды қауіпсіздік қоршауы

IaC-тың өмірді сақтайтын ерекшелігі - жоспар қадамы. Terraform, terraform plan, Ansible бағдарламасында --check режимі кодты іске қоспас бұрын, "мен оны қолдансам, не өзгереді" алдын ала қарауды жасайды: "2 ресурс қосылады, 1 өзгереді, 0 жойылады". Бұл іске асыру алдында ниетіңізді шындықпен салыстырудың жалғыз жолы. Сыни ереже: ешқашан жоспарды оқымай қолданбаңыз. Әсіресе «жою» сызықтарын іздеңіз; Жазба қатесіне байланысты «1 өзгертіледі» орнына «12 жойылады» дегенді көрсеңіз, жоспар сізді апаттан құтқарды. Кодты AI-ге басып шығарғаннан кейін, «жоспардың шығу жолын менімен бірге тексеріп, жою/рекреацияны қамтитын әрбір жолды белгілеңіз» деп айтыңыз.

Ескерту: Terraform-ға кейбір өзгерістер «орнында жаңартудан» гөрі ресурсты «жойып, қайта жасайды». Бұл дерекқор үшін деректердің жоғалуын білдіреді. Жоспар шығаруда -/+ немесе «ауыстыруға мәжбүрлеуді» елемеу ең қымбат қателердің бірі болып табылады.

Мемлекеттік іс: құпиялар мен шындықтың жазбасы

Terraform сияқты құралдар олар басқаратын инфрақұрылымның ағымдағы күйін күй файлында сақтайды. Бұл файл екі себеп бойынша өте маңызды. Біріншіден, ол құпияларды қамтуы мүмкін (деректер базасының құпия сөздері, кілттер ашық мәтінде күйге түсуі мүмкін); Сондықтан күйді ешқашан жалпыға ортақ репозиторийге немесе AI-ға қоймаңыз, оны шифрланған және қол жеткізу шектелген қашықтағы серверде сақтаңыз. Екіншіден, егер мемлекет бүлінсе немесе жоғалса, көлік нақты инфрақұрылым мен елестетілген инфрақұрылым арасындағы байланысты жоғалтады; Сондықтан күйдің резервтік көшірмесі және құлыптау механизмі (бір уақытта екі адамның оны бұзуына жол бермейтін құлып) өте маңызды.

Қадамдық: IaC-ті AI көмегімен қорғаңыз

  1. Мемлекеттік ниет және жеткізуші. «AWS жүйесіндегі 2 сервер, Terraform бар, осы аймақта, осы өлшем және қауіпсіздік тобы.» Бұлт, құрал және нұсқа анық болса, AI дұрыс синтаксисті жасайды.
  2. Қауіпсіздік әдепкілерін сұрау. «Қауіпсіздік тобын ашыңыз, шифрлауды қосыңыз, айнымалыға құпияларды алыңыз, жалпыға қолжетімділікті беріңіз.» AI әдепкі бойынша бос үлгілерді жасай алады.
  3. Кодты оқып, түсініңіз. Әрбір ресурсты, әрбір рұқсатты, жол-жолды түсініңіз. Түсінбейтін рұқсатты қолданбаңыз.
  4. Жоспар алыңыз және оны тексеріңіз. Жоспарды іске қосыңыз/--тексеріңіз, AI көмегімен нәтижені тексеріңіз, жою және қайта құру жолдарын белгілеңіз.
  5. Кішкентай және қайтымды жағыңыз. Бірден емес, кішкене бөліктерде үлкен өзгерісті жүзеге асырыңыз. Әр қадамда кері жолды біл.
  6. Мемлекетті қорғау. Қашықтан, шифрланған сервер мен құлыпты пайдаланыңыз; Ешқашан күйді ағызбаңыз.

үш шағын іс

1-жағдай - Жоспар дерекқорды қалпына келтірді. Инженер AI көмегімен жасаған Terraform коды арқылы деректер қорының көлемін ұлғайтқысы келді. Ол терраформалық жоспардың шығысында «1 өзгереді» деп күткен кезде ол «жою үшін 1, қосу үшін 1» дегенді көрді — ол таңдаған параметр орнындағы жаңартуды емес, қайта құруды іске қосты, яғни барлық деректер жойылады. Жоспарды басқару ол іске асырылмай тұрып қайтымсыз деректер жоғалуын тоқтатты.

2-жағдай — Бос әдепкіден қайтару. Бір топ AI-дан брандмауэр кодын сұрады. Мысалды іске қосу үшін AI қарапайым 0.0.0.0/0 ережесін жасады, бұл «интернеттегі жалпыға ортақ» дегенді білдіреді. Инженер кодты оқу кезінде мұны байқады және тек кәсіпорынның IP диапазонына қол жеткізуді тарылтады. Егер ол тексерілмей жүзеге асырылса, дерекқор бүкіл интернетке ашық болар еді.

3-жағдай - күйдің ағып кетуіне жол берілмейді. Кіші мүше Terraform мәселесін шешу үшін terraform.tfstate файлын жалпыға ортақ құралға қоймақ болды. Аға инженер тоқтады: күйде ашық мәтіндік дерекқор құпия сөзі бар. Оның орнына, мәселені сипаттайтын шифры шешілген қорытынды бөлісілді және күй қашықтағы шифрланған серверге жылжытылды.

Көшірілетін төрт үлгі

1) IaC ресурсын құру (қауіпсіз әдепкі):

Сіздің рөліңіз: бұлттық инфрақұрылымның аға инженері. [Бұлт, мысалы. AWS] үшін[құрал, мысалы. Terraform] кодты жасайды. Мақсаты: [мақсат].Қауіпсіздік ережелері: ашық (0.0.0.0/0) қолжетімділік АШУ;ең тар рұқсатпен бастау; шифрлауды қосу; құпияларды айнымалыларға шығарыңыз, оларды кодқа енгізбеңіз; Жоюға/демалуға әкелуі мүмкін параметрлерді тексеріңіз. Әрбір дереккөзді қысқаша түсініктемемен түсіндіріңіз.

2) Шығару аудитін жоспарлаңыз:

Төменде [Terraform plan / Ansible check] шығысы берілген. Айтыңызшы: (1) қанша ресурстар қосылады/өзгертіледі/жойылады, (2) деректердің жоғалу қаупін тудыратын "жою" немесе "ауыстыруды мәжбүрлеу" жолдарын белгілеңіз, (3) күтпеген немесе қауіпті болып көрінетін өзгерістерді тізімдеңіз. Шығару: [жоспар]

3) IaC кодының қауіпсіздігін тексеру:

Қауіпсіздік үшін келесі IaC кодын тексеріңіз: (1) тым кең рұқсаттар/рұқсаттар бар ма, (2) шифрлау өшірілген, (3) кодқа енгізілген құпиялар бар ма, (4) жалпыға қолжетімді ресурстар бар ма? Әрбір қорытынды үшін түзетуді ұсыныңыз. Код: [маскаланған код]

4) Өзгерісті қауіпсіз бөліктерге бөліңіз:

Мен бұл үлкен инфрақұрылымдық өзгерісті [түсіндіруді] бірден жүзеге асырғым келмейді. Оны қайта оралу оңай шағын, тәуелсіз қадамдарға бөліңіз. Әрбір қадам үшін: қандай өзгерістер, жоспарда неге назар аудару керек, проблемалар туындаса, оны қалай жоюға болады?

Әлсіз шақыру / Күшті шақыру

Әлсіз шақыру:

AWS жүйесінде сервер жасайтын Terraform кодын жазыңыз.

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

Күшті шақыру:

Сіздің рөліңіз: бұлттық инфрақұрылымның аға инженері. AWS eu-central-1 жүйесінде Terraform көмегімен веб-серверді анықтаңыз: t3.small, тек корпоративтік IP ауқымынан (оны айнымалымен беремін), 443 порты ашық, диск шифрланған, жалпы қолжетімділік жоқ, белгілер міндетті. Құпиялар айнымалыға ашылады. Кодтан кейін: Оны жүзеге асырмас бұрын, маған жоспарда назар аудару керек 3 жол түрін айтыңыз және қайтару жолын түсіндіріңіз.

Сахна

Тәуекел

қауіпсіздік қоршауы

код жазу

Бос әдепкі (жалпыға ортақ)

Ең тар рұқсат + оқу

жоспарлау/тексеру

Байқамай жою

Тексеруді жоспарлау, таңбалауды жою

Қолдану

Бір реттік негізгі өзгеріс

Шағын, қайтымды қадамдар

мемлекеттік басқару

Жылтырдың ағуы, бұрмалануы

Қашықтан шифрланған сервер + құлып

Жалпы қателер

  • Жоспарды оқымай өтініш беру. Жоспар жою және қайта құруды болжайды; Егер ол өткізілсе, деректердің жоғалуы сөзсіз.
  • Бос әдепкі мәнді байқамау. AI даналары жиі 0,0,0,0/0 шығарады; Егер ол өндіріске ауыстырылса, бұл бүкіл интернетке ашық көзді білдіреді.
  • Ағып жатқан күй. Күй файлын AI немесе ашық репозиторийге экспорттау ашық мәтіндік құпияларды ашады.
  • Құпияларды кодқа енгізу. Құпия сөзді IaC кодына жазу код нұсқасы тарихында тұрақты ағып кету болып табылады.
  • Қайта құруды жаңарту үшін қателесу. Күштерді ауыстыру жолын елемеу дерекқорлардағы деректердің жоғалуына әкеледі.
Кеңес: Жоспар нәтижесін AI-ға қарап шығу үшін бергенде де, соңғы шешімді жоспар мәтініне емес, өз біліміңізге негіздеңіз. AI жоспарды қорытындылайды және қауіпті сызықтарды белгілейді; бірақ «бұл жоюға болады ма» деген сұраққа жауап сіздің бизнес контекстіңізге байланысты.

Қысқаша айтқанда

IaC қолмен басудан гөрі нұсқалық кодпен инфрақұрылымды басқару арқылы қайталану және құжаттаманы әкеледі. AI - бұл кодты жазуда, оны сипаттауда және қауіпсіздікті тексеруде күшті серіктес. Бірақ IaC қуаты оның қауіптілігі: бір желі бүкіл инфрақұрылымды жоя алады. Декларативті деп ойлаңыз, ең тар рұқсаттан бастаңыз, бос әдепкі мәндерді түзетіңіз, құпияларды код пен күйден сақтаңыз. Ең маңызды қоршау - бұл жоспар/тексеру қадамы: ешқашан жою және қайта құру сызықтарын оқымай орындамаңыз. Күйді шифрланған, құлыпталған және қашықтан ұстаңыз. Код - AI, шешім сіздікі.

Қолданбалы тапсырма

Шағын инфрақұрылым нысанасын таңдаңыз (мысалы, жалғыз виртуалды машина және қауіпсіздік ережесі). Жоғарыдағы «IaC ресурсын құру» үлгісімен AI-дан қауіпсіз әдепкі мәндері бар кодты сұраңыз. "IaC коды қауіпсіздігін тексеру" үлгісімен кодты екі рет тексеріңіз және кем дегенде бір бос параметрді табуға тырысыңыз. Мүмкін болса, сынақ тіркелгісінде жоспарды/--тексеруді іске қосыңыз және «Жоспар шығысын тексеру» үлгісімен нәтижені қарап шығыңыз; Жою немесе қайта жасау жолының бар-жоғын қараңыз. Қорытындыларыңызды және мемлекетті қалай қамтамасыз ететініңізді 6 ұпайға жазыңыз.

бақылау парағы

  • [ ] AI үшін бұлтты, құралды және нұсқаны көрсетіп, ең тар рұқсаттары бар кодты сұрадым ба?
  • [ ] Мен бос әдепкі мәндерге (0.0.0.0/0, жабық шифрлау) кодты тексердім бе?
  • [ ] Мен оларды кодқа ендірудің орнына айнымалыға құпияларды шығардым ба?
  • [ ] Өтініш берер алдында жоспар/тексеру шығысын оқып, жою жолдарын белгіледім бе?
  • [ ] "Күштерді ауыстыру"/жолдарды қайта құру деректерінің жоғалу әсерін бағаладым ба?
  • Мен [ ] күй файлын қашықтағы серверде шифрланған, құлыптаулы күйде сақтап, оны сыртқа шығарған жоқпын ба?