Reklāma

Dalīta mitināšana. Tas ir lēts variants, vai ne? Un milzīgs iedzīvotāju skaits ir viss, kas viņiem jebkad būs nepieciešams, lai mitinātu viņu vietni vai tīmekļa lietojumprogrammu. Ja tas tiek darīts labi, dalītā mitināšana ir pielāgojama, ātra un droša.

Bet kas notiek, ja tas nav izdarīts labi?

Tas ir tad, kad bīstamās drošības problēmas sāk rāpot. Tas ir tad, ja jūsu vietnei ir risks noniecināt vai tiek noplūdināti jūsu privātie dati. Bet neraizējies. Lielākajai daļai tīmekļa mitinātāju ir pienācīgi drošības pasākumi. Jums jāuzmanās tikai no nakts lidojumiem pagrabstāvu saimniekiem.

Mēs rekomendējam InMotion Hosting dalītā mitināšana ar SSD krātuvi.

dalītshosting-hakeris

Mēs izpētīsim drošības problēmas, kas saistītas ar kopīgu mitināšanu. Vispirms parunāsim par to, kas kopīgās mitināšanas platformu padara drošu.

Kas padara drošu tīmekļa mitinātāju

Ir daži drošības apsvērumi, kas jāizceļ, ņemot vērā dalītu mitināšanu.

  • Katram servera lietotājam jābūt izolētam no citiem lietotājiem, un viņiem nevajadzētu piekļūt citu lietotāju failiem vai tos modificēt.
  • instagram viewer
  • Drošības ievainojamība serverī mitinātās vietnes loģikā nedrīkstētu ietekmēt citus lietotājus.
  • Serveris tiek regulāri labots, atjaunināts un uzraudzīts, lai risinātu arhitektūras drošības problēmas.
  • Katram lietotājam vajadzētu būt atsevišķai piekļuvei datu bāzei, un viņiem nevajadzētu ļaut veikt izmaiņas citu lietotāju glabātajos ierakstos vai tabulas atļaujās.

Atkal vairums tīmekļa mitinātāju atbilst šīm prasībām attiecībā uz viņu kopīgo piedāvājumu. Bet, ja jūs meklējat vairāku vietņu mitināšanu vienā serverī vai jums ir interese uzzināt, kā uzkopj jūsu mitināšanas uzņēmums, vai pat domājat izveidot savu hostinga uzņēmumu un labprāt izdomājat, kā nodrošināt savus lietotājus, lūdzu, izlasiet ieslēgts

Bet, pirmkārt, atruna

Pirms mēs sākam skatīties uz kopīgiem uzbrukumiem, kas izlīdzināti uz dalītu hostingu, es tikai gribu paziņojiet, ka šī ziņa nebūs (un to nevajadzētu lasīt kā) izsmeļošs potenciālās drošības saraksts jautājumiem.

Drošība, vārdu sakot, ir liela. Vietni var apdraudēt daudzos veidos. Tas attiecas uz dalītu mitināšanu divkārši. Pārklājot tos vienā rakstā, kartēs nekad nebija.

dalīta mitināšana-atruna

Ja jums ir paranojas par savu drošību, iegūstiet VPS vai speciālu serveri. Tās ir vides, kurās jums (lielākoties) ir absolūta kontrole pār notiekošo. Ja neesat pārliecināts par dažādiem tīmekļa mitināšanas veidiem, apskatiet šo ziņu Izskaidroti tīmekļa vietņu mitināšanas dažādi veidi [izskaidroti ar tehnoloģijām] Lasīt vairāk no mana kolēģa Džeimsa Brūsa.

Man arī jāuzsver, ka šī ziņa nav uzskatāma par uzbrukumu dalītam mitināšanai. Drīzāk tas ir tīri akadēmisks skatījums uz drošības jautājumiem, kas saistīti ar šo tīmekļa mitināšanas kategoriju.

Direktorija šķērsošana

Sāksim ar direktoriju šķērsošanas (bieži dēvētas par “ceļš šķērsošana”) uzbrukumiem. Šāda veida uzbrukums ļauj piekļūt failiem un direktorijiem, kas tiek glabāti ārpus tīmekļa saknes.

Vienkāršā angļu valodā? Iedomāsimies, ka Alise un Bobs savu vietņu mitināšanai izmanto vienu un to pašu serveri. Alises faili tiek glabāti mapē / var / www / alice, savukārt Boba dokumenti ir mapē / var / www / bob. Turklāt izliksimies, ka serverī ir vēl viena mape (/ usr / crappyhosting / myfolder) kurā ir nešifrēts vienkāršā teksta fails (mēs to sauksim par pwd.txt), kurā ir sistēmas lietotājvārdi un paroles.

hostinga serveris

Ar mani līdz šim? Labi. Iedomāsimies, ka Boba vietne apkalpo PDF failus, kas tiek ģenerēti uz vietas, un vietējais fails ir norādīts URL. Kaut kas kā:

http://example.com/file?=report.pdf

Kas notiktu, ja es aizstātu 'report.pdf' ar dažiem UNIX parametriem, kas maina direktoriju?

http://example.com/file?=../alice/

Ja serveris ir konfigurēts nepareizi, tas ļautu jums redzēt Alises dokumenta sakni. Interesanti, bet mūs daudz vairāk interesē tas sulīgo pasu fails. Accio paroles!

http://example.com/file?=../../../usr/crappyhosting/myfolder/pwd.txt

Tas tiešām ir tik vienkārši. Bet kā ar to tikt galā? Tas ir viegli.

Kādreiz esat dzirdējuši par maz pazīstamu Linux utilītu, ko sauc chroot? Jūs droši vien jau esat uzminējis, ko tas dara. Tas Linux / UNIX sakni iestata patvaļīgā mapē, padarot lietotājiem neiespējamu to iziet. Faktiski tas aptur direktoriju šķērsošanas uzbrukumus viņu ierakstos.

dalīts-chroot

Ir grūti pateikt, vai jūsu uzņēmējā tas ir ieviests, nepārkāpjot likumu. Galu galā, lai to pārbaudītu, jūs piekļūsit sistēmām un failiem, kuriem jums nav piekļuves atļaujas. Paturot to prātā, varbūt būtu saprātīgi runāt ar savu tīmekļa mitinātāju un uzzināt, kā viņi izolē savus lietotājus viens no otra.

Vai jūs izmantojat savu koplietojamo mitināšanas serveri un nelietojat chroot, lai aizsargātu savus lietotājus? Jāatzīst, ka jūsu vides chrooting var būt smags. Par laimi, ir daudz spraudņu, kas to padara vienkāršu. Īpaši apskatiet mod_chroot.

Komandu injekcija

Atgriezīsimies pie Alises un Boba. Tātad, mēs zinām, ka Boba tīmekļa lietojumprogrammā ir dažas... Ahem... Drošības problēmas tajā. Viens no tiem ir komandu ievainojamība, kas ļauj palaist patvaļīgas sistēmas komandas Īsa rokasgrāmata darba sākšanai ar Linux komandrinduJūs varat darīt daudz pārsteidzošu lietu ar komandām Linux, un to tiešām nav grūti iemācīties. Lasīt vairāk .

Boba vietne ļauj jums izpildīt whois vaicājumu citā vietnē, kas pēc tam tiek parādīta pārlūkprogrammā. Pastāv standarta HTML ievades lodziņš, kas pieņem domēna vārdu un pēc tam palaiž WHOIS komandu. Šī komanda tiek izpildīta, izsaucot sistēmas () komandu PHP.

Kas notiktu, ja kāds ievadītu šo vērtību?

example.com && cd ../alice/ && rm index.html

Nojauksim to Daži no jums varētu būt pazīstami, ja esat lasījis mūsu “Darba sākšanas rokasgrāmata Linux” Darba sākšana ar Linux un UbuntuJūs interesē pāreja uz Linux... bet kur tu sāc? Vai jūsu dators ir saderīgs? Vai jūsu iecienītās lietotnes darbosies? Šeit ir viss, kas jums jāzina, lai sāktu darbu ar Linux. Lasīt vairāk e-grāmata, kuru mēs iepriekš publicējām 2010. gadā, vai arī esam to apskatījuši Linux komandrindas apkrāpšanas lapa.

Pirmkārt, tas izpildīs WHOIS vaicājumu vietnē example.com. Tad tas mainītu pašreizējo darba direktoriju uz Alises dokumenta sakni. Tad tas noņemtu failu ar nosaukumu “index.html”, kas ir viņas vietnes indeksa lapa. Tas nav labi. Nē, ser.

sharehosting-linux

Tātad, kā sistēmas administratori, kā to mazināt? Atgriežoties pie iepriekšējā piemēra, mēs vienmēr varam katru lietotāju ievietot izolētā, sanitizētā, drukātā vidē.

Tam mēs varam pieiet arī no valodas līmeņa. Ir iespējams (kaut arī tas var sabojāt lietas) funkciju deklarācijas globāli noņemt no valodām. Tas nozīmē, ka ir iespējams noņemt funkcionalitāti valodās, kurām lietotājiem ir piekļuve.

Īpaši apskatot PHP, funkcionalitāti var noņemt, izmantojot Runkit - PHP oficiālo instrumentu komplektu valodas funkcionalitātes modificēšanai. Tur ir daudz dokumentācijas. Izlasiet to.

Varat arī modificēt PHP konfigurācijas failu (php.ini), lai atspējotu funkcijas, kuras hakeri bieži ļaunprātīgi izmanto. Lai to izdarītu, atveriet termināli serverī un atveriet php.ini failu teksta redaktorā. Man patīk izmantot VIM, taču ir pieņemams arī NANO.

Atrodiet rindu, kas sākas ar invalid_functions, un pievienojiet funkciju definīcijas, kuras vēlaties aizliegt. Šajā gadījumā tas būtu exec, shell_exec un system, lai gan ir vērts atzīmēt, ka ir arī citas iebūvētās funkcijas, kuras hakeri var izmantot.

Disable_functions = exec, shell_exec, system

Uz valodas un tulku balstīti uzbrukumi

Apskatīsim PHP. Šī ir valoda, kas pilnvaro satriecošu vietņu skaitu. Tas nāk arī ar vairākām īpatnībām un dīvainu izturēšanos. Kā šis.

PHP parasti tiek izmantots kopā ar Apache tīmekļa serveri. Lielākoties ar šo konfigurāciju nav iespējams ielādēt vairākas valodas versijas.

koplietojamais fonds

Kāpēc tā ir problēma? Iedomāsimies, ka Boba tīmekļa lietojumprogramma sākotnēji tika izveidota 2002. gadā. Tas ir sen. Atkal, kad Mišela filiāle joprojām bija topu augšgalā, Maikls Džordans joprojām spēlēja Vašingtonas burvjiem, un PHP bija daudz atšķirīga valoda.

Bet Boba vietne joprojām darbojas! Tas izmanto veselu virkni pārtrauktu un novecojušu PHP funkciju, taču tas darbojas! Izmantojot mūsdienīgu PHP versiju, Boba vietne tiktu efektīvi sagrauta, un kāpēc gan Bobs būtu jāpārraksta sava vietne, lai rūpētos par sava tīmekļa mitinātāja kaprīzēm?

Tam vajadzētu dot priekšstatu par dilemmu, ar kuru saskaras daži tīmekļa mitinātāji. Viņiem ir jābalansē saglabāt arhitektoniski pamatotu un drošu pakalpojumu, vienlaikus nodrošinot to harmoniju ar to, ka maksājošie klienti ir laimīgi.

Rezultātā nav nekas neparasts, ja mazākie, neatkarīgie resursdatori izmanto vecākas PHP (vai šajā sakarā jebkuras valodas) tulka versijas.

Nav nekas neparasts, ja mazākie, neatkarīgie resursdatori izmanto vecākas PHP versijas, potenciāli pakļaujot lietotājus drošības riskiem.

Kāpēc tā ir slikta lieta? Pirmkārt, tas lietotājiem pakļauj vairākus drošības riskus. Tāpat kā vairums lielāko programmatūras pakotņu, PHP tiek pastāvīgi atjaunināts, lai novērstu drošības ievainojamību pārpilnību, kas tiek nepārtraukti atklāta (un atklāta).

Turklāt tas nozīmē, ka lietotāji nevar izmantot jaunākās (un labākās) valodas funkcijas. Tas nozīmē arī to, ka paliek funkcijas, kuras iemesla dēļ ir novecojušas. Gadījumā PHP programmēšanas valoda Iemācieties veidot ar PHP: avārijas kurssPHP ir valoda, kuru Facebook un Wikipedia lieto, lai katru dienu apkalpotu miljardiem pieprasījumu; de-facto valoda, ko izmanto, lai mācītu cilvēkiem tīmekļa programmēšanu. Tas ir skaisti vienkāršs, bet izcili spēcīgs. Lasīt vairāk , tas ietver smieklīgi briesmīgās (un nesen novecojušās) mysql_ funkcijas, kuras tiek izmantotas mijiedarbībai ar MySQL relāciju datu bāzes sistēmu un dl (), kas lietotājiem ļauj importēt savu valodu paplašinājumi.

Kā lietotājam jums vajadzētu būt iespējai redzēt, kāda tulka versija darbojas jūsu pakalpojumā. Ja tas ir novecojis vai tajā ir vairākas drošības ievainojamības, sazinieties ar savu mitinātāju.

Kas par sysadminiem? Šeit ir dažas iespējas. Pirmais (un daudzsološākais) ir izmantot Docker katram jūsu lietotājam. Docker ļauj vienlaikus darbināt vairākas, izolētas vides, līdzīgi kā to dara virtuālā mašīna, kaut arī jums nav jāpalaiž cita operētājsistēma. Tā rezultātā tas notiek ātri. Tiešām, tiešām ātri.

Vienkāršā angļu valodā? Lielākajai daļai lietotāju, kamēr klienti, jūs varat vadīt jaunāko un labāko tulku kuri izmanto vecās lietojumprogrammas, kurās izmanto senus, novecojušus tulkus, neapdraudot citus lietotājiem.

Tam ir arī priekšrocība, ka tas ir valodas agnostisks. PHP, Python, Ruby. Lai kā būtu. Tas pats ir tas pats.

Vai nav murgi.

Šī ziņa bija paredzēta pāris lietu veikšanai. Pirmkārt, tas bija jūsu uzmanības pievēršana drošības problēmu skaitam, ar kurām tīmekļa mitināšanas uzņēmumiem ir jāsaskaras, lai nodrošinātu klientu un viņu datu drošību.

Bija paredzēts arī parādīt, kā vietnes, kas mitinātas vienā serverī, var ietekmēt viena otru. Vai vēlaties ievietot tajā bedri? Sāciet ievērot labus, drošus kodēšanas standartus. Jo īpaši sāciet sanitizēt savus resursus gan priekšpusē, gan aizmugurē.

Labs sākums ir jaunās HTML5 formas apstiprināšanas funkcionalitāte. Par to mēs jau runājām HTML5 ceļvedī. Kopā mēs varam padarīt vietnes drošākas, būdami labāki, apzinīgāki programmētāji.

Kā vienmēr, es esmu gatavs dzirdēt jūsu domas. Nometiet man komentāru zemāk.

Fotoattēlu kredīts: Visiem ir nepieciešams hakeris (Aleksandrs Dulaunojs), Uzlīme uz taksometra loga (Cory Doctorow), Serveru istaba (Torkild Retvedt), Linux grāmatas un žurnāli (library_mistress), PHP zilonis (Markus Tacker)

Metjū Hjūss ir programmatūras izstrādātājs un rakstnieks no Liverpūles, Anglijas. Viņš reti atrodams bez tasītes spēcīgas melnas kafijas rokā un absolūti dievina savu Macbook Pro un kameru. Jūs varat lasīt viņa emuāru vietnē http://www.matthewhughes.co.uk un seko viņam līdzi twitter vietnē @matthewhughes.