Ещё одна причина, почему винда не просто не ОС...

Ivan8209

а вообще отстой.
Там нет ни jail, ни chroot.
По крайней мере, этого не написано в документации, которой тоже нет.
---
A9: ОС - это БЗДя

vall

там есть Job, он хоть что-то может ограничить, хотбы не дать проге вырубить комп одним вызовом.

SergZ

А те, кто пользуются виндой — не люди.

slonishka

те, кто пользуются виндой — не пользуются виндой!

elena-kotenok75

на презентации Висты рассказывали, что в ней что-то подобное уже реализовано

Ivan8209

Попробовал бы ты вырубить машину без рута...
Нашёл, что в отмазку приводить, это ещё во времена ДОС было возможно.
Хрен ты через KA9Q NOS что выключишь.
Да и через знаменитый ядрёный telnetd --- тоже.
И не надо про завешивание, это и в винде никак не решается.
---
Q12: Virtual Memory это хде ?
A12: Это вам не тут.

Marusetta

спор напоминает "а у меня длиннее"

Ivan8209

Ну, это не спор, а констатация факта.
---
Q21: что такое Win2k?
A21: состема.

slonishka

yroslavasako

Еще одна причина, почему FreeBSD - не ОС.
А под ней в принципе нет LineageII, а даже если запустишь через жопу: Linux Emulation --> Cedega --> LineageII for Win
Оно все равно работать не будет, потомучто Game Guard
Давайте приводить нормальную аргументацию

Ivan8209

Если кто-то сильно постарался, чтобы работало только под виндой,
это вообще не довод. Я могу привести пример, когда эмуляции
никакой нет и быть не может. Не то, что под винду.
А ты, видимо, считаешь, что это нормально, что вместо
простейшего chroot, надо организовывать рукописную песочницу?
Или что любой приходящий из сети может хорошенько поднасрать?
---
Q21: что такое Win2k?
A21: состема.

yroslavasako

а с каких это пор chroot надежно ограничивает систему? Не так давно, я, кажись, читал руководство по выходу за пределы chroot - там еще говорилось, что Jail куда надежней в работе

Olenenok

у венды неюзабельный и уродский UI, поэтому она сосёт

Ivan8209

И?
В винде даже этого нет.
См. сообщение 1.
---
Q21: что такое Win2k?
A21: состема.

yroslavasako

А винде это нужно? Сижу под виндой уже второй год, не переставляя - все просто замечательно. И никогда, ни разу в жизни, не чувствовал в винде потребности в chroot. Зато потребность в линейку погамать ощущаю переодически. К тому же винда вполне из себя сервер.

pilot

И никогда, ни разу в жизни, не чувствовал в винде потребности в chroot
Ну дык ты программку напиши чтоб ощутить.

Ivan8209

Вот это:
> никогда, ни разу в жизни, не чувствовал в винде потребности в chroot.
и это
> К тому же винда вполне из себя сервер.
не совместимо.
Разве что ты работаешь только на простеньких серверах,
типа ftpd или простеньких, чуть ли не статических httpd.
И то, и другое можно поднять на старом добром ДОС без особых проблем.
ДОС тоже --- вполне из себя сервер.
---
A30: казалось бы, при чём тут осдва?..

agaaaa

предлагаю закрепить тему этого холивара и собирать полностью аргументированные плюсы и минусы в начале топика (аргументацию потом)
по сабжу. я не знаю причин, по которым винду можно было бы назвать недосервером. по крайней мере сервеную

Landstreicher

> Там нет ни jail, ни chroot.
IMHO это объясняется тем, что целевой аудитории, на которую рассчитана Windows, это нафиг не надо.

Ivan8209

Целевой аудитории и всякие С!@#$^%&* тоже нафиг не сдались,
однако виндейшие пропагаторы утверждают, будто бы это как-то
помогает. Каким-то непостижимо чудесным образом.
Вот я и хочу знать, каким образом предполагается изолировать демона.
Только не путём самовнушения, а каким-нибудь реальным способом,
задачка-то ведь плёвая --- сделать chroot-окружение.
---
Q12: Virtual Memory это хде ?
A12: Это вам не тут.

agaaaa

вообще-то там есть юзеры NETWORK SERVICE и LOCAL SERVICE + на крайняк можно сделать отдельного и для него назначить необходимые права. или я чего-то не понял?

yroslavasako

Я кстати не понял только одной фишки, как запустить одну и ту же службу в винде дважды, повесив на разные порты? Кому удавалось?

Ober

или я чего-то не понял?
Так вопрос же про chroot был

agaaaa

это я к вопросам о jail...
а что есть chroot?

Ivan8209

Если всё так просто, почему появился chroot? А потом и jail?
---
Q30: а вот в линуксе, в отличии от фрибисиди, XXX YYY.
A30: казалось бы, при чём тут осдва?..

agaaaa

откуда мне знать, зачем вам, юниксоиды, понадобился chroot, если есть юзеры?
вот ты и объясни народу, чем это круто...

Ober

это я к вопросы о jail...
А мы хотя бы приблизительно одинаково понимаем, что такое jail?
Пара ссылок, дающих хоть какое-то представление:
http://en.wikipedia.org/wiki/FreeBSD_Jail
http://en.wikipedia.org/wiki/Chroot

agaaaa

прочитал сразу после того, как свой пред. пост запостил

Ivan8209

Могут существовать world-readable и world-writable файлы.
Нужно отнять у демона доступ к ним.
Изменение прав этих файлов не предлагать, это может оказаться
слишком тяжёлой задачей для администратора, ибо под виндой
приличных средств работы с этим нет. Кроме того, может
оказаться невозможным объяснить всем пользователям и всему ПО,
какая umask является верной.
Вообще, требование пересмотреть административную политику неприемлемо.
---
Q2: А почему в OS/2 XXX YYY?
A2: Потому что так завещал великий и мудрый Ибеме, и по другому делать некошерно.

agaaaa

что значит "не предлагать"? у нас есть способ сделать всё и без этого, но давайте мы всё сделаем через нашу вновь придуманную жопу?
del
нет нормальных средств для изменения прав? а cacls тебя чем не устраивает?

Ivan8209

Если административная политика такова, что существуют
world-accessable файлы, демон должен быть лишён возможности
добраться до них. Каким способом это будет сделано --- не важно.
Важно, чтобы это потребовало минимум усилий администратора
и пользователей. Решение на chroot этому удовлетворяет.
Какое существует сравнимое по трудоёмкости виндовое решение?
> а cacls тебя чем не устраивает?
Хотя бы тем, что даже разовое изменение прав на полусотне тысяч файлов --- долго и муторно.
Постоянная слежка, чтобы никто вдруг ничего не учинил ---
очень тяжело.
---
Q2: А почему в OS/2 XXX YYY?
A2: Потому что так завещал великий и мудрый Ибеме, и по другому делать некошерно.

agaaaa

что такое world-accessible файлы?
если это просто файлы, доступные всем человеко-пользователям, то у винды, кажется, есть группа, в которую входят все человеки-юзеры. а даже если её нет - я не вижу большой проблемы в том, чтобы её создать и настроить соответствующие права. всё для блага человека!
поставим вопрос так: что можно сделать с помощью jail, что являлось бы жёстко необходимым и что я не смог бы сделать в винде или потратил на это слишком много времени?

kruzer25

У тебя есть какая-то служба, она слушает какие-то порты, менеджер служб вообще об этих портах ничего не знает.
Значит, либо настраивай свою службу так, чтобы она слушала два порта, либо запускай две службы с двумя конфигами.
А причём тут менеджер служб и какое отношение он имеет к портам - совершенно непонятно.

SPARTAK3959

В винде можно устроить BSOD из под любого пользователя вызвав некорректно одну api функцию (http://shade.msu.ru/~msu-se/gdemo.dpr для интересующихся) - этой полезной для хакера фичи в линуксе нет .

kruzer25

этой полезной для хакера фичи в линуксе нет
Зато там есть другие полезные для хакера фичи (хотя бсода в линуксе действительно нет - но от этого не легче)

agaaaa

я проверю

Ivan8209

> даже если её нет - я не вижу большой проблемы в том, чтобы её создать
Не видишь?
Приведи код, который создаёт её без вмешательства администратора.
Или ты думаешь, что очень удобно выцеплять хотя бы десятка
три-четыре имён из списка в полсотни?
Даже если есть эта группа, остаётся дочёрта world-accessible файлов,
которые очень хотелось бы скрыть.
> поставим вопрос так
Развернуть сервер с предоставлением почти что public shell.
---
Q2: А почему в OS/2 XXX YYY?
A2: Потому что так завещал великий и мудрый Ибеме, и по другому делать некошерно.

agaaaa

а что, Terminal Services + квоты не решают поставленную задачу?

Ivan8209

Квоты здесь с какого боку?
Утаскивание возможно чувствительных данных можно устранить введением квоты?
---
Q21: что такое Win2k?
A21: состема.

agaaaa

ну квоты - сугубо для ограничения общего доступа. а для предотвращения утаскивания данных вполне хватит прав

Ivan8209

Выше уже три раза объяснено, почему не хватит.
---
Q21: что такое Win2k?
A21: состема.

agaaaa

хм... приведи мне конкретнее пример, что нужно делать общим, что нет и как это будет реализовано jail.
ты, наверное, не совсем понятно написал, раз тебя не поняли

Dasar

Бизнес-задачи иметь jail, chroot и т.д. - не существует.
Бизнес-задачи есть:
1. стандартным/массовым способом ограничивать доступ программ/юзеров к данным/ресурсам
2. нестандартным способом ограничивать доступ программ/юзеров к данным/ресурсам
Соответственно первая задача решается через настройку прав.
Вторая задача решается через развертывание virtual-ной машины.

Ivan8209

Есть уже готовая система, с устоявшейся административной
политикой, там может быть дочёрта файлов, доступных всем
на уровне o=rw. И не просто так, а по необходимости, в силу
устоявшихся в рабочем коллективе отношений. Соответственно,
менять это --- техническая нагрузка на администратора,
во-первых, причём неслабая нагрузка, если у него полсотни
пользователей. А во-вторых, это нехилая административная
нагрузка руководителей и далее на всех.
Изолировать сервер в chroot проще простого: достаточно
воссоздать файловую иерархию из необходимых для запуска
файлов, сделать туда chroot. Можно даже при помощи chroot(1).
Для этого не требуется переписывать сервер.
Под виндой нет даже chroot.
Отсюда вопрос: как помогают все эти хвалёные микрософтовы
высокие технологии? Как они помогают содержать сервер?
Небольшой, махонький.
---
Q21: что такое Win2k?
A21: состема.

Ivan8209

Про виртуальную машину --- это бред.
Просто ты неспособен, не обладаешь ни знаниями, ни умениями,
ограничить доступ к данным обычным способом.
Подчеркну, chroot --- обычный способ ограничить доступ,
можешь свериться с документами от X/Open, если не веришь.
Просто у тебя слишком низкая квалификация, чтобы уметь
пользоваться таким обычным средством.
Поэтому ты привлекаешь виртуальные машины,
чтобы компенсировать своё незнание и неумение
использованием более мощного средства.
---
"Это проявление Аль-Хагг.
Те, кто знают это, знают..."

Dasar

пользователи в домене или нет?
данные доступны всем в том числе и по сети?

Ivan8209

Да покласть.
Если тебе это важно, предусмотри _оба_ случая.
---
Q12: Virtual Memory это хде ?
A12: Это вам не тут.

Ivan8209

Кстати, обрати внимание.
Ты задал вопрос, который совершенно не относится к делу.
Для создания chroot-окружения совсем не нужно знать, как
авторизуются пользователи.
---
Q21: что такое Win2k?
A21: состема.

Dasar

> Просто ты неспособен, не обладаешь ни знаниями, ни умениями, ограничить доступ к данным обычным способом.
это важно?
> Подчеркну, chroot --- обычный способ ограничить доступ, можешь свериться с документами от X/Open, если не веришь.
не вижу оснований - считать какой-либо инструмент - обычным.
обычными бывают задачи, но не инструменты.
например, задачи: ограничить доступ к информации, ликвидировать человека и т.д. - обычные.
а инструменты: повесить замок, завалить камнем, экранировать, стукнуть топором, пострелять из автомата, аннигилировать - не обычны, т.к. сильно зависят от окружения.
соответствнно chroot - не может быть обычным, т.к. это инструмент.

Dasar

> Для создания chroot-окружения совсем не нужно знать, как
авторизуются пользователи.
как раз важно.
потому что если данные действительно доступны всем, то тюрьма ничем не поможет, т.к. имея любую замочную скважину мы сможем до этих данных дотянуться.

ava3443

Бизнес-задачи иметь jail, chroot и т.д. - не существует.
Бизнес-задачи есть:
1. стандартным/массовым способом ограничивать доступ программ/юзеров к данным/ресурсам
2. нестандартным способом ограничивать доступ программ/юзеров к данным/ресурсам
указанных тобою бизнес-задач тоже не существует.
ну что за бизнес-задача "нестандартным способом сделать что-то"? это ж бред

Ivan8209

>> Просто ты неспособен, не обладаешь ни знаниями, ни умениями,
>> ограничить доступ к данным обычным способом.
> это важно?
Да, поскольку ты считаешься образцовым программистом под винду.
И это ещё одна причина того, что в заголовке.
>> Подчеркну, chroot --- обычный способ ограничить доступ,
>> можешь свериться с документами от X/Open, если не веришь.
> не вижу оснований - считать какой-либо инструмент - обычным.
Я --- вижу.
Например, я считаю молоток обычным инструментом
для забивания гвоздей, в отличие от, например, утюга.
Соответственно, chroot --- обычный инструмент ограничения доступа.
А если у кого-то нет молотка, чтобы забить торчащий гвоздь,
это показатель.
---
Q21: что такое Win2k?
A21: состема.

Ivan8209

>> Для создания chroot-окружения совсем не нужно знать, как
авторизуются пользователи.
> как раз важно.
> потому что если данные действительно доступны всем,
> то тюрьма ничем не поможет, т.к. имея любую замочную
> скважину мы сможем до этих данных дотянуться
Судя по тому, что ты пишешь, у тебя не хватает квалификации
даже для того, чтобы понять, что надо сделать, в чём состоит
задача.
Задача запирания демона состоит в том, чтобы _демон_ не мог
дотянуться до тех пользовательских данных, которые находятся
вне пределов его видимости, вне поддерева, в котором он заперт.
Соответственно, ни механизм авторизации пользователей,
ни механизм запуска демона (пусть он хоть сам второй init)
не имеют никакого значения.
---
Q21: что такое Win2k?
A21: состема.

Dasar

1. ну что за бизнес-задача "нестандартным способом сделать что-то"? это ж бред
в реальном мире - очень часто задачи делят на массовые/не массовые, штатные/не штатные.
такое деление вызвано тем, что применяются очень разные требования: в одном случае - это простота, низкая себестоимость, во втором - высокая функциональность, гибкость.
стандартный пример:
есть бизнес-задача входить/выходить из здания:
если рассматривается как штатная - то есть дверь и точка.
если как не штатная - например, аварийная эвакуация - то сразу принимаются во внимание двери, окна, пожарная лестница, крыша и т.д.

Dasar

> А если у кого-то нет молотка, чтобы забить торчащий гвоздь, это показатель.
т.е. если у другого человека нет молотка, и он забивает молоток силой мысли - то он недочеловек?

Ivan8209

> в реальном мире - очень часто задачи делят на массовые/не массовые, штатные/не штатные.
Защита от возможного взлома --- задача штатная и массовая.
Добро пожаловать в реальный мир!
---
Q21: что такое Win2k?
A21: состема.

Ivan8209

Да.
И пускай меня обвиняют в евгенике, мне покласть.
Если кто-то упорно твердит, будто умеет ходить по воде, а сам
при этом старательно обходит все лужи, я не буду считать, что
он является полноценным представителем вида "человек разумный."
---
Q21: что такое Win2k?
A21: состема.

pilot

забивает молоток силой мысли
Пожалуйста, ограничь демона хотя бы силой мысли.

yroslavasako

Пожалуйста, ограничь демона хотя бы силой мысли.
И все-таки для чего нужен chroot? Хоть один пример можно?
Я могу привести один пример. А вот написали мы демона, который работает, но при этом жутко глючит, имеею кучу потенциальных ошибок с переполнением буфера и вообще неизвестно что он сделает в следущую минуту. У нас есть три варианта
1) chroot
2) jail
3) не поднимать это говно на серваке, смотрящем в инет, а найти нормальную реализацию
Все. По поводу ограничения юзверей после коннекта - смешно юзать chroot - конечно можно, но нафига? По крайней мере, по дефолту, даже в Линуксе для этого юзаются корректный права на файлах. Приведи пример под винду когда создать chroot окружение (скопировать все необходимые файлы) проще чем проставить ручками на те же файлы разрешение для пользователей, запретив остальные.

RosaTray

Лол

ava3443

И все-таки для чего нужен chroot?
Один из основных принципов security, "Principle of Least Privilege", требует не давать кому-либо прав больше чем необходимо для работы.
На мехмате меня научили, что любое утверждение, не являющееся аксиомой, требует доказательства.
И попробуй ты докажи (самому себе для начала что сервис не имеет доступа к чему-либо, что не требуется ему для работы? Для демона(=сервиса) заключённого в chroot это доказывается радикально проще.
Теперь подумаем о регулярных проверках (=аудите) безопасности. Каждая такая проверка в идеале равна выше упомянутому доказательству. Для демона в chroot она производится куда как проще.
P.S. с jail, к сожалению, дела не имел
P.P.S. вот это
3) не поднимать это говно на серваке, смотрящем в инет, а найти нормальную реализацию
зачастую просто невозможно, т.к. это "говно" собственное и заменить его на нормальную реализацию - недопустимо дорого.

ava3443

проставить ручками на те же файлы разрешение для пользователей, запретив остальные.
1) Ты это сам пробовал хоть раз сделать? я пробовал - во-первых за@#лся, во-вторых у меня не появилось ощущения, что я действительно запретил ВСЁ что не нужно
2) Ну допустим один раз ты выставил права на все файлы во всех файловых системах. А как это (полумифическое, на мой взгляд) состояние поддерживать в дальнейшем, причём малыми средствами? Как ты защитишься от намеренной или ненамеренной ошибки другого пользователя, который даст право на какой-нибудь свой файл для всех, в том числе и для этого сервиса?

Ivan8209

> И все-таки для чего нужен chroot? Хоть один пример можно?
Есть старый пример, сейчас такое уже вышло из употребления,
но пример замечательный. (На самом деле, отчасти оно ещё сохранилось.)
Допустим есть ftpd.
Как только приходит anonymous, он видит домашний каталог
пользователя ftp, ибо он залогинился туда как пользователь ftp.
Соответственно, за несколько ходов ~ftp/.., ~ftp/../.., ~ftp/../../..
можно добраться до корня и забраться куда угодно. Например,
в /etc/passwd, который раньше содержал настоящие хеши паролей
и был world-readable, поскольку всем надо знать, где расположен
домашний каталог такого-то пользователя, каковы его uid, gid и т.д.
Ну и, уперев /etc/passwd и подобрав что-нибудь под хеши, можно
было получить доступ посерьёзней.
То же бывало и с http://host/../etc/passwd, http://host/../../etc/passwd и т.д.
Сейчас, разумеется, ftpd уже работает не так, да /etc/passwd
паролей не хранит, но вопрос ограничения доступа остаётся тем же.
Если серверу надо что-то писать, а то и временно хранить,
это становится ещё серьёзней. Вдобавок, он может каким-то
довольно сложным интерпретатором и программироваться извне,
и тогда неизвестно, что завёрнуто во входных данных.
Потому и нужен chroot.
Если что-то там затёрли, это обнаружит mtree,
"rm -rf" нам всё зачистит, "tar xf" --- восстановит.
---
"Аллах не ведёт людей неверных."

Ivan8209

> я пробовал - во-первых
Извращенец.
Я на это забил.
> А как это (полумифическое, на мой взгляд) состояние
> поддерживать в дальнейшем, причём малыми средствами?
У меня есть мысль, что можно написать под FAM такую бадягу,
чтобы она добавляла и удаляла поднадзорные каталоги.
Вот только я сомневаюсь, что это называется "малыми средствами."
---
...Я работаю антинаучным аферистом...

kruzer25

Защита от возможного взлома --- задача штатная и массовая.
Заметь, "защита от возможного взлома", а не "защита от возможного взлома с помощью chroot или подобного".

kruzer25

Как ты защитишься от намеренной или ненамеренной ошибки другого пользователя, который даст право на какой-нибудь свой файл для всех, в том числе и для этого сервиса?
Это unix-way, когда свечи важнее игры.
А нормальный way - сказать "но ведь нам надо не запретить всё, кроме конкретных вещей, а запретить всё, кроме того, что нужно". Если пользователь дал права на какой-нибудь свой файл для этого сервиса (и у него были права на то, чтобы раздавать такие права) - значит, сервис должен получить доступ к этому файлу. И не придётся потом гадать, а почему это права есть, а доступа нет.

yroslavasako

И попробуй ты докажи (самому себе для начала что сервис не имеет доступа к чему-либо, что не требуется ему для работы? Для демона(=сервиса) заключённого в chroot это доказывается радикально проще.
Неа, не радикально проще. Насколько я помню, ни Линукс, ни Виндовз так и не доказали безопасности и защищенности своей работы.

Ivan8209

Пока я не видел других разумных предложений.
Разумеется, может существовать какое-то весьма причудливое
приспособление для забивания гвоздей, но я пока рассматриваю
только молотки. Пневматику оставим для более серьёзных случаев.
---
Q21: что такое Win2k?
A21: состема.

Ivan8209

> Если пользователь дал права на какой-нибудь свой файл для
> этого сервиса (и у него были права на то, чтобы раздавать
> такие права) - значит, сервис должен получить доступ к этому файлу.
Ты слишком хорошего мнения о пользователях.
Может, расскажешь, где лежат исходники винды, чтобы туда
можно было вшить ограничения по использованию?
---
Q21: что такое Win2k?
A21: состема.

Ivan8209

Поэтому ни винда, ни линукс не являются ОС.
---
Q21: что такое Win2k?
A21: состема.

kruzer25

Разумное предложение будет, когда будет конкретный вопрос.
Типа "я хочу сделать вот это, как это делается в винде?".
Где "это" - какая-то реальная задача, а не "хочу, чтобы всё было, как в chroot".

Ivan8209

Задача была озвучена: изолировать демона в каком-то небольшом
пространстве файловой системы. Наподобие того, как это делает chroot.
Пока что ни один виндузятник сравнимого аналога не предложил.
---
Q21: что такое Win2k?
A21: состема.

kruzer25

Зачем тебе исходники винды?

Ivan8209

А зачем ты придумываешь сказку про то, что пользователь
сознаёт последствия отдачи прав?
---
Q21: что такое Win2k?
A21: состема.

yroslavasako

2) Ну допустим один раз ты выставил права на все файлы во всех файловых системах. А как это (полумифическое, на мой взгляд) состояние поддерживать в дальнейшем, причём малыми средствами? Как ты защитишься от намеренной или ненамеренной ошибки другого пользователя, который даст право на какой-нибудь свой файл для всех, в том числе и для этого сервиса?
1) Мое утверждение хорошему демону (под виндой - сервису) chroot нафиг не нужен. Пример в фтп - дохлый, тк виндовые фтп сервера, которые я видел, умееют запирать пользователя в домашней директории
2) Если вам так хочется ограничить юзверей (не сервис) - как бы я это сделал:
Создал бы группу Restrict_Access и не разрешил бы членам этой группы иметь какого-либо доступа куда-либо. Зарпетил бы членам этой группы менять права доступа. И проставил бы отдельно каждому пользователю разрешение на нужные ему файлы

Ivan8209

> 1) Мое утверждение хорошему демону (под виндой - сервису) chroot нафиг не нужен.
Вариант переписывания всего подряд с расчётом на отсутствие
механизмов защиты не рассматривается. Это чересчур дорого.
> Пример в фтп - дохлый,
Напротив, пример актуальный.
> тк виндовые фтп сервера, которые я видел, умееют
> запирать пользователя в домашней директории
И как они это делают?
Все серьёзные демоны уже давно расчитываются на то,
чтобы работать в chroot. Так что ничего нового ты пока что не сказал.
> 2) Если вам так хочется ограничить юзверей (не сервис)
Ты не умеешь читать?
С самого первого сообщения говорится от запирании демона, а не пользователей.
Про пользователей заведомо известно, что никаких дополнительных
ограничений вводиться не должно и это условие не может быть ослаблено.
---
"Аллах не ведёт людей неверных."

yroslavasako

> Пример в фтп - дохлый,Напротив, пример актуальный.
Может актуальный для Линуха, но не для винды. Почему для винды не актуальный - я объянил

yroslavasako

Задача была озвучена: изолировать демона в каком-то небольшомпространстве файловой системы. Наподобие того, как это делает chroot.Пока что ни один виндузятник сравнимого аналога не предложил.
Спрашивается, нафига это делать? Если так хочешь - есть механизм виртуальных криптованных дисков. Спрашивается более глобальная задача. С таким же успехом пользователь Винды может требовать, чтобы FreeBSD посылала отчеты об ошибках дядюшке биллу автоматически после каждой ошибки. Только они не смогут объяснить как это может помочь в настройке сервера и для каких реальных, конечных, задач это необходимо

Ivan8209

Для винды он ещё более актуален.
Просто в качестве демона надо брать не ftpd, а telnetd.
ftpd слишком простой, поэтому ты не видишь разницы.
---
"Расширь своё сознание!"

Ivan8209

> Спрашивается, нафига это делать?
Уже несколько раз объяснил: чтобы никакой посторонний
злоумышленник не смог ни вмешаться в работу системы,
ни каким-либо образом скомпроментировать систему.
И уже тем более --- получить доступ к пользовательским данным,
не предназначавшимся ему явно.
> С таким же успехом пользователь Винды может требовать,
> чтобы FreeBSD посылала отчеты об ошибках дядюшке биллу
> автоматически после каждой ошибки.
Наивный.
Я такое делал собственными руками.
---
Q21: что такое Win2k?
A21: состема.

ava3443

1) Мое утверждение хорошему демону (под виндой - сервису) chroot нафиг не нужен.
С твоим утверждением согласен Но я-то писал как раз о защите системы от плохого демона (ну или от взлома системы через взлом плохо написанного демона, что по-моему одно и то же).

kruzer25

Это не задача.
Задача - это "хочется повесить картину на стену, чтобы радовала глаз", а не "забить вот в эту точку на стене гвоздь 20см, 5мм, обязательно молотком розового цвета и такого-то калибра".

ava3443

2) Если вам так хочется ограничить юзверей (не сервис)
Мне - не хочется, т.к. на серверную систему юзеров не пускаем, за исключением админов.
А если система будет скомпрометирована в результате действий админов (заказчика) - вина полностью на заказчике, т.е. мне данная проблема тоже не интересна.

Ivan8209

> Задача - это "хочется повесить картину на стену, чтобы радовала глаз",
> а не "забить вот в эту точку на стене гвоздь 20см, 5мм,
> обязательно молотком розового цвета и такого-то калибра".
Нет, это две задачи, просто одна может быть конкретизацией другой.
Задача: повесить общедоступного демона так, чтобы его работа
не влияла на работу пользователей.
---
Q21: что такое Win2k?
A21: состема.

ava3443

Это не задача.
Задачу я описал.
Повторю другими словами. Пришёл аудитор, ему надо доказать что отдельно взятый сервис не будет взломан, или если его таки взломают, то это не приведёт к взлому всей системы.
Доказать, что сервис не взамываем (="хороший" может оказаться очень и очень дорого: тесты на взлом ("penetration tests") третьей стороной, аудит исходного кода третьей стороной, и т.п.
Куда проще и дешевле засунуть сервис в chroot или ещё куда, тем самым надёжно отделив его от остальной системы.

kruzer25

Запускаем сервис от имени EvilUser, который не входит в группу Users и не имеет прав нкуда.
Если некий GoodUser некий свой файл сделал доступным для EvilUser - непонятно, чем так уж плохо, что сервис поведёт себя так, как ожидается (сможет прочитать этот файл).

Ivan8209

> Запускаем сервис от имени EvilUser, который не входит
> в группу Users и не имеет прав нкуда.
По условию, демону требуется r/w.
r/o демоны неинтересны, они ничего не умеют.
> Если некий GoodUser некий свой файл сделал доступным для
> EvilUser - непонятно, чем так уж плохо, что сервис поведёт
> себя так, как ожидается (сможет прочитать этот файл).
Ожидается, что демон не сможет прочитать этот файл, даже если
сделали chown. Ожидается, что демон может прочитать файл
только если ему этот файл подсунут специально: mv или ln.
---
Q21: что такое Win2k?
A21: состема.

agaaaa

а перетаскивать нужные файлы в одну папку сложнее, чем проставить на них разрешения?

Marinavo_0507

если в системе есть M файлов, а демону заведомо нужно только N, где N<<M, то правильное решение - это не то, при котором нужно следить за каждым из М файлов (включая и те, которые будут созданы позже а то, при котором нужно как-то отметить лишь N нужных файлов
вот такая ситуация - область применения chroot
в случае винды ещё нужно следить за реестром, который в данном случае выступает в роли второй файловой системы, не менее важной

agaaaa

а что, разрешения N файлам из M нельзя?

Marinavo_0507

нужно будет следить, чтобы остальные файлы потом случайно не стали разрешёнными
это значит, что _любая_ из остальных программ может случайно или намеренно нарушить политику

gsharov

+1 к юниксоидам chroot нужен.
А может что нить можно с hard-link-ами придумать? Я не знаю как оно в винде работает - мб можно создать для директории .. жесткую сцылку на . ?
В линухе вроде не должно работать, но эти мелкомягкие... Может кто попробует?
ЗЫ - в тему -
The NTFS filesystem supports hard links. A hard link is another
directory entry that points to the same physical file on disk. This
allows you to have multiple pathnames to the same file within a
partition. Once the hard link is created any file I/O operations on
the hard link act as if they were done on the original file. The ACL
of the original file are used. The auditng entries for the original
file are used.

The auditing mechanism of Windows NT and Windows 2000 does not
understand hard links so it produces some erroneous results. The
results allow an attacker to access files through hard links
such that the name of the file being accessed does not appear in the
security event log. Instead, the file name of the hard link appears
in the event log. The hard link can be deleted after accessing the
file thus eliminating any trace of the file I/O activity.

Since the ACL on the file is enforced, the hard link does not grant
the user any extra privileges. The hardlink does however allow
a user to access the file within her privileges without leaving
an audit trail. Since this problem has existed for many years
all archived audit logs are suspect.

http://archives.neohapsis.com/archives/vulnwatch/2002-q3/0080.html

yroslavasako

Задача: повесить общедоступного демона так, чтобы его работане влияла на работу пользователей.
Решение задачи: повесим бота на 7125 порт, который будет кикать всех, кто к нему коннектиться.
1) Будем надеяться, что пользователи не заметят действия сервера даже в случае DOS-атаки
2) Больше пользователям ничего заметно и быть не может
=> Я решил искходную задачу без chroot
придумывай новую

yroslavasako

А может что нить можно с hard-link-ами придумать? Я не знаю как оно в винде работает - мб можно создать для директории .. жесткую сцылку на . ?
1)Для директорий у них только мягкие ссылки, жесткие для файлов. Создаются, например, в фаре по команда Alt+F6
2)По моему в винде такого файла "." или ".." просто нет, там файловая система по-другому работает

njvfc1

Народ, ставьте линукс или пишите гневные репорты в майкрософт. От здешних рассуждений всё равно ничего не изменится.

Ivan8209

> Решение задачи: повесим бота на 7125 порт,
> который будет кикать всех, кто к нему коннектиться.
То есть сам демон работать не будет.
Ты свёл задачу к тому, что эффективно демона быть не должно.
Это что угодно, но не решение.
> 1) Будем надеяться,
Давай не будем надеяться.
С тем же успехом можно надеяться, что взломщика не найдётся.
> 2) Больше пользователям ничего заметно и быть не может
Пользователи наблюдают отсутствие работы демона.
Задача не решена.
---
Q21: что такое Win2k?
A21: состема.

agaaaa

а скоприровать их _случайно_ нельзя? о-О

Marinavo_0507

а скоприровать их _случайно_ нельзя?
в типичных случаях для этого нужны права рута

agaaaa

ну так и для разрешения тоже о-О

Marinavo_0507

ну так и для разрешения тоже
нет
достаточно для своего файла поставить разрешение для Everyone

Ivan8209

> А может что нить можно с hard-link-ами придумать?
Низкоуровневые и подобные им хаки грозят проблемами при fsck.
---
Q21: что такое Win2k?
A21: состема.

agaaaa

а что, в unix'е владелец не может разрешить доступ всем?

Marinavo_0507

может, но из чрута этого видно не будет
ты что, бот пенартура?

agaaaa

а владелец не может скопировать свой файл туда, где он будет доступен сервису?
не бот. просто не понимаю я фраз "Windows - недоось", когда их не объясняют

Ivan8209

> а владелец не может скопировать свой файл туда, где он будет доступен сервису?
В зависимости от.
Можно запретить, можно разрешить.
> просто не понимаю я фраз "Windows - недоось", когда их не объясняют
Выше всё объяснено.
---
Q21: что такое Win2k?
A21: состема.

kruzer25

Ты не понял.
Один раз, вне зависимости от всяких там демонов, создаём группу restricted, для которой всё закрыто (для группы users всё открыто).
А уже потом, для конкретного демона создаём конкретного пользователя в restricted, и для конкретных файлов ставим разрешения.

kruzer25

Ты кривую статью нашёл, хард-линки - это не на папки.

kruzer25

Если тебе надо сэмулировать chroot - да, нужно будет следить.
Если тебе надо решить реальную задачу - вот я не могу понять, где это так уж необходимо.

Marinavo_0507

Один раз, вне зависимости от всяких там демонов, создаём группу restricted, для которой всё закрыто (для группы users всё открыто).
В винде можно сделать это так, чтобы владелец файла не мог этого переопределить, и открыть доступ для Everyone?

Ivan8209

Если пользователь или, что более вероятно, третья программа
сделает world-accessible файл, демон его сможет прочитать,
а то и пописать. _Этого_ быть _не_должно_.
---
Q21: что такое Win2k?
A21: состема.

kruzer25

Запрещаем пользователям группы restricted менять права, а если какой-то реальный пользователь сказал "пусть этот файл читают не только пользователи, но и демоны" - зачем ему это запрещать?

kruzer25

Тут уже было объяснение:
"Винда - недоось, потому что в никсах проблему ХХХ решают способом УУУ, а в винде способа УУУ нет".

Marinavo_0507

а если какой-то реальный пользователь сказал "пусть этот файл читают не только пользователи, но и демоны" - зачем ему это запрещать?
потому что это не пользователь, а одна из тысячи его программ сказала, среди которых могут быть как просто глючные и небезопасные, так и трояны
chroot - это средство мандатного управления доступом (хоть и очень примитивное в то время как acl в windows - дискреционного

Ivan8209

У меня другой есть вопрос.
Если по существующей политике используется доступ o=rw для
каких-то своих целей, это ведь надо будет как-то ограничивать.
Как это сделать автоматически?
Или --- почти автоматически.
---
Q21: что такое Win2k?
A21: состема.

Marinavo_0507

Это ко мне вопрос? Тогда я его не понял.

yroslavasako

Задача не решена
может быть та, которую ты имел в виду не решена. Но та, которую ты описал решена успешно. Ты не ограничил множество доступных сервисов - я волен поднять любой. Изволь выражаться точнее

yroslavasako

я пока не увидел ни одного примера того, для чего в винде нужен chroot
придумай хотя бы один рабочий пример. Тогда будет хотя бы что утверждать.

Ivan8209

Для того, чтобы любой проходимец не мог из сессии telnetd
прочитать или, тем более, поправить данные локального пользователя.
Ни при каком условии.
И не надо говорить про то, что ты решил задачу в моей постановке,
я знаю задачу, и задача не решена, если я сказал, что не решена.
Тем более, что постановка вполне очевидна, и я указал на две
независимые причины, почему твоё предложение решением
не является.
---
"Аллах не ведёт людей неверных."

Marinavo_0507

проблема не в том, что нет chroot, а в том, что нет также и никаких других средств мандатного управления доступом
(точнее, есть вроде, но только под .net, и только для managed code, к тому же внятную документацию по этой х-не мне найти не удалось)

Ivan8209

Нет, это к тем, кто всё ещё верит, будто схемы на выделении
групп и пользователей могут как-то помочь в решении задачи.
---
Q21: что такое Win2k?
A21: состема.

kruzer25

_Этого_ быть _не_должно_.
Кто это сказал?

Ivan8209

Я сказал и уже давно.
---
"Три раза, Ганс, три раза. Запомни, Ганс: три раза."

kruzer25

Одна из тысячи программ пользователя (которая может и читать файлы, и писать в них) разрешила некоему демону и читать и писать некоторые файлы. И что?
Более того, если у пользователя есть доступ ко всему - его злобная программа может просто создать копию демона и запустить её уже с пользовательскими правами.

Ivan8209

> И что?
И всё!
Получается, что все твои хвалёные средства безопасности
полетели к чёрту.
---
"Три раза, Ганс, три раза. Запомни, Ганс: три раза."

kruzer25

Тогда к чему такой длинный тред?
Просто скажи - "я считаю винду недоосью, потому что в ней нет chroot, а я жить не могу без утилиты, которая делает это, это и это (хотя непонятно, зачем она нужна называется chroot и имеет размер исполняемого файла 12345 байт".

Marinavo_0507

Одна из тысячи программ пользователя (которая может и читать файлы, и писать в них) разрешила некоему демону и читать и писать некоторые файлы. И что?
Возможная эскалация привилегий, если проломили демона.
Или утечка конфиденциальной инфы, если проломили программу пользователя (например, если для демона проделана дырка в файрволе, а для обычного пользователя - нет).
Более того, если у пользователя есть доступ ко всему - его злобная программа может просто создать копию демона и запустить её уже с пользовательскими правами.
Обычно такого доступа нет. Если пользователь запускает кривые проги с полным доступом - тут уж ничем не поможешь.

kruzer25

Нет.
Это лишь значит, что система работает так, как ожидает простой человек, но КОНТРА считает, что, раз уж система работает не польностью аналогично никсам, безопасность летит к чертям.

kruzer25

Обычно такого доступа нет. Если пользователь запускает кривые проги с полным доступом - тут уж ничем не поможешь
Такой доступ есть, более того, как сказал контра, полный доступ должен быть.

Ivan8209

Я так и сказал, что винда отстой, потому что нет настолько
простого средства, как chroot. Аналога --- тоже нет.
---
"Три раза, Ганс, три раза. Запомни, Ганс: три раза."

Ivan8209

Тебе уже несколько раз сказали, что простой человек этого _не_ожидает_.
Не ожидает простой человек того, что кто-то может вломиться
через общедоступную службу и потереть его работу.
Простой человек вообще не обязан знать о том, что одновременно
там что-то работает такое, из-за чего он должен следить за тем,
чтобы не дать файлу доступ o=rw.
---
"Три раза, Ганс, три раза. Запомни, Ганс: три раза."

Ivan8209

> Такой доступ есть, более того, как сказал контра, полный доступ должен быть.
1. Такого доступа нет.
2. Не надо приписывать мне того, чего я не говорил.
---
Q21: что такое Win2k?
A21: состема.

Marinavo_0507

просто не понимаю я фраз "Windows - недоось", когда их не объясняют
к объяснениям, которые были выше, можно добавить следущее
я вот сделал в яндексе два запроса:
* модель безопасности windows
* модель безопасности unix
в первом случае на первой странице не было ничего полезного
во втором - уже вторая ссылка дала достаточно подробное описание, позволяющее специалисту в области безопасности информационных технологий, незнакомому конкретно с *nix, войти в курс дела
аналогичные результаты дают англоязычные запросы в гугле
правда, нашлась интересная статья про новшества в Vista, но боюсь, без понимания базы, общей для всех виндов, мне она будет не совсем понятна

Marinavo_0507

Насколько я понял из вот этой статейки, некий аналог есть в Висте. Там это называется isolated session + file system (registry) virtualization. Вроде похоже, но описание слишком неконкретное.
http://www.symantec.com/avcenter/reference/Windows_Vista_Sec...
А если есть в Висте, то сейчас народ, который говорил, что chroot не нужен, бросится доказывать, что как раз очень нужен, и реализация в Windows - самая правильная. Я называю это "эффект 'я"

yroslavasako

а мне пох. Я живу под виндой и никак не парюсь, что в ней работает, а что нет. В любом случае, под виндой вполне можно и работать и сервак для нашей локалки держать. Зато никаких проблем с графикой, гамы идут без эмуляции. Я прото не могу понять, тех кто утверждает, что Винда - отстой а Линукс рулит, или наоборот - рулит Винда, а Linux в жопе, только потому что им непривычна другая операционка, ее концепция и ход мыслей типичного юзверя; а когда между собой начинают разбираться пингвинолюбы и сатанисты - вообще смеятсья хочется (Кстати, что круче - Jail или SElinux?)
Посмотрите вокруг себя: много ли людей отказались полностью от Винды?

Marinavo_0507

оставить истерику!
Кстати, что круче - Jail или SElinux?
это довольно разные вещи
jail следует сравнивать с каким-нибудь vserver

yroslavasako

это довольно разные вещиjail следует сравнивать с каким-нибудь vserver
а цели у них ведь похожие: mandatory access control
Хотя согласен, вещи разные. Аналог SElinux в бзде еще в стадии разработки

Marinavo_0507

а цели у них ведь похожие: mandatory access control
это очень широкое понятие

Marinavo_0507

А может, это и не оно. Фиг поймёшь.

Ivan8209

> под виндой вполне можно и работать и сервак для нашей локалки держать.
Понимаешь ли, особенность домашней системы заключается
в том, что её отказ ни к чему не обязывает: упала и хрен с ней.
---
...Я работаю антинаучным аферистом...

Marinavo_0507

Понимаешь ли, особенность домашней системы заключается
в том, что её отказ ни к чему не обязывает: упала и хрен с ней.
В корпоративных системах, за счёт которых MS и живёт, всё почти так же просто:
упала - хрен с ней, восстанавливаем из образа.
Это для десктопа.
Для сервера - тоже несложно: один сервис - одна машина (или больше, если кластер) - никакого мандатного управления не надо.

Ivan8209

Это официальная позиция микрософта?
---
Q21: что такое Win2k?
A21: состема.

evgen5555

isolated session - аналог псевдотерминала, по всей вероятности.

psihodog

Насколько я понял из вот этой статейки, некий аналог есть в Висте. Там это называется isolated session + file system (registry) virtualization. Вроде похоже, но описание слишком неконкретное.
нет, это совсем не то. :-)
виртуализация — это специальная фишка в винде, чтобы пользователи отучались работать под рутами (Windows95 mode) с одной стороны, но их приложения хоть как-то работали ещё — с другой. Делается это вот как: если пользователь хочет записать/изменить файл в том месте, куда ему писать не дано, то создаётся аналогичный файл в личном виртуальном сторадже этого юзера. И в последствии, польззователь пишет и читает именно этот файл, который лежит у него в виртуальном сторадже, хотя юзеру кажется, что он лежит в системном месте (например, в Program Files). Аналогичная фишка для HKLM.
Isolated session — это сессия 0, которая выделена специально для сервисов. Она не имеет графического отображения. Пользователи загружаются в сессии с номерами 1 и выше. Теперь сервисы не могут посылать мессаджи пользовательским окошкам.
Теперь по теме. В висте есть другое нововведение, которое может помочь решить проблему запуска лажового сервиса (демона): это SIDы для сервисов. Я ещё не возился с ними. Но суть такова: у каждого сервиса, зарегистрированного в системе, теперь есть свой SID. И, соответственно, конкретному сервису можно давать/отнимать специальные права (помимо тех, что прописаны у аккаунта, под которым сервис запущен).
Возможно, EveryOne не включает в себя сервисы. Но в этом я не уверен.
Ещё там фишка для сервисов появилась — можно настроить сервис, чтобы он запускался с меньшими привелегиями, чем прописано в его аккаунте (т.е. можно некоторые привелегии отбросить).
Подробнее можно почитать доки в MSDN'е. Ключевые слова — UAC, Vista Services.

Marinavo_0507

UAC - это что-то вроде sudo или его графических аналогов (всякие там ksu) - судя по описанию: http://msdn2.microsoft.com/en-us/windowsvista/aa904985.aspx
Vista services - что-то ничего по теме не нашёл

Elina74

Это не задача.
Задача - это "хочется повесить картину на стену, чтобы радовала глаз", а не "забить вот в эту точку на стене гвоздь 20см, 5мм, обязательно молотком розового цвета и такого-то калибра".
+1
кохтпа уже затрахал глумиться

agaaaa

вообще говоря, можно запретить менять права

Landstreicher

http://www.hpl.hp.com/personal/Alan_Karp/polaris.pdf
PS. Сам не видел — ничего сказать не могу.

Ober

http://www.hpl.hp.com/personal/Alan_Karp/polaris.pdf
Асилил.

psihodog

UAC - это что-то вроде sudo или его графических аналогов
Ну да... типа того. Хотя, на самом деле круче, потому что при повышении прав не теряется информация о том, кто сейчас обладает правами администратора.
Вот полезная ссылка:
http://www.microsoft.com/downloads/details.aspx?FamilyID=BA7...
Тут неплохое введение, ИМХО.
По поводу сервисов, вот здесь:
http://search.microsoft.com/results.aspx?mkt=en-US&setla...
первая ссылка:
http://www.microsoft.com/whdc/system/vista/Vista_Services.ms...

Marinavo_0507

Ничего нового нет в этих ссылках. В частности, про сервисы рассказывается, как правильно выставлять ACL.

Dasar

> Задача была озвучена: изолировать демона в каком-то небольшом пространстве файловой системы.
нет такой задачи.
есть задача ограничить демон по доступу:
к файловой системе, реестру, сокетам (как какие может открыть, так и к каким может присоединиться буферу обмена, другим процессам, сессиям, портам и т.д.
 
ps
то, что ты привык себя ограничивать файловой системой - не означает, что больше ничего нет.

Ivan8209

>> Задача была озвучена: изолировать демона в каком-то небольшом пространстве файловой системы.
> нет такой задачи.
> есть задача ограничить демон по доступу:
> к файловой системе, реестру,
> сокетам (как какие может открыть,
> так и к каким может присоединиться
Винда разрешает открывать слушающие сокеты TCP/UDP ниже 1024-го порта?
> буферу обмена, другим процессам, сессиям, портам и т.д.
Ко всему, за исключением небольшого числа ресурсов,
которые будут фиксированы заранее.
> то, что ты привык себя ограничивать файловой системой -
> не означает, что больше ничего нет.
Всё остальное должно быть по возможности закрыто,
как и подразумевается по умолчанию.
Если это виндузятникам неочевидно, то это их личные заморочки.
---
Q21: что такое Win2k?
A21: состема.

Dasar

> Всё остальное должно быть по возможности закрыто, как и подразумевается по умолчанию.
ты же говорил, что на сервере всё для всех открыто в том числе и через сеть.

kruzer25

При этом, ты так и не смог сказать, зачем нужен chroot.

kruzer25

Простой человек, если он (или какая-то его программа) специально говорит "вот этот файл такому-то сервису читать - разрешаю", ожидает, что сирвис этот файл читать сможет.

Elina74

Простой человек, если он (или какая-то его программа) специально говорит "вот этот файл такому-то сервису читать - разрешаю", ожидает, что сирвис этот файл читать сможет.
вообще не зная, что такое этот чрут, почитал тред и понял, что твоя аргументация не катит... ибо "какая-то его (человека) программа" может быть заражена страшлым и ужастным вирусом, который сначала разрешит права на чтение-запись, а потом всех их уничтожит

Dasar

> как раз очень нужен, и реализация в Windows - самая правильная. Я называю это "эффект 'я
не надо мне приписывать своих проекций.
1. у меня позиция простая: мир штука очень сложная (сложность = кол-во вариантов поэтому мир/модель мира надо как можно сильнее упрощать, т.к. это позволяет, в первую очередь, сосредоточиться на решение своих задач, а не заниматься поиском не понятно чего.
2. с точки зрения решения задач пользователей - windows намного проще, чем *nix.
3. в windows-е как в любой сложной штуке, есть куча нестыковок, недоработок, глюков и багов, но с точки зрения решения задач пользователя - на сегодня - это достаточно хорошая система.
4. я не говорю, что chroot не нужен, я говорю, что chroot/jail большинству пользователей не нужен в том виде в каком его хочет kontra.
и что как раз основную задачу ограничения демона - решает виртуальная машина, а jail/chroot - это еще один способ сделать то же самое, но по своему, причем если для виртуальной машины можно довольно четко гарантировать ограниченность, то для chroot - все намного сложнее.
5. что acl/что мандаты - примерно одиннаковы по возможностям. основная проблема - это отсутствие нормального механизма по работе с информацией о acl/мандатах. т.е. отсутствие механизма, который позволяет удобно работать с понятиями (все, всё).
например, в вышеуказанной задаче используются следующие высказывания:
1. предоставить доступ всем на всё (внешним пользователям тоже?)
2. запретить демону всё (исполнять собственный код тоже?)
6. дополнение к п.1. хочется следующее: по умолчанию, мир должен быть как можно проще, но при желании - необходима возможность спуститься к деталям.
*nix vs windows - каждый реализует из крайностей: *nix - дает кучу деталей, но не дает поверх них простоты, windows - дает простоту, но часто закрывает доступ к деталям.
но т.к. нет сейчас системы: которая дает простоту, и доступ к деталям - то я предпочитаю выбрать windows, т.к. в этом случае легко реализовать последовательность: сделать чтоб работало -> сделать чтоб работало правильно -> сделать чтоб работало правильно быстро,
*nix - навязывает другой подход: разберись что ты хочешь, заботай что есть, собери из них что тебе надо, а теперь можешь заняться решением своих задач.
второй подход - тоже неплох, но в условиях бесконечного времени, которого почему-то у нас нет.
итого:
1. при первом подходе: плюс - в том, что мы в сжатые сроки получает достаточно хорошее решение, минус - скорее всего у нас не получится довести его до идеального состояния
2. при втором подходе: минус - очень сложно сказать, когда мы получим решение, плюс - у нас есть теоретическая возможность получить идеальное решение.
зы
я правильно понимаю, что если я случайно в chroot перетащу hardlink на корень, то демон получит доступ ко всей машине?

Marinavo_0507

5. что acl/что мандаты - примерно одиннаковы по возможностям. основная проблема - это отсутствие нормального механизма по работе с информацией о acl/мандатах. т.е. отсутствие механизма, который позволяет удобно работать с понятиями (все, всё).
разница между мандатной и дискреционной моделями фундаментальна и описана во многих детских книжках по защите информации
но с точки зрения решения задач пользователя - на сегодня - это достаточно хорошая система.
дом без замка на двери тоже достаточно хорош для проживания
поначалу
что как раз основную задачу ограничения демона - решает виртуальная машина,
виртуальная машина - очень тяжеловесное средство, решает кучу задач, не связанных с управлением доступа, и даёт вследствии этого большой оверхед и кучу дополнительных ограничений

Dasar

> виртуальная машина - очень тяжеловесное средство, решает кучу задач, не связанных с управлением доступа, и даёт вследствии этого большой оверхед и кучу дополнительных ограничений
и что из этого следует?

kruzer25

"какая-то его (человека) программа" может быть заражена страшлым и ужастным вирусом, который сначала разрешит права на чтение-запись, а потом всех их уничтожит
Ага, может.
Только зачем тогда вообще какая-то ебля с chroot и демонами, этот страшный и ужасный вирус может без всяких демонов такие файлы потереть.
А если мы разрешаем тереть файлы пользовательским программам, то непонятно, что будет страшного, если пользовательская программа может давать доступ к файлам каким-то демонам.

Ivan8209

То, что я уже говорил: в том случае, когда у не хватает умений,
ты привлекаешь значительно более сильное средство.
Неумение сделать правильно систему защиты приводит
к использованию виртуальных машин.
---
"Три раза, Ганс, три раза. Запомни, Ганс: три раза."

Ivan8209

"Три раза, Ганс, три раза. Запомни, Ганс: три раза."
Запусти telnetd, убери пароль на вход, дай полный доступ всем
на файлы в каком-нибудь каталоге.
ЭТО --- УСЛОВИЕ SINE QUA NON.
Зайди через telnet и удали вышеозначенные файлы.
ВОТ ЭТО ДОЛЖНО БЫТЬ НЕ-ВОЗ-МОЖ-НО.
Даже если есть полный доступ всем и отсутствует пароль на вход через telnetd.
---
"Три раза, Ганс, три раза. Запомни, Ганс: три раза."

kruzer25

ВОТ ЭТО ДОЛЖНО БЫТЬ НЕ-ВОЗ-МОЖ-НО.
Но ты так и не сказал, почему.
Если, конечно, не считать причиной "я, КОНТРА, так хочу".

yroslavasako

я правильно понимаю, что если я случайно в chroot перетащу hardlink на корень, то демон получит доступ ко всей машине?
нет. В никсах невозможно делать хардлинки на директории (и слава богу)

Ivan8209

> 2. с точки зрения решения задач пользователей -
> windows намного проще, чем *nix.
Задача, для которой всё это было затеяно --- пользовательская.
То, что образцовые виндовые разработчики не могут предложить
верное решение (и даже не понимают, в чём дело полностью
опровергает твоё заявление.
> 3. в windows-е как в любой сложной штуке, есть куча нестыковок,
> недоработок, глюков и багов, но с точки зрения решения задач
> пользователя - на сегодня - это достаточно хорошая система.
Наглая ложь, потому что см. выше.
> 4. я не говорю, что chroot не нужен, я говорю, что chroot/jail
> большинству пользователей не нужен в том виде в каком его хочет kontra.
Дисковый драйвер тоже большинству пользователей не нужен
ни в каком виде, однако его существование существенно облегчает
жизнь пользователю, поскольку упрощает разработку.
> и что как раз основную задачу ограничения демона -
> решает виртуальная машина, а jail/chroot - это еще один
> способ сделать то же самое, но по своему,
С ног на голову.
Виртуальная машина решает совсем другие задачи, но при
некоторых условиях реализации, которые обычно соблюдены,
решает и задачу ограничения доступа.
> 6. дополнение к п.1. хочется следующее: по умолчанию,
> мир должен быть как можно проще, но при желании -
> необходима возможность спуститься к деталям.
Уже две сотни сообщений виндузятники не могут предложить
равноценной замены простому chroot.
> *nix vs windows - каждый реализует из крайностей:
> *nix - дает кучу деталей, но не дает поверх них простоты,
> windows - дает простоту, но часто закрывает доступ к деталям.
В частности, вместо простого chroot предлагается замена
детально: запретить всем, разрешая по отдельности.
> но т.к. нет сейчас системы: которая дает простоту, и доступ
> к деталям - то я предпочитаю выбрать windows, т.к. в этом
> случае легко реализовать последовательность: сделать чтоб
> работало -> сделать чтоб работало правильно -> сделать чтоб
> работало правильно быстро,
Основная задача обеспечения безопасности заключается в том,
чтобы работало _правильно_. Просто "работать" --- недостаточно.
> *nix - навязывает другой подход: разберись что ты хочешь,
> заботай что есть, собери из них что тебе надо, а теперь
> можешь заняться решением своих задач.
Задача очевидна, "что есть" тоже, процесс создания окружения
chroot хорошо описан во всяких статьях и HOWTO, задача
решается просто. Под виндой задача не меняется, но:
а) хрен разберёшь, что есть, причём выясняется, что ничего нет;
б) на том, что есть, задача решается только при усилении условий;
в) собирать решение получается значительно дольше, ибо надо
воссоздать эквивалент mtree(8) или даже FAM, причём всё это
в ограниченное время.
> итого:
> 1. при первом подходе: плюс - в том, что мы в сжатые сроки
> получает достаточно хорошее решение, минус - скорее всего
> у нас не получится довести его до идеального состояния
"Минус" этот только для таких низкоквалифицированных
разработчиков, как ты.
Итого, минусов нет.
> 2. при втором подходе: минус - очень сложно сказать, когда
> мы получим решение, плюс - у нас есть теоретическая
> возможность получить идеальное решение.
Кому сдались эти теоретические возможности?
Соответственно, практический "плюс" отсутствует.
> я правильно понимаю, что если я случайно в chroot перетащу
> hardlink на корень, то демон получит доступ ко всей машине?
Да, но это значительно проще отследить, не говоря уж о том,
что это можно просто запретить, и никто уже это просто так
не сменит.
---
Q21: что такое Win2k?
A21: состема.

Elina74

telnetd
мне товарищ говорил, что телнет и прочая шняга устарели еще в прошлом веке, а щас рулит ссш2

Marinavo_0507

ssh2 тоже может быть без пароля

Ivan8209

>> ВОТ ЭТО ДОЛЖНО БЫТЬ НЕ-ВОЗ-МОЖ-НО.
> Но ты так и не сказал, почему.
Ни из каких соображений я не обязан объяснять, почему,
потому что это обычная постановка задачи обеспечения
безопасности работы сервера.
> Если, конечно, не считать причиной "я, КОНТРА, так хочу".
Задача предложена не мной.
---
Q21: что такое Win2k?
A21: состема.

Ivan8209

На самом деле, в винде нет штатного ssh.
---
Q21: что такое Win2k?
A21: состема.

Marinavo_0507

в винде нет штатного ssh
что удивительного?
если механизмы защиты устарели на 10-20 лет, то и с "поддержкой современных протоколов" та же фигня

Ivan8209

Могу, разве что, сказать, что это ещё одна причина, почему.
---
"Мы продолжаем то, что мы уже много наделали."

maggi14

У меня такое ощущение, что программеры ЮНИКС слишком много думают о том, каким дебилом может оказаться их пользователь. Хотя на самом деле большинство пользователей - это сами программисты.

Ivan8209

Даже самый умный пользователь может по тем или иным причинам
нарушать политику безопасности. И делать это в отношении
критичных данных.
---
"Мы диалектику учили не по Гегелю."

yroslavasako

можно сделать защиту от дурака, но только от весьма неизобретательного

psihodog

Ничего нового нет в этих ссылках.
Здесь я не очень понял.
Ничего нового для тебя, ничего нового в Windows Vista или ничего нового по отношению к тому, что я написал в ?
Если первое, то не спорю: я не знаю, насколько ты осведомлён в предмете. Только причём тут это?
Если второе, то это не правда. Часть новшеств описанных в документах упоминается в моём .
Если третье, то тоже не правда: там есть ещё вещи и детали, про которые я не упоминал.
В частности, про сервисы рассказывается, как правильно выставлять ACL.
И чего? У нас задача какая? Обеспечить безопасность системы при работе сервиса или иметь конкретно chroot?
Если безопасность, то она обеспечивалась и раньше путём выставления ACL'ей. А сейчас это стало ещё проще, если применять новые фишки.
Если нужен именно chroot, то cygwin тебе в помощь.

psihodog

Задача, для которой всё это было затеяно --- пользовательская.

, я думаю, имел ввиду "типично пользовательские" задачи.
Типично пользовательская задача — это открыть вордовый документ. Да так, что если он будет у него валяться в папке /usr/home/user/Desktop/Мои документы/ то он у него откроется без проблем, а не будет *офис вопить про непонятные символы в пути.
А запустить демон телнета — это НЕ типично пользовательсякая задача.
Виртуальная машина решает совсем другие задачи, но при
некоторых условиях реализации, которые обычно соблюдены,
решает и задачу ограничения доступа.

Я тащусь... chroot решает совсем другие задачи, но при некоторых условиях реализации, которые обычно соблюдены, решает и задачу ограничения доступа.
Какая разнича, какие задачи решает виртуальная машина, если она таки РЕШАЕТ задачу разграничения доступа?
jail — это ведь тоже почти виртуальная машина.
Уже две сотни сообщений виндузятники не могут предложить
равноценной замены простому chroot.
Что значит "равноценной"?
Чем тебе ACL не катит?
Решить поставленную задачу он позволяет? Позволяет. Да есть некоторые минусы такого решения. Но и chroot не идеален. У него тоже есть минусы, как это ни странно.

gsharov

флудеры На самом деле наверняка можно сделать чрут в винде. Не такая уж это ущербная система. Там тоже есть девайсы, их тоже можно монтировать итп. Ну нет готового решения - так напишите Благо даже исходники частично есть. + реверс инжиниринг - все дела. Опен сорц просто стоит на том, что если кому то что то понадобилось и оно не реализовано то че пишет то что ему надо Привнесите чуть этой идеологии и в винды
А вообще - не только в винде есть проблемы. Есть они в юнихе. Много где есть. Вот например меня недавно позабавил такой факт - в САП можно создать профиль/роль для пользователя, в которых будет сказано что ему можно делать. А вот Сделать простейшую вещь - а именно указать чего ему делать нельзя... уже нельзя В какой это выливается гемор представить легко (я не представил, я прочувствовал:). А казалось бы - старейшая ерп. Бабла то сколько в нее вгрохано. Звездолет построить можно Ан нет...

Ivan8209

>> Задача, для которой всё это было затеяно --- пользовательская.
> , я думаю, имел ввиду "типично пользовательские" задачи.
> Типично пользовательская задача — это открыть вордовый документ.
...
> А запустить демон телнета — это НЕ типично пользовательсякая задача.
Упоминаемый демон выполняет пользовательскую задачу,
он демон потому, что является, в некотором смысле, заточеным
FAM.
>> Виртуальная машина решает совсем другие задачи, но при
>> некоторых условиях реализации, которые обычно соблюдены,
>> решает и задачу ограничения доступа.
> Я тащусь... chroot решает совсем другие задачи, но при
> некоторых условиях реализации, которые обычно соблюдены,
> решает и задачу ограничения доступа.
chroot сделан именно для ограничения доступа, а не симуляции
несуществующей аппаратуры.
> Какая разнича, какие задачи решает виртуальная машина,
> если она таки РЕШАЕТ задачу разграничения доступа?
Большая.
Виртуальная машина --- очень тяжёлое и дорогое средство ограничения доступа.
> jail — это ведь тоже почти виртуальная машина.
Далеко нет, это виртуальная машина для симуляции ОС,
а не реальной машины.
>> Уже две сотни сообщений виндузятники не могут предложить
>> равноценной замены простому chroot.
> Что значит "равноценной"?
> Чем тебе ACL не катит?
> Решить поставленную задачу он позволяет? Позволяет.
Не позволяет, см. пример в последней формулировке.
---
"Три раза, Ганс, три раза. Запомни, Ганс: три раза."

Ivan8209

> На самом деле наверняка можно сделать чрут в винде.
Как?
См. сообщение 1.
---
"Три раза, Ганс, три раза. Запомни, Ганс: три раза."

psihodog

Упоминаемый демон выполняет пользовательскую задачу,

какую? я не спорю, что пользователю может понадобиться запустить telnetd.
я спорю, с тем, что это типичная задача пользователя.
chroot сделан именно для ограничения доступа, а не симуляции
несуществующей аппаратуры.
откуда ты знаешь, что для чего сделано? и какое это имеет значение?
Виртуальная машина --- очень тяжёлое и дорогое средство ограничения доступа.

Ну да. Тяжёлое. Но кому какая разница?
Всё это понятно и сотни раз уже сказано. Ну не оптимизирована винда для запуска пользователем телнетда.
Потому что это не нужно пользователям. Зачем майкрософту развивать невостребованный функционал?
Не позволяет, см. пример в последней формулировке.

Ссылку дай хотя бы. Перечитывать тред в поисках формулировки не охота.

psihodog

> На самом деле наверняка можно сделать чрут в винде.
Как?
chroot.exe .

у меня работает :-)

Marinavo_0507

Ничего нового для тебя, ничего нового в Windows Vista или ничего нового по отношению к тому, что я написал в предыдущем посте ?
Если первое, то не спорю: я не знаю, насколько ты осведомлён в предмете. Только причём тут это?
Если второе, то это не правда. Часть новшеств описанных в документах упоминается в моём предыдущем посте .
Если третье, то тоже не правда: там есть ещё вещи и детали, про которые я не упоминал.
Ничего принципиально нового по сравнению со ссылками, которые я и другие дали ранее по треду.
Если безопасность, то она обеспечивалась и раньше путём выставления ACL'ей. А сейчас это стало ещё проще, если применять новые фишки.
ACL не дают защиты от троянов и ненадёжных программ, против этого нужна мандатная защита.
Новые фишки примерно аналогичны запуску в *nix системах демонов не от рута, а от специализированных пользователей, там это стало общим местом более 10 лет назад, поэтому я и говорю, что механизмы защиты Windows устарели на 10-20 лет (20 лет - это оценка по chroot )

Ivan8209

>> Упоминаемый демон выполняет пользовательскую задачу,
> какую?
Это, извини, я не должен говорить.
> я не спорю, что пользователю может понадобиться запустить telnetd.
> я спорю, с тем, что это типичная задача пользователя.
Что-то я не помню, чтобы пользователь запускал все эти smbd
и кучу остального руками.
>> Виртуальная машина --- очень тяжёлое и дорогое средство ограничения доступа.
> Ну да. Тяжёлое. Но кому какая разница?
Пользователю, думаю, есть разница, за какое время сделана работа, за 5 минут или час.
>> Не позволяет, см. пример в последней формулировке.
> Ссылку дай хотя бы.
> Перечитывать тред в поисках формулировки не охота.
Отмотка по стандартной таксе, раз ты не озаботился прочитать обсуждение.
---
"Аллах не ведёт людей неверных."

psihodog

> Ничего принципиально нового по сравнению со ссылками, которые я и другие дали ранее по треду.
Кроме тебя, вроде, никто ссылок на эту тему не давал.
А из той ссылки которую ты дал, ты сам ничего не понял.
Про сервисы там вообще ничего нет.
Это я всё к тому, что ты всё-таки гонишь.
> Новые фишки примерно аналогичны запуску в *nix системах демонов не от рута, а от специализированных пользователей
Не аналогичны. Запускать сервисы от имени других пользователей ещё в Win2k можно было (не знаю, насчёт NT4).

psihodog

> Это, извини, я не должен говорить.
Ничего страшного, ты вообще не должен здесь писать.
> Что-то я не помню, чтобы пользователь запускал все эти smbd
> и кучу остального руками.
И я не помню. И что?
> Пользователю, думаю, есть разница, за какое время сделана работа, за 5 минут или час.
Да, а ещё пользователю есть разница, сколько платить за одну и ту же ОС: $175 или $1750. И опять не понятно, какое это отношение это имеет к делу.
> Отмотка по стандартной таксе, раз ты не озаботился прочитать обсуждение.
Договорились, отматывай. Обсуждение я читал. Но следить за всеми твоими изменениями в условии, чтобы подогнать под ответ — не охота.

Marinavo_0507

Запускать сервисы от имени других пользователей ещё в Win2k можно было (не знаю, насчёт NT4).
Можно, но так почему-то не делали. Было как в Linux 15-летней давности - типа root и nobody (т.е. LOCAL_SYSTEM и INET_SERVICE или какие там правильные названия).
Видите ли, разработчик ОС (в случае Linux под этим понимается дистрибутив) должен показывать грамотный пример использования фишек - если все встроенные сервисы ОС плюют на защиту, то глупо думать, что сторонние разработчики сделают лучше - они-то точно ещё меньше понимают в этих фишках.
С новыми фишками это, как обещают, станет легче - станет, как в Linux 5-10-летней давности Но это всего лишь дискреционная защита...
Чуть более интересна мандатная защита целостности, про которую рассказывается всё в той же статье от Symantec. Явно видно, что хотели сделать, как лучше. Но, к сожалению, опять не изучили опыт других разработчиков (видимо, NIH-синдром подействовал) - и реально толку от этих трёх уровней крайне немного (могу пояснить подробно, если интересно).

Marinavo_0507

Да, а ещё пользователю есть разница, сколько платить за одну и ту же ОС: $175 или $1750. И опять не понятно, какое это отношение это имеет к делу.
Отношение имеет следующее.
Гвозди удобно забивать молотком. Хотя можно это делать и достаточно прочной дрелью.
Компания М. не изучила 20-летний опыт других компаний в плане использования молотков, а вместо этого рекомендует (возможно, неформально - через специалистов, хорошо знакомых с продукцией М.) использовать для забивания гвоздей специально доработанную дрель. Дополнительный бонус - ей ещё и сверлить можно.
К сожалению, такая дрель намного тяжелее молотка, и забивать ей гвозди нужно вдвоём. Да и стоит в 100 раз дороже. Зато многофункциональное устройство.

Ivan8209

>> Что-то я не помню, чтобы пользователь запускал все эти smbd
>> и кучу остального руками.
> И я не помню. И что?
И всё! Утверждать, что демон, якобы, такая особенная задача,
никак не являющаяся пользовательской, нельзя.
>> Пользователю, думаю, есть разница, за какое время сделана работа, за 5 минут или час.
> Да, а ещё пользователю есть разница, сколько платить за одну и
> ту же ОС: $175 или $1750. И опять не понятно, какое это отношение это имеет к делу.
Решение, требующее на порядок-два больше ресурсов, нельзя
считать равнозначным.
>> Отмотка по стандартной таксе, раз ты не озаботился прочитать обсуждение.
> Договорились, отматывай.
Мой ответ пенартуру от "10.12.2006 17:40" со словами "sine qua non."
Что-то около 20 сообщений.
20 * $10 (льготный курс, по-моему, там уже 15 просят) = $200.
---
Возлюби grep.
"Потому что Аллах не ведёт людей неверных."

Ivan8209

Похоже, я нашёл решение задачи с демоном.
Только оно не опирается ни на какие виндовые средства.
---
"У Цигвина крылья
вот тако-о-ой ширины!.."

psihodog

Компания М. не изучила 20-летний опыт других компаний

David Neil Cutler, Sr. (born March 13, 1942) is a noted software engineer, designer and developer of several operating systems including the RSX-11, VMS and VAXELN systems of Digital Equipment Corporation and Windows NT from Microsoft.
http://en.wikipedia.org/wiki/Dave_Cutler

psihodog

Утверждать, что демон, якобы, такая особенная задача,никак не являющаяся пользовательской, нельзя.
Можно. Я вот, например, утверждаю.
Запусти telnetd, убери пароль на вход, дай полный доступ всем
на файлы в каком-нибудь каталоге.
в зависимости от того, кого ты имеешь ввиду под "всеми пользователями", можно либо дать полный доступ к папке группе Autheticated Users.
либо дать права Everyone, и при этом запретить, конкретно этому сервису.

psihodog

С новыми фишками это, как обещают, станет легче - станет, как в Linux 5-10-летней давности

Но ведь сделали.
Я так понимаю, что дело там не в том, что дурной пример, а в том, что на спец пользователей (LOCAL SYSTEM, etc) действуют специальные политики.
А у виндового сисадмина всего два выбора:
1. запускать сервис под пользователем домена.
2. запускать сервис под локальным пользователем.
и то и другое — плохо по своим причинам. А вот запуск под спец. пользователем, но с возможностью проставлять каждому сервису собственные права — это хорошо.
(могу пояснить подробно, если интересно).
интересно.

ava3443

Потому что это не нужно пользователям. Зачем майкрософту развивать невостребованный функционал?
Тут я бы с тобой согласился, если бы не одно но: Microsoft не просто делает функционал, востребованный пользователями. Microsoft больше чем кто-либо другой в IT формирует представление пользователей о том, что именно им нужно. В том числе, к сожалению, и по части security.

spitfire

Госопда.
Мне кажется, все эти 200-с-чем-то сообщений вы путаете тёплое с мягким.
Windows был, есть, и будет есть десктопной системой. "Серверная версия" существует постольку, поскольку существует политика Микрософта: если что-то есть в сфере IT, то это что-то должно быть от нас (и все должны платить нам за это бабки) (примеры: свой видеоформат - есть, свой формат картинок они тоже придумали, свой iPod - выпустили, etc).
"Ребята, давайте жить дружно". (Кот Леопольд).
На сегодняшний день, можно и на Windows сделать хорошо, и на *nix - плохо. К примеру (мне тут подсказали недавно) - все правительственные сайты Израиля работают на Windows+IIS. К примеру с другой стороны - www.fryazino.net, сеть моего родного города. У них всё на Linux+OpenBSD, и глючит со страшной силой - инет хуже чем по GPRS, почта днями не доходит (Linux-машина раздаёт инет, на OpenBSD почта).
Словом, что я хотел сказать.
1) Предмет спора утонул в демагогии.
2) Тут промелькивало, что на Windows проще сделать "готовое решение" - но, простите, даже во FreeBSD есть мета-пакет instant-server, делающий из системы "готовое решение".
3) На *nix проще сделать произвольное решение ввиду наличия открытого информационного пространства вокруг сообщества пользователей и разработчиков этих систем. В особенности, если это "решение" связвно с неким сетевым взаимодействием (много наработок, для наиболее типичных задач достаточно проследовать steb-by-step инструкции).
4) Наличие конкретных утилит всё-таки не определяет, является ли продукт операционной системой, я так думаю.

agaaaa

у меня тогда простая просьба. подробно объясни, что можно сделать с помощью chroot, что по-твоему не прокаит в win2k3, а мы постараемся доказать, что это не так. только чётко, как хорошо написанное ТЗ

Marinavo_0507

Я сужу не по именам разработчиков, а по результатам их работы.

Marinavo_0507

Но ведь сделали.
Пока неизвестно, что сделали. Серверного аналога Висты ещё нет, да и сама она вышла недавно - будет что-то понятно ещё через несколько месяцев.

sergey_m

В Windows нет chroot просто потому, что там нет root, то есть корня. Там есть Диск Цэ, Диск Дэ и т.д. С приходом двадцать первого века появилась возможность избавиться от множества дисков и оставить только Диск Цэ, который будет подобен корню. К сожалению, многие программы так привыкли к дискам, что перестают работать, когда путь к каталогу с содержимым компакт диска не умещается в три символа. Поэтому большинство людей продолжают жить с множеством дисков.
Тут в треде упоминалась chroot.exe. А что она делает, можно объяснить?

evgen5555



там нет root, то есть корня.
Неправда

Marinavo_0507

Windows был, есть, и будет есть десктопной системой.
В десктопной системе защита от троянов нужна не меньше, а от ненадёжных программ - даже больше, чем в серверной.

psihodog

Я сужу не по именам разработчиков, а по результатам их работы.
Если они приняли решения, которые не следуют логике предшествующих компаний, а идут другим путём, то это ещё не значит, что они не пользовались их опытом. Например, опыт других компаний мог им показаться отрицательным в свете поставленной цели.

ms_nadin

- Утром проснулся, па-па-панастраивал серверы под линукс. Пошел в туалет - па-па-па-настраивал серверы под линукс. Пошел на кухню - па-па-па-настраивал серверы под линукс. Тут звонок в дверь. Открываю - стоят два амбала. И потом не помню - па-па-па-настраивал серверы под линукс или нет.

sergey_m

> > там нет root, то есть корня.
> Неправда
Кто же является корнем Диск Цэ или Диск Дэ?

sergey_m

Если они приняли решения, которые не следуют логике предшествующих компаний, а идут другим путём, то это ещё не значит, что они не пользовались их опытом. Например, опыт других компаний мог им показаться отрицательным в свете поставленной цели.
Они не приняли решения. Большой компании наплевать на мнение отдельных сотрудников, какими бы именитыми гуру они ни были.

Marinavo_0507

Если они приняли решения, которые не следуют логике предшествующих компаний, а идут другим путём, то это ещё не значит, что они не пользовались их опытом.
Нету никакого своего пути. Решение использовать виртуальные машины для изоляции сервисов принимают в массовом порядке виндоадмины, потому что у них нет никаких более подходящих средств.
А сама винда перенимает решения из UNIX, но с опозданием на 10 лет.

evgen5555

Object Manager namespace

Dasar

> Object Manager namespace
это скорее root shell-а, чем windows-а

Marinavo_0507

По поводу защиты целостности.
Итак, выделяются три уровня: высокий, средний и низкий. (Ещё упоминается самый высокий - системный, его назначение мне неясно, похоже, это для внутреннего использования).
Высокий предназначается для администрирования, средний - для пользовательских приложений, низкий - для ненадёжных программ, работающих с недоверенными источниками данных (примеры: Explorer, работа с почтовыми аттачментами).
Таким образом, имеется два барьера:
* между средним и высоким уровнем, защищающий системные программы и глобальные настройки;
* между низким и средним, защищающий целостность пользовательских данных.
Я рассмотрю их по очереди.
1. Первый барьер примерно соответствует разнице между администратором и обычным пользователем. Уязвимость любой из административных программ по-прежнему приводит к преодолению барьера. В общем, непонятно, в каких всё-таки случаях этот барьер будет запрещать доступ, который иначе был бы разрешён - глобальные настройки и так должны принадлежать системным пользователям, и модификация их обычными пользователями должна быть запрещена.
Принципиально новое тут - это защита от атак, связанных с посылкой оконных сообщений. Это новшество - 100% полезно, однако пока непонятно, насколько эффективно, ведь можно придумать много обходных путей для проведения подобных атак.
2. Использование пониженного уровня привилегий для ненадёжных пользовательских программ - шаг в правильную сторону, но очень уж небольшой. Введение всего лишь дополнительного уровня проблему не решает совсем. То есть, пока всего лишь один Explorer работает с низким уровнем, это, вроде бы, полезно. Однако, естественное продолжение такого подхода приводит к следующим выводам:
* почтовая программа по тем же соображениям, что и Explorer, тоже должна иметь пониженный уровень привилегий;
* редакторы и смотрелки файлов, пришедших из сети, также должны запускаться с низким уровнем (для предотвращения атак, использующих уязвимости, подобные нынешней дыре в Word).
А если и браузер, и почтовый клиент, и многое другое имеет строго одинаковые привилегии (пользователь один, и уровень один) - то друг от друга их ничто не защищает. Уязвимость ворда, например, позволит рассылать спам и эксплойты того же ворда по почте, используя возможности почтового клиента. Ну а доступ к конфиденциальным данным, обязательно хранящимся в почтовых ящиках, уж точно будет полным.
Эта проблема ни разу не новая, и способ решения давно известен - нужно усложнять решётку ценности, добавляя туда несравнимые элементы. Тогда мы придём к многоуровневой модели с уровнями и категориями, или к модели Domain-Type Enforcement.
На основании вышесказанного, я бы рекомендовал следующее.
1. Ввести отдельные категории (или домены) для взаимной изоляции ненадёжных программ. С моей точки зрения, Domain-Type Enforcement подходит для этого наилучшим образом, позволяя защищать не только целостность, а и конфиденциальность данных. Но для этого, скорее всего, придётся добавить новые атрибуты безопасности в файловую систему и в остальные места, хаком на основе SACL не обойдёшься.
2. Пересмотреть полностью управление доступом через оконную систему. Взаимное влияние приложений должно быть запрещено по умолчанию, с исключениями лишь для тех задач, где это действительно нужно.

Dasar

> Решение использовать виртуальные машины для изоляции сервисов принимают в массовом порядке виндоадмины
вроде еще лет 5 назад Sun говорил, что это единственно-правильный путь для разделения web-серверов, и что именно их ОС, и их железо лучше всего эту виртуализацию делает.

Marinavo_0507

вроде еще лет 5 назад Sun говорил, что это единственно-правильный путь для разделения web-серверов, и что именно их ОС, и их железо лучше всего эту виртуализацию делает.
именно
вот вам и "свой путь" от MS - взять успевший уже протухнуть подход неудачливых конкурентов, и внедрять его, но без специального железа и ОС, то есть отказавшись от его сильных сторон

ava3443

Можно ссылку?
Если не ошибаюсь, сейчас железо Sun как раз хуже всех (IBM, HP) поддерживает виртуализацию.

Marinavo_0507

к вопросу об удобстве виртуализации
представители одного крупного системного интегратора заявляли при мне, что для настройки LPAR-ов на двух серверах от IBM нужно более недели времени высококлассного специалиста, каких в России менее 10 человек, и время которых расписано вперёд на месяцы

spitfire

В десктопной системе защита от троянов нужна не меньше, а от ненадёжных программ - даже больше, чем в серверной.

Так эти, как их там бишь, антивирусы всякие с фаерволлами? Ведь в Windows они выполняют роль ловцов подобной заразы. Тот же высокоразрекламированный Касперский чего стоит...

dgaf

нужно бороться с причиной, а не со следствием.
антивирусы всегда догоняют вирусы, поэтому всегда (/часто/иногда) опаздывают.

Marinavo_0507

Антивирусы защищают от известных вирусов и троянов, сигнатуры которых уже есть в базе. Новый вирус или целевой троян они не поймают.
Файрволлы действуют не на том уровне, чтобы отловить эксплойт - они могут остановить только атаки, сигнатуры которых опять же есть в базе - вордовый документ на предмет безопасности ему как следует не просканировать.
Эффективны эти приложения лишь для того, чтобы обосновать начальству необходимость покупки новых компов
Против целевых атак с использованием уязвимостей пользовательских приложений и троянов нужно комбинировать следующие способы защиты.
1. Разграничение доступа, а именно, взаимная изоляция приложений с использованием мандатной защиты (дискреционная здесь неэффективна). Про это выше было достаточно сказано.
2. Средства контроля целостности с использованием защищённого хранилища. Варианты: периодически грузиться с RO-носителя, на котором хранятся контрольные суммы, или, быть может, понадеяться на безопасное микроядро (или менеджер виртуальных машин) - но оно в таком случае должно быть крайне простым и вылизанным до каждой отдельной машинной команды. Основная трудность тут на практике - правильное задание критичной информации, целостность которой нужно проверять - конфиги, которые критичны с точки зрения безопасности, но модифицируются во время нормальной работы, тут не пойдут - это значит, приложения нужно переписывать с учётом необходимости таких проверок. Должны быть учтены все файлы и другие хранилища, где может закрепиться троян.
3. Средства обнаружения вторжений, основанные на статистическом и эвристическом анализе поведения приложений. Если почтовая программа вдруг начала шариться по всей системе - это может означать, что управление перехватил агент злоумышленника, и теперь ищет, как воспользоваться успехом. Такое приложение должно быть приостановлено, пока администратор не изучит лог активности и не поймёт причину аномалии. На практике приложения очень сложны, и не всякий администратор справится с такой задачей.
Пункт 1 - это первый шаг на пути повышения защищённости. Но проактивная защита рано или поздно будет взломана, и без средств аудита (пп. 2,3) будет взломана незаметно, и злоумышленник добьётся всего, чего захочет. Но пункты 2 и 3 выглядят страшновато.
Поэтому параллельно необходимы дополнительные меры.
4. Ограничение использования недостаточно надёжных программ. По возможности, такие программы не должны работать с данными, которые могут прийти от злоумышленника. В частности, например, по этой причине нужно отказываться от взаимодействия с внешним миров через DOC и другие "офисные" форматы. Принимать данные в виде более простых форматов и обрабатывать их простыми, надёжными, программами, и только потом, после ручной проверки результата человеком (доверенным при необходимости отдавать их на обработку ненадёжным программам.
Этот пункт тоже страшен, но тут по крайней мере каждый шаг в этом направлении выражается в ощутимом повышении защищённости.

kruzer25

Серверного аналога Висты ещё нет
Бета2 есть...

psihodog

Они не приняли решения. Большой компании наплевать на мнение отдельных сотрудников, какими бы именитыми гуру они ни были.
Кто же, по-твоему принимал решения? Катлер и принимал — он отец ядра NT.

psihodog

А сама винда перенимает решения из UNIX, но с опозданием на 10 лет.
Это называется "проверка временем".
Системы, которые стремятся быть надёжными не могут имплементировать в себе неопробованные новшества.
Так FreeBSD идёт за Линуксом. А винда ещё больше отстаёт.
Потому что у MS ответственности больше.

psihodog

нужно бороться с причиной, а не со следствием.
кто тебе такое сказал?
нужно бороться с тем, что в итоге побороть будет дешевле.
в частности, если речь идёт про причину и следствие, то тут возможны два подхода:
This idiom is called EAFP ('easier to ask forgiveness than permission' as opposed to LBYL ('look before you leap').

dgaf

с причиной нужно побороться один раз, а со следствиями - каждый раз
причина в данном случае - ошибки в системе безопасности

Ivan8209

Защита должна сработать даже если права даны Everyone.
---
"Три раза, Ганс, три раза..."

Ivan8209

У меня сложилось ещё одно мнение о виндузятниках: они нисколько не умеют читать.
Я по три раза объясняю одно и то же трём разным людям, хотя двоим из них ничего
не стоило бы прочитать то, что я говорил раньше, хотя бы и другому человеку.
Ещё раз.
Есть задача с telnetd.
От виндузятников требуется показать, как они могут решить её штатными виндовыми средствами.
С тонкой настройкой прав мы уже разобрались: она не спасает, если кто-то даст полные права,
chroot, напротив, покрывает и этот немаловажный случай.
С виртуальными машинами --- тоже разобрались. Для начала, это слишком тяжеловесное решение,
а кроме того, этих виртуальных машин нет в штатной поставке.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."

sergey_m

Кто же, по-твоему принимал решения? Катлер и принимал — он отец ядра NT.
Решения принимает бизнес.

sergey_m

Так FreeBSD идёт за Линуксом.
Да, ещё с 80-х годов идёт.

Ivan8209

> RSX-11, VMS and VAXELN
Ты, очевидно, хорошо знаешь средства безопасности этих систем, раз приводишь их в пример.
А ещё мне интересно, почему это не был учтён опыт OSF/1 и Tru64.
---
...Я работаю антинаучным аферистом...

Elina74

а кроме того, этих виртуальных машин нет в штатной поставке.
меня умиляет твоя непосредственность...
А апач, почтовый сервер, днс-сервер, виртуальная машина, DOOM3, perl, OOo и прочая хуйня входит, значит в штатную поставку ваших ***никсов? А вот в винды никак не входит?
А по-моему что ваш apt-get install, что наш setup одна и та же херня. Ибо:
1. Работает.
2. Работает правильно. А именно:
2а. Легкодоступно.
2б. Работает после установки в 99% случаев.
А вот что называть ШТАТНОЙ поставкой не тебе решать, милый кохтпа. Для кого-то штатная — это "офесный комп" под ключ, а для кого-то голая командная строка с минимумом лишнего. Ты в курсе деталей штатной поставки на машины, которые в космос летят? Имхо, нет. И какого хрена она штатная?
Отвечая на незаданные претензии типа: а ваши программы все такие дорогие и платные, скажу так: все нужные программы, которые распространяются с открытыми исходниками УЖЕ скомпилированы под винды и их можно установить. С помощью setup. А все остальные не нужные...
1. Ошибкой было бы думать...
(Ленин. ПСС. (см подпись Кири).)
2. Вихри враждебные веют над нами.
(Революционная песня.)
3. Маразм крепчал. Деревья гнулись.
(Из неизданного.)
4.
(Из неизданного. Часть вторая.)

Olenenok

вызывающе неверная информация. иди настрой себе инет в линуксе

Ivan8209

> А апач, почтовый сервер, днс-сервер, виртуальная машина, DOOM3, perl, OOo
> и прочая хуйня входит, значит в штатную поставку ваших ***никсов?
Входят не только почтовый, файловый и DNS серверы, но ещё DHCP, NTP и куча других.
В базовой установке, которую никто не ставит без расширений.
---
"Аллах не ведёт людей неверных."

Olenenok

А по-моему что ваш apt-get install, что наш setup одна и та же херня. Ибо:
1. Работает.
2. Работает правильно. А именно:
2а. Легкодоступно.
2б. Работает после установки в 99% случаев.
иди убей себя, раз до сих пор не просёк разницы. и объясни это ахтоху, который сейчас венду переустанавливает

Ivan8209

Ещё один любитель править сообщения задним числом.
Штатная поставка --- это то, что ставится с поставленных носителей.
Ни апач, ни бинд, ни постфикс мне не надо идти выкачивать отдельно, выбирая при этом
"свежую" или "хорошую" версию, мне также не надо искать патчи, закрывающие какие-то
ошибки, если они были обнаружены до меня.
Если не брать дистрибутивы специального назначения, которые помещаются на флешку
и содержат только то, что нужно для работы фаерволом, все дистрибутивы содержат
кучу пакетов. При этом они ещё и сразу предлагают их поставить, оставляя при этом
возможность не ставить то, что некоторым не нравится.
---
"Аллах не ведёт людей неверных."

Elina74

Ещё один любитель править сообщения задним числом.
это ложь — то сообщение я ни разу не правил... то что ты его прочитал не до конца или не правильно — твои личные половые проблемы

Elina74

вызывающе неверная информация. иди настрой себе инет в линуксе
то, что я не смог настроить инет в линуксе не дает тебе право посылать меня нахуй, не говоря в чем именно я не прав

Olenenok

чуве, я не хочу сраться, но в твоем посте было столько пиздежа, что я не стерпел.

yroslavasako

Если не брать дистрибутивы специального назначения, которые помещаются на флешкуи содержат только то, что нужно для работы фаерволом, все дистрибутивы содержаткучу пакетов. При этом они ещё и сразу предлагают их поставить, оставляя при этом возможность не ставить то, что некоторым не нравится.
Мало того, что котпха трудно перености мнение отличное от своего, так еще и факты коверкает. Еще раньше в треде он утверждал, что в никсах есть жесткие ссылки на директории, сейчас же демонстрирует непонимание самой концепции линуха. Зайди на green.hackers и посмотри, что входит в поставку gentoo boot cd - там даже stage3 нет, не говоря уже о пакетах

psihodog

с причиной нужно побороться один раз, а со следствиями - каждый раз
иногда каждый раз — меньше одного — ноль. тогда, очевидно, легче бороться со следствиями: ничего делать не нужно.
а ещё бывает, что один раз побороться с причиной дороже, чем миллион раз со следствиями.

psihodog

Защита должна сработать даже если права даны Everyone.
Это ещё почему? В твоей постановке про это ничего не сказано.
Я, например, под "всеми" имею ввиду Autheticated Users. Под винду давать права на запись для Everyone считается плохой практикой.
Но при большом желании, можно настроить систему так, что даже если пользователь даст права группе Everyone, всё равно телнет ничего не сотрёт.
Делается это, например, так: из security policy под названием Bypass Traverse Checking исключается группа Everyone, а телнетд запускается из под пользователя, не входящего ни в одну из групп, перечисленных в BTC. После этого настраивается доступ к той директории, куда сервису нужно уметь ходить.

psihodog

Решения принимает бизнес.
Ну не смеши. Почти каждый человек, в т.ч. сотрудник Microsoft, принимает решения.
В частности, решение о том, какая будет модель безопасности — в компетенции разработчиков системы.

psihodog

Ты, очевидно, хорошо знаешь средства безопасности этих систем, раз приводишь их в пример.
Ты, очевидно, не читал мой пост, раз такое утверждаешь. Где я привожу в пример средства безопсаности?
А ещё мне интересно, почему это не был учтён опыт OSF/1 и Tru64.
ПОчему ты думаешь, что их опыт не был учтён?

sergey_m

сейчас же демонстрирует непонимание самой концепции линуха
А ты понимаешь Саму Концепцию Линуха? Расскажи в двух-трёх предложениях, пожалуйста.

sergey_m

Ну не смеши. Почти каждый человек, в т.ч. сотрудник Microsoft, принимает решения.
В частности, решение о том, какая будет модель безопасности — в компетенции разработчиков системы.
Это ты не смеши. Решения принимает бизнес, как бы это не было тебе (и мне) противно. Но это факт, с которым приходится мириться. В таком мире мы живём. Если ты ещё не ощутил, что решения принимает бизнес, значит ещё не работал в больших корпорациях. Пообщайся со знакомыми, которые работают.
Так вот, бизнесу нужно чтобы продукт в первую очередь приносил прибыль. Правильная модель безопасности, к сожалению, не является необходимым условием прибыльности продукта.

psihodog

у бизнеса есть бизнес-требования (такие, как: запустить телнет открытым для всех и чтобы он ничего не смог удалять).
а разработчики должны создать такую систему, чтобы наиболее популярные бизнес требования на ней легко и хорошо выполянлись.
а менее популярные — тоже выполнялись, возможно, с чуть бОльшим геморроем.
если б можно было работать, совсем не оглядываясь на бизнес, то это было бы хобби, а не работа.

Ivan8209

Отсылка на "boot CD" никак не катит, потому что это не является полной поставкой.
Gentoo --- это дистрибутив, подразумевающий поставку пакетов через сеть,
он на это расчитан, о чём сказано в документации. Будешь утверждать, что
"emerge squid" ничего не ставит? Оно работало даже в давние времена, когда
я использовал этот нестабильный дистрибутив.
Кроме того, отсылка на green.hackers никак не может рассматриваться в качестве доказательства,
потому что: а) человек, содержащий green.hackers, не держит полного зеркала;
б) не является официальным распространителем Gentoo; в) ни у меня нет, ни у многих
других лёгкого доступа туда нет.
Хочешь что-то показать --- давай ссылку на gentoo.org
---
"Аллах не ведёт людей неверных."

Ivan8209

>> Защита должна сработать даже если права даны Everyone.
> Это ещё почему?
Потому что об этом сказано в постановке задачи.
> В твоей постановке про это ничего не сказано.
Мне не очень нравится по десять раз мусолить одно и то же.
ПЕРЕЧИТАЙ УСЛОВИЕ, ЕСЛИ ТЫ ЕГО НЕ ПОМНИШЬ!
---
"Три раза, Ганс, три раза..."

Ivan8209

> Делается это, например, так
Ты это проверил?
> Делается это, например, так: из security policy под названием Bypass Traverse Checking исключается группа Everyone
В условии сказано о недопустимости больших изменений в политике безопасности.
Какие ещё последствия повлечёт исключение группы Everyone из BTC?
---
"Аллах не ведёт людей неверных."

Ivan8209

>> Ты, очевидно, хорошо знаешь средства безопасности этих систем, раз приводишь их в пример.
> Ты, очевидно, не читал мой пост, раз такое утверждаешь. Где я привожу в пример средства безопсаности?
Напротив, я даже сходил проверил, правильно ли я помню, что такое RSX-11.
Ты привёл пример человека, пришедшего из DEC. Да, кое-что он принёс.
>> А ещё мне интересно, почему это не был учтён опыт OSF/1 и Tru64.
> ПОчему ты думаешь, что их опыт не был учтён?
Потому что знаю, что такое Tru64.
А вот ты даже не озаботился посмотреть.
---
"Аллах не ведёт людей неверных."

psihodog

>>> Защита должна сработать даже если права даны Everyone.
>> Это ещё почему?
> Потому что об этом сказано в постановке задачи.
Вот условие задачи:
Запусти telnetd, убери пароль на вход, дай полный доступ всем на файлы в каком-нибудь каталоге.
Где тут что-то про группу Everyone? Группа Everyone включает в себя всякую чепуху, про которую бизнес-правила ничего не знают и знать не должны.
В отличие, например, от Domain Users, Workers, All или как ты там ещё назовёшь группу с реальными пользователями.
ПЕРЕЧИТАЙ УСЛОВИЕ, ЕСЛИ ТЫ ЕГО НЕ ПОМНИШЬ!
ППКС.

psihodog

> Ты это проверил?
Нет. Это кому нужно? Тебе или мне? Я тебе просто сказал решение, которое я смог найти за 15 минут, при том не будучи виндовым администратором.
Ты же, при том, что тебе нужно было решить эту задачу, даже не удосужился просмотреть доступные настройки Security Policy.
> В условии сказано о недопустимости больших изменений в политике безопасности.
ПЕРЕЧИТАЙ УСЛОВИЕ, ЕСЛИ ТЫ ЕГО НЕ ПОМНИШЬ!
И хватит уже подгонять условие. Может пора его как-нть зафиксировать?
> Какие ещё последствия повлечёт исключение группы Everyone из BTC?
Очевидные. И да, нужно принять очевидные и простые меры, чтобы твои действия не навредили другим пользователям.

psihodog

> Ты привёл пример человека, пришедшего из DEC. Да, кое-что он принёс.
И? Как это утверждение сосуществует с утверждением, что Microsoft игнорировала опыт предыдущих компаний?
>> ПОчему ты думаешь, что их опыт не был учтён?
> Потому что знаю, что такое Tru64.
Не убедительно. Не понимаю, как одно из другого следует.
> А вот ты даже не озаботился посмотреть.
Мне это и не надо.
Ни одного довода в пользу того что Microsoft не использовала опыт Tru64 ты не привёл пока.

Ivan8209

> В отличие, например, от Domain Users, Workers, All
> или как ты там ещё назовёшь группу с реальными пользователями.
Её называю не я, а тамошний администратор.
Что делать, если администратор не завёл отдельной группы?
---
"Аллах не ведёт людей неверных."

kruzer25

Что делать, если администратор не завёл отдельной группы?
А что делать, если администратор ьзди удалил файл /bin/chroot (или где оно у вас там)?

Ivan8209

>> Ты привёл пример человека, пришедшего из DEC. Да, кое-что он принёс.
> И? Как это утверждение сосуществует с утверждением, что Microsoft игнорировала опыт предыдущих компаний?
Как ещё называть учёт опыта только одной компании, которая к тому времени уже металась из стороны в сторону?
Почему из всего этого опыта учли только опыт VMS, хотя были ещё такие серьёзные товарищи,
как Sun, IBM, HP, SGI, AT&T.
>>> ПОчему ты думаешь, что их опыт не был учтён?
>> Потому что знаю, что такое Tru64.
> Не убедительно. Не понимаю, как одно из другого следует.
Ну, сходи, прочитай, man chroot из OSF/1, не так уж сложно найти эту страницу на freebsd.org.
>> А вот ты даже не озаботился посмотреть.
> Мне это и не надо.
> Ни одного довода в пользу того что Microsoft не использовала опыт Tru64 ты не привёл пока.
В W2K нет chroot, да и в последующем ХР --- тоже.
Даже в серверных дистрибутивах.
---
"Аллах не ведёт людей неверных."

Ivan8209

А в какой, по умолчанию, группе существуют пользователи?
---
"Аллах не ведёт людей неверных."

Marinavo_0507

Делается это, например, так: из security policy под названием Bypass Traverse Checking исключается группа Everyone, а телнетд запускается из под пользователя, не входящего ни в одну из групп, перечисленных в BTC. После этого настраивается доступ к той директории, куда сервису нужно уметь ходить.
И что это даст?
Судя по описанию в MSDN, ничего.

sinet

Users, Domain Users

agaaaa

будь так добр, напиши полный список требований для задания
пример: надо ftp-сервер, дающий доступ только к одной папке, чтобы его баги не позволяли никак получить доступ к другим. есть ограничения на ресурсы и на время развёртывания.

yroslavasako

А ты понимаешь Саму Концепцию Линуха? Расскажи в двух-трёх предложениях, пожалуйста.
Linux-way: предоставлять инстументы, а не навязывать готовые решения. Пользователь волен сам выбирать как использовать или не использовать предоставленные ему возможности.
В двух предложениях. Для наглядной иллюстрации советую заботать дистрибутив Linux From Scratch. В том же Gentoo портежи - это всего лишь удобное средство упаравления и слежнеия за установленными программами. Нельзя сказать, что все, что входит в список портежей является частью дистрибутива. К тому же так есть дофига потрежей с ограничемвозможности закачки с Gentoo и его зеркал. Для некоторых вообще надо регаться на странцие Sun'a. И советую не забывать, что у каждого юзверя есть возможность сделать свое личное дерево портов, добавив туда, все что ему захочется

Ivan8209

> Linux-way: предоставлять инстументы, а не навязывать готовые решения.
Начнём с того, что это неправда.
Для начала попробуй своё видение на таком деле, как WM.
> Для наглядной иллюстрации советую заботать дистрибутив Linux From Scratch.
А набор "сделай сам" вообще не надо приводить в пример.
Просто системы с исходниками отличаются от винды тем, что ты можешь всё это ещё
и собрать своим любимым gcc. Я знаю двоих человек (или даже троих которые так же
извращались над ранними (до 2K) дистрибутивами винды.
---
"Аллах не ведёт людей неверных."

Elina74

Я знаю двоих человек (или даже троих которые так же
извращались над ранними (до 2K) дистрибутивами винды.
А я не знаю...
Когда это мс открыла исходники винды и какой винды?

Ivan8209

> надо ftp-
telnet
> сервер, дающий доступ только к одной папке, чтобы его баги не позволяли никак получить
> доступ к другим. есть ограничения на ресурсы и на время развёртывания.
Работать должно _очень_ быстро, изменения в системе безопасности должны быть минимальны,
по возможности --- не должны быть вовсе, кроме создания "зоны особого режима."
---
"Аллах не ведёт людей неверных."

agaaaa

я бы за такое ТЗ уволил

Ivan8209

Видел я, как составляют аналогичные ТЗ "специалисты."
Они рисовали красивые картинки, печатали много текста,
на что изводили килограммы бумаги.
В итоге всё сводилось к "вы сами знаете, что нужно делать."
Неплохой результат, если учесть, что писатели ничерта
не смыслят в безопасности.
Могу рассказать, кстати, что получилось в итоге.
Народ посовещался и решил безопасностью под винду не заморачиваться,
ибо эффект от прилагаемых усилий почти что нулевой,
а здравомыслящий админ поставит _операционную_ систему.
---
"Аллах не ведёт людей неверных."

agaaaa

ты, пожалуйста, расскажи подробно, что требуется от этого сервера. и какие на него должны быть наложены ограничения.

pilot

Есть сервер собственного написания.
Он поставляется в дистрибутиве.
При его использовании возможен взлом, какой именно — время покажет.
Сервер торчит в сеть.
Виндовый юзер не в курсе как защититься. Поэтому ему надо помочь и настроить что-то типа chroot при установке дистрибутива, или хотя бы в мануале расписать что делать админу.
Вот пример.

Ivan8209

Всё рассказано куда подробно. Далее следуют обоснования,
почему должно работать быстро и надёжно, которые не входят
в задачу. Просто считай, что сервер очень сложный и тяжёлый.
---
"Аллах не ведёт людей неверных."

agaaaa

осталось заменить
настроить что-то типа chroot
на то, что именно требуется и я готов пытаться придумать решение

Marinavo_0507

При его использовании возможен взлом, какой именно — время покажет.
Сервер торчит в сеть.
Решение проблемы Windows way:
1. На chroot или другую дополнительную защиту забить.
2. Когда пользователи станут недовольны дырявостью сервиса, выпустить версию 2.0; пообещать, что там все проблемы исправлены.
3. Profit!

pilot

Тебе виндовые слова сказать? Знал бы их — давно б сам проблему решил.

psihodog

> И что это даст?
То, что надо: телнетд не сможет ходить никуда, кроме мест явно прописанных.
В частности, решается исходная задача.

Marinavo_0507

То, что надо: телнетд не сможет ходить никуда, кроме мест явно прописанных.
В частности, решается исходная задача.
По-прежнему требуется следить за правами на все директории, доступ к которым должен быть запрещён. А таких гораздо больше, чем нужных для демона. Следовательно, исходная задача не решена, так как требуются слишком большое изменение политики безопасности.
Кажется, это я уже 2 раза объяснял.

psihodog

По-прежнему требуется следить за правами на все директории, доступ к которым должен быть запрещён.
зачем? не надо следить за ВСЕМИ директориями.
ты знаешь, что такое traverse checking?

Marinavo_0507

Да, я прочитал в msdn.
Помошник администратора поставит новую софтину (setup.exe, next, next, finish) - кто будет гарантировать, что на появившейся папке "c:\krivaya softina\6.66" права будут правильные?
Кто будет гарантировать, что и на следующий день права останутся правильными?
А если софтина ещё и в \windows\system32 важные файлы сложит, кто на них права выставит?
Дискреционная модель на эти вопросы ответа не даёт.
Да, и что делать с реестром?

psihodog

Помошник администратора поставит новую софтину (setup.exe, next, next, finish) - кто будет гарантировать, что на появившейся папке "c:\krivaya softina\6.66" права будут правильные?
я фигею
помощник администратора напишет в командной строке:
chmod -R 777 /

кто будет гарантировать, что это правильные права? %
Да, и что делать с реестром?
А что с реестром?

Marinavo_0507

помощник администратора напишет в командной строке
это будет его косяк
а вот если ты рассчитываешь, что в каждом из 1000 приложений все права будут выставлены правильно - это твой косяк, как автора политики безопасности
учитывая сложность современных приложений, нельзя рассчитывать, что администратор будет вручную расставлять права на файлы, им принадлежащие, а автоматического механизма ты не предложил
А что с реестром?
доступ к реестру нужно ограничивать аналогичным образом,
потому что в виндах это не менее чувствительное в плане безопасности хранилище, чем файловая система.

Ivan8209

Q. Что такое "реестр"?
A. Единая точка отказа системы, имеющая бинарный формат.
---
"Аллах не ведёт людей неверных."

Ivan8209

> я фигею
> помощник администратора напишет в командной строке:
> chmod -R 777 /
> кто будет гарантировать, что это правильные права?
chroot сработает и в этом случае: джину не выбраться из бутылки.
---
"Аллах не ведёт людей неверных."

psihodog

это будет его косяк
так же как и косяк помощника виндового админа.
а вот если ты рассчитываешь, что в каждом из 1000 приложений все права будут выставлены правильно - это твой косяк, как автора политики безопасности

если ты рассчитываешь, что в установочных скриптах ни одного из 1000 приложений нет строчки "rm -rf /", то это твой косяк, как автора политики безопасности.
этот диалог можно продолжать бесконечно.
накосячить можно и под виндой, и под *nix.
если встаёт какая-то конкретная задача, то она скорее всего решаема на любой платформе.
бывает, что на заданной платформе какая-то конкретная задача решается тяжело.
тогда (нормальный) админ без всякой дурацкой агитации перейдёт на ту систему, в которой эта задача решается проще.
то, что виндовые сервера используются, на мой взгляд говорит о том, что часть задач решается на них проще, чем на BSD, linux, etc...

Marinavo_0507

так же как и косяк помощника виндового админа.
неа
он всё по инструкции сделал
кроме того, как справедливо замечено, chroot сработает правильно даже в таком примере
если ты рассчитываешь, что в установочных скриптах ни одного из 1000 приложений нет строчки "rm -rf /", то это твой косяк, как автора политики безопасности.
как думаешь, что более реально:
1. что в дистрибутив приложения войдёт команда, удаляющая важные системные файлы,
2. или что там будут команды установки прав, которые могут нарушить твою политику безопасности?
первое обнаружится самым примитивным функциональным тестированием
средства обнаружения второго ты не предложил
мандатная модель хороша тем, что правильно работает даже в присутствии таких приложений
то, что виндовые сервера используются, на мой взгляд говорит о том, что часть задач решается на них проще, чем на BSD, linux
дом без замка на двери и с картонными стенами построить проще, чем настоящий; а когда ты уже в таком живёшь, купить замок проще, чем переселяться
к тому же производители замков отлично знают, что стены у тебя картонные, поэтому продадут тебе замок, открывающийся ногтем - так что тебе он обойдётся дешевле нормального, без потери в защищённости
тогда (нормальный) админ без всякой дурацкой агитации перейдёт на ту систему, в которой эта задача решается проще.
"агитация" нужна, чтобы другие админы понимали последствия своих "простых" решений

psihodog

> он всё по инструкции сделал
оба сделали по инструкции.
точнее, оба — не по инструкции: не проверили безопасность после установки приложения, критичного к секьюрити после его установки.
> кроме того, как справедливо замечено, chroot сработает правильно даже в таком примере
решение с BTC тоже будет работать, только если специально не постараться.
> как думаешь, что более реально:
> 1. что в дистрибутив приложения войдёт команда, удаляющая важные системные файлы,
> 2. или что там будут команды установки прав, которые могут нарушить твою политику безопасности?
блин... это я так... утрировал.
неужели не понятно, что юниксовый инсталляционный скрипт тоже может выполнить "команды установки прав, которые могут нарушить твою политику безопасности"?
> "агитация" нужна, чтобы другие админы понимали последствия своих "простых" решений
ну и какие последствия?
везде, где я работал, сетка держалась на винде.
никаких проблем я не замечал.

Marinavo_0507

оба сделали по инструкции.
точнее, оба — не по инструкции: не проверили безопасность после установки приложения, критичного к секьюрити после его установки.
уходишь от проблемы
во-первых, проверять надо не только для "критичных" приложений, а для всех (надеюсь, это после нескольких объяснений понятно почему?)
во-вторых, проверять надо не только после установки (кстати, ты не предложил способа, как это сделать автоматически а в каждый момент времени - новые директории могут появляться, и права могут изменяться в процессе работы
решение с BTC тоже будет работать, только если специально не постараться
специально стараться не надо
достаточно одного ненадёжного приложения или одной труднообнаружимой ошибки администратора
причём у врага будет время беспрепятственно эту ошибку поискать (даже в случае подозрения админ подумает, что это очередной червь, полезет обновлять антивирусы и совершать прочие бессмысленные действия)
неужели не понятно, что юниксовый инсталляционный скрипт тоже может выполнить "команды установки прав, которые могут нарушить твою политику безопасности"?
настоящий параноик просто так незнакомые скрипты не запускает
кстати, один из способов борьбы с ними также использует chroot или его более продвинутые аналоги
можно поставить в chroot базовую систему, содержащую только те пакеты, которые необходимы для установки данного приложения (для автоматизации этого процесса есть спец.средства потом посмотреть, что там натворил инсталлятор (для автоматизации этого процесса опять же есть спец.средства и потом уже результат, если он понравится, перенести в основную систему(снова есть средства автоматизации)
такой способ гарантирует, что во время установки непредусмотренных изменений не произойдёт, а то инсталляционные скрипты действительно бывают "левые", которые трогают что ни попадя
это для бинарных инсталляторов, нормальный скрипт как правило проще глазами посмотреть
везде, где я работал, сетка держалась на винде.
никаких проблем я не замечал.
многие жители гз редко закрывают дверь в комнату
у некоторых из них таки воруют ценные вещи
эффект от червей типа sasser'а, которые успешно продолжают свою работу в течение долгих лет, показывают хроническую неадекватность модели безопасности виндов
и этого тупой червь смог достичь, так что на этом фоне целевые атаки интеллектуальных злоумышленников менее заметны (по количеству, а это ещё не означает, что по ущербу)

Oper

А что конкретно надо сделать "по инструкции" для установки, ну скажем, apache ? (не забудь дополнить анализ установочных скриптов доказательством корректности исходного кода и тп) И еще один вопрос: сколько денег по-твоему надо заплатить админу за то, чтобы он хоть какое-то приложение "по инструкции" установил ?

Dasar

> а вот если ты рассчитываешь, что в каждом из 1000 приложений все права будут выставлены правильно - это твой косяк, как автора политики безопасности
почему ты считаешь, что для 1000 приложений будет правильно выставлен chroot?
сколько операций необходимо проделать чтобы заключить в chroot приложение, которое требует большое кол-во разных ресурсов (например, большую бд(oracle, db2 какую-нибудь большую игрушку и т.д.) ?

Marinavo_0507

почему ты считаешь, что для 1000 приложений будет правильно выставлен chroot?
в модельной задаче выше предлагается заключать в chroot только то приложение, для которого в высокой вероятностью может быть найден remote exploit
1000 остальных приложений запускаются локальными пользователями и потому могут предоставить возможность только для локальной эскалации привилегий
сколько операций необходимо проделать чтобы заключить в chroot приложение, которое требует большое кол-во разных ресурсов (например, большую бд(oracle, db2)
для таких сервисов методика приведена выше
в ней нужно опустить только последний шаг - вынос приложения наружу
и добавить вместо него создание обёртки для инитскрипта (2 строчки)
по поводу игрушек - для этого chroot не очень хорошо подходит, нужны другие средства мандатной защиты
в первую очередь на графическую подсистему нужно обратить внимание
эти вопросы я проанализировал ранее в этом треде

evgen5555



админ подумает, что это очередной червь, полезет обновлять антивирусы
Вот в чем ошибка — линуксоиды думают, что люди в отличном от их случая будут совершать наитупейшие действия, немедленно приводящие к краху.
Может, примеры какие-нибудь приведете? а то уже читать неинтересно

Marinavo_0507

дык не читай, иди лучше отключи BTC и антивирус обнови

sergey_m

я бы за такое ТЗ уволил
Тебе ещё учиться и учиться до того, чтобы кого-то увольнять.

sergey_m

Q. Что такое "реестр"?
A. Единая точка отказа системы, имеющая бинарный формат.
Жесть! Это ты сам придумал или появилось в новых выпусках R.O.C. FAQ?

sergey_m

сетка держалась на винде.
Это как?

tamusyav

эффект от червей типа sasser'а, которые успешно продолжают свою работу в течение долгих лет, показывают хроническую неадекватность модели безопасности виндов
Криво настроенный линукс тоже может предоставить свободу подобным вещам. Только встречается заметно реже, потому среди *ксоидов чуть-чуть меньше людей, не имеющих представления об администрировании компа. Не говоря уже о количестве машин с *ксами.

Marinavo_0507

Криво настроенный линукс тоже может предоставить свободу подобным вещам.
А что делать пряморукому админу виндов? Предложите механизмы, которые он может использовать для защиты. Пока что предложили отключить BTC Вы сами-то верите, что это хоть сколько-нибудь заметно повышает безопасность?

tamusyav

(млин, зачем я ввязался в эту бесплодную дискуссию...)
А что делать пряморукому админу виндов? Предложите механизмы, которые он может использовать для защиты. Пока что предложили отключить BTC Вы сами-то верите, что это хоть сколько-нибудь заметно повышает безопасность?
Я вообще-то говорил совсем о другом. А именно о том, что пример с sasser'ом - неудачный. Да, он распространился быстро из-за серьезной дыры в безопасности. Но если бы все виндузятники своевременно обновляли ОС, то этот червь долго бы не прожил. Не говоря уже о том, что распространение sasser в большинстве случаев можно блокировать примитивным файерволом. Так что основная причина здесь не "хроническая неадекватность модели безопасности", а просто то, что люди не обращают внимания на возможность подобных атак. Винды тут при чем лишь потому, что этот червь разработан лишь для них.

Marinavo_0507

Да, он распространился быстро из-за серьезной дыры в безопасности. Но если бы все виндузятники своевременно обновляли ОС, то этот червь долго бы не прожил.
Дело не в том, что он однажды распространился.
А в том, что через несколько лет аналогичный червь опять распространился через дыру в том же компоненте. Что, за эти годы никто не обновил ОС? Почти все обновили, только вот обновления не включали в себя исправления проблемы, которая делает возможными такие атаки.
Не говоря уже о том, что распространение sasser в большинстве случаев можно блокировать примитивным файерволом.
Тупого червя вообще легко победить. А от злоумышленника файрволом не отделаешься, если конечно ты используешь сеть, а не сидишь автономно в бункере. Потому что проблема состоит в том, что сервис для обмена файлами имеет слишком много привилегий.

tamusyav

Потому что проблема состоит в том, что сервис для обмена файлами имеет слишком много привилегий.
Ну, sasser вообще-то не через него распространялся, а через RPC, насколько я помню. А насчет того, что "почти все обновили", я бы сказал, далеко не все. Sasser жив до сих пор, именно за счет тех, которые "не все".
А от злоумышленника файрволом не отделаешься, если конечно ты используешь сеть, а не сидишь автономно в бункере.
Согласен. Но направленная атака проводится не на каждый компьютер. Соглашусь, пожалуй и с тем, что с отражением таких атак в виндах дело обстоит не лучшим образом. Только вот что будет проще: делать из машины неприступный бастион, на который почти наверняка массированной атаки не будет, или поставить легкую стенку, которую легко восстановить вместе с тем, что повреждено внутри? Ответ, очевидно, зависит от того, что внутри, и возможных последствий его кражи/утраты.

Ivan8209

Это было, скорее всего, в R.O.C., но попало ли в F.A.Q. --- не знаю.
---
"Аллах не ведёт людей неверных."

Marinavo_0507

Ну, sasser вообще-то не через него распространялся, а через RPC, насколько я помню.
Порты те же самые, так что с точки зрения "простейшего файрвола" - это тот же самый сервис.
А насчет того, что "почти все обновили", я бы сказал, далеко не все. Sasser жив до сих пор, именно за счет тех, которые "не все".
Sasser не жив. Появляются новые черви после каждой найденной дыры. Потому что сервис аутентификации имеет гораздо больше привилегий, чем нужно для его работы.

Marinavo_0507

Но направленная атака проводится не на каждый компьютер.
Откуда ты можешь это знать, если, допустим, к тебе залезало в разное время 10 разных вирусов и троянов, которые были обнаружены антивирусом? В типичном компе других средств защиты нет, периодическую проверку целостности никто не производит, всё глюки списываются на мастдай. В этой ситуации вполне мог появиться одинадцатый троян, который не был обнаружен антивирусами по причине своей направленной природы.
Ответ, очевидно, зависит от того, что внутри, и возможных последствий его кражи/утраты.
Я и призываю грамотно оценивать риски, а не утверждать, что никакие другие средства защиты не нужны, потому что не нужны никогда.
Понятно, что если ты в игрушки только играешься на компе, то это одно, а если там, например, ценные данные компании проходят - то другое (сервер или десктоп - это непринципиально, данные и там, и там могут быть). Да даже если очередной червь прикола ради выложит все фотки на компе в открытый доступ - многим может быть неприятно.

pilot

Но направленная атака проводится не на каждый компьютер. Соглашусь, пожалуй и с тем, что с отражением таких атак в виндах дело обстоит не лучшим образом. Только вот что будет проще: делать из машины неприступный бастион, на который почти наверняка массированной атаки не будет, или поставить легкую стенку, которую легко восстановить вместе с тем, что повреждено внутри? Ответ, очевидно, зависит от того, что внутри, и возможных последствий его кражи/утраты.

Т.е. мне на дистрибутиве написать "Для домохозяек"? Или "Дистрибутив дырявый, ставьте нормальную систему если что"?
Прога стоит денег. Меня совсем не устраивает чтобы отказ системы произошел по вине разработчика этой проги — потому что ее просто перестанут покупать. А я даже не смогу отмазаться "надо было читать документацию".

spitfire

Видел где-то прекрасную фразу:
"Стремясь к тому, чтобы Windows-сервер смогла поставить даже кухарка, мы неизбежно приходим к тому, что поставить Windows на сервер может прийти в голову разве что кухарке".

psihodog

Это как?
Инфраструктура вся на виндовых серверах: AD, почта, фтп и шары всякие, телефония, source control, шлюзы, VPNы, etc.
Оставить комментарий
Имя или ник:
Комментарий: