Talaan ng nilalaman[Tago][Ipakita]
Marahil alam mo na kung ano ang DevOps kung nagtatrabaho ka sa industriya ng software.
Hindi nakakagulat na karamihan sa malalaking kumpanya ay isinasama ang mga pamamaraan nito sa kanilang mga daloy ng trabaho dahil lalo silang nagiging popular sa mga developer.
Ilang buwan o kahit na taon na ang nakalipas, ang mga pangunahing kumpanya ng software ay regular na naglalabas ng mga bagong programa.
Nagkaroon ng sapat na oras para sa code upang pumasa sa seguridad at kalidad mga pagsusuri sa katiyakan; ang mga pamamaraang ito ay isinagawa ng mga independiyenteng pangkat ng dalubhasa.
Sa pagtaas ng paggamit ng mga pampublikong ulap, maraming daloy ang na-automate na gumagamit ng mga bagong tool at teknolohiya, na nagbibigay-daan sa mga negosyo na umunlad nang mas mabilis at manatiling isang hakbang sa unahan ng kumpetisyon.
Ang mga monolitikong programa ay nagsimulang maghiwa-hiwalay sa mas maliliit, nagsasariling bahagi pagkatapos ng pagpapakilala ng mga lalagyan at ang konsepto ng microservice.
Pinapataas nito ang kakayahang umangkop sa kung paano nilikha at ipinatupad ang software.
Gayunpaman, ang karamihan sa mga sistema ng pagsubaybay sa seguridad at pagsunod ay hindi nagpakita ng pag-unlad na ito.
Karamihan sa kanila ay hindi nasubukan ang kanilang code nang kasing bilis ng hinihingi ng karaniwang kapaligiran ng DevOps bilang resulta.
Ang pagpapatupad ng SecDevOps ay nilayon upang matugunan ang problemang ito at ganap na isama ang pagsubok sa seguridad sa tuluy-tuloy na pagsasama (CI) at tuloy-tuloy na paghahatid (CD) na mga pipeline habang pinapahusay din ang kaalaman at kadalubhasaan ng development team upang mapadali ang panloob na pagsubok at pag-patch.
Matutuklasan mo ang higit pa tungkol sa SecDevOps sa bahaging ito, kabilang ang kahalagahan nito, mga gawain, pinakamahuhusay na kagawian, at marami pang iba.
Kaya, ano ang SecDevOps?
Ang DevOps ay mabilis, masungit, at awtomatiko, at mayroon itong isang toneladang pakinabang sa sarili nitong.
Gayunpaman, ang pagsasama ng seguridad ay napipigilan dahil ang mas mabilis na pag-deploy ay nangangahulugan ng mas kaunting mga palugit ng oras upang matukoy at matugunan ang mga bahid ng seguridad.
Kung hindi kasama ang seguridad sa proseso ng pagbuo at pag-release habang gumagawa ng mga app na may layuning mabilis na pag-deploy (ang paraan ng DevOps), maaari mong hayaang bukas ang mga ito sa mga makabuluhang bahid sa seguridad.
Dito pumapasok ang SecDevOps (kilala rin bilang DevSecOps o DevOpsSec). Ang pamamaraang ito ay nagsasangkot ng pagsasama ng seguridad sa mga proseso para sa pagbuo at pag-deploy, gaya ng ipinahihiwatig ng pangalan.
Ang SecDevOps ay isang koleksyon ng mga pinakamahusay na kagawian na idinisenyo upang maisama nang malalim ang secure na coding sa mga proseso ng pagbuo at pag-deploy ng DevOps.
Madalas itong tinutukoy bilang matigas na DevOps.
Habang ginagawa nila ang kanilang mga app, hinihikayat nito ang mga developer na isaalang-alang ang mga pamantayan at konsepto ng seguridad nang mas lubusan. Upang manatiling nakasubaybay sa mabilis na pamamaraan ng paglabas ng DevOps, ang mga proseso ng seguridad at mga pagsusuri ay isinama nang maaga sa lifecycle.
Ang SecDevOps ay nahahati sa dalawang pangunahing bahagi:
Seguridad bilang code (SaC)
Sa puntong ito, ang mga tool at pamamaraan ng pipeline ng DevOps ay dapat magsama ng seguridad.
Sinusundan nito ang mga tool para sa static na application security testing (SAST) at dynamic na application security testing (DAST) awtomatikong i-scan ang mga binuong application.
Dahil dito, ang mga automated na proseso ay inuuna kaysa sa mga manu-manong proseso (bagama't ang mga manu-manong proseso ay kailangan para sa mga lugar na kritikal sa seguridad ng application).
Ang mga proseso at tool chain ng DevOps ay dapat may kasamang seguridad bilang code. Ang mga tool na ito at ang kanilang automation ay dapat na tugma sa arkitektura ng Patuloy na Paghahatid.
Imprastraktura bilang Code (IaC)
Tinutukoy dito ang koleksyon ng mga tool ng DevOps na ginagamit para sa pag-configure at pag-upgrade ng mga bahagi ng imprastraktura upang makapagbigay ng secure at pinamamahalaang deployment environment.
Ang mga tool tulad ng Chef, Ansible, at Puppet ay madalas na ginagamit sa prosesong ito.
Kasama sa IaC ang paggamit ng parehong mga alituntunin sa pagbuo ng code upang pamahalaan ang imprastraktura ng pagpapatakbo kumpara sa paggawa ng mga manual na update sa configuration o mga pagbabago gamit ang mga one-off na script.
Bilang resulta, sa halip na subukang mag-patch at mag-update ng mga naka-deploy na server, ang isang isyu sa system ay nangangailangan ng pag-deploy ng isang server na kinokontrol ng configuration.
Bago ang paglunsad ng application, ang SecDevOps ay gumagamit ng tuloy-tuloy at automated na pagsubok sa seguridad. Upang magarantiya ang maagang pagtuklas ng anumang mga depekto, ginagamit ang pagsubaybay sa isyu.
Bukod pa rito, ginagamit nito ang automation at pagsubok para magbigay ng mas mahusay na mga pagsusuri sa seguridad sa buong lifecycle ng pagbuo ng software.
Bakit kailangan ng isang enterprise ang SecDevOps?
Sa digital age ngayon, ang seguridad ay dapat na nasa unahan at pangunahing priyoridad ng bawat organisasyon.
Sa pamamagitan ng paglalagay ng modelong SecDevOps, ipinapakita ng isang kumpanya na ito ay maagap sa halip na reaktibo pagdating sa seguridad.
Ang pagbuo ng malalakas na sistema at mapagkakatiwalaan, nababanat na mga aplikasyon ay hinihikayat sa pamamagitan ng pagkakaroon ng "Security First" corporate mentality.
Sa napakakumpitensyang IT market ngayon, hindi kayang magkaroon ng mga bahid sa seguridad ang mga organisasyon sa kanilang mga sistema ng produksyon.
Ang mga pag-atake na gumagamit ng mga pagsasamantala ay magastos at madalas na ginagawang hindi magamit ang isang sistema o organisasyon. Ang SecDevOps sa loob ng isang organisasyon ay nagbibigay-daan sa patuloy na pagbibigay-diin sa seguridad sa bawat antas ng pipeline.
Ang pag-alam na gumagawa ka ng mga partikular na program at system na may mga feature at functionality na kailangan ng mga consumer ay nagbibigay sa iyo ng kapayapaan ng isip.
Upang matiyak na ang negosyo ay sumusunod sa mga pinakamahuhusay na kagawian sa seguridad, pamantayan, at batas, pinapayuhan na ang Koponan ng Seguridad ay makilahok nang maaga at madalas sa lahat ng mga hakbangin sa engineering at non-engineering.
Paano Gumagana ang SecDevOps?
Nababahala ang SecDevOps sa paglipat ng seguridad sa kaliwa. Nangangahulugan ito na dapat umako ang lahat ng responsibilidad para sa seguridad sa simula, kahit na sa mga yugto ng pagpaplano, sa halip na magpatupad ng sistema ng pagtugon sa insidente.
Kabaligtaran sa tipikal papalapit ang talon, na naglalagay ng seguridad sa pagtatapos ng lifecycle, isa itong makabuluhang pagbabago. Dapat isaalang-alang ang seguridad sa lahat ng mga pagpipilian at sa buong yugto ng buhay ng pag-unlad.
Bilang karagdagan sa paggamit ng mga modelo ng pagbabanta, itinataguyod nila ang isang kapaligiran sa pag-unlad na batay sa pagsubok na may mga kaso ng pagsubok sa seguridad.
Dapat mong tiyakin na ang awtomatikong pagsubok sa seguridad at patuloy na pagsasama ay isinama sa proseso.
Upang mahanap ang mga potensyal na kahinaan ng application, kailangan ng SecDevOps ng buong kaalaman kung paano ito gumagana.
Mas maipagtanggol mo ito mula sa mga panganib sa seguridad ngayong alam mo na ito. Ang mga modelo ng pagbabanta ay madalas na ginagamit upang gawin ito sa buong yugto ng buhay ng pag-unlad.
Upang higit pang maunawaan kung paano ito gumagana, tingnan natin ang karaniwang pamamaraan ng SecDevOps.
Ang isang sistema para sa pamamahala ng kontrol ng bersyon ay ginagamit ng mga developer. Bilang resulta, napapadali ang komunikasyon sa naturang mga proyekto at nasusubaybayan nila ang anumang mga pagbabago sa mga hakbangin sa pagbuo ng software.
Kapag nagtatrabaho sa isang coding project nang magkakasama, madaling hatiin ng mga developer ang kanilang mga trabaho gamit ang mga sangay.
- Isang developer ang unang magsusulat ng code para sa system.
- Pagkatapos ay tatanggapin ng system ang mga pagsasaayos.
- Ang code ay kukunin mula sa system at susuriin ng isa pang developer. Upang makahanap ng mga bahid o kahinaan sa seguridad, suriin ang static na code sa yugtong ito.
Ang normal na pamamaraan ng SecDevOps ay magpapatuloy sa sumusunod na paraan pagkatapos ng yugtong ito:
- Paggawa ng deployment environment para sa application at paglalapat ng mga setting ng seguridad sa system gamit ang IaC na teknolohiya tulad ng Puppet, Chef, at Ansible
- pagsasagawa ng backend, integration, API, security, at UI test bilang bahagi ng isang test automation suite laban sa bagong deployed na application.
- pag-deploy ng isang application at pagpapatakbo ng awtomatikong dynamic na pagsubok dito sa isang kapaligiran ng pagsubok.
- Kapag matagumpay na ang mga pagsubok na ito, i-deploy ang application sa isang kapaligiran ng produksyon.
- Patuloy na binabantayan ang anumang aktibong alalahanin sa seguridad sa kapaligiran ng produksyon.
Mga Benepisyo ng SecDevOps
Sa SecDevOps, itinatatag ng pangkat ng seguridad ang mga pangunahing patakaran nang maaga.
Maaaring saklawin ng mga regulasyong ito ang mga bagay tulad ng mga pamantayan ng code, mga rekomendasyon sa pagsubok, gabay para sa static at dynamic na pagsusuri, mga pagbabawal laban sa paggamit ng mahinang pag-encrypt at hindi ligtas na mga API, atbp.
Bukod pa rito, binabalangkas nila ang mga salik na mangangailangan ng manu-manong pagkilos ng pangkat ng seguridad (hal., mga pagbabago sa pagpapatotoo o sa modelo ng awtorisasyon, o iba pang mga lugar na kritikal sa seguridad).
Ang development team ay nakakakuha ng kadalubhasaan sa seguridad bilang resulta ng pagsasama nito sa proseso.
Sa paggawa nito, tinitiyak na ang dulo ng pipeline ay may pinakamababang posibleng mga bahid sa seguridad. Kung magpapatuloy ang isang kahinaan, magiging simple ang magsagawa ng pagsisiyasat, i-update ang pamamaraan, at gumawa ng mga pagpapabuti.
Ang paggawa ng mga kinakailangang pagbabago sa mga panuntunan at pamantayan sa seguridad ay ginagawang mas madali sa tulong ng isang root cause analysis.
Upang ilagay ito sa ibang paraan, sa bawat cycle, ang resulta ay magiging mas mahusay. Ang pagtiyak ng hindi gaanong nakakagambalang mga pagtaas ng late-cycle ay isa pang layunin ng umuulit na pagpapabuti.
Ang mga sumusunod ay ilan sa mga pinakatanyag na pakinabang ng SecDevOps:
- Ang kakayahang tumugon nang mabilis sa mga pagbabago at hinihingi
- Maagang pagtuklas ng mga kahinaan sa coding
- Pinahusay na liksi at bilis para sa mga yunit ng seguridad
- Higit pang pagtutulungan at komunikasyon ng pangkat
- Upang palayain ang mga mapagkukunan ng mga miyembro ng koponan upang magtrabaho sa mga aktibidad na may mataas na halaga sa pamamagitan ng automation
- Mas maraming pagkakataon para sa pagsusuri sa kalidad at seguridad, pati na rin ang mga automated na build
Mga Epektibong Istratehiya para sa SecDevOps
Pinagsasama ng SecDevOps ang seguridad, pag-unlad, at mga operasyon upang matulungan silang lahat na magtrabaho patungo sa iisang layunin sa pamamagitan ng pagpapahusay ng pagtutulungan ng magkakasama, pamamaraan, at tooling.
Dahil sa pag-aatubili sa kultura, hindi wastong komunikasyon ng team, o pagpigil sa oras, maaaring medyo nakakatakot ang pagsasama ng seguridad sa iyong daloy ng trabaho sa DevOps.
Bagama't walang isang solong, matagumpay na paraan na magagamit ng bawat kumpanya upang bumuo ng isang SecDevOps program, may ilang mga payo at diskarte na maaaring maging kapaki-pakinabang.
Magsimula sa pamamagitan ng pagpapatupad ng ligtas na pag-unlad at pagsasanay.
Hindi ito nagpapahiwatig na dapat mong pilitin ang iyong mga inhinyero na maging mga espesyalista sa seguridad o maging bihasa sa mga makabagong tool sa seguridad.
Ngunit gusto mong mag-isip tungkol sa pagtuturo sa kanila ng mga pamamaraan sa seguridad na tutulong sa pagprotekta sa iyong programa. T
o tiyaking mabilis na mauunawaan at magagamit ng iyong mga developer ang maayos na pamamaraan ng seguridad, dapat kang mag-alok ng pagsasanay sa seguridad na katangi-tanging iniakma para sa kanila.
Gamitin ang kontrol ng bersyon sa lahat ng sitwasyon.
Sa isang konteksto ng DevOps, ang bawat software ng application, pattern, diagram, at script ay dapat gumamit ng mahusay na mga tool at diskarte sa pag-bersyon.
Maraming mga pakinabang sa seguridad ang kasama ng kontrol sa bersyon, at nagbibigay-daan ito sa mga tagubilin upang:
- Tukuyin kung aling build o feature ang ginamit noong nagkaroon ng problema sa seguridad.
- Subaybayan ang mga aktibidad sa pagpapaunlad upang sumunod sa mga legal na pamantayan.
- Tingnan at hanapin ang anumang mapaminsala o masusugatan na mga bahagi na idinagdag sa proseso ng pagbuo.
Tanggapin ang Konsepto ng People-Centric Security
Ang pagpapatupad ng seguridad ay hindi dapat nasa ilalim ng saklaw ng iisang koponan.
Upang matiyak na ang lahat ay tumatanggap ng responsibilidad para sa pagsunod sa mga pamantayan ng seguridad, ang iyong kumpanya ay dapat magpatibay ng kulturang seguridad na nakasentro sa mga tao.
Hikayatin ang mga developer, tester, at iba pang miyembro ng kawani na kumuha ng personal na responsibilidad para sa seguridad bilang karagdagan sa pagsasanay sa seguridad.
SAng pagsubaybay sa seguridad ay mahalaga, ngunit ito rin ay kailangang magmula sa loob ng indibidwal, at ang bawat miyembro ng koponan ay dapat managot para dito.
I-automate ang Regular na Trabaho
Karamihan sa mga naitatag na sistema ng DevSecOps ay gumagamit ng automation nang madalas at maaga.
Halimbawa, ang pag-automate ng mga pagsubok sa seguridad ay ginagawang mas simple upang makita ang anumang mga depekto sa iyong code, na nagpapabilis sa pag-develop at nagpapataas ng produktibidad ng developer.
Ito ay partikular na totoo sa malalaking kumpanya kung saan ang mga inhinyero ay madalas na nagpapatakbo ng ilang bersyon ng code sa buong araw.
Mga Limitasyon ng SecDevOps
Sa kabila ng katotohanan na ang SecDevOps ay ang pinakahuling pamamaraan para sa pagbuo ng application at nag-aalok ng ilang mga pakinabang kaysa sa mga nakasanayang pamamaraan.
Gayunpaman, mayroon din itong ilang mga limitasyon, na nakalista sa ibaba.
- Hindi ito maaaring mabilis na i-deploy dahil ito ay isang mahabang pamamaraan.
- Kinakailangang sanayin ang mga developer sa mga ligtas na diskarte sa coding at madalas na mga kahinaan, na nangangailangan ng oras at karagdagang mga mapagkukunan.
- Maaaring magkaroon ng salungatan ng interes kung ang aplikasyon ay hindi sasailalim sa isang independiyenteng pagtatasa ng seguridad.
- Ang yugto ng pagpaplano ng pagbuo ng aplikasyon ay maaaring tumagal nang una dahil sa malawak na kahulugan ng mga patakaran at proseso.
Konklusyon
Habang patuloy na nakakahanap ang mga security team ng mga bagong paraan para gumana, pinasisigla ng SecDevOps ang sigla at pinalalakas ang pagkamalikhain.
Habang ang mga departamento ay nakikipagtulungan sa isa't isa sa halip na magtatag ng mapagkumpitensyang mga ugnayan, pinalalakas nito ang paglago ng organisasyon.
Ang pagpapatupad ng SecDevOps ay nag-aalok ng mga pangunahing teknikal at pinansyal na bentahe sa mga negosyo.
Ang pagbuo ng application at mga nauugnay na proseso ay mas ligtas at mas produktibo kapag seguridad ang batayan, ayon sa SecDevOps viewpoint.
Mag-iwan ng Sagot