SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

[VPS-Защита] - какво мислите и вие!?

shredder

New member
От няколко дена си мисля следното нещо:

Ако примерно имам няколко сайта на VPS-а. които както предполагате са наредени по следният начин:

/var/www/sait1.com
/var/www/site2.com
/var/www/site3.com

Ако задам на цялата папка site1.com права на само потребител "k1" (chown -R k1.k1 *) .Aко качат на site1.com shell script по някакъв начин в папката site1.com (чрез експлойт примерно на самото CMS) ще могат ли с този шел скрипт да влязат в site2.com папката или да пипат извън папката site1.com в които е самият сайт.

Според моята логика ако качат скрипт през някой дупка на CMS те ще го качат с права на потребител k1. И ще имат достъп само до него сайт. Без да могат да пипат по-навътре в VPS-a.

Питанията ми са следните:

Вярно ли ми е мисленето до момента?
Какъв потрбител да създам с какви права за да мога да съм спокоен че няма да пипат където искат с тях права.

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

Мерси за хелпа предварително
 
Re: [VPS-Защита] - какво мислите и вие!?

Ами наскоро чистих един рууткит от едно ВМ. Това означава, че този който е успял да го инсталира е придобил руут права. Следователно правата за директорията не биха го спрели. Та това в случай на апаче или кернел експлоит не помага.

П.С. Това не значи да не опитваш! Просто не е гарантирано и трябва да си обновяваш нещата освен да си ги нагласил веднъж.
 
Re: [VPS-Защита] - какво мислите и вие!?

Ако качат скрипт, ще го качат с правата на апачето и с потребителя на апачето.

Това какви права има еди коя си директория на еди кой си сайт няма никакво значение.

И понеже апачето има RO достъп до всички сайтове (папки/директории) то и скрипта ще може да ги гледа.

Не давай права за писане на апачето над тези директории. Това малко ще помогне.

Иначе като цяло затвори всички дупки в CMS - друго спасение няма.
 
Re: [VPS-Защита] - какво мислите и вие!?

Аз в такъв случай слагам 3те папки с различни юзъри и /var/www го правя недостъпно да тях (примерно owner: root и оg-r). Тоест някой като набара шел скрипт, да не може да рови отвъд директорията на тоя сайт. А през експойт на CMS-а няма как да набара root, по-скоро юзъра на апачето, но като /var/www му е недостъпна не би трябвало да може да излезне и да се разхожда из другите сайтове.

Друг е въпроса че веднъж набара ли шел, може да експлойтне нещо друго и да вземе root, но това е по-трудно. Затова си ъпдейтвай редовно и линукса и CMS-ите. PHP-то ако си го настройвал ти също може бая да се secure-не, ама там си е малко дебела работа - има разни патчове (hardened PHP), забрана за шел команди и тн... най-добре се разтърси из гугъл.
 
Re: [VPS-Защита] - какво мислите и вие!?

Аз пък ще кажа, че трябва да си направиш всички сайтове с отделен потребител и да ползваш PHP suexec, тогава ако качат php shell в един от сайтовете, ще е много по-трудно (дори граничещо с невъзможното) да пипат по другите директории.
 
Re: [VPS-Защита] - какво мислите и вие!?

Граничещо с невъзможното няма :)
Дотук ми хареса само идеята със suexec и php-hardened.

Какво Ви съветвам аз :)

1. както вече споменахме mod_suexec и всеки сайт с отделен потребител.
- правата трябва да са chown user.group -R site-folder
- и според зависи директорията на сайта да е достъпна само за четене от потребителя собственик /без писане/, ако не се налага да работите с файловата система /което пък ако имате възможност го направете/ , например изнесете всички данни с които оперирате в SQL.
- пример chmod a-rwx site-folder && chmod u+r site-folder / тук може и едно x да се сложи че иначе става недостапна цялата директория /

2. /tmp тази директория ви е голям трън в зад*** защото всичките скриптчета с които ви хакват /и ако са поне малко написани като хората/ се дърпат именно там и именно там се изпълняват и правят белите. Кажете ми сега има ли значение, че сайта Ви има suexec при положение, че акото се дръпне в /tmp изпални се а дори и вземе права на root потребител ? :)
За да си вържем допълнително гащите е добре при монтиране на въпросната директория да и добавим атрибутите : rw,noexec,nosuid,nodev , тоест може да се пише и чете в нея но не може да се изпалняват команди на файлове които са в /tmp. Освен това не може да се сменя ролята на потребителя и не могат да се създават устройства в /tmp. За целта си отделете един малак дял за да монтирате там тази директория или използвайте tmpfs.

3. Следваща стъпка е /това е и черешката на сладоледа/ да се заиграете с mod_secure върши много хубава работа, но изисква много четене, ако не ви мързи като си го настроите веднъж след това ще седите само по кръчмите като мен и ще пиете бира :)

4. Добре е и с iptables да прочетем как да се защитим от syn flood атаки и да добавим няколко правила, че да не Ви изтече трафика на въпросния хостинг.

5. Както вече се спомена може да се ползва и php-hardened.

6. Полушеговито ще Ви посъветвам да спрете да ползвате готови системи освен в случаите където няма как. И се научете да пишете на php ама наистина се научете.
 
Re: [VPS-Защита] - какво мислите и вие!?

А какво правите за да не ви четат сесиите от /tmp ? И това suexec с mod_php може ли да се подкара или само като cgi?
 
Re: [VPS-Защита] - какво мислите и вие!?

Сесиите могат да се създават с права за четене само от съответния потребител /тук може и да греша/, не е ли за предпочитане сесията да се измести в SQL ? Относно suexec не мога да отговоря аз съм си решил проблема със сигурността кардинално като изобщо не ползвам php :)

Мисля че тук е отговора :)

http://alain.knaff.lu/howto/PhpSuexec/
 
Последно редактирано:
Re: [VPS-Защита] - какво мислите и вие!?

Ми аз сесиите ги местя в друга, по-малко публична директория, да не товари базата уж, ама и аз незнам как е най-добре...

А за това suexec сега като се замисля, като ти качат шел, това незначи ли че могат да ти забършат сайта, понеже той се изпълнява като owner-а на директорията?
 
Re: [VPS-Защита] - какво мислите и вие!?

Могат, за това се прави бекъп, на базата също, защото с един sql inject могат и базата да ти забършат. Разиграй ми какъвто искаш сценарии за да ти дам решение :)
 
Re: [VPS-Защита] - какво мислите и вие!?

Хубу де, а неможе ли директорията да е с един owner, пък да се sudoexec-ва от друг юзър?
 
Re: [VPS-Защита] - какво мислите и вие!?

Може, и suexec потребителя трябва да може само да чете най-добре да е в една група с тоя които може да пише, но за всеки сайт значи да имаш по 2 потребителя и 1 група .... иначе мислиш в правилната посока :)
 
Re: [VPS-Защита] - какво мислите и вие!?

Дам и аз съм за тази комбинация опитваме се да намеря един мод за апаша които ти позволява да си chroot всеки виртуален хост поотделно но нещо без успех засега :)
 
Re: [VPS-Защита] - какво мислите и вие!?

Един глас за: Apache suexec + fastcgi + php-cgi

Така е при нас и не е имало случай да хакнат някой акаунт и след това да могат да пипнат каквото и да е извън него.

Ако ползвате безплатни cms-и: абонирате се за мейлинг листа им и щом излезе нова версия незабавно правите ъпгрейд. За VPS се абонирате за съответния нюзлетър на дистрибуцията и щом излезе нов кърнел или ъпгрейдвате незабавно или поне четете какво се фикс-ва в него и ако се споменава root exploit незабавно upgrade.

mod_security!

Напоследък са модерни и ftp вируси. Половината хаквания на акаунти стават с тях (другата половина някои cms системи)

За VPS е удобно да си направите скриптове които следят какво става на сървъра. Внезнапни натоварвания често се дължат на хакнат акаунт от който се праща спам. Много е полезен munin за да знаете какво и кога е ставало на сървъра.

Деактивирайте излишните функции на php които позлволяват да се ползват shell скриптове. Примерно при нас са спрени по подразбиране

Код:
disable_functions = exec, system, shell_exec, passthru, pcntl_exec, popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, pfsockopen, leak, apache_child_terminate, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, escapeshellargHey, disk_free_space, disk_total_space, diskfreespace, highlight_file, chown, show_source, leak, chgrp, mysql_list_dbs
 

Горе