DevOps vs DevSecOps: kung unsa ang hitsura sa usa ka bangko

DevOps vs DevSecOps: kung unsa ang hitsura sa usa ka bangko

Ang bangko nag-outsource sa mga proyekto niini ngadto sa daghang mga kontraktor. "Externals" pagsulat code, unya ipadala ang mga resulta sa usa ka dili kaayo kombenyente nga porma. Sa piho, ang proseso ingon niini: ilang gitugyan ang usa ka proyekto nga nagpasa sa mga pagsulay sa pag-andar uban kanila, ug dayon gisulayan sa sulod sa perimeter sa pagbabangko alang sa paghiusa, pagkarga, ug uban pa. Kanunay nga nadiskobrehan nga ang mga pagsulay napakyas. Unya ang tanan mibalik sa eksternal nga developer. Sama sa imong natag-an, kini nagpasabut nga taas nga mga oras sa tingga alang sa mga pag-ayo sa bug.

Ang bangko nakahukom nga posible ug gikinahanglan nga i-drag ang tibuok pipeline ubos sa pako niini, gikan sa commit ngadto sa pagpagawas. Aron ang tanan managsama ug ubos sa kontrol sa mga team nga responsable sa produkto sa bangko. Sa ato pa, ingon sa nagtrabaho lang ang external contractor sa usa ka dapit sa sunod nga lawak sa opisina. Sa corporate stack. Kini usa ka ordinaryo nga devops.

Diin gikan si Sec? Ang seguridad sa bangko nagbutang ug taas nga panginahanglan kon sa unsang paagi ang usa ka eksternal nga kontratista makatrabaho sa bahin sa network, unsa ang pag-access sa usa ka tawo, giunsa ug kinsa ang nagtrabaho sa code. Wala pa lang nahibal-an sa IB nga kung ang mga kontraktor nagtrabaho sa gawas, pipila ka mga sumbanan sa bangko ang gisunod. Ug unya sa pipila ka mga adlaw ang tanan kinahanglan nga magsugod sa pag-obserbar kanila.

Ang yano nga pagpadayag nga ang kontraktor adunay hingpit nga pag-access sa code sa produkto nakapabalik sa ilang kalibutan.

Niining higayona, nagsugod ang istorya sa DevSecOps, nga gusto nako isulti kanimo.

Unsang praktikal nga mga konklusyon ang nakuha sa bangko gikan niini nga kahimtang?

Adunay daghang kontrobersiya bahin sa kamatuoran nga ang tanan gibuhat sa sayup nga paagi. Ang mga developers nag-ingon nga ang seguridad busy lamang sa pagsulay sa pagpanghilabot sa kalamboan, ug sila, sama sa mga tigbantay, naningkamot sa pagdili sa walay paghunahuna. Sa baylo, ang mga espesyalista sa seguridad nagpanuko tali sa pagpili tali sa mga punto sa panglantaw: "ang mga developers nagmugna og mga kahuyangan sa atong sirkito" ug "ang mga developers wala maghimo og mga kahuyangan, apan sila mismo." Ang panaglalis unta magpadayon sa dugay nga panahon kung dili alang sa bag-ong mga panginahanglanon sa merkado ug sa pagtunga sa DevSecOps paradigm. Posible nga ipatin-aw nga kini nga pag-automate sa mga proseso nga gikonsiderar ang mga kinahanglanon sa seguridad sa kasayuran "gikan sa kahon" makatabang sa tanan nga magpabilin nga malipayon. Sa diwa nga ang mga lagda gisulat dayon ug wala magbag-o sa panahon sa dula (ang kasiguruhan sa kasayuran dili magdili sa usa ka butang nga wala damha), ug ang mga nag-develop nagpadayon sa kasayuran sa kasayuran bahin sa tanan nga mahitabo (ang kasiguruhan sa kasayuran dili makasugat sa usa ka butang nga kalit) . Ang matag team mao usab ang responsable alang sa katapusang kaluwasan, ug dili ang pipila ka abstract nga mga magulang nga lalaki.

  1. Tungod kay ang mga empleyado sa gawas aduna nay access sa code ug ubay-ubay nga internal nga mga sistema, posible nga tangtangon gikan sa mga dokumento ang gikinahanglan nga "kauswagan kinahanglan nga ipatuman sa hingpit sa imprastraktura sa bangko."
  2. Sa laing bahin, kinahanglan natong palig-onon ang pagkontrolar sa nagakahitabo.
  3. Ang pagkompromiso mao ang paghimo sa mga cross-functional nga mga grupo, diin ang mga empleyado nagtrabaho pag-ayo sa gawas nga mga tawo. Sa kini nga kaso, kinahanglan nimo nga sigurohon nga ang team nagtrabaho sa mga himan sa mga server sa bangko. Gikan sa sinugdanan hangtod sa kataposan.

Sa ato pa, mahimong pasudlon ang mga contractor, apan kinahanglang hatagan sila og bulag nga bahin. Aron dili sila magdala og usa ka matang sa impeksyon gikan sa gawas ngadto sa imprastraktura sa bangko ug aron dili sila makakita og labaw pa sa gikinahanglan. Aw, aron ma-log ang ilang mga aksyon. DLP alang sa panalipod batok sa pagtulo, kining tanan gilakip.

Sa prinsipyo, ang tanan nga mga bangko moabut niini sa madugay o sa madali. Dinhi kami milugsong sa gibunalan nga dalan ug miuyon sa mga kinahanglanon alang sa ingon nga mga palibot diin ang "mga eksternal" nagtrabaho. Adunay nagpakita nga usa ka maximum nga range sa access control tool, vulnerability checking tools, anti-virus analysis sa mga sirkito, assemblies ug mga pagsulay. Gitawag kini nga DevSecOps.

Sa kalit kini nahimong tin-aw nga kung sa wala pa ang DevSecOps banking security walay kontrol sa unsay mahitabo sa developer's side, unya sa bag-ong paradigm security kontrolado sa samang paagi sama sa ordinaryo nga mga panghitabo sa imprastraktura. Karon lang adunay mga alerto sa mga asembliya, pagkontrol sa mga librarya, ug uban pa.

Ang nahabilin mao ang pagbalhin sa mga koponan sa bag-ong modelo. Aw, paghimo sa imprastraktura. Apan kini mga gamay nga butang, kini sama sa pagdrowing sa usa ka bukaw. Sa tinuud, mitabang kami sa imprastraktura, ug nianang panahona ang mga proseso sa pag-uswag nagbag-o.

Unsa ang nausab

Nakahukom kami nga ipatuman kini sa gagmay nga mga lakang, tungod kay nasabtan namon nga daghang mga proseso ang maguba, ug daghang mga "eksternal" ang mahimong dili makasugakod sa bag-ong mga kondisyon sa pagtrabaho ubos sa pagdumala sa tanan.

Una, naghimo kami og mga cross-functional nga mga team ug nakakat-on sa pag-organisar sa mga proyekto nga gikonsiderar ang bag-ong mga kinahanglanon. Sa kahulugan sa organisasyonal among gihisgutan kung unsa nga mga proseso. Ang resulta mao ang usa ka diagram sa pipeline sa asembliya uban sa tanang responsable.

  • IC: Git, Jenkins, Maven, Roslyn, Gradle, jUnit, Jira, MF Fortify, CA Harvest, GitlabCI.
  • CD: Ansible, Puppet, TeamCity, Gitlab TFS, Liquidbase.
  • pagsulay: Sonarqube, SoapUI, jMeter, Selenium: MF Fortify, Performance Center, MF UFT, Ataccama.
  • Pasundayag (pagreport, komunikasyon): Grafana, Kibana, Jira, Confluence, RocketChat.
  • Operations (pagmentinar, pagdumala): Ansible, Zabbix, Prometheus, Elastic + Logstash, MF Service Manager, Jira, Confluence, MS Project.

Pinili nga stack:

  • Base sa Kahibalo - Atlassian Confluence;
  • Task tracker - Atlassian Jira;
  • Artifact repository - "Nexus";
  • Padayon nga sistema sa panagsama - "Gitlab CI";
  • Padayon nga sistema sa pagtuki - "SonarQube";
  • Sistema sa pagtuki sa seguridad sa aplikasyon - "Micro Focus Fortify";
  • Sistema sa komunikasyon - "GitLab Mattermost";
  • Sistema sa pagdumala sa pag-configure - "Ansible";
  • Sistema sa pagmonitor - "ELK", "TICK Stack" ("InfluxData").

Nagsugod sila sa paghimo og usa ka team nga andam sa pagbitad sa mga kontraktor sa sulod. Adunay usa ka kaamgohan nga adunay daghang hinungdanon nga mga butang:

  • Ang tanan kinahanglan nga magkahiusa, labing menos kung magpadala sa code. Tungod kay adunay daghang mga kontratista nga adunay daghang lainlaing mga proseso sa pag-uswag nga adunay kaugalingon nga mga lahi. Kinahanglan nga ipahiangay ang tanan sa gibana-bana nga usa, apan adunay mga kapilian.
  • Adunay daghang mga kontraktor, ug ang manwal nga paghimo sa imprastraktura dili angay. Ang bisan unsang bag-ong buluhaton kinahanglan nga magsugod dayon - kana, ang pananglitan kinahanglan nga i-deploy hapit dayon aron ang mga developer adunay usa ka hugpong sa mga solusyon aron madumala ang ilang pipeline.

Aron mahimo ang unang lakang, gikinahanglan nga masabtan kung unsa ang gibuhat. Ug kinahanglan namon nga mahibal-an kung giunsa ang pag-abut didto. Nagsugod kami pinaagi sa pagtabang sa pagdrowing sa arkitektura sa target nga solusyon sa imprastraktura ug CI/CD automation. Dayon nagsugod kami sa pag-assemble niini nga conveyor. Nagkinahanglan kami og usa ka imprastraktura, parehas alang sa tanan, diin ang parehas nga mga conveyor modagan. Nagtanyag kami og mga kapilian nga adunay mga kalkulasyon, gihunahuna sa bangko, dayon nakahukom kung unsa ang pagatukoron ug kung unsang mga pondo.

Sunod mao ang paghimo sa sirkito - pag-instalar sa software, configuration. Pag-uswag sa mga script alang sa pag-deploy ug pagdumala sa imprastraktura. Sunod moabut ang transisyon sa suporta sa conveyor.

Nakahukom kami nga sulayan ang tanan sa piloto. Makaiikag, sa panahon sa piloto, usa ka piho nga stack ang nagpakita sa bangko sa unang higayon. Lakip sa ubang mga butang, ang usa ka domestic vendor sa usa sa mga solusyon gitanyag alang sa sakup sa piloto alang sa usa ka paspas nga paglansad. Nailhan siya sa seguridad samtang nag-pilot siya, ug nagbilin kini og dili malimtan nga impresyon. Sa diha nga kami nakahukom sa pagbalhin, maayo na lang, ang layer sa imprastraktura gipulihan sa usa ka solusyon sa Nutanix, nga naa na sa bangko kaniadto. Dugang pa, sa wala pa kini alang sa VDI, apan gigamit namon kini alang sa mga serbisyo sa imprastraktura. Sa gagmay nga mga volume dili kini angay sa ekonomiya, apan sa daghang mga volume nahimo kini nga labing maayo nga palibot alang sa pag-uswag ug pagsulay.

Ang nahabilin sa stack mas o dili kaayo pamilyar sa tanan. Ang mga himan sa pag-automate sa Ansible gigamit, ug ang mga espesyalista sa seguridad nagtrabaho pag-ayo uban kanila. Ang Atlassin stack gigamit sa bangko sa wala pa ang proyekto. Mga gamit sa seguridad sa Fortinet - gisugyot kini sa mga tawo sa seguridad mismo. Ang testing frame gihimo sa bangko, walay pangutana nga gipangutana. Ang sistema sa repository nagpatunghag mga pangutana; Kinahanglan kong maanad niini.

Ang mga kontraktor gihatagan og bag-ong stack. Gihatagan nila kami og panahon sa pagsulat pag-usab niini alang sa GitlabCI, ug sa paglalin sa Jira ngadto sa bahin sa bangko, ug uban pa.

Lakang sa lakang

Yugto nga 1. Una, gigamit namon ang usa ka solusyon gikan sa usa ka domestic vendor, ang produkto konektado sa usa ka bag-ong nahimo nga bahin sa network sa DSO. Ang plataporma gipili alang sa oras sa paghatud niini, pagka-flexible sa pag-scale ug ang posibilidad sa hingpit nga automation. Gipahigayon nga mga pagsulay:

  • Posibilidad sa flexible ug bug-os nga automated nga pagdumala sa virtualization plataporma infrastructure (network, disk subsystem, computing resources subsystem).
  • Automation sa virtual machine lifecycle management (templating, snapshots, backups).

Pagkahuman sa pag-instalar ug sukaranan nga pag-configure sa plataporma, gigamit kini ingon nga punto sa pagbutang sa mga subsystem sa ikaduhang yugto (mga himan sa DSO, mga laraw sa pagpauswag sa mga sistema sa tingi). Ang gikinahanglan nga mga hugpong sa mga pipeline gihimo - paghimo, pagtangtang, pagbag-o, pag-backup sa mga virtual machine. Kini nga mga pipeline gigamit isip unang yugto sa proseso sa pag-deploy.

Ang resulta mao nga ang gihatag nga ekipo wala makaabot sa mga kinahanglanon sa bangko alang sa performance ug fault tolerance. Nakahukom ang DIT sa bangko nga maghimo usa ka komplikado nga gibase sa pakete sa software sa Nutanix.

2 Stage. Gikuha namo ang stack nga gihubit, ug gisulat ang automated installation ug post-configuration scripts para sa tanang subsystems aron ang tanan mabalhin gikan sa piloto ngadto sa target circuit sa labing madali nga panahon. Ang tanan nga mga sistema gi-deploy sa usa ka fault-tolerant configuration (diin kini nga kapabilidad dili limitado sa mga polisiya sa paglilisensya sa vendor) ug konektado sa metrics ug mga subsystem sa pagkolekta sa panghitabo. Gisusi sa IB ang pagsunod sa mga kinahanglanon niini ug gihatagan ang berde nga kahayag.

3 Stage. Paglalin sa tanang subsystem ug sa ilang mga setting ngadto sa bag-ong PAC. Ang mga script sa automation sa imprastraktura gisulat pag-usab, ug ang paglalin sa mga subsystem sa DSO nahuman sa usa ka hingpit nga awtomatiko nga paagi. Ang mga contour sa pagpalambo sa IP gimugna pag-usab sa mga pipeline sa mga development team.

Yugto nga 4. Automation sa pag-instalar sa software sa aplikasyon. Kini nga mga buluhaton gitakda sa mga nanguna sa team sa bag-ong mga team.

Yugto nga 5. Pagpahimulos.

Hilit nga pag-access

Ang mga tim sa pag-uswag nangayo alang sa labing kadali nga pagka-flexible sa pagtrabaho kauban ang circuit, ug ang kinahanglanon alang sa hilit nga pag-access gikan sa mga personal nga laptop gipataas sa sinugdanan sa proyekto. Ang bangko aduna nay hilit nga pag-access, apan kini dili angay alang sa mga developers. Ang kamatuoran mao nga ang laraw naggamit sa koneksyon sa user sa usa ka gipanalipdan nga VDI. Kini angayan alang niadtong nagkinahanglan lamang ug sulat ug usa ka pakete sa opisina sa ilang trabahoan. Ang mga nag-develop nanginahanglan bug-at nga mga kliyente, taas nga pasundayag, nga adunay daghang mga kapanguhaan. Ug siyempre, sila kinahanglan nga static, tungod kay ang pagkawala sa sesyon sa tiggamit alang sa mga nagtrabaho sa VStudio (pananglitan) o uban pang SDK dili madawat. Ang pag-organisar sa daghang gidaghanon sa mga baga nga static nga VDI alang sa tanan nga mga tim sa pagpauswag labi nga nagdugang sa gasto sa kasamtangan nga solusyon sa VDI.

Nakahukom kami nga magtrabaho sa hilit nga pag-access direkta sa mga kapanguhaan sa bahin sa pag-uswag. Jira, Wiki, Gitlab, Nexus, pagtukod ug pagsulay sa mga bangko, virtual nga imprastraktura. Gipangayo sa mga security guard nga ang pag-access mahimo ra nga ihatag ubos sa mga musunud:

  1. Paggamit sa mga teknolohiya nga anaa na sa bangko.
  2. Ang imprastraktura kinahanglan dili mogamit sa naglungtad nga mga tigkontrol sa domain nga nagtipig mga rekord sa mga produktibo nga butang sa account.
  3. Ang pag-access kinahanglan nga limitado lamang sa mga kapanguhaan nga gikinahanglan sa usa ka piho nga team (aron ang usa ka team sa produkto dili maka-access sa mga kapanguhaan sa laing team).
  4. Maximum nga kontrol sa RBAC sa mga sistema.

Ingon usa ka sangputanan, usa ka lahi nga domain ang gihimo alang niini nga bahin. Kini nga domain gipahimutang ang tanan nga mga kapanguhaan sa bahin sa pag-uswag, parehas nga mga kredensyal sa tiggamit ug imprastraktura. Ang siklo sa kinabuhi sa mga rekord niini nga domain gidumala gamit ang IdM nga anaa sa bangko.

Ang direktang hilit nga pag-access giorganisar base sa kasamtangan nga kagamitan sa bangko. Ang kontrol sa pag-access gibahin ngadto sa mga grupo sa AD, diin ang mga lagda sa konteksto katumbas (usa ka grupo sa produkto = usa ka grupo sa mga lagda).

Pagdumala sa Template sa VM

Ang katulin sa paghimo sa usa ka asembliya ug pagsulay nga loop mao ang usa sa mga nag-unang KPI nga gitakda sa ulo sa yunit sa pag-uswag, tungod kay ang katulin sa pag-andam sa palibot direkta nga nakaapekto sa kinatibuk-ang oras sa pagpatuman sa pipeline. Duha ka kapilian alang sa pag-andam sa base nga mga imahe sa VM ang gikonsiderar. Ang una mao ang minimum nga gidak-on sa imahe, default alang sa tanan nga mga produkto sa sistema, labing kataas nga pagsunod sa mga palisiya sa bangko bahin sa mga setting. Ang ikaduha mao ang base nga imahe, nga adunay sulud nga bug-at nga katungdanan nga POPPO nga na-install, ang oras sa pag-install nga mahimo’g makaimpluwensya sa katulin sa pagpatuman sa pipeline.

Ang mga kinahanglanon sa imprastraktura ug seguridad gikonsiderar usab sa panahon sa pag-uswag - ang pagpadayon sa mga imahe hangtod karon (mga patch, ug uban pa), panagsama sa SIEM, mga setting sa seguridad sumala sa mga sumbanan sa bangko.

Ingon usa ka sangputanan, nakahukom nga mogamit gamay nga mga imahe aron maminusan ang gasto sa pagpadayon niini nga labing bag-o. Mas sayon ​​​​ang pag-update sa base OS kaysa pag-patch sa matag imahe alang sa bag-ong bersyon sa POPPO.

Pinasukad sa mga resulta, usa ka lista ang naporma sa minimum nga gikinahanglan nga set sa mga operating system, ang pag-update niini gihimo sa operations team, ug ang mga script gikan sa pipeline hingpit nga responsable sa pag-update sa software, ug kung gikinahanglan, usba ang bersyon. sa na-install nga software - ibalhin lang ang gikinahanglan nga tag sa pipeline. Oo, kini nanginahanglan sa grupo sa produkto sa devops nga adunay mas komplikado nga mga senaryo sa pag-deploy, apan kini labi nga nagpamenos sa oras sa operasyon nga gikinahanglan aron suportahan ang mga base nga imahe, nga mahimo’g magkinahanglan labaw pa sa usa ka gatos nga base nga mga imahe sa VM aron mapadayon.

Pag-access sa Internet

Ang laing babag sa seguridad sa banking mao ang pag-access sa mga kapanguhaan sa Internet gikan sa kalamboan nga palibot. Dugang pa, kini nga pag-access mahimong bahinon sa duha nga mga kategorya:

  1. Pag-access sa imprastraktura.
  2. Pag-access sa developer.

Ang pag-access sa imprastraktura giorganisar pinaagi sa pag-proxy sa mga eksternal nga repository gamit ang Nexus. Kana mao, ang direktang pag-access gikan sa mga virtual machine wala gihatag. Gihimo kini nga posible nga makab-ot ang usa ka kompromiso sa kasiguruhan sa kasayuran, nga sa tinuud batok sa paghatag bisan unsang pag-access sa gawas nga kalibutan gikan sa bahin sa pag-uswag.

Ang mga developers nagkinahanglan og access sa Internet alang sa klaro nga mga rason (stackoverflow). Ug bisan kung ang tanan nga mga mando, sama sa gihisgutan sa ibabaw, adunay hilit nga pag-access sa sirkito, dili kanunay kombenyente kung dili nimo mahimo ang ctrl + v gikan sa trabahoan sa developer sa bangko sa IDE.

Usa ka kasabutan ang nakab-ot sa IS nga sa sinugdan, sa yugto sa pagsulay, ang pag-access igahatag pinaagi sa usa ka proxy sa bangko base sa usa ka puti nga lista. Sa pagkahuman sa proyekto, ang pag-access ibalhin sa black-list. Giandam ang dagkong mga lamesa sa pag-access, nga nagpakita sa mga nag-unang kapanguhaan ug mga tipiganan diin gikinahanglan ang pag-access sa pagsugod sa proyekto. Ang koordinasyon sa kini nga mga pag-access nagkinahanglag daghang oras, nga nagpaposible sa pag-insistir sa labing kadali nga posible nga pagbalhin sa mga blacklist.

Результаты

Ang proyekto natapos wala pay usa ka tuig ang milabay. Katingad-an, ang tanan nga mga kontraktor mibalhin sa bag-ong stack sa oras ug wala’y nahabilin tungod sa bag-ong automation. Ang IB wala magdali sa pagpaambit sa positibo nga feedback, apan wala usab nagreklamo, diin kita makahinapos nga gusto nila kini. Ang mga panagsumpaki nahubsan tungod kay ang seguridad sa impormasyon gibati na usab nga kontrolado, apan wala makabalda sa mga proseso sa kalamboan. Ang mga grupo gihatagan og dugang nga responsibilidad, ug ang kinatibuk-ang kinaiya sa seguridad sa impormasyon nahimong mas maayo. Ang bangko nakasabut nga ang transisyon sa DevSecOps hapit dili kalikayan, ug gibuhat kini, sa akong opinyon, sa labing malumo ug husto nga paagi.

Alexander Shubin, arkitekto sa sistema.

Source: www.habr.com

Idugang sa usa ka comment