Сигурност при Open source - Content management system-ите

cyberpower

New Member
Здравейте колеги,

Последно време засичам все повече хора които смятат че open source системите за управление на съдържанието като wordpress, joomla, drupal и т.н. са в пъти по несигурни от това да имаш затворена система (собствена CMS). Заблуждението идва основно от 2 фактора:

1. Хората мислят че когато нещо е с отворен код и хакерите имат достъп до кода много по лесно могат да хакнат даден сайт, което не е точно така защото освен хакерите до кода имат достъп и стотици security експерти, които разработват системи или предлагат услуги на база тази open source система и имат интерес тя да е максимално сигурна. При по сериозните системи практиката е още като се забележи потенциална заплаха за сигурноста тя да бъде отстранена независимо от това дали реално някой може да се възползва от тази слабост и другото което е в security групите винаги има хора които следят световните тенденции и вграждат най-надеждните технологии в системата си.

Да видим обаче и другата страна на нещата да речем че позвате custom система за управление на съдържанието. Подобни системи обикновенно се създават и поддържат от малка група хора да речем от 5-10 човека и реално погледнато вероятноста да направят грешка или неволно да оставят вратичка на хакерите е много по голяма, просто защото гледат на нещата от по малко гледни точки. Сега някой ще каже и да направят какво хакера не може да види кода и няма да знае че има грешка, истината обаче е че хакерите не седят по цял ден в сайта на wordpress да търсят за слабости, просто защото при следващия update най-вероятно ще бъде отстранена и само ще са си загубили времето, вместо това използват скенери за уязвимости които сканират(обикновено комплексно сървър, cms и т.н) и когато скенера открие уязвимост хакера я използва(най често с готов експлойт) за да добие достъп и това че не вижда кода не му пречи да се възползва от слабост в него.

За да подкрепя горните твърдения ще дам примери: Да взeмем Windows и Linux, Windows е система от затворен тип докато Linux е с отворен код, мисля че няма спор че Linux е много по сигурна система. Другият ми пример е че все повече големи компании избират да базират web сайтовете и услугите си на системи с отворен код, даже сайта на белия дом е базиран на система с отворен код(drupal).


2. Другия фактор са хората които са им хакнали сайта и разправят наляво на дясно колко несигурна е дадена система. Истината е че в над 90% това се случва по тяхна вина, защото са инсталирали калпави модули или не са си update-вали системата с месеци понякога дори и с години, а най-често проблема даже не е в CMS-та а в троянци и кийлогъри по техните компютри.

Ето и няколко добри практики спазването на които ще подобри значително сигурноста на вашия сайт:

-Редовно обновявайте системата си и модулите към нея.

-Изберете хостинг с редовен backup

-Когато инсталирате допълнителни модули към системата, направете проучване за дадения модул дали се update-ва редовно; колко хора работят по модула; имало ли е дупки в сигурноста в миналото; може да проучите и авторите по какви други проекти са работили. Идеята е да се убедите че модула е стабилен, обновява се редовно, по него работят стабилни хора които си разбират от работата.

-Не инсталирайте модули в dev или beta етап или такива които се поддържат от само един човек(даже избягвайте и само 2ма, освен ако не са от авторитетни автори). Не инсталирайте и модули които няма да се обновяват повече.

-Много внимавайте с модули предназначени за въвеждане на информация като: коментари; текст; файлове и т.н. ако текстовете и файловете не се филтрират правилно много лесно хакерите могат да добият достъп.

-За връзка към сървъра използвайте Secure FTP и се свързвайте към сървъра само от сигурни компютри.

-Избягвайте footprints(отпечатаци) което ще рече да променяте default текстовете и url-та които се генерират от системата и модулите. Задължително махнете "powered by ***" и задайте собствени правила за генериране на url адреси. Това се прави със следната цел да речем че аз съм хакер и съм открил слабост в някой модул да речем на wordpress следващото нещо което ще направя е да потърся в google за сайтове които ползват този модул за целта ще разгледам какви текстове и адреси генерира този модул по default и примерно ако модула се казва "X Comments" и генерира текст преди коментарите "Comments with X" а самите коментари имат адрес от сорта на http:/domain.com/index?xcoments=views?*** мога да пусна в google следните заявки:

заявка1: "comments with X" "powered by wordpress" или заявка2:"comments with X" inurl:xcoments или заявка3:"powered by wordpress" inurl:xcoments
И трите заявки ще свършат сходна работа и ще ми изведат сайтове които са на wordpress и ползват "X Comments"

-Ако имате статичен IP адрес може да зададете през Apache кои IP адреси да имат достъп по административните страници на CMS-та

-Ако горните неща не помогнат или искате по високо ниво на сигурност може да се замислите да ползвате reverse proxy или някоя инлайн услуга като cloudflare.com


Ако някой се сеща за други добри практики или не е съгласен с нещо или иска да допълни нещо ще се радрам на една добра дискусия по въпроса.
 
От: Сигурност при Open source - Content management system-ите

Linux не е по сигурен от Windows. Всичко зависи от действията или бездействията на зад-клавиатурното устройство.
Веднага ти давам пример:
1. Машина на Windows, която няма достъп до интернет и слушам музика;
2. Линукса машина, на която съм разрешил логването с root през ssh, а паролата ми е култовата password и се хваля в интернет как съм сигурен 'щото разбираш ли съм с пингвина;
Коя е по сигурната? ;)

Само не ми е ясно, защо сравняваш система като Wordpres с труда на някакви аматьори, които са написали 5 реда PHP и се наричат програмисти?
Ако даден продукт е писан от 5-10 човека то значи е сериозен, че да изисква толкова хора и 99% е сигурно че един от тях е чувал какво е SQL Injection, XSS, etc.

Така наречените от теб "скенери" обхождат сайта да търсят познати елементи от които да разпознаят системата и да предложат на търсача нужните данни за да си приложи екплойтите ;).
При custom решенията се пробват известните на всички нас атаки и ако някоя мине теста пак се информира търсача ;).
 
Последно редактирано:
От: От: Сигурност при Open source - Content management system-ите

Linux не е по сигурен от Windows. Всичко зависи от действията или бездействията на зад-клавиатурното устройство.
Веднага ти давам пример:
1. Машина на Windows, която няма достъп до интернет и слушам музика;
2. Линукса машина, на която съм разрешил логването с root през ssh, а паролата ми е култовата password и се хваля в интернет как съм сигурен 'щото разбираш ли съм с пингвина;
Коя е по сигурната? ;)
В примера не визирах човешкия фактор, сравнявам двете системи като ядро. Не съм голям капацитет по отношение на операционни системи, но всеобщото мнение на хора занимаващи се с администриране на сървъри е че linux е по стабилна и сигурна от windows. Което въобще не означава че и windows не може да се настрои да е сигурен с допълнителни програми, но това пък от своя страна изисква допълнителни ресурси.

Само не ми е ясно, защо сравняваш система като Wordpres с труда на някакви аматьори, които са написали 5 реда PHP и се наричат програмисти?
.
Не знам къде видя да правя подобно сравнение.

Ако даден продукт е писан от 5-10 човека то значи е сериозен, че да изисква толкова хора и 99% е сигурно че един от тях е чувал какво е SQL Injection, XSS, etc.
.
Не твърдя че проекта няма да е сериозен или че програмистите които развиват собствен CMS са калпави и няма да си имат идея от сигурност. Моето твърдение е че примерно 100 човека(реално са много повече) които гледат един и същ код и имат най-различни познания в различни области има по голяма вероятност да забележат даден бъг или потенциялна уязвимост.

Така наречените от теб "скенери" обхождат сайта да търсят познати елементи от които да разпознаят системата и да предложат на търсача нужните данни за да си приложи екплойтите ;).
При custom решенията се пробват известните на всички нас атаки и ако някоя мине теста пак се информира търсача ;).
Точно така, идеята ми тук е че никой не е перфектен и не знае всичко. Това че дадена уязвимост е известна не означава че програмиста знае за нея, но ако след него още 100 човека видят кода все някой ще се сети че не трябва да са така нещата.
 
От: Сигурност при Open source - Content management system-ите

При грубо сканиране (raw scanning) скенерите просто търсят всички възможности за user input на даден сайт.... на статичен сайт само за четене какво да му хакваш :) .
 
От: От: Сигурност при Open source - Content management system-ите

Не знам къде видя да правя подобно сравнение.

Точно така, идеята ми тук е че никой не е перфектен и не знае всичко. Това че дадена уязвимост е известна не означава че програмиста знае за нея, но ако след него още 100 човека видят кода все някой ще се сети че не трябва да са така нещата.

Точно това означава ;) и точно това твърдя, че в първия си пост сравняваш система като Wordpres с труда на някакви аматьори, защото само такива хора не знаят за това, че има SQL Injection примерно ;).
 
От: Сигурност при Open source - Content management system-ите

Не съм много съгласен, то и къстъм системата, ако се прави, наглежда и поддържа дори и от един човек, може да бъде много по-сигурна.
А опън сорс се пише от сульо и пульо, което не може да ти даде сигурност. Ако искаш наистина сигурност, пак си плащаш на фирма/човек, да ти надгради опън сорс системата с къстъм модули.
Аз съм привърженик на къстъм системите. Виждал съм доста опън сорс "помии". При опън сорс системите са повече компетентните и често се получава един да инсталира и настрои, втори, трети и четвърти да дописва и настройва и става едно, дето после пети се опитва да оправи. Не че няма и некадърни къстъм системите, но тук говорим за качествена работа.
Тук повече въпроса опира, не до системата, а екипа който я е направил и поддържа. Щото като се захванат група неразбиращи да ми гласят сайт и на най-сигурната опън сорс система да ми го правят, пак може да е като швейцарско сирене.
 
От: Сигурност при Open source - Content management system-ите

Точно това означава ;) и точно това твърдя, че в първия си пост сравняваш система като Wordpres с труда на някакви аматьори, защото само такива хора не знаят за това, че има SQL Injection примерно ;).
Това че знаеш нещо не означава че го спазваш на всеки ред код и това че грешиш не те прави лош програмист, точно това харесвам на open source че даже и да сгрешиш има кой да те поправи.
 
От: Сигурност при Open source - Content management system-ите

Не съм много съгласен, то и къстъм системата, ако се прави, наглежда и поддържа дори и от един човек, може да бъде много по-сигурна.
А опън сорс се пише от сульо и пульо, което не може да ти даде сигурност. Ако искаш наистина сигурност, пак си плащаш на фирма/човек, да ти надгради опън сорс системата с къстъм модули.
Аз съм привърженик на къстъм системите. Виждал съм доста опън сорс "помии". При опън сорс системите са повече компетентните и често се получава един да инсталира и настрои, втори, трети и четвърти да дописва и настройва и става едно, дето после пети се опитва да оправи. Не че няма и некадърни къстъм системите, но тук говорим за качествена работа.
Тук повече въпроса опира, не до системата, а екипа който я е направил и поддържа. Щото като се захванат група неразбиращи да ми гласят сайт и на най-сигурната опън сорс система да ми го правят, пак може да е като швейцарско сирене.

Човешкият фактор е винаги от най-голямо значение, всичките ми размисли по-горе изключват този фактор и мисля в посока един и същи човек(или група от хора) каква сигурност ще постигнат ако почнат от 0-та и ако почнат с някоя open source система като wordpress, joomla или drupal.

Наистина има и много калпави системи за моя радост аз не работя с такива. В момента активно работя на drupal и до сега съм нямал проблеми от към сигурност.
 

Горе