|
|
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
tygra Если так серьезно подходить к этому вопросу и делать такие выводы, то счеты, кантонский диалект китайского языка и кубометр бумаги А4 будет самым лучшим выходом - никто не взломает и ничего не поймет :)) Ну еще бутылка керосина и зажигалка - на случай прихода налоговой :) Эх, тигра, тигра... Вы просто мастер утритровать все и доводить до абсурда. Конечно, защита должна быть адекватна стоящим перед компанией задачам. В компании "Шараш-монтаж" такая защита скорее всего не нужна. А скажем в банках, других финансовых организациях, в некоторых госучреждениях, в торговых организациях, сталкивающихся с большой конкуренцией, да в и в куче других областей нужно серьезно задумываться о конфиденциальности даных как минимум, для некоторых также важна бесперебойная работа. Просто для таких организация стоимость взлома может быть на порядки меньше, чем потери такой организации или прибыль конкурента от этого, поэтому у многих людей могут возникнуть соответствующие соблазны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 14:06 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
VladiChНо существуют и другие способы взлома, для которых эти рекомендации не подойдут, .... OK, то есть от хэша мы отвязывается. Честно говоря, обсуждать некую глобальную "защищенность вообще" я не готов, во всяком случае детально. Давайте локально сойдемся вот на чем: данная статья сама по себе никак не свидетельствует о том, что Oracle беззащитен и обязательно должен быть укрыт от непосредственного доступа. VladiChПо предыдущему опыту известно, что различные дыры, связанные с переполнением буфера, позволяющим выполнять произвольный код и подобными вещами проявляются довольно регулярно, для MSSQL в довольно массовом порядке в свое время появлялись черви, эксплуатирующие эти дыры. Я как-то просматривал списки известных уязвимостей оракла - по мелочи конечно много, но ничего серьезного. Нисколько не имею в виду, что этого нет, просто опять же - неизвестно. В целом - действует все тот же ограничивающий фактор: укрыв одни дыры, открываем другие. Никто априори не поручится, что взломать оракл проще, чем взломать укрывающий его аппсервер, и "выполнить код" будет практически равно "получить доступ с правами самого крутого из пользователей, работающих через этот аппсервер". VladiChЗдесь все очень просто: если потери от простоя СУБД в случае подобной атаки будут превышать стоимость организации необходимой защиты, то собственно такая защита необходима. Время простоя можно оценить с более-менее приемлемой точностью. Не возражаю. Повторюсь: начинать имхо следует именно с этого, а не "любой организации, которой важна стабильная работа..." VladiChDoS-атака как правило не позволяет получить контроль над атакуемой машиной, просто выводит соответствующий сервис из строя на некоторое время или до перезагрузки. Следовательно, в случае ограничения доступа к СУБД на сетевом уровне это атакующему никак не поможет, только сломает внешний интерфейс к СУБД, внутренний будет работать как и работал. Где-то сломанного внешнего интерфейса будет достаточно. Где-то - внешнего интерфейса вообще нет, есть только внутренний. Где-то названная Вами ситуация - устраивает. Oracle, насколько я помню, от DOS-атак защищался. В любом случае все это надо смотреть применительно к конкретному случаю, не из общих соображений. Поясню: мне, собственно, не нравится точка зрения "заведомо не защищен". Ничего более. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 15:18 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
softwarer VladiChЗдесь все очень просто: если потери от простоя СУБД в случае подобной атаки будут превышать стоимость организации необходимой защиты, то собственно такая защита необходима. Время простоя можно оценить с более-менее приемлемой точностью. Не возражаю. Повторюсь: начинать имхо следует именно с этого, а не "любой организации, которой важна стабильная работа..." Это я и подразумевал, говоря "важна стабильная работа", так что противоречия не вижу. softwarer VladiChDoS-атака как правило не позволяет получить контроль над атакуемой машиной, просто выводит соответствующий сервис из строя на некоторое время или до перезагрузки. Следовательно, в случае ограничения доступа к СУБД на сетевом уровне это атакующему никак не поможет, только сломает внешний интерфейс к СУБД, внутренний будет работать как и работал. Где-то сломанного внешнего интерфейса будет достаточно. Где-то - внешнего интерфейса вообще нет, есть только внутренний. Где-то названная Вами ситуация - устраивает. Oracle, насколько я помню, от DOS-атак защищался. В любом случае все это надо смотреть применительно к конкретному случаю, не из общих соображений. Поясню: мне, собственно, не нравится точка зрения "заведомо не защищен". Ничего более. Если стабильность внешнего интерфейса важна для компании (в том же смысле, что и "важна стабильная работа"), то это отдельный разговор, также как и в случае когда есть только внутренний интерфейс. Разумеется, в каждой конкретной ситуации есть много своих нюансов, но я считаю, что некий обобщенный подход к обеспечению безопасности СУБД можно вывести. И первым принципом в этом подходе должен быть как раз принцип "заведомо не защищен". То есть мы не можем в настоящее время гарантировать, что не появятся новые способы взлома, помимо известных, которыми не успеет кто-либо воспользоваться. Поэтому надо прогнозировать ситуацию вперед и использовать методы защиты, гарантирующие от определенных классов таких способов сразу. Вероятность появления нового класса способов значительно ниже. Вторым - принцип разумной необходимости, чтобы отсечь необоснованно дорогостоящие и трудозатратные методы защиты. То есть я за то, чтобы подходить к оценке безопасности системы изначально пессимистически. Последний абзац не претендует на истину в последней инстанции, считайте это моим ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 15:53 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
softwarerЧестно говоря, обсуждать некую глобальную "защищенность вообще" я не готов, во всяком случае детально. Давайте локально сойдемся вот на чем: данная статья сама по себе никак не свидетельствует о том, что Oracle беззащитен и обязательно должен быть укрыт от непосредственного доступа. Согласен, данная статья об этом не говорит, она говорит только об одной проблеме и способе относительно надежно эту проблему решить. Но я говорю о проблеме обеспечения безопасности СУБД, которая гораздо шире, а данные из этой статьи являются для меня одним из аргументов в пользу дополнительных уровней защиты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 16:11 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
VladiChЭто я и подразумевал, говоря "важна стабильная работа", так что противоречия не вижу. Противоречие в том, что Ваше понимание стабильности (метрика, которой Вы пользуетесь), не единственно. Как любили когда-то говорить - "поосторожней с кванторами". Позволю себе цитату: Я считаю, что организация, для которой важна стабильная работа СУБД и конфиденциальность хранящейся в ней информации, должна строить многуровневую защиту, Резюме: я считаю, что многим организациям, для которых важна стабильная работа СУБД и конфиденциальность информации в ней, одноуровневая защита даст вполне адекватное решение. Разница между моим "важно" и Вашим "важно" - исключительно в численном значении метрики. VladiChЕсли стабильность внешнего интерфейса важна для компании (в том же смысле, что и "важна стабильная работа"), то это отдельный разговор, также как и в случае когда есть только внутренний интерфейс. Разумеется, в каждой конкретной ситуации есть много своих нюансов, но я считаю, что некий обобщенный подход к обеспечению безопасности СУБД можно вывести. Некий обобщенный подход вывести можно, но в практичности полученного результата я изрядно сомневаюсь. Это будет очередной монстр. Собственно, такие вот обобщенные подходы уже выведены в других областях. Например, они называются SAP R/3 и Oracle E-Business Suite. Следует ли из этого, что любой фирме, которой важна автоматизация бизнеса, следует внедрять один из этих продуктов? VladiChИ первым принципом в этом подходе должен быть как раз принцип "заведомо не защищен". Причем, примененный абсолютно к любому применяемому инструменту, в том числе к системе защиты. Итого - ничего не защищено, расслабляемся и ожидаем получения удовольствия. VladiChПоэтому надо прогнозировать ситуацию вперед и использовать методы защиты, гарантирующие от определенных классов таких способов сразу. Я вижу один такой способ - рубануть топором по интернет-кабелю. В существование других я не верю. Вы в данном случае говорите только о подмене одного фасада другим, соответственно одних уязвимостей - другими. Чем одно лучше другого - если говорить абстрактно, то не вижу. Предметно - надо смотреть. Если говорить о многоуровневости как таковой, при правильной реализации она повышает надежность системы, состоящей из ненадежных компонент. Ключевой аспект - правильная реализация; без обоснования, как мнение - я уверен, что больше половины имеющихся "многозвенок" сломать будет легче, чем их хост-сервер. И тут уже идет вопрос все той же метрики, стоимости и вероятной выгоды. VladiChТо есть я за то, чтобы подходить к оценке безопасности системы изначально пессимистически. Если говорить о "взламывается все" - безусловно. Вопрос в том, что далеко не всегда имеет смысл подходить к безопасности с точки зрения информации, стоящей, допустим $10.000.000. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 16:23 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
VladiChСогласен, данная статья об этом не говорит, она говорит только об одной проблеме и способе относительно надежно эту проблему решить. Но я говорю о проблеме обеспечения безопасности СУБД, которая гораздо шире, а данные из этой статьи являются для меня одним из аргументов в пользу дополнительных уровней защиты. Хм. Боюсь, не вижу логики в рассуждении: "проблема может быть надежно решена, но тем не менее ее существование является аргументом в пользу поиска дополнительных решений". Опять-таки, пока мы не говорим о некоей абсолютно максимизированной защите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 16:26 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
softwarerСобственно, такие вот обобщенные подходы уже выведены в других областях. Например, они называются SAP R/3 и Oracle E-Business Suite. Следует ли из этого, что любой фирме, которой важна автоматизация бизнеса, следует внедрять один из этих продуктов? Аналогия несколько некорректна. Вы путаете подход с конкретными средствами. Подход сам по себе более гибок и не исключает использования различных средств, в том числе средств обеспечения безопасности. softwarerХм. Боюсь, не вижу логики в рассуждении: "проблема может быть надежно решена, но тем не менее ее существование является аргументом в пользу поиска дополнительных решений". Опять-таки, пока мы не говорим о некоей абсолютно максимизированной защите. В отрыве от контекста может быть и нет логики. Но если учесть, что в области безопасности ситуация совсем не статична, что наличие таких проблем свидетельствует о том, что безопасности самого продукта уделяли недостаточно много внимания и т.п. В конечном итоге, вопрос о выборе стратегии защиты, как Вы правильно сказали, упирается в количественные и качественные оценки ситуации, которые, как я вижу, для Вас существенно зависят от доверия к конкретному производителю СУБД. А любая подобная проблема автоматически снижает уровень доверия. Хотя по моему убеждению, доверие - это то, что должно влиять на оценку ситуации в последнюю очередь. Вы рассуждаете несколько абстрактно об этом, а теперь попробуйте поставить себя на место человека, который, я извиняюсь, своей задницей отвечает за безопасность системы, и при этом есть довольно ненулевая вероятность того, что эту систему будут ломать. Я думаю, в этом случае для Вас приоритеты выстроятся примерно в той же последовательности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 16:49 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
softwarerХм. Боюсь, не вижу логики в рассуждении: "проблема может быть надежно решена, но тем не менее ее существование является аргументом в пользу поиска дополнительных решений". Нагло залез в ваше обсуждение. Даже не зная о чем вы говорите :), логика в этой фразе есть, если слово "дополнительных" заменить на слово "альтернативных" Т.е. можно решить проблему, но если есть решения, где ее нет вообще - имеет смысл их рассмотреть. Только что вернулся с совещания, где об этом шла речь. Если я это сказал "не в тему", прошу извинить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2005, 17:06 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
Жаль зафлеймили тему. www.uncommon-logic.com/urry/3t/scheme1.htm - заготовка классификации 2/3 звенной архитектуры. Где-то была нормальная (не нашел). Пришлось лабать по памяти. t - это время на маршаллинг/анмаршаллинг данных между компонентами приложения. Насколько понял - основная война здесь между адептами п.5, которые думают, что "нормальная" трехзвенка - это 6. и спецов, которые ничего плохого в п.9. не видят. ИМХО. доказывать кому-то, что п.9. работоспособен - пустая трата времени. Каждый вариант оптимален для своего случая. Утверждение "трехзвенка ВСЕГДА медленнее .." отношу к потешным казусам. Ибо: T - Время затраченное на выполнение работы R t - время, затраченное на передачу данных между приложения. Тn - время затраченное на выполнение части работы Т в отдельном компоненте приложения. Имеются такие значения T и Тn, при которых (T1+t1+T2+t2+T3) < T ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2005, 23:31 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
UrryMcAзаготовка классификации 2/3 звенной архитектуры. Где-то была нормальная (не нашел). Пришлось лабать по памяти. Я бы отделил варианты User Interface и Remote UI Engine / Terminal (например, для того же веба). Это довольно сильно меняет картину с точки зрения защищенности (в частности, второй вариант в определенной степени защищает бизнес-логику от ошибок переполнения или несовместимой комбинации параметров). UrryMcAНасколько понял - основная война здесь между адептами п.5, которые думают, что "нормальная" трехзвенка - это 6. и спецов, которые ничего плохого в п.9. не видят. Не вижу, с чего Вы сделали такой вывод, как впрочем и нашли "войну". Такое впечатление, что просто наткнулись на любимую тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 12:19 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
>>Я бы отделил варианты User Interface и Remote UI Engine / Terminal (например, для того же веба). Это довольно сильно меняет картину с точки зрения защищенности (в частности, второй вариант в определенной степени защищает бизнес-логику от ошибок переполнения или несовместимой комбинации параметров). Можно картинку? >>Не вижу, с чего Вы сделали такой вывод, как впрочем и нашли "войну". Слово "война" конечно преувеличение, но конфликт налицо. >>Такое впечатление, что просто наткнулись на любимую тему Тема N-tier - скорее "больная" или "животрепещущая". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 12:46 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
VladiChАналогия несколько некорректна. Вы путаете подход с конкретными средствами. Нисколько. Я указал известный представителей определенного класса средств, реализующих подобный подход. Попросту - далеко не всегда осмысленно палить из пушки по воробьям. VladiChВ отрыве от контекста может быть и нет логики. Но если учесть, что в области безопасности ситуация совсем не статична, что наличие таких проблем свидетельствует о том, что безопасности самого продукта уделяли недостаточно много внимания и т.п. Повторюсь: "достаточно", "недостаточно" - либо вопрос количественных оценок, либо же цели "максимизировать настолько, насколько это вообще возможно". Если говорить о безопасности Оракла, в ней безусловно есть проблемы (как и в любом другом распространенном продукте), но как раз в данном случае я проблемы не вижу ("делайте пароль достаточной длины" - рекомендация абсолютно ко всем). VladiChВ конечном итоге, вопрос о выборе стратегии защиты, как Вы правильно сказали, упирается в количественные и качественные оценки ситуации, которые, как я вижу, для Вас существенно зависят от доверия к конкретному производителю СУБД. Отнюдь. Если говорить о качественной оценке ситуации, то я в первую очередь не доверяю наколеночным решениям - из-за низкой вероятности того, что стратегия защиты была продумана компетентными специалистами и реализована со знанием необходимых деталей. Я полагаю эту опасность более серьезной, чем опасность известности проблем известного же продукта. Практически - я видел впечатлившее меня количество/качество реализаций, которые именно что ослабляли суммарную защиту относительно варианта "выставить неприкрытую БД". Скажем, в этой статье говорится о "соли". Правильно говорится - но как Вам вариант, в котором защита опиралась на первые пять букв логина? Это, разумеется, не относится к частным решениям проверенного и подтвержденного качества. VladiChВы рассуждаете несколько абстрактно об этом, а теперь попробуйте поставить себя на место человека, который, я извиняюсь, своей задницей отвечает за безопасность системы, и при этом есть довольно ненулевая вероятность того, что эту систему будут ломать. Я думаю, в этом случае для Вас приоритеты выстроятся примерно в той же последовательности. У меня на это будет два ответа. 1. То есть, говоря абстрактно, Вы таки ставите задачу максимизации; сколь возможно защищено независимо от стоимости. Если помните, я сразу сказал, что в этом случае, безусловно, защита СУБД должна быть последним рубежом и перед ней должна быть куча других. 2. Я стоял на этом месте, только не в плане безопасности, а в плане надежной-бесперебойной работы. Довольно быстро моим рекомендациям стали доверять, по-моему не столько из-за аргументации, сколько из-за того, что предсказанные мной проблемы пару раз сбывались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 12:49 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
UrryMcAМожно картинку? [Storage, BL] <---> [BL, Remote UI Engine] <---> [Terminal/Browser], примерно так. UrryMcAСлово "война" конечно преувеличение, но конфликт налицо. Таки не вижу, где Вы его нашли. На первых страницах был мой конфликт с Валентином, еще ряд острых высказываний, и в общем-то все. UrryMcA>>Такое впечатление, что просто наткнулись на любимую тему Тема N-tier - скорее "больная" или "животрепещущая". И это тоже. Просто, судя по Вашим письмам, Вы пробежали тему весьма мельком (что вполне понятно, учитывая размер) и говорите "по старой памяти", по следам кучи других таких тем. Например, я здорово не уверен, что Вы сможете показать в этой теме хоть одного "апологета 5", если не спутал, "который считает, что трехзвенка - это 6". А такой подход типичен для случая, когда позиция сформирована, забронирована и принципиально непоколебима задолго до начала обсуждения. Сравните, например, с письмом Aviant чуть выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 13:02 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
>>Просто, судя по Вашим письмам ?? Вообще-то оно первое и единственное было >>Таки не вижу, где Вы его нашли. На первых страницах был мой конфликт с >>Валентином, еще ряд острых высказываний, и в общем-то все. >>не уверен, что Вы сможете показать в этой теме хоть одного "апологета 5", если не спутал, "который считает, что трехзвенка - это 6". А такой подход типичен для случая, когда позиция сформирована, забронирована и принципиально непоколебима задолго до начала обсуждения. Сравните, например, с письмом Aviant чуть выше. вывод сделан на основе достаточно безапеляционных высказываний Валентина К. Отчасти я с ним согласен, но это не означает, что он прав на все 100%. Предлагаю мое ИМХО забыть и таки продолжить обсуждать не персоналии, а архитектуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 13:14 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
>>Я бы отделил варианты User Interface и Remote UI Engine / Terminal >>(например, для того же веба). Это довольно сильно меняет картину с точки >>зрения защищенности (в частности, второй вариант в определенной степени >>защищает бизнес-логику от ошибок переполнения или несовместимой >>комбинации параметров). >>[Storage, BL] <---> [BL, Remote UI Engine] <---> [Terminal/Browser], примерно так. Полностью согласен - вечером сделаю изменения в схеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 14:10 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
softwarer 1. То есть, говоря абстрактно, Вы таки ставите задачу максимизации; сколь возможно защищено независимо от стоимости. Если помните, я сразу сказал, что в этом случае, безусловно, защита СУБД должна быть последним рубежом и перед ней должна быть куча других. Говоря абстрактно, я ставлю задачу максимизации защиты при определенном бюджете. Причем в определенных пределах могу влиять на размер выделяемого для этой цели бюджета. Разумеется, при максимально возможной защите ее стоимость будет стремиться к бесконечности, так что здесь речь об этом не идет. Еще раз повторюсь - речь я веду о случае, когда к системе требуется удаленый доступ извне локальной сети. Здесь возможны варианты - 1. 2-хзвенная система, СУБД открыта наружу 2. 3-звенная система, СУБД закрыта снаружи 3. 2-хзвенная система, в которой СУБД закрыта снаружи, а доступ производится дополнительными средствами - терминал, VPN, а лучше их комбинацией. Я согласен, что для многих случаев варианта 1 вполне достаточно - это те случаи, когда стоимость взлома СУБД выше чем ценность хранящейся в ней информации. Боюсь, что в большинстве компаний, не относящихся к малому бизнесу, стоимость хранящейся информации превышает стоимость взлома некоей усредненной СУБД с администратором средней квалификации. Варианты 2 и 3 более-менее равнозначны по защищенности и могут подходить для большинства случаев. Наиболее просто реализовать вариант 3 в случае, когда система изначально писалась с рассчетом на 2-хзвенку, но вариант 2 тоже довольно неплох и для многих случаев удобне 3-го. softwarerЯ бы отделил варианты User Interface и Remote UI Engine / Terminal (например, для того же веба). Это довольно сильно меняет картину с точки зрения защищенности (в частности, второй вариант в определенной степени защищает бизнес-логику от ошибок переполнения или несовместимой комбинации параметров). Кстати, веб-приложения - это все-таки 3-хзвенка. В вырожденном варианте, когда браузер используется только для отображения информации, эта модель близка к 2-хзвенной, по моей классификации к варианту 3, но сейчас тенденции таковы, что клиентские приложения, выполняемые в браузере, все больше и больше "тяжелеют", логика их работы больше смещается в сторону десктопных приложений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 14:10 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
OK. В целом я согласен с Вами, исключительно отдельные замечания, которые наверное стоит опустить для экономии места и времени. Кстати, веб-приложения - это все-таки 3-хзвенка. В вырожденном варианте, когда браузер используется только для отображения информации, эта модель близка к 2-хзвенной, У меня на эту модель есть хороший пример - это такая же трехзвенка, как если я возьму RAdmin, XWindows или любое другое приложение, поддерживающее концепцию удаленного десктопа, зайду им на машину, на которой крутится клиент "обычного двухзвенного приложения" и буду так работать. С точки защиты, конечно, это "более трехзвенка", нежели с точки зрения программирования - поскольку появляется лишний потенциально уязвимый канал. Но тем не менее, между таким вот терминальным клиентом и толстым клиентом есть практическое важное отличие: ездят "данные" или ездят "нажатия на кнопки". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 14:47 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
softwarerУ меня на эту модель есть хороший пример - это такая же трехзвенка, как если я возьму RAdmin, XWindows или любое другое приложение, поддерживающее концепцию удаленного десктопа, зайду им на машину, на которой крутится клиент "обычного двухзвенного приложения" и буду так работать. С точки защиты, конечно, это "более трехзвенка", нежели с точки зрения программирования - поскольку появляется лишний потенциально уязвимый канал. Но тем не менее, между таким вот терминальным клиентом и толстым клиентом есть практическое важное отличие: ездят "данные" или ездят "нажатия на кнопки". Данные ездят в любом веб-приложении, так что сравнивать их с терминалом некорректно. Но я говорил не об этом. Веб-приложения бывают ведь разные. К примеру, сейчас довольно популярен такой принцип их разработки как AJAX, т.е. когда страница - это по сути полнофункциональное приложение, загружается один раз и дальше взаимодействует с сервером путем вызова различного рода веб-сервисов. От толстого клиента по сути дела ничем не отличается, кроме первоначальной загрузки с сервера (хотя может грузиться и с локального диска - тут это значения не имеет). Загрузка с сервера только избавляет от проблемы обновления клиента. Технологии эти пока еще не совсем зрелые, но уже многими используются - посмотрите например google-овские сервисы - тот же GMail и т.п. Ну и скажем веб-приложение с Java-апплетом - это ведь тоже веб-приложение? Oracle кстати такие приложения очень любит. Чем они от толстого клиента отличаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 15:08 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
VladiChДанные ездят в любом веб-приложении, так что сравнивать их с терминалом некорректно. Данные в тонком клиенте ездят практически так же, как в терминале, только собранными в пакеты. Главное здесь - в обоих случаях, вмешавшись в работу на этом участке, я не смогу сделать того, чего не позволяет интерфейс (в том виде, как он реализован на UI Engine). Если же я подключаюсь непосредственно к слою бизнес-логики, я могу вызвать любые процедуры в любой последовательности с любыми параметрами итп - соответственно, возрастает уязвимость этого слоя. VladiChНо я говорил не об этом. Веб-приложения бывают ведь разные. Безусловно. И если не ошибаюсь, я нигде не говорил, что "все веб-приложения являются тонкими клиентами". Я сказал "например, веб" - поскольку такая организация типична именно для веб-приложений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 15:31 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
>>Если подключаюсь непосредственно к слою бизнес-логики, я могу вызвать >>любые процедуры в любой последовательности с любыми параметрами итп - >>соответственно, возрастает уязвимость этого слоя. Не факт. До того как данные дойдут до слоя бизнес-логики они в любом случае пройдут ч/з процесс аутенификации, анмаршаллинга и валидации (это кстати заметно увеличит время отклика). "Просто так" послать "от балды" пакет данных и повесить сервер(испортить данные) не получится (по крайней мере в грамотно спроектированой системе). Это можно сделать только "разобрав" клиента и переписав его. Но и это не даст 100% гарантии хака БД. Т.к. есть еще слои, которые отвечают за логическую целостность БД и система прав доступа. Для того, чтобы "правильно" сломать систему (перегнать деньги именно на свой банковский счет, а не счет ходорковского), а не просто подвесить - нужно как минимум знать архитектуру системы. В общем и целом - защита N-tier систем является отдельной обширной и занимательной темой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 19:55 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
UrryMcA>>Если подключаюсь непосредственно к слою бизнес-логики, я могу вызвать >>любые процедуры в любой последовательности с любыми параметрами итп - >>соответственно, возрастает уязвимость этого слоя. Не факт. Факт. Впрочем, возможно мы уперлись в терминологические различия. UrryMcAДо того как данные дойдут до слоя бизнес-логики они в любом случае пройдут ч/з процесс аутенификации, анмаршаллинга и валидации (это кстати заметно увеличит время отклика). Безусловно, пройдут. Все это - сугубо технические операции, не имеющие отношения к сути выполняемых действий. UrryMcA"Просто так" послать "от балды" пакет данных и повесить сервер(испортить данные) не получится (по крайней мере в грамотно спроектированой системе). Это можно сделать только "разобрав" клиента и переписав его. C точностью до терминологии - безусловно. И "от балды" - нигде не предлагается. Постараюсь сформулировать еще раз, максимально четко: Допустим, у нас есть бизнес-функции P1, P2, ... PN, PSuper. Интерфейс может быть организован и практически всегда организован так, что эти бизнес-функции могут быть вызваны только в некоторых из теоретически возможных комбинаций. Например, только так: Pi 1 , PSuper, Pi 2 , PSuper, ..... В случае, если клиент (звено) общается непосредственно со слоем бизнес-логики (звено), имитируя работу клиента, я могу вызвать эти бизнес-функции в произвольной последовательности, не встречающейся в нормальной практике работы приложения, например Pi 1 , Pi 2 , Pi 3 , PSuper. Такая последовательность вызовов может нарушить нормальную работу системы. В случае, если терминальный сервер, ?sp-движок итп. расположен на промежуточном звене, подобное нарушение невозможно. Вывод: организация сервера "с открытой наружу бизнес-логикой" в принципе является определенным фактором риска и терминальная организация работы с этой точки зрения имеет некоторое преимущество. UrryMcAНо и это не даст 100% гарантии хака БД. Т.к. есть еще слои, которые отвечают за логическую целостность БД и система прав доступа. Безусловно. Но мы же говорим с позиции человека, которому нужно 0% вероятности.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2005, 16:22 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
>>Вывод: организация сервера "с открытой наружу бизнес-логикой" в >>принципе является определенным фактором риска и терминальная >>организация работы с этой точки зрения имеет некоторое преимущество. Согласен 100%. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2005, 16:44 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
softwarer Допустим, у нас есть бизнес-функции P1, P2, ... PN, PSuper. Интерфейс может быть организован и практически всегда организован так, что эти бизнес-функции могут быть вызваны только в некоторых из теоретически возможных комбинаций. Например, только так: Pi 1 , PSuper, Pi 2 , PSuper, ..... В случае, если клиент (звено) общается непосредственно со слоем бизнес-логики (звено), имитируя работу клиента, я могу вызвать эти бизнес-функции в произвольной последовательности, не встречающейся в нормальной практике работы приложения, например Pi 1 , Pi 2 , Pi 3 , PSuper. Такая последовательность вызовов может нарушить нормальную работу системы. Это значит ошибку архитектора. Если некие безнесфункции могут быть выполнены только в в определнной последовательности значит это не несколько бузнесфункций, а одна. И наружу аппсервера она должна торчать как одна атомарная операция. А уж на что она там распадается внутри - неважно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 00:32 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
awhilerЭто значит ошибку архитектора. Допустим. И кому легче от того, что система будет взломана из-за ошибки архитектора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 12:56 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
Ветка все еще не утихнет... По безопасности в базах данных, их реализации на практике, которые годятся и для банков тоже советую почитат в Королевстве Делфи. Статья, и не одна касается не Делфи, а именно подходов и конкретных реализаций защиты, экстренного разрушения и прочего. Не хочу пересказывать, но коментатары узнают для себя достаточно интересного, лежащего под носом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 13:01 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33390367&tid=1545263]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
195ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 560ms |

| 0 / 0 |
