Juttu SVN infolekete tõkestamisest ja küsimus tarkvaraarendajatele
Antud blogipostitus on 180 kuud vana ning ei pruugi olla enam ajakohane.
Sõber Lembit säutsub, viidates TechCrunchile, et taas on päevakorda tõusnud versioonihaldustööriista Subversion kasutamise head tavad. Avaldatud uuringust selgub, et väga paljudel veebiarendajatel on kombeks oma veebi otse versioonihaldusest uuendada ning seetõttu sattuvad veebiserverisse ka .svn kataloogid, mis sisaldavad arendustööriista spetsiifilisi meta-andmeid, mis võivad nii veebisaidi sisu olemuse kui ka arendusmeetodite ja arendajate kohta avaldada liialt paljut. Ligipääs nendele kataloogidele jääb enamasti aga piiramata.
Kiire otsing ja pisteline kontroll meie klientide veebisaitide seas näitas, et tegu on tõesti levinud probleemiga. Arvestades seda, kuivõrd palju sellele uuringule viidatakse, on eeldada, et .svn kataloogi “ukse logistajaid” on lähitulevikus palju tulemas. Seetõttu tuleme mugavatele veebiarendajatele vastu ja aitame omalt poolt kaasa infolekete ennetamisele, blokeerides veebiserveri vahenditega ligipääsu .svn kataloogidele. Lisaks blokeeritakse ka ligipääs kataloogidele .git, mis on populaarse versioonihaldustööriista GIT spetsiifilised kataloogid.
Tunnistame, et selline tegevus on mõnevõrra administraatorite ja tarkvaraarendajate vahelisele hallile alale tungimine. Tarkvaraarendajad, kui siia satute, avaldage kommentaarides oma arvamust, kas selliseid asju peaks serveri poolt julgelt tõkestama või pigem võiks jääda seisukohale, et “tarkvaraarendaja-on-suur-mees-hambad-suus-küll-mees-teab-mis-mees-teeb”.
Juhul, kui teil peaks sellest .svn/.git kataloogide blokeerimisest probleeme tekkima, palume ühendust võtta meie klienditeenindusega aadressil abi@zone.ee
Kommentaarid
5 kommentaariVälja võib lugeda, et tegu on probleemiga interpreteeritavates keelte kasjutajate hulgas. Suurima tõenäosusega PHP maailmast. Kuna see kood ei vaja kompileerimist, siis on seda võimalik teha, kuid see ei tundu olevat hea praktika.
Isegi luues lihtsamat kodulehte tuleb lisada JavaScripti ja CSS-i ning enne avalikusesse viimist võiks need minimeerida ja see võiks olla osa build süsteemist. Vajaliku build skripti (siinkohal võiks seda nimetada pakendamise skriptiks) tegemine on ilmselt ühekordne ning seda saaks kasutada suures osas ka teiste projektide puhul.
Lisaks võib juurde teha ka deployment skripti, mis näiteks pärast pakendamist automaatselt lisab FTP-ga selle avalikku serverisse. Esmasel korral võtaks selle tegemine päeva aega (juhul kui pole varem sellega kokku puututud) ning vastutasuks on võimalik ainult vajalikud failid üles panna ning lehte seadistada ühe nupuvajutusega.
Probleem seisneb võimaluste/praktikate väheses teadmises ning hea meelega piiraks halbade praktikate levikut (need kellel seda tõesti vaja läheb, siis need võtaksid ühendust).
Hea tava on, et mida produktsiooniserveris vaja ei ole, sinna ka ei panda. Niiet peamiselt peaks olema veebilehtede loojate vastutus sellised metaandmed lehe live-i tõstmisel ära koristada.
Jep, just ei tohiks midagi maha v6tta — v6ibolla eesm2rk ongi read-only koodirepot yle HTTP pakkuda?
Bazaar toetab sellist asja, loodetavasti tulevikus ka git.
Tänan Zone poolt vastukajade eest.
Virtuaalserveritest rääkides peame arvestama siiski korraga tuhandete kodulehtedega ning nende turvaküsimustes profülaktika teadlik eiramine oleks teenusepakkuja poolt vastutustundetu 🙂
Mõned üksikud neist tuhandetest võivad tõesti olla nn. power-userid, kes sihilikult repositooriumit üle HTTP jagada soovivad.
Mulle vähemalt tundub, et ajutine takistus, mis üksikul power-useril repo. jagamisel tekib pole absoluutselt võrreldav kahjuga, mis tekiks kümnete või sadade kodulehtede koodi või muu sensitiivse info lekkimisel.
Lisan täpsustuseks selle, et ‘.svn’ ja ‘.git’ kataloogid on “suletud” hetkel triviaalse “Order allow,deny + Deny from all” direktiividega. Kui inimene tõesti .svn/.git katalooge üle HTTP jagada tahab, saab tema virtualhostist erandkorras need direktiivid kustutada. Piisab vaid abi@zone.ee peale kirjutamisest.
See on muidugi lollus, sest arendajad kasutavad _otse repositooriumist serverisse_ kantimiseks käsku “$ svn export”, millisel juhul sisemiseks kasutuseks mõeldud metainfot ei tekitata. (http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.export.html)
Või on see järjekordne, “kaitseme lolle nende oma lolluse eest” aktsioon? Tarvilik oleks parem oma tarkvarahaldust paremini tundma õppida arendajatel… Kui vitsad ei peksa, siis targaks ei saa IT alal, ning selline ühe võimaliku apsaka ärafiksimine ei muuda laias laastus mitte midagi. Tarvis on hoopis propageerida turvalisi arendusmeetodeid.
Aitäh.
Kommentaarid suletud.