Реклама
Дељено гостовање. То је јефтина опција, зар не? А за велики део популације, то је све што ће им икада требати да угости своју веб локацију или веб апликацију. А када је то добро урађено, дељено хостирање је скалабилно, брзо и сигурно.
Али шта се догађа када није добро?
Ето, тада почињу пропадати опасни проблеми са сигурношћу. Тада постоји ризик да ће ваша веб локација бити онемогућена или ће приватни подаци које држите бити процурили. Али не брини. Велика већина веб хостова има пристојне мере безбедности. Морате бити опрезни само домаћини који лете по ноћи, и то по подруму.
Препоручујемо Дељено гостовање ИнМотион Хостинг-а са ССД складиштем.
Истражићемо сигурносне проблеме око дељеног хостинга. Али прво, поразговарајмо о томе што чини заједничка хостинг платформа сигурном.
Шта чини сигурним веб домаћином
Постоји неколико сигурносних разлога који би требало да се ураде у вези са дељеним хостингом.
- Сваки корисник на серверу треба да буде изолован од других корисника и да не сме имати приступ или модификовање датотека других корисника.
- Сигурносна рањивост у логици веб локације која се налази на серверу не би требало да утиче на друге кориснике.
- Сервер се редовно закрпава, ажурира и надгледа како би се решио проблем безбедности архитектуре.
- Сваки корисник мора имати властити изолирани приступ бази података и не смије му бити дозвољено да мијења промјене у похрањене записе или дозволе таблица других корисника.
Опет, већина веб домаћина испуњава ове захтеве за своју заједничку понуду. Али ако гледате хостовање више веб локација на једном серверу или сте знатижељни да видите како се ваша компанија за хостинг саставља, или чак размишљате о покретању властите хостинг компаније и желите да утврдите како да осигурате своје кориснике, па прочитајте на.
Али прво, одрицање
Пре него што уђемо у месо гледања уобичајених напада изједначених на заједничком гостовању, само желим изјавите да овај пост неће бити (и не треба га читати као) исцрпну листу потенцијалних безбедности питања.
Сигурност је, једном речју, велика. Постоји пуно начина на који можете компромитовати веб локацију. Ово је двоструко за дељени хостинг. Покривање истих у једном чланку никада није било на картицама.
Ако сте параноични у погледу своје безбедности, набавите ВПС или наменски сервер. Ово су окружења у којима имате (углавном) апсолутну контролу над оним што се догађа. Ако нисте сигурни у различите врсте веб хостинга, погледајте овај пост Објашњени различити облици хостинга веб страница [Објасњена технологија] Опширније од мог колеге, Јамеса Бруцеа.
Морам такође да нагласим да овај пост не треба тумачити као напад на дељено хостинг. Умјесто тога, то је чисто академски поглед на сигурносна питања око ове категорије веб хостинга.
Траверсал директоријум
Кренимо од преласка директоријума (често познатог и као "прелазак путем"). Ова врста напада омогућава вам приступ датотекама и директоријама који се чувају изван веб корена.
На обичном енглеском? Па, замислимо да Алице и Боб користе исти сервер за хостовање својих веб локација. Алисине датотеке се чувају у / вар / ввв / алице, док се Боб-ови документи могу наћи у / вар / ввв / боб. Надаље, претварајмо се да на серверу постоји још једна фасцикла (/ уср / цраппихостинг / мифолдер) која садржи нешифрирану датотеку у отвореном тексту (назваћемо је пвд.ткт) која садржи системска корисничка имена и лозинке.
Са мном до сада? Добро. Замислимо сада да Боб-ова веб локација служи ПДФ датотеке које се генеришу локално, а локална датотека се позива у УРЛ-у. Нешто слично:
http://example.com/file?=report.pdf
Шта би се догодило ако замијеним 'репорт.пдф' неким УНИКС параметрима који мијењају директориј?
http://example.com/file?=../alice/
Ако је сервер исправно конфигурисан, то ће вам омогућити да видите Алицеов коријен документа. Занимљиво је, али нас много више занима та сочна датотека са пасошима. Аццио лозинке!
http://example.com/file?=../../../usr/crappyhosting/myfolder/pwd.txt
Доиста је лако као то. Али како да се носимо са тим? То је лако.
Да ли сте икад чули за мало познати Линук алат цхроот? Вероватно сте већ погодили шта то ради. Поставља Линук / УНИКС роот на произвољну мапу, онемогућавајући корисницима да га напусте. Ефективно, зауставља нападе кроз директоријуме у њиховим нумерама.
Тешко је рећи да ли ваш домаћин има ово место без кршења закона. Уосталом, да бисте га тестирали, приступали бисте системима и датотекама за које немате дозволу приступа. Имајући то у виду, можда би било разумно разговарати с вашим веб домаћином и питати се како изолирају своје кориснике једни од других.
Да ли користите свој властити хостинг сервер и не користите цхроот за заштиту својих корисника? Додуше, хротирање вашег окружења може бити тешко. Срећом, постоји мноштво додатака који ово олакшавају. Погледајте посебно мод_цхроот.
Командно убризгавање
Вратимо се Алице и Бобу. Дакле, знамо да Бобова веб апликација има неколико… Ахем… Сигурносних проблема у њој. Једна од њих је рањивост командне ињекције која вам омогућава покретање произвољне команде система Кратки водич за почетак рада с наредбеном линијом ЛинукаМожете направити пуно невероватних ствари са командама у Линуку и то заиста није тешко научити. Опширније .
Боб-ова веб локација вам омогућава да покренете Вхоис упит на другој веб локацији која се затим приказује у прегледачу. Постоји стандардни ХТМЛ оквир за унос који прихвата име домене и затим покреће вхоис системску команду. Ова наредба се извршава позивањем системске () ПХП наредбе.
Шта би се догодило ако би неко унео следећу вредност?
екампле.цом && цд ../алице/ && рм индек.хтмл
Па, хајде да га разбијемо. Нешто од овога би вам могло бити познато ако сте прочитали наше „Водич за почетак рада за Линук“ Почетак рада с Линуком и УбунтуомЗаинтересовани сте за прелазак на Линук... али одакле да започнете? Да ли је ваш ПЦ компатибилан? Да ли ће ваше омиљене апликације радити? Ево свега што треба да знате да бисте започели са Линуком. Опширније е-књига, коју смо раније објавили 2010. године, или је погледала нашу Линук командна линија (шифре).
Прво ће покренути вхоис упит на екампле.цом. Тада би промијенио тренутни радни директориј у Алицеов коријен документа. Тада би уклонила датотеку звану 'индек.хтмл' која је индексна страница на њеној веб локацији. То није добро. Не, господине.
Па, као системски администратори, како да ублажимо то? Па, враћајући се на претходни пример, сваког корисника увек можемо ставити у његово изоловано, санитарно уређено окружење.
Томе такође можемо приступити са језичког нивоа. Могуће је (иако, то може покварити ствари) глобално уклањање декларација функција са језика. То значи да је могуће уклањање функционалности са језика којима корисници имају приступ.
Гледајући посебно ПХП, можете да уклоните функционалност помоћу Рункит - ПХП званичног алата за промену функционалности језика. Тамо је богата документација. Прочитајте.
Такође можете да измените конфигурациону датотеку ПХП-а (пхп.ини) тако да онемогућите функције које хакери често злоупотребљавају. Да бисте то учинили, отворите терминал на вашем серверу и отворите датотеку пхп.ини у уређивачу текста. Уживам у кориштењу ВИМ-а, али је и НАНО прихватљив.
Пронађите линију која почиње са онемогућеним функцијама и додајте дефиниције функција које желите забранити. У овом случају то би био екец, схелл_екец и систем, мада вреди приметити да постоје и друге уграђене функције које хакери могу искористити.
онеспособити_функције = екец, схелл_екец, систем
Напади на основу језика и преводилаца
Дакле, погледајмо ПХП. Ово је језик који покреће запањујући број веб локација. Такође долази са низом идиосинкразија и чудних понашања. Овако.
ПХП се обично користи у комбинацији са веб сервером Апацхе. Већином је немогуће учитати више верзија језика овом конфигурацијом.
Зашто је то проблем? Па, замислимо да је Бобова веб апликација првобитно изграђена 2002. године. То је одавно. Вратило се кад је Мицхелле Бранцх још увек била на врху лествице, Мицхаел Јордан је још увек играо за Васхингтон Визардс и ПХП је био сасвим другачији језик.
Али Боб-ова веб локација још увек ради! Користи читав низ прекинутих и застарелих ПХП функција, али делује! Коришћење модерне верзије ПХП-а би ефикасно покварило Бобову веб локацију, и зашто би Боб преписао своју веб страницу како би се задовољио ћудима свог веб домаћина?
Ово би вам могло дати идеју о дилеми с којом су неки веб домаћини суочени. Морају да уравнотеже одржавање архитектонски исправне и сигурне услуге, а то је у складу са задовољством купаца који плаћају.
Као резултат тога, није реткост да мањи, независни домаћини користе старије верзије тумача ПХП (или било који други језик).
Није неуобичајено да мањи, независни домаћини користе старије верзије ПХП-а, потенцијално излажући кориснике безбедносним ризицима.
Зашто је ово лоше? Па, прво, то би изложило кориснике бројним безбедносним ризицима. Као и већина главних софтверских пакета, ПХП се стално ажурира како би се решио мноштво безбедносних рањивости које се стално откривају (и откривају).
Штавише, то значи да корисници не могу да користе најновије (и највеће) језичке функције. То такође значи да остају функције које су застарјеле с разлогом. У случају ПХП програмски језик Научите да градите помоћу ПХП-а: Црасх ЦоурсеПХП је језик који Фацебоок и Википедија користе да би послуживали милијарде захтева дневно; де фацто језик који се користи за подучавање веб програмирања људи. Лепо је једноставно, али сјајно моћно. Опширније , то укључује смешно страшне (и недавно застареле) мискл_ функције које се користе за интеракцију са МиСКЛ релацијским системом база података и дл (), који омогућава корисницима да увезе свој језик екстензије.
Као корисник, требали бисте моћи видјети која верзија преводиоца се користи на вашој услузи. Ако је застарио или садржи неколико сигурносних рањивости, обратите се свом домаћину.
Шта је са сисадминима? Овде имате неколико опција. Прва (и најперспективнија) је употреба Доцкера за сваког вашег корисника. Доцкер вам омогућава да истовремено покрећете више, изолованих окружења, баш као што то ради и виртуелна машина, мада без потребе да користите други оперативни систем. Као резултат, ово је брзо. Заиста јако брзо.
На обичном енглеском? Можете покренути најновији и највећи крвави тумач за већину својих корисника, а истовремено су и купци који користе старе апликације које користе древне, застарјеле интерпретаторе да то ураде без угрожавања других корисника.
То такође има предност што је језички агностик. ПХП, Питхон, Руби. Шта год. Све је исто.
Немојте имати ноћне море.
Овај пост био је намијењен да уради неколико ствари. Прво, требало је да вам скренемо пажњу на број безбедносних проблема са којима се веб хостинг компаније морају суочити да би обезбедиле сигурност својих купаца и њихових података.
Намера је била такође да вам покаже како веб локације хостиране на истом серверу могу да утичу једна на другу. Желите да убаците удубљење у овоме? Почните да се придржавате добрих, сигурних стандарда кодирања. Конкретно, почните са санитарним уносима и на предњем и на задњем делу.
Добар почетак је са новом функционалношћу потврде обрасца ХТМЛ5. О томе смо већ разговарали у нашем ХТМЛ5 водичу. Колективно, веб странице можемо учинити сигурнијим тако што ћемо бити бољи, савеснији програмери.
Као и увек, чујем ваше мисли. Остави ми коментар испод.
Фото кредит: Свима је потребан хакер (Алекандре Дулаунои), Налепница на такси прозору (Цори Доцторов), Соба са серверима (Торкилд Ретведт), Линук књиге и часописи (либрари_мистресс), ПХП Елепхант (Маркус Тацкер)
Маттхев Хугхес је програмер и писац софтвера из Ливерпула, Енглеска. Ретко се нађе без шољице јаке црне кафе у руци и апсолутно обожава свој Мацбоок Про и свој фотоапарат. Његов блог можете прочитати на http://www.matthewhughes.co.uk и пратите га на твиттеру на @маттхевхугхес.