Linux за българи: Форуми

Сигурност => Системна Сигурност => Темата е започната от: Oxy в Oct 30, 2008, 13:58



Титла: How you do it ? Или на българиски как го правите(сървърна сигурност)
Публикувано от: Oxy в Oct 30, 2008, 13:58
Тъй като все още се броя за свръх начинаещ, а карам тука едни машини и се правя на баш гад на тях, би ми било полезно(а и не само на мен) да видя различни начини за реализиране на сървърна защита. Става дума за най-разпространените типове машини УЕБ сървъри (ЛАМП) сървъри бази данни (Майескуелски, Майескуеллайт, Оракъл, Файърбърд и тн...) както и на сторидж машини(реализирани по различен начин, било чрез фтп или просто сторидж машина за даден сайт) и всичко друго което се сещата а аз в момента не се :)  [_]3


Титла: Re: How you do it ? Или на българиски как го правите(сърварна сигурност)
Публикувано от: phantomlord в Oct 30, 2008, 20:09
Не е точно това, за което питаш, но аз на своето сървърче пачнах кернел-а с grsecurity ($2). Доста дупки зарива...


Титла: Re: How you do it ? Или на българиски как го правите(сървърна сигурност)
Публикувано от: zeridon в Oct 30, 2008, 20:19
Елементарен пример:

Машина която е предимно storage т.е. от нея се очкава да сервира ftp, rsync, web

Първо се започва с минимална инсталация ама наистина минимална, слагаш после само абсолютно нужните неща:
 * ssh
 * rsync
 * vsftpd
 * lighttpd (ngnix, thttpd, boa)

Орязват се всички модули от софтуера които не са необходими
разкарваш модулите от ядрото които не ти трябват (най-добре компилирай си сам ядро)

инсталираш си *задължително* logwatch, rkhunter, denyhosts
може и aide или tripwire но смятам че е малко прекалено

малко оптимизация на кернела, файовите системи и приоритетите и си в играта.

Естествено правилното и сигурното конфигуриране на сървър не шега работа но е това в общи линии


Титла: Re: How you do it ? Или на българиски как го правите(сървърна сигурност)
Публикувано от: gat3way в Oct 30, 2008, 23:09
Мммм според мен трябва да се търси баланс между usability и security като вероятно решаващият фактор е времето. Времето за реагиране на security инцидент например ако се окаже че е по-малко от времето, което потребителите и администраторите си трошат, за да се следва някаква security политика, просто няма смисъл.

В този ред на мисли аз не обичам прекалено параноичните и рестриктивни секюрити политики, просто ми навяват асоциации с разни ментални проблеми :) Обаче аз съм изнежен от работа в изолирани сегменти и евентуално домашният сървър, който надали някой насериозно ще реши да го чупи :)

А и абсолютно сигурна система няма така или иначе :)


Титла: Re: How you do it ? Или на българиски как го правите(сървърна сигурност)
Публикувано от: edmon в Oct 30, 2008, 23:12
мене много ми се иска да ми покаже некой как става тая работа със сигурността
и в какво точно се изразаява.
тука фантомлорд за гре разправя, а зеридон за прекомпилиране
оптимизация, преоритети...
би ми било много интересно тези дупки дето ги заарива фантомлорд дали някога е имал щастието да мое да ги използвува :)
а кой са тези специфични тунингования на кернел файлови системи и приоритети ....
конкретно ако може....
анд ласт бут нот леаст
Възможно ли е , само ако е и имате желание
да направите изледване, бенчмарк или квото там се сетите
и ОЧЕБИИНО и ОЧЕВАДНО, да ни покажете
какво точно сте подигурили, закърпили и подобрили
с посочените от вас настройки.
ПС. Понеже никога не съм намирал начин на отдалечена система без потребител и парола да мога да предизвикам каквато и да е аномалия...
В смисъл, че ако някой си е помислил, че се ебавам, подигравам или каквото и да е друго различно от интерес се е обаркал.

ППС Освен да флудна 56к модем от 10МБит линк:)


Титла: Re: How you do it ? Или на българиски как го правите(сървърна сигурност)
Публикувано от: gat3way в Oct 30, 2008, 23:16
Помниш ли оная хахорската игра дето я правих дето трябваше да експлойтваш stack overflow в мрежова услуга? То е много елементарен пример, щото принципно нещата са далеч по-забавни де, но да - grsec с stack protection ефективно прави чупенето на услугата по този начин невъзможно, защото страниците в паметта дето е стека се маркират с NX бит и код оттам не може да се изпълнява, демона гърми с segfault :)


Титла: Re: How you do it ? Или на българиски как го правите(сървърна сигурност)
Публикувано от: edmon в Oct 30, 2008, 23:19
Помниш ли оная хахорската игра дето я правих дето трябваше да експлойтваш stack overflow в мрежова услуга? То е много елементарен пример, щото принципно нещата са далеч по-забавни де, но да - grsec с stack protection ефективно прави чупенето на услугата по този начин невъзможно, защото страниците в паметта дето е стека се маркират с NX бит и код оттам не може да се изпълнява, демона гърми с segfault :)
в смисъл че някой отдалечено без да има акаун в сървъра го е забил изполвайки някой стандартен демон за уеб, данни или мрежова работа??? това ли стана?


Титла: Re: How you do it ? Или на българиски как го правите(сървърна сигурност)
Публикувано от: gat3way в Oct 30, 2008, 23:31
На теория е възможно, но на практика е доста сложно, защото echo услугата дето я писах за целта с overflow-a не е нещо хммм....известно. За да я счупиш, трябва да се сдобиеш с binary-то, да си правиш локално тестове с gdb и objdump, да видиш с каква стойност да презапишеш return адреса.

Обаче покрай удобството на пакетните системи идва и един сериозен секюрити проблем - и това е че всичките дистрибутират готово компилирани binaries, ако те имат проблеми (както моето echo), в тях return address-a се презаписва с една и съща стойност. Примерно има stack overflow във proftpd и всички deb пакети, които дистрибутират този build на proftpd ще ти доставят vulnerable proftpd на който като презапишеш адреса с една и съща стойност ще стават лоши работи. Ерго - някой умник напише експлойт и набие в него адреса - потенциално всички системи които са си инсталирали proftpd от този deb пакет са жертви.

Освен това, въпросният адрес може да се bruteforce-ва (което е доста груба работа, но на 32-битови системи където адресното пространство не е чак толкова голямо и си има разни трикове за целта с NOP padding не е и безумно сложно).

Но да оставим настрана тия неща с buffer overflows. Често  уеб-приложенията са достатъчно зле написани, за да можеш да се правиш на хахор ползвайки SQL injections, LFI/RFI бъгове и т.н.

Въпреки всичко аз пак казвам - това е въпрос на това доколко на злата гад й се занимава. И понеже на повечето зли гадини не им се занимава, не е чак толкова ВАЖНО човек да прекалява с параноите си.


Титла: Re: How you do it ? Или на българиски как го правите(сървърна сигурност)
Публикувано от: edmon в Oct 30, 2008, 23:39
ясно горе долу зацепих.
обаче това вече са всеизвестни неща и се прверяват от дистрибутора.
ся се сещам че наскоро се буча за недомислица в бинд ...съществуваща от няколко години и никой не се е сетил да я използва, а след това доста след като беше закърпена не видях някой да е могъл да се възползва от тая грешка.
не че отричам сигурността ама да си скубим косите ся че не е достатъчно сигурно....
а за sql инжектирането е ясно... ама и там при добра практика най-добрия резултат евентуално е да дефейсниш сайта....


Титла: Re: How you do it ? Или на българиски как го правите(сървърна сигурност)
Публикувано от: gat3way в Oct 30, 2008, 23:50
Ми това със сигурността пак казвам е въпрос на баланс и приоритети. Ако е система за електронни разплащания сигурно ще ти е доста по-голям проблем, отколкото ако ти е домашния файлов сървър :)

Що се отнася до mysql инжекциите вече не съм съгласен. Могат да ти дадат например спокойно local access до машината с правата с които работи apacheдемона. Разбира се това става доста по-сложно и не е за нивото на повечето кретенчета, но е възможно. Примерно можеш да натъпчеш в базата PHP код и при добро стечение на обстоятелствата да го SELECT-неш INTO OUTFILE ('/documentroot/arbitrary.php'), после просто да си го отвориш през браузъра и да гледаш сеир :)

Нещата със секюритито винаги са малко по-интересни отколкото изглеждат на пръв поглед де :)