Re: lug-bg: resource testing (was: Закачка: Bash)
- Subject: Re: lug-bg: resource testing (was: Закачка: Bash)
- From: George Danchev <danchev@xxxxxxxxx>
- Date: Sat, 4 Dec 2004 08:46:16 +0200
On Tuesday 30 November 2004 15:05, Skeleta wrote:
> Aleksandar Valchev wrote:
> > ....
> >
> >E, сега с SELinux и т.н. такива аматьорски измишльотини като мойте много
> > ясно, че няма да им мине номера :). Просто, като стана въпрос за bash-a
> > ми стана
>
> Това не е много ясно, номера може да мине на почти всеки език, който
> може да ползва ресурси на системата.
Вчера имах възможност да поблъскам малко resource testing програмки на една
тестова машина с rsbac (е и ограничения от pam има). Ами почувствах се като
петокласник пред строгая учительница ;-) (в крайна сметка реших да го отдам
на това, че testing програмите ми не са били сериозни)
> В случая с този кратък скрипт се ползва ресурса 'таблица на процеси',
> може да се играе на тази тема с други ограничени системни ресурси,
> примерно TCP връзки, файлови дескриптори, памет и квото се сетиш подобно.
ресурсите предоставяни от ядрото са известни и могат да бъдат контролирани ;-)
> UNIX-подобните системи (стандартните реализации) делят ресурсите на две
> категории (root/user) и всичко дето е за юсерите, можеш да го изядеш
> сам, като по този начин блокирваш всички останали и те заспиват.
Decretionary times ;-) Вече могат да се дефинират Roles (Role Based Access
Control), Types, Domains, и една камара други неща. (apt-get install
selinux-doc, чети policy.pdf, module.pdf (цитират се директно kernel
internals и по някое време започва да те притиска нещо като менгеме откъм
тила ;-) и ще ти се объркат представите за Unix ;-)
Има и промени по userspace - daemons, new utils.
> Това е сериозен проблем и опитите за оправянето му от системи като
> SELinux могат (според мен) да са само частични.
не е така ;-) на код от kernel space не можеш да му излезеш с код от
userspace, който първия да не може да контролира. Да не говорим , че има
концептуално нови неща от края на 90-те години и началото на 2000 ;-)
Единствения проблем е, че трябва много да се чете и разбира ;-)
> Примерно за да се оправиш с TCP връзките, трябва да имаш в ядрото
> система за разпознаване на TCP-бомба или TCP-атака, обаче как ще я
> разпознаеш спрямо нормална програма за сканиране на мрежата или активно
> работещ WEB-сървар ?
Не е нужно да разпознаваш ;-). Потребителите ще използват толкова ресурси (под
ресурси разбирай каквото се сетиш - fd, inode (labeling), network (paket
labeling), ipc, sockets, terminals, shared memory operations... бе всичко)
колкото им е разрешено. Сега някой ще каже, да ама тези проверки биха
забавили ядрото - по док го дават максимум до 7% performance decrease (сложи
го 15%), което е много добър trade-off за допълнителните възможности.
> Може да се промени по-издълбоко дизайна на системата - всеки юсер да има
> фиксиран лимит от ресурси, но тогава ще се получи много дървена система.
Policy може да се променя on-the-fly.
> Аз съм лаик на тема Linux/Unix сигурност и горните неща ги пиша като
> изхождам от по-теоретични съображения за компютрите.
>
> Ако греша нещо, поправете ме!
Понеже се нагълтах с малко SELinux docs ;-) Разучи какво е Flask architecture,
Type Enforcement model & statements, RBAC model & statements, User Identify
model & statements и так далие. После как се изгражда и customize-ва Policy.
Всичко това сериозно надгражда това което знаеш за Unix.
> >интересно как така s bash-a се правят такива неща ( :(){ :|:&;};:) , а с
това се оказа голям базик за rsbac ;-) просто този потребител си изчерпи
форковете, след което - форк resource temporary unavailable за него ;-),
другите потребители така и нищо не усетиха, че този се опитва да се
забавлява, освен админа с логовете.
> > C-то няма да могат да се направят много по-добре и много по "мръсни" :).
дайте да дадем относително проста тестова програмка за cpu hoging. Аритметични
операции с големи floats нещо не могат да тормозят процесора, май прости ги
измислих ;-) по-успешно май би било md5sum, sha1sum на големи файлове, лошото
е, че требе да има такива файлове ? Сега се сетих за взимане на stuff
от /dev/random... hmmm.
за тестване на мрежовите ресурси са толкова много нещата, че страх ме
набира ;-)
> Не е шега това !
към коя дата говорим ;-)
> Ако ти датат shell, пробвай нещо по-тънко, fork-а го поизтъркаха в тая
> нишка ...
Дай пример за по-тънко. Директно говори в код, за който има свободни
компилатори и/или интерпретатори. Хич не се шегувам ;-)
Да формнем едно леко проектче с такива примерни, но прости тестови утилки щото
и аз съм Тома Неверни и не вярвам само на докс ?
Разбира се след кратко разпитване на google:
http://ltp.sourceforge.net/
http://linuxquality.sunsite.dk/articles/testsuites/
(cpuburn за сега само го разглеждах ;-)
http://www.osdl.org/lab_activities/kernel_testing/
(тука вече става много сложно, което е по-скоро за тестове за стабилност, а не
за менажиране ресурсите на системата) и една камара други линкс към какво ли
не...
Тук не става въпрос за кракове, става въпрос за stand utilities (т.е. да се
качим на стенда, да се проверим и да се хванем ако има проблем ;-)
--
pub 4096R/0E4BD0AB 2003-03-18 <keyserver.bu.edu ; pgp.mit.edu>
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|