Змест[Схаваць][Паказаць]
Вы, напэўна, ужо ведаеце, што такое DevOps, калі працуеце ў індустрыі праграмнага забеспячэння.
Нядзіўна, што большасць буйных фірмаў інтэгруюць яго метадалогіі ў свае працоўныя працэсы, улічваючы, што яны становяцца ўсё больш папулярнымі сярод распрацоўшчыкаў.
Некалькі месяцаў ці нават гадоў таму буйныя кампаніі-праграмшчыкі рэгулярна выпускалі новыя праграмы.
Часу на тое хапала код для перадачы бяспекі і якасці гарантыйныя праверкі; гэтыя працэдуры праводзіліся незалежнымі групамі экспертаў.
З павелічэннем выкарыстання агульнадаступных воблакаў многія патокі былі аўтаматызаваны з выкарыстаннем новых інструментаў і тэхналогій, што дазваляе прадпрыемствам развівацца хутчэй і заставацца на крок наперадзе канкурэнтаў.
Пасля з'яўлення кантэйнераў і канцэпцыі мікрасэрвісаў маналітныя праграмы пачалі разбівацца на больш дробныя аўтаномныя кампаненты.
Гэта павялічыла гнуткасць стварэння і ўкаранення праграмнага забеспячэння.
Тым не менш, большасць сістэм бяспекі і маніторынгу адпаведнасці не паказалі гэтага развіцця.
У выніку большасць з іх не змаглі праверыць свой код так хутка, як гэтага патрабавала звычайнае асяроддзе DevOps.
Укараненне SecDevOps было прызначана для вырашэння гэтай праблемы і поўнай інтэграцыі тэсціравання бяспекі ў канвееры бесперапыннай інтэграцыі (CI) і бесперапыннай дастаўкі (CD), а таксама пашырэння ведаў і вопыту каманды распрацоўшчыкаў для палягчэння ўнутранага тэсціравання і выпраўленняў.
У гэтай частцы вы даведаецеся больш пра SecDevOps, у тым ліку пра яго важнасць, працу, лепшыя практыкі і многае іншае.
Такім чынам, што такое SecDevOps?
DevOps хуткі, надзейны і аўтаматызаваны, і сам па сабе мае масу пераваг.
Аднак інтэграцыя бяспекі абмежаваная, паколькі больш хуткае разгортванне азначае менш часу для выяўлення і ліквідацыі недахопаў бяспекі.
Калі бяспека не ўключана ў працэс зборкі і выпуску падчас распрацоўкі прыкладанняў з мэтай хуткага разгортвання (метад DevOps), вы можаце пакінуць іх адкрытымі для істотных недахопаў бяспекі.
Вось дзе SecDevOps (таксама вядомы як DevSecOps або DevOpsSec) уступае ў гульню. Гэты метад прадугледжвае ўключэнне бяспекі ў працэсы распрацоўкі і разгортвання, як вынікае з назвы.
SecDevOps - гэта набор лепшых практык, прызначаных для глыбокай інтэграцыі бяспечнага кадавання ў працэсы распрацоўкі і разгортвання DevOps.
Яго часта называюць жорсткім DevOps.
Калі яны ствараюць свае прыкладанні, гэта заахвочвае распрацоўшчыкаў больш старанна разглядаць стандарты і канцэпцыі бяспекі. Каб не адставаць ад метадалогіі хуткага выпуску DevOps, працэсы бяспекі і праверкі ўключаны на вельмі ранняй стадыі жыццёвага цыкла.
SecDevOps дзеліцца на дзве асноўныя часткі:
Бяспека як код (SaC)
На дадзены момант інструменты і працэдуры канвеера DevOps павінны ўключаць бяспеку.
З гэтага вынікае, што інструменты для статычнае тэсціраванне бяспекі прыкладанняў (SAST) і дынамічнае тэсціраванне бяспекі прыкладанняў (DAST) аўтаматычна сканаваць убудаваныя прыкладанні.
Дзякуючы гэтаму аўтаматызаваныя працэсы маюць прыярытэт перад ручнымі (хоць ручныя працэсы неабходныя для крытычных з пункту гледжання бяспекі абласцей прыкладання).
Працэсы DevOps і ланцужкі інструментаў павінны ўключаць бяспеку ў якасці кода. Гэтыя інструменты і іх аўтаматызацыя павінны быць сумяшчальныя з архітэктурай Continuous Delivery.
Інфраструктура як код (IaC)
Тут згадваецца калекцыя інструментаў DevOps, якія выкарыстоўваюцца для канфігуравання і абнаўлення частак інфраструктуры з мэтай забеспячэння бяспечнага і кіраванага асяроддзя разгортвання.
У гэтым працэсе часта выкарыстоўваюцца такія інструменты, як Chef, Ansible і Puppet.
IaC цягне за сабой выкарыстанне адных і тых жа інструкцый па распрацоўцы кода для кіравання аперацыйнай інфраструктурай у адрозненне ад ручнога абнаўлення або змены канфігурацыі з дапамогай аднаразовых сцэнарыяў.
У выніку замест таго, каб спрабаваць выправіць і абнавіць разгорнутыя серверы, сістэмная праблема патрабуе разгортвання сервера, які кантралюецца канфігурацыяй.
Перад запускам прыкладання SecDevOps выкарыстоўвае бесперапыннае і аўтаматызаванае тэставанне бяспекі. Каб гарантаваць ранняе выяўленне любых недахопаў, выкарыстоўваецца адсочванне праблем.
Акрамя таго, ён выкарыстоўвае аўтаматызацыю і тэставанне, каб забяспечыць больш эфектыўныя праверкі бяспекі на працягу ўсяго жыццёвага цыкла распрацоўкі праграмнага забеспячэння.
Чаму прадпрыемству патрабуецца SecDevOps?
У сучасны лічбавы век бяспека павінна быць на першым плане і галоўным прыярытэтам кожнай арганізацыі.
Укараняючы мадэль SecDevOps, кампанія дэманструе, што яна праактыўная, а не рэактыўная, калі гаворка ідзе пра бяспеку.
Распрацоўка моцных сістэм і надзейных, устойлівых прыкладанняў спрыяе карпаратыўнаму менталітэту «Бяспека перш за ўсё».
На сучасным вельмі канкурэнтным ІТ-рынку арганізацыі не могуць дазволіць сабе недахопы бяспекі ў сваіх вытворчых сістэмах.
Атакі з выкарыстаннем эксплойтаў каштуюць дорага і часта робяць сістэму або арганізацыю непрыдатнымі. SecDevOps унутры арганізацыі забяспечвае пастаянны акцэнт на бяспецы на кожным узроўні канвеера.
Веданне таго, што вы ствараеце спецыяльныя праграмы і сістэмы з асаблівасцямі і функцыянальнымі магчымасцямі, неабходнымі спажыўцам, забяспечвае вам спакой.
Каб пераканацца, што бізнес адпавядае перадавой практыцы бяспекі, стандартам і заканадаўству, рэкамендуецца, каб каманда бяспекі рана і часта прыцягвалася да ўсіх інжынерных і неінжынерных ініцыятыў.
Як працуе SecDevOps?
SecDevOps займаецца перамяшчэннем бяспекі ўлева. Гэта азначае, што кожны павінен узяць на сябе адказнасць за бяспеку з самага пачатку, нават на этапах планавання, а не ўкараняць сістэму рэагавання на інцыдэнты.
У адрозненне ад тып набліжаецца вадаспад, якія ставяць бяспеку ў канцы жыццёвага цыкла, гэта значная змена. Бяспека павінна ўлічвацца пры любым выбары і на працягу ўсяго жыццёвага цыкла распрацоўкі.
У дадатак да выкарыстання мадэляў пагроз яны падтрымліваюць тэставае асяроддзе распрацоўкі з тэставымі прыкладамі бяспекі.
Вы павінны пераканацца, што аўтаматызаванае тэсціраванне бяспекі і бесперапынная інтэграцыя інтэграваныя ў працэс.
Каб знайсці патэнцыяльныя слабыя бакі прыкладання, SecDevOps патрабуе поўнага разумення таго, як яно функцыянуе.
Вы можаце лепш абараніць яго ад рызык бяспекі цяпер, калі вы ведаеце пра гэта. Для гэтага часта выкарыстоўваюцца мадэлі пагроз на працягу ўсяго жыццёвага цыклу распрацоўкі.
Каб больш зразумець, як гэта функцыянуе, давайце паглядзім на тыповую працэдуру SecDevOps.
Сістэма кіравання версіямі выкарыстоўваецца распрацоўшчыкамі. У выніку зносіны ў такіх праектах палягчаюцца, і яны могуць адсочваць любыя змены ў ініцыятывах па распрацоўцы праграмнага забеспячэння.
Пры сумеснай працы над праектам кадавання распрацоўшчыкі могуць лёгка падзяліць сваю працу з дапамогай галін.
- Распрацоўшчык спачатку напіша код для сістэмы.
- Затым сістэма прыме карэкціроўкі.
- Затым код будзе атрыманы з сістэмы і правераны іншым распрацоўшчыкам. Каб знайсці недахопы бяспекі або ўразлівасці, прааналізуйце статычны код на гэтым этапе.
Пасля гэтага этапу звычайная працэдура SecDevOps будзе працягвацца наступным чынам:
- Стварэнне асяроддзя разгортвання для прыкладання і прымяненне налад бяспекі да сістэмы з выкарыстаннем такіх тэхналогій IaC, як Puppet, Chef і Ansible
- правядзенне тэстаў бэкэнда, інтэграцыі, API, бяспекі і карыстальніцкага інтэрфейсу ў рамках набору аўтаматызаваных тэсціравання супраць толькі што разгорнутага прыкладання.
- разгортванне прыкладання і запуск аўтаматычнага дынамічнага тэсціравання яго ў тэставым асяроддзі.
- Калі гэтыя выпрабаванні будуць паспяховымі, разгарніце прыкладанне ў вытворчай асяроддзі.
- Пастаянна сочыце за любымі актыўнымі праблемамі бяспекі ў вытворчай асяроддзі.
Перавагі SecDevOps
У SecDevOps каманда бяспекі загадзя вызначае асноўныя палітыкі.
Гэтыя правілы могуць ахопліваць такія рэчы, як стандарты кода, рэкамендацыі па тэсціраванні, рэкамендацыі па статычным і дынамічным аналізе, забароны на выкарыстанне слабага шыфравання і небяспечных API і г.д.
Акрамя таго, яны акрэсліваюць фактары, якія патрабуюць ручных дзеянняў каманды бяспекі (напрыклад, змены ў аўтэнтыфікацыі або ў мадэлі аўтарызацыі, або ў іншых важных для бяспекі галінах).
Каманда распрацоўшчыкаў атрымлівае вопыт у галіне бяспекі ў выніку ўключэння яе ў працэс.
Робячы гэта, гарантуецца, што канец трубаправода мае найменшую колькасць недахопаў бяспекі. Калі ўразлівасць захоўваецца, будзе проста правесці расследаванне, абнавіць працэдуру і ўнесці паляпшэнні.
Унясенне неабходных змяненняў у правілы і стандарты бяспекі становіцца прасцей з дапамогай аналізу першапрычын.
Іншымі словамі, з кожным цыклам вынік будзе паляпшацца. Забеспячэнне менш разбуральных эскалацый на познім цыкле - яшчэ адна мэта ітэрацыйных паляпшэнняў.
Ніжэй прыведзены некаторыя з найбольш прыкметных пераваг SecDevOps:
- Здольнасць хутка рэагаваць на змены і патрабаванні
- Ранняе выяўленне ўразлівасцяў кадавання
- Палепшаная манеўранасць і хуткасць для падраздзяленняў аховы
- Больш каманднага супрацоўніцтва і зносін
- Каб вызваліць рэсурсы членаў каманды для працы над важнай дзейнасцю з дапамогай аўтаматызацыі
- Больш шанцаў для тэставання якасці і бяспекі, а таксама аўтаматызаваных зборак
Эфектыўныя стратэгіі для SecDevOps
SecDevOps аб'ядноўвае бяспеку, распрацоўку і аперацыі, каб дапамагчы ўсім ім працаваць на дасягненне адной мэты за кошт удасканалення сумеснай працы, працэдур і інструментаў.
З-за культурнага нежадання, няправільнай камунікацыі ў камандзе або абмежаванняў па часе ўключэнне бяспекі ў ваш працоўны працэс DevOps можа быць трохі страшным.
Нягледзячы на тое, што не існуе адзінага паспяховага метаду, які кожная фірма магла б выкарыстаць для распрацоўкі праграмы SecDevOps, ёсць пэўныя рэкамендацыі і стратэгіі, якія могуць быць карыснымі.
Пачніце з укаранення бяспечнага развіцця і навучання.
Гэта не азначае, што вы павінны прымусіць сваіх інжынераў стаць спецыялістамі па бяспецы або навучыцца валодаць перадавымі інструментамі бяспекі.
Але вы хочаце падумаць аб тым, каб навучыць іх працэдурам бяспекі, якія дапамогуць абараніць вашу праграму. Т
o гарантаваць, што вашы распрацоўшчыкі могуць хутка зразумець і выкарыстоўваць надзейныя працэдуры бяспекі, вы павінны прапанаваць навучанне па бяспецы, якое спецыяльна спецыяльна для іх.
Выкарыстоўвайце кантроль версій ва ўсіх сітуацыях.
У кантэксце DevOps кожнае прыкладное праграмнае забеспячэнне, шаблон, дыяграма і скрыпт павінны выкарыстоўваць эфектыўныя інструменты і стратэгіі кіравання версіямі.
Многія перавагі бяспекі прыходзяць з кантролем версій, і ён дазваляе інструкцыі:
- Вызначце, якая зборка або функцыя выкарыстоўвалася, калі ўзнікла праблема бяспекі.
- Адсочвайце дзейнасць па распрацоўцы ў адпаведнасці з юрыдычнымі стандартамі.
- Вывучыце і знайдзіце любыя шкодныя або ўразлівыя кампаненты, якія былі дададзены ў працэс распрацоўкі.
Прыміце канцэпцыю бяспекі, арыентаванай на чалавека
Укараненне бяспекі не павінна падпадаць пад кампетэнцыю адной каманды.
Каб пераканацца, што кожны бярэ на сябе адказнасць за захаванне стандартаў бяспекі, ваша фірма павінна прыняць культуру бяспекі, арыентаваную на людзей.
Заахвочвайце распрацоўшчыкаў, тэсціроўшчыкаў і іншых супрацоўнікаў браць на сябе асабістую адказнасць за бяспеку ў дадатак да навучання бяспецы.
SМаніторынг бяспекі вельмі важны, але ён таксама павінен зыходзіць знутры чалавека, і кожны член каманды павінен несці за гэта адказнасць.
Аўтаматызаваць звычайную працу
Большасць вядомых сістэм DevSecOps выкарыстоўваюць аўтаматызацыю часта і рана.
Напрыклад, аўтаматызацыя тэстаў бяспекі палягчае выяўленне любых недахопаў у вашым кодзе, што паскарае распрацоўку і павялічвае прадукцыйнасць распрацоўшчыка.
Гэта асабліва дакладна ў буйных фірмах, дзе інжынеры часта запускаюць некалькі версій кода на працягу дня.
Абмежаванні SecDevOps
Нягледзячы на тое, што SecDevOps з'яўляецца самай апошняй метадалогіяй для распрацоўкі прыкладанняў і прапануе некалькі пераваг перад звычайнымі метадамі.
Аднак ён таксама мае некалькі абмежаванняў, якія пералічаны ніжэй.
- Ён не можа быць хутка разгорнуты, таму што гэта доўгая працэдура.
- Неабходна навучыць распрацоўшчыкаў бяспечным метадам кадавання і частым уразлівасцям, што патрабуе часу і дадатковых рэсурсаў.
- Канфлікт інтарэсаў можа развіцца, калі прыкладанне не праходзіць незалежную ацэнку бяспекі.
- Фаза планавання распрацоўкі дадатку першапачаткова можа заняць больш часу з-за шырокага вызначэння палітык і працэсаў.
заключэнне
Паколькі службы бяспекі пастаянна знаходзяць новыя спосабы працы, SecDevOps распальвае энтузіязм і спрыяе творчасці.
Паколькі аддзелы супрацоўнічаюць адзін з адным, а не ўсталёўваюць канкурэнтныя сувязі, гэта спрыяе арганізацыйнаму росту.
Укараненне SecDevOps дае прадпрыемствам сур'ёзныя тэхнічныя і фінансавыя перавагі.
Згодна з пунктам гледжання SecDevOps, распрацоўка прыкладанняў і звязаныя з імі працэсы больш бяспечныя і прадуктыўныя, калі асновай з'яўляецца бяспека.
Пакінуць каментар