2024 ж. 27 жел.·7 мин

Harbor қауіпсіздігін баптау: осалдықтарды сканерлеу, қолтаңбалар және RBAC

Harbor қауіпсіздігін баптау: осалдықтарды сканерлеу, образдарға қол қою, RBAC, сақтық көшірме және артефакттарды сақтау ережелері — күрделендірмей.

Harbor қауіпсіздігін баптау: осалдықтарды сканерлеу, қолтаңбалар және RBAC

Міндет: қымбат платформалардың орнына қауіпсіз реестр

Контейнер реестрі — бұл Kubernetes немесе Docker‑де қызметтерді іске қосуға арналған жеке образдар қоймасы. Команда үшін ол бір анықталған шындық көзі: тест пен продқа не жайғасатыны, кім жібергені және қай нұсқа дұрыс саналады.

Мәселе мынада: реестр тез арада критикалық нүктеге айналады. Онда күдікті образ түссе немесе құқықтар тым кең берілсе, салдар бүкіл инфрақұрылымның қауіпсіздігіне әсер етуі мүмкін. Сондықтан Harbor‑ды қауіпсіз баптау жиі интерфейс таңдаудан да маңыздырақ болады.

Күнделікті көрінетін тәуекелдер қарапайым секілді, бірақ ауыр салдары бар: зиянды немесе осал образдар тізбек арқылы жинаққа кіріп кетуі, жеке образтарды рұқсатсыз жүктеу, тегтерді немесе жобаларды кездейсоқ өшіру, сондай‑ақ "latest" сияқты таныс тег арқылы образды алмастыру, оны ешкім байқамауы мүмкін.

Коммерциялық платформалар осы мәселелердің бір бөлігін «сіз үшін» жабады, бірақ олар қымбатқа түсіп, on‑prem орналастыруды шектей алады және жеткізу тізбегін қатаң бақылауды қажет ететін ұйымдарға әрдайым сай емес. Осындай жағдайда Harbor жиі ақылға қонымды балама болады: ол образдарды сканерлейді, қолтаңба қоюды, түсінікті RBAC ұсынады, сақтау саясаттарын және реестрді сіздің инфрақұрылымға жақын ұстау мүмкіндігін береді.

Практикалық мысал: Қазақстандағы мемлекеттік орган немесе банк реестрді өзінің контурында орналастырады, сонда сыртқы сервистерге тәуелді болмай, қатынасты толық бақылайды. Мұндай сценарийде Harbor‑ды ғана емес, оның үстіндегі сенімді платформаны да (серверлер, желі, дискілер, қолдау) жерінде пайдалануға болатын етіп ұйымдастыру маңызды.

Harbor‑дың негізгі ұғымдары түсінікті тілде

Harbor — контейнер образдары сақталатын және қолжетімділік пен қауіпсіздік ережелерін орталықтан басқаруға болатын реестр. Қауіпсіз баптау хаосқа айналмауы үшін терминдерді бір рет жүйелеу пайдалы.

Harbor интерфейсінде не көресіз

Оны былай қарапайым түсінуге болады:

  • Жоба — командаға немесе өнімге арналған бөлек қалта. Көп ережелер дәл осы жоба ішінде қойылады.
  • Репозиторий — жобада бір қосымшаға арналған образдар орны (мысалы, backend).
  • Артефакт — жүктеуге және тексеруге болатын нақты жинақ (әдетте контейнер образы).
  • Тег — нұсқа атауы (v1.4.2, release-2026-01, latest). Тегтің қайта жазылуы мүмкін екенін есте ұстаңыз.
  • Robot‑шот — CI/CD үшін техникалық пайдаланушы, автоматизацияға жеке логинсіз push/pull жасауға мүмкіндік береді.

Қол жеткізу құқықтары және баптау деңгейлері

Harbor‑да жоба деңгейінде ролдер бар (Project Admin, Maintainer, Developer, Guest) және жүйелік админ, ол орнатуды басқарады. Жақсы тәжірибе — адамдарға ең аз қажетті құқықты беру, ал CI үшін тек қажет жобаларға ғана қол жетімді robot‑шоттарды қолдану.

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

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

Образдарды сканерлеу: нені тексеріп, қашан іске қосу керек

Образдарды сканерлеу — контейнер ішінде белгілі осалдықтардың бар‑жоғын тексеру. Құрал әдетте ОС пакеттерін (кітапханалар, утилиталар) және тілге тәуелділіктерді (npm, pip, Maven және т.б.) талдап, содан соң CVE базасымен салыстырады. Маңыздылық деңгейлері (Low, Medium, High, Critical) тәуекелді жылдам бағалауға көмектеседі. Critical әдетте эксплуатацияланатын нақты әдіс бар және салдары ауыр болуы мүмкін дегенді білдіреді.

Сканерлеу пайдалы болуы үшін қай кезде іске қосылатынын алдын ала шешіңіз. Көбінесе үш режим қолданылады: әр push‑та (ең қатаң бақылау, бірақ үлкен жүктеме), кесте бойынша (мысалы, түнде — база жаңарғаннан кейін ескі образдарды қайта тексеру), және қолмен (бірреттік аудит үшін).

Сканер есебін қорқынышты сөздер тізімі деп емес, шешімге бағыттайтын подсказка ретінде оқыңыз: шығаруды блоктау немесе рұқсат ету. Практикалық тәсіл — Critical пен High деңгейіндегі образдарды продқа жібермей, Medium деңгейіне түзету үшін уақыт беру. Harbor‑да бұл әдетте жоба саясаттары арқылы бекітіледі, солайша ережелер барлығына бірдей жұмыс істейді.

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

Жүйені жүктемей ұстау үшін компромисс табыңыз: push кезінде тек жаңа тегтерді сканерлеңіз, ал кешкі уақытта толық пересканер өткізіңіз. Солайша айқын мәселелер лезде жіберілуге кедергі болады, ал жоспарлы скан ескі образдардағы жаңа CVE‑ларды түсініп, келесі релизге дейін түзетуге уақыт береді.

Қолтаңба мен образдарға сенім: қарапайым процесс

Образқа қол қою — бұл "кім жинады" және "оған сенуге бола ма" деген қарапайым сұраққа жауап береді. Ол сборкадан іске қосуға дейінгі жолдағы алмастырулардан қорғайды. Тіпті реестртің ішіне кіру мүмкіндігі болса да немесе біреу тегті қайта жазса да, қолтаңба оны анықтайды.

Қол қоюды жеке ноутбуктағы адам емес, болжамды және қайталанып жүретін процесс жасауы тиіс. Әдетте қолтаңбаны CI жинау кезінде қояды, ол үшін релиз‑шот пен қорғалған кілттер пайдаланылады. Әзірлеушілерге эскиз образдар жариялауға рұқсат беруге болады, бірақ сенімді образдар тек автоматтандырылған үдерістен өтуі тиіс.

Негізгі процесс мынандай:

  • Қол қоюға арналған кілттер жасаңыз және олардың қайда сақталатынын анықтаңыз (репозиторийде немесе жалпы чаттарда емес).
  • Қажетті жобалар үшін Harbor‑да қолтаңба тексеруді қосыңыз.
  • Қай репозиторийлер мен тегтердің қолтаңбаны талап ететінін ережелеңіз (мысалы, тек release/prod).
  • CI‑ды жинау аяқталғаннан кейін образға қол қою және жарияламас бұрын оны жіберетіндей баптаңыз.
  • Кластерде немесе релиз пайплайнда қолтаңбасыз образдарды орналастыруға тыйым салыңыз.

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

Командаға сенімділікті қысқа ережелер арқылы түсіндіру жеңіл:

  • Сенімді образдар — тек CI релиз‑шотымен қол қойылғандар.
  • Прод үшін тегтер тек бір Harbor жобасынан қабылданады.
  • Қолтаңбасы жоқ любой образ тесттік деп есептелсін, тіпті тегі latest болып көрінсе де.

Осылайша қолтаңба криптомагия емес, сапа бақылауының бір бөлігі болады.

RBAC: құқықтарды бөліп, бақылауды жоғалтпау

Harbor‑дағы RBAC — әркімге жұмыс істеуге қажетті дәл сол құқықтарды беру ережесі. Қауіпсіз баптау баптау белгілерінен емес, рөлдер мен шекараны түсінуден басталады.

Практикада ролдер жиі былай бөлінеді: жоба админі қатысушылар мен саясаттарды басқарады; әзірлеуші образдарды push/pull ете алады, бірақ қауіпсіздік ережелерін өзгерте алмайды; қонақ көбінесе тек pull жасайды. Robot‑шоттар — CI/CD және автоматизация үшін, тұлғалық логиндерді пайдаланбау үшін бөлек.

Әрекеттер бойынша ең аз құқықты анықтаған ыңғайлы:

  • Pull (оқу): рантайм, тесттер және тек іске қосатын командалар үшін.
  • Push (жүктеу): CI жинақтары үшін.
  • Артефакттарды жою: жауапты адамдарға ғана және процеске байланысты.
  • Саясаттарды басқару (сканерлеу, қолтаңбалар, сақтау): тек жоба админдарына.
  • Қатысушыларды басқару: 1–2 адамға шектеу, солайша құқықтар тарап кетпейді.

Ең сенімді әдіс — жобалар арқылы қатынасты бөлу. Мысалы, prod, test және sandbox үшін бөлек жобалар. Онда әзірлеуші sandbox‑та еркін тәжірибе жасай алады, ал prod‑та оған тек push/pull рұқсаты беріліп, жоюға және саясат өзгертуге құқық жоқ.

Қауіпті әрекеттерді алдын ала шектеу: жою мен саясат өзгертуге рұқсатты жоба иесінен басқа ешкімге бермеңіз. Субподрядшыларға бөлек жоба немесе тобы бар, тек pull құқық беріңіз. Егер subcontractor‑ге push қажет болса, админ рөліне емес, нақты жобаға және мерзімге шектелген robot‑шот беріңіз.

Мысалы: CI образды test‑қа robot‑шот арқылы жүктейді (push тек test жобасында). Тексерістен кейін жауапты адам сол образды prod‑қа жылжытады немесе жариялайды, ал prod қатысушыларының көпшілігі тек pull ғана жасайды.

Қадамдық баптау: бір өтуге қауіпсіз минимум

Командаға арналған Harbor пилоты
Бір команда үшін пилотты орнатып, ережелерді қарапайым нұсқауда бекітеміз.
Пилот бастау

Harbor‑ды бөліп баптау кезінде бір маңызды нәрсені ұмытып кету оңай: бір жерде осалдық сканерлеуді өшіріп қалғансың, бір жерде құқықтарды тым кең етіп тастағансың. Төменде — артық күрделіксіз негізгі қауіпсіздік қадамдарының тізімі.

Бастапқыда құрылымды анықтаңыз: командалар мен орталарға арналған бірнеше жоба. Мысалы, өнімдерге бөлек жобалар және prod пен non‑prod үшін жеке жобалар. Одан әрі тәртіп пен құқықтарды жеңіл басқаруға ыңғайлы болады.

Келесі қадам — образдарды сканерлеуді қосып, шекті мәндерді орнатыңыз. Практикалық минимум: push кезінде және deploy алдындағы сканерлеу; production‑да Critical деңгейдегі осалдықтары бар образдарды блоктау. Тестте бастапқыда жұмсақ тәсіл қолданып, кейін ескертулерді қашан блоктау керегін анықтаңыз.

Келесі қабат — контейнер образдарына қол қою. Продқа тек сіздің CI арқылы қол қойылған және Harbor арқылы тексерілген образдар жіберілсін. Бұл біреу басқа жоба немесе пайплайннан ұқсас образды алып кету қаупін азайтады.

Параллельде RBAC‑ты сервис шоттары арқылы баптаңыз. CI үшін robot‑шоттарды қолданыңыз: бір роботты жобаға не пайплайнға беріп, оған тек сол жобада push/pull құқықтары беріңіз; әкімшілік құқықтар мен басқа репозиторилерге қатынас бермеңіз.

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

Екі практиканы қосыңыз, олар нервтерді үнемдейді: сақтау саясаты және резервтік көшіру. Мысалы, соңғы N тегті сақтау немесе 30–90 күндік сақталу мерзімі. Осылайша реестр шамадан тыс өспейді, ал ақаудан соң қалпына келтіру қолмен археологияға айналмайды.

Резервтік көшіру және қалпына келтіру: ақаулардан қорықпау үшін

Harbor жиі критикалық бөлікке айналады: реестр қолжетімсіз болса, жинақтар мен шығару тоқтап қалады. Сол себепті резервтік көшіру қауіпсіз баптаудың ажырамас бөлігі.

Барлығын бір ғана папканы сақтаумен шектемеңіз. Harbor‑да бірнеше деректер қабаты бар: метадеректер (жобалар, пайдаланушылар, рөлдер, саясаттар), артефактілер сақтауы (образдар, қолтаңбалар), конфигурация, сертификаттар мен құпиялар. Сертификаттар немесе қолтаңба кілттерінің жоғалуы образдарды жоғалтудан кем ауыр болмауы мүмкін.

RPO мен RTO күтілімдерді келісуге көмектеседі. RPO — қанша деректі жоғалтуды қабылдайсыз (мысалы, соңғы 1 сағат ішіндегі тегтер), RTO — қалпына келтіруге қанша уақыт бөле аласыз (мысалы, 2 сағат ішінде реестрті көтеру). Осы көрсеткіштер резервтік көшіру жиілігі мен автоматтандыру деңгейін анықтайды.

Көшірмелерді Harbor‑дан бөлек сақтау керек: бөлек сақтау орны мен бөлек құқықтар, сонда реестртің компрометациясы резервтік көшірмелерді де бұзбайды. Мүмкін болса, басқа дата‑орталықта немесе оқшауланған сегментте сақтау дұрыс.

Практикалық минимум:

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

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

Артефактілерді сақтау ережелері: мерзімдер, тегтер және автоматты тазалау

Образдарға сенімділік орнату
Образдарға қол қою мен кілттерді сіздің контурда қалай сақтау керегін көрсетеміз.
Кеңес алу

Сақтау ережелері жоқ болса, реестр тез қоқыс қоймасына айналады. Дискі толып, сақтау құны өсіп, не жоюға болатынын түсіну қиындайды. Harbor‑дағы retention саясаттары тәртіпті ұстап, тәуекелдерді азайтады: кездейсоқ деплойлардың саны азаяды және аудит өту оңайырақ болады.

Алдымен не ұзақ сақталуы тиіс екенін шешіңіз. Әдетте бұл релиздер мен продта нақты іске қосылған нәрселер: нұсқа тегтері (мысалы, 1.4.2), команданың негізгі образдары (runtime, base OS) және көп сервистерде қолданылатын «алтын» образдар. Оларға ұзақ сақтау мерзімі беріп, жою тек қатты талаппен орындалсын.

latest тегіне абай болыңыз. Ол ыңғайлы, бірақ бақылауға сай емес: бүгінгі latest біреу, ертеңгісі басқа. latest‑ті ұзақ сақтамай, оны релиз деп есептемеу жақсы. Уақытша тегтерге (feature-123, pr-45, build-2026-01-11) қысқа мерзім қойып, реестрдің өзі қоқысты тазалап тұрсын.

Жай тәсіл:

  • Релиздік нұсқалар (семантикалық тегтер) ең ұзақ сақталсын.
  • Бранчтар мен PR‑дар үшін соңғы N жинақты немесе мерзіммен (мысалы, 7–14 күн) шектеу.
  • latest үшін тек 1–2 соңғы образ сақталсын және оны откат үшін қолданбаңыз.
  • Продта қолданылып жүрген образдарды қосымша бекітіп қойыңыз.

Тазалау кезінде ең үлкен қорқыныш — откатқа қажет образды жою. Бұл мәселе нақты ережелермен шешіледі: откатты latest‑ке емес, нақты тегке немесе digest‑ке жасау. Осылайша ескі жинақтарды мерзім бойынша тазалап, қажетті релиздер мен олардың тексерістерінің сақталуын қамтамасыз етуге болады.

Сақтау мерзімін қауіпсіздік пен аудит талаптарымен келісіңіз. Инцидентті тексеру үшін образдар мен сканерлеу нәтижелерін ұзақ сақтау қажет болуы мүмкін. Ортақ компромисс — релиздерді ұзақ сақтау, ал уақытша жинақтарды тезірек тазалау, бірақ релиздік артефактілер мен олардың тексерістерінің мөрін сақтау.

Практикалық мысал: бір командаға Harbor баптаудың қалай жұмыс істеуі

Сценарий

Бір команда: әзірлеушілер қызметтерді жинайды, DevOps CI мен реестрді қолдайды, қауіпсіздік маманы қабылдау ережелерін орнатады. Harbor корпоративтік периметр ішінде орналастырылған — мысалы, корпоративті серверлерде (құрал‑жабдықты жергілікті өндірушіден алудың маңызы болса, солай да болады).

Команда Harbor‑да team-a атты жоба ашады және жұмыс ағысын былай бекітеді: CI — жинақтау — қолтаңба — сканерлеу — жариялау. Негізгі ереже: продқа тек қолтаңбасы қойылған және критикалық осалдықтары жоқ образдар ғана жіберіледі.

Нақты жұмыс істейтін баптаулар

Алдымен ролдер. DevOps өзіне team-a жобасында Project Admin рөлін қояды, әзірлеушілерге Developer рөлін береді (push жасай алады), қауіпсіздік маманы тек есептер мен саясаттарды көруге рұқсат алады (көп жағдайда Project Admin ретінде бір жобаға тағайындайды). CI үшін robot‑шот ашылады, сонда пайплайндар жеке паролдарды қолданбайды.

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

Пайплайнның практикалық минимумы:

  • CI образды жинап, оған екі тег қояды: релиз нұсқасы (мысалы, 1.4.2) және қысқа build тегі (мысалы, build-20260111).
  • CI образға қол қояды (кілт қорғалған құпия орындарда сақталады).
  • Harbor push кезінде автоматты түрде сканерлейді және түнгі қайта тексеріс орнатады, жаңа CVE‑ларды табу үшін.
  • Деплой тек қолтаңбасы бар және тексерілген релиздік тегтерге рұқсат етіледі.

Сақтау ережелері: релиздік тегтерді 12 айға, ал күнделікті/түнгі жинақтарды 14 күнге сақтау командаға реестрді бақылауға көмектеседі. Соңында — күнделікті базаның және артефактілердің бэкаптары және ай сайын қалпына келтіруді тексеру. Қалпына келтіруді тексермеген бэкап — стресстік сәтте әлдеқайда қымбатқа түседі.

Қателер мен тұзақтар

Көбінесе реестр «бапталған» көрінеді, бірақ іс жүзінде қорғалмаған болады. Бұл Harbor‑дың кінәсі емес — көбіне кейінге қалдырылған шағын шешімдерден басталады.

Типтік қателік — тым ашық жобалар. Барлық командаларға бір жобада жұмыс істетіп, ролдерді кең берсеңіз, біреу өзге namespace‑қа образ бастырып немесе саясаттарды өзгерте алады. Жауапты табу қиынға соғады.

Екінші тұзақ — бүкіл Harbor үшін бір ортақ админ‑шот. Басында ыңғайлы көрінуі мүмкін, бірақ инцидент болғанда (тег жоғалды, webhook өзгерді) кім жасағаны белгісіз болады. Алдын ала платформа әкімшілігін және жоба иелерін бөлу жақсы.

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

Артефакттарды тазалау да зардапты болады: бәрін өшіріп тастағаннан кейін откатқа қажет образ жоқ болып шығады.

Қызыл ту көрсеткіштері:

  • Жобаларда жазу құқығы бар адамдар тым көп.
  • Админ‑логиндер ортақ және жеке жауапкершілік анықталмаған.
  • Осалдықтар көрінеді, бірақ оларға әрекет жоқ: түзету, ерекшелік немесе блоктау.
  • Сақтау саясаттары релиздермен байланыстырылмай тегтерді өшіреді.
  • Қолтаңба кілттері команданың қарапайым құпияларымен бірге сақталған.

Бэкаптар да кейде бар, бірақ қалпына келтіру ешқашан тексерілмеген. Квартал сайын бір рет қалпына келтіру тестін өткізу көбінесе өндірістің ұзақ тоқтауынан арзанырақ болады.

Іске қосар алдында қысқа чек‑лист

Harbor үшін ресурстарды бағалау
Harbor жүктемесі мен сіздің RPO/RTO талаптарыңызға сай серверлер мен сақтау орнын таңдаймыз.
Есеп сұрау

Командаларға қолжетімділік бермес бұрын және образдар реестрге жүктелмес бұрын бірнеше пунктіні тексеріңіз. Бұл 10–15 минутты алады, бірақ жүйенің "жұмыс жасайды, бірақ қауіпсіздік сөзге негізделген" жағдайын болдырмайды.

  • Жобалар құрылымын тексеріңіз: тест пен продты бөліңіз. Бөлек жобалар қорғауға және ережелерді түсіндіруге оңай.
  • Harbor‑дағы қауіпсіздік баптауларын бағалаңыз: образдарды сканерлеу қосылған ба және критикалық осалдық табылса не болады. Блоктау шегі анық болсын (мысалы, Critical — блок).
  • Образдардың қолтаңбасын тексеріңіз: кім қойып жатыр (CI немесе релиз инженері), қандай кілттер сенімді саналады және қолтаңбасыз образдармен не істеу керек.
  • Қол жеткізу құқықтарын қатайтыңыз:
    • Тест пен продқа бөлек жобалар бар ма.
    • RBAC қажетсіз құқықтар бермейтіндей бапталған ба.
    • Robot‑шоттар минималды құқықпен бір жобамен шектелген бе.
    • Сканерлеу қосылған және блоктау шектері келісілген.
    • Қолтаңбалар орнатылған және сенімді образтар ережесі анықталған.
  • Сенімділікті қамтамасыз етіңіз: сақтау мерзімдерін қойып, release-* сияқты тегтерді ұзақ сақтау туралы келісіңіз; автоматты тазалауды қосыңыз. Резервтік көшіру жұмыс істейтінін, сақтау орны мен қалпына келтіру тестінің бар екенін тексеріңіз.

Келесі қадамдар: ережелерді жазып, тыныш өсу

Базалық баптау аяқталғаннан кейін негізгі қауіп технологияда емес, ережелер адамдардың басында қалып кетуінде. Келісімдер жазбаша түрде бекітіліп, тұрақты тексерулер керек.

Бастапқыда қысқа талаптар жиынын жинаңыз: кім реестрді пайдаланады (әзірлеушілер, DevOps, қауіпсіздік), қандай ережелер міндетті (қолтаңба, критикалық осалдықтарды блоктау) және образдарды қанша уақыт сақтайсыз. Бұл RBAC, сканерлеу саясаты және сақтау ережелеріне тікелей әсер етеді.

Келесі қадам — пилотты бір жобаға жүргізу. Бір команданы және бір namespace‑ты таңдап, push кезінде міндетті сканерлеуді, релиздік тегтер үшін қолтаңбаларды және минималды ролдерді қосыңыз. Сосын бұл тәртіпті 1–2 беттен тұратын нұсқаулықта бекітіңіз: кім жобаны жарататыны, кім құқық береді, релиз не және сканерлеу сәтсіз болса не істеу керегі.

Қауіпсіз баптау уақыт өте нашарламасын десеңіз, тұрақты тексерулерді жоспарлаңыз:

  • Аптасына бір рет: сканерлеу қорытындылары мен критикалық осалдықтар трендін қарау.
  • Айына бір рет: пайдаланушылар мен құқықтарды аудит (артық аккаунттар, пайдаланылмайтын токендер).
  • Әр спринтте: релиздік образдардың қолтаңбаларын іріктеп тексеру.
  • Кварталда бір рет: резервтік көшіруден қалпына келтіру тесті.

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

Егер реестр пен инфрақұрылымды толық on‑prem құрып жатсаңыз, платформаны және қолдауды алдын ала ойластыру пайдалы. GSE.kz (gse.kz) — Қазақстанда серверлер шығаратын өндіруші және жүйелік интегратор ретінде жүктемеге сай инфрақұрылым, жүйелік интеграция және 24/7 қызмет көрсету ұйымдастыруда көмектесе алады, сонда ережелер тек іске қосуда емес, ұзақ уақытта да жұмыс істейді.

FAQ

Harbor коммерциялық реестрдің орнын таба ала ма, егер қауіпсіздік маңызды болса?

Иә. Көп жағдайда Harbor негізгі талаптарды қосымша лицензиясыз жабады: жеке жобалар, RBAC, осалдықтарды сканерлеу, сақтау саясаттары және қолтаңба арқылы образдарға сенімділік. On‑prem ұстаған кезде ол сыртқы сервистерге тәуелді болмау, жеткізу тізбегінің ашықтығы және қолжетімділікті бақылау үшін ыңғайлы.

Қай параметрлер Harbor‑да бір кеште қауіпсіз минимум береді?

Бастапқы минимум ретінде: жобаларды бөлу (prod және non‑prod), push кезінде сканерлеуді қосу және production үшін біржақты блоктау шегін анықтау. Одан кейін релиз тегтері үшін қолтаңбаларды қосып, ролдер мен robot‑шоттар арқылы қолжетімдікті шектеу қажет. Ақырында аудитті, сақтау саясаттарын және тұрақты резервтеу кестесін қосыңыз.

Қай деңгейдегі осалдықтарға шектеу қою керек: High‑ты ма, әлде тек Critical‑ті ме?

Практикалық нұсқа — production үшін Critical деңгейіндегі осалдықтары бар образдарды блоктау; High деңгейін де блоктауға болады немесе қысқа мерзімді алдын ала келісілген ерекшелікпен рұқсат ету. Негізгі — бірдей ереже барлық командаларға автоматты түрде қолданылуы тиіс, әйтпесе сканерлеу тек есеп шығарумен шектеледі. Тест ортада жұмсақ тәсіл қолдануға болады, бірақ алға қарай қашан ескерту блоктауға айналатынын белгілеңіз.

Сканерлеуді қашан жүргізу керек: push кезінде ме, әлде кесте бойынша ма?

Үздік схема: жаңа тегтерге push кезінде сканерлеу, ал толық пересканеру — кесте бойынша (мысалы, түнде). Себебі CVE базасы үнемі жаңарады, және бұрын «таза» образ өзгеріссіз-ақ қауіпті болуы мүмкін. Ресурстар шектеулі болса, push кезінде тек релиз тегтерін сканерлеп, кешкі уақытта толық тексеріс жүргізуге болады.

Қолтаңба не үшін керек, егер реестр жабық болса?

Қолтаңба — 'кім шығарды' деген сұраққа жауап береді және тегті байқалмай ауыстырудан қорғайды. Жұмыс процесі қарапайым: CI образ жинап, релиз‑шоттың кілтімен қол қояды, Harbor‑ға жариялайды, ал production‑да тек қол қойылған образдар ғана рұқсат етіледі. Қол қойылмаған образдар тест мақсатына қалдырылады, бірақ соларды продқа жібермеңіз.

Қолтаңба кілттерін қалай сақтау және ауыстыру керек, релиздер тоқтамайтындай?

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

CI/CD үшін robot‑шоттарды Harbor‑да қалай қауіпсіз қолдануға болады?

Robot‑шот CI/CD үшін жеке тұлғалық логиндерді қолданбай, құқықтарды нақты шектеу үшін қажет. Бір роботты жобаға немесе пайплайнға арналған етіп жасау, оған тек қажетті әрекеттерді (әдетте push/pull) беру және әкімшілік құқықтан айыру — дұрыс тәсіл. Токендерді мерзімге шектеу және пайдаланылмағандарын жою да ұсынылады.

Harbor‑ды prod пен test‑ке қалай бөлген дұрыс, құқықтар шашылмайтындай?

Жай әрі тиімді әдіс — орта бойынша жобаларды бөлу: sandbox/dev, test және prod. Non‑prod‑та әзірлеушілер тәжірибе жасай алады; prod‑та тек аз адам құқықтары бар, жоюға тыйым және қолтаңба мен сканерлеу міндетті болуы тиіс. Осылай қателер мен эксперименттер prod‑қа «ағып» кетпейді.

Harbor‑да қандай заттарды сақтық көшірме ретінде алу керек, сонда қалпына келтіру мүмкін болады?

Реалдық қалпына келтіру үшін: метадеректер (жобалар, пайдаланушылар, рөлдер, саясаттар), артефактілер сақтау орны (образдар, қолтаңбалар), конфигурация, сертификаттар мен құпиялар — барлығы дерлік сақталуы керек. Қалпына келтіру тестін тұрақты түрде өткізіп, сақтық көшірмелер реальды түрде жұмыс істейтініне көз жеткізіңіз.

Екіұдай жойылулар мен образдардың (әсіресе latest) ауыстырылып кетуінен қалай сақтанамыз?

Негізгі қорғаныс — құқықтарды шектеу және ережелер. Көпшілік үшін жою және саясат өзгерту тыйымын қойып, маңызды жобаларды 1–2 жауапты адамға бекіту керек. Откаттарды нақты тегке немесе digest‑ке байланыстырыңыз, latest‑ке сенбеңіз — сол кезде тазалау мен сенімділік қайшылыққа келмейді.