powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / 2-х звенка vs. 3-х звенка и безопасность
25 сообщений из 360, страница 5 из 15
2-х звенка vs. 3-х звенка и безопасность
    #38424454
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro1231.
a) давай код с данной проблемой. Которая поставит БД раком. А также версию данной БД. Могу свой Оракл на сайте открыть для тестов.
б) Дальше то, что не сгущай краски о том, что один коннект повесит всю СУБД (какую именно?).
Учитывая то, что 2-х звенка пишется в _локальной_ сети.
а) На . И это не проблема, это возможность, которую можно использовать в обход ПО.
б) Я не сгущаю краски, а пишу реальные вещи. Один коннект ничего вешать не будет, речь о том, что в руках злоумышленника (а такой обязательно найдется на предприятии из 10 тыс душ) открытая оперативная БД для всего домена - геморрой на заднее место. Даже элементарный чайник может написать батник, который в цикле дергает БД и что-то возвращает, тем самым просаживая перформанс и отклик сервера баз данных. Вообщем, если дырка есть (а она есть), туда обязательно кто-то насрет. Кто этого не понимает, пусть дальше пишет двухзвенки, я не против.

Petro123не люблю слова "любых".
Это твои проблемы, что ты там любишь.

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

Petro123Не шарик вкорячивается в ХП, а Шарик - делает запросы в СУБД.
Шарик не делает запросы в СУБД, он вызывает серверную объектную модель (несколько видов объектной модели есть, включая серверную и клиентскую). А сама модель уже обращается в БД. Так вот расскажи мне, как в случае двухзвенки с логикой в хп ты будешь обращаться к ферме шарепоинта? Я пока сбегаю за попкорном.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424455
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSVНу тут можно придумать ряд мер, чтобы пользователь не знал реальный логин-пароль. Это не есть проблема.
Триггер on_logon может всех отфутболить
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424459
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVПользователь может зайти на SQL сервер в обход программы, например через Management Studio.Ну тут можно придумать ряд мер, чтобы пользователь не знал реальный логин-пароль. Это не есть проблема.
Это проблема. Через любой дизассемблер (родной WinDbg, как вариант) я могу снять конечную строку соединения в момент физического соединения с СУБД.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424464
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Petro123, сегодня, 13:42 [14956527]
>... Которая поставит БД раком ...
Я не большой специалист по базам данных, поэтому прошу сильно не пинать.
Рассмотрим ситуацию (гипотетическую) - винчестер, 32 ГБ, таблица база данных - 18 ГБ. Строим выборкой копию таблицы в серверный курсор, а затем в нем сортируем.
Серверный курсор, это виртуальное понятие, или реальное, требующее дисковых ресурсов?
Что будет с системой при недостатке оных? Откажется выполнять и откатится к исходному состоянию? Ну так повторю в цикле.

С уважением, Владимир.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424473
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУа) На . И это не проблема, это возможность, которую можно использовать в обход ПО.
расшифруй где проблема?
Если ты написал ХП без управлениями транзакциями внутри, то:
- a) где злой код?
- б) ты сам написал код внутри ХП без возможности отката при любой ошибке (нет rollback)
- в) в 3-х звенке можно написать так-же
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424477
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДаже элементарный чайник может написать батник, который в цикле дергает БД
банальную дос-атаку мы не рассматриваем. Ддосить можно всё - от сайтов до родителей))
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424481
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУродной WinDbg, как вариант
win авторизация через AD, как вариант
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424484
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,
серверный курсор ничего нигде не строит.
Он подкачивает (довыдаёт на клиента) записи по мере запроса
на каждый DataSet.Next;
Поэтому, в цикле на клиенте. ты никогда не прогнёшь им БД.
И про админа не забываем с его логами и тревожными звонками о хакерах в локалке.
Каждый занимается своим делом - СУБД, программист, админ.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424506
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123МСУДаже элементарный чайник может написать батник, который в цикле дергает БД
банальную дос-атаку мы не рассматриваем. Ддосить можно всё - от сайтов до родителей))
Извини, дос сайта - это пустяки, по сравнению с оперативной базой, содержащая важнейшие бизнес данные, с которой работает не только твоё кривое двухзвенное ПО .

Petro123МСУродной WinDbg, как вариант
win авторизация через AD, как вариант
Какой же это вариант, при аутентификации AD еще проще снять строку соединения, чтобы соединиться с СУБД.

Petro123МСУа) На . И это не проблема, это возможность, которую можно использовать в обход ПО.
расшифруй где проблема?
Говори русским языком, я тебя не понимаю. Что расшифровать, строку соединения? За 5 минут я отладчиком через бряки отдизассемблирую код и сниму реальную строку соединения (тип string). Ты об этом?

Petro123Если ты написал ХП без управлениями транзакциями внутри, то:
- a) где злой код?
- б) ты сам написал код внутри ХП без возможности отката при любой ошибке (нет rollback)
- в) в 3-х звенке можно написать так-же
а) Злой код не внутри, а снаружи.
б) Ты читаешь каким местом то, что я пишу? Какая хранимая процедура? Я тебе говорю о внешний запросах, которыми может оперировать пользователь, который подсоединился к СУБД.
в) Каким местом?
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424524
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Petro123, сегодня, 14:24 [14956797]
>серверный курсор ничего нигде не строит.

Извините дилетанта, а как же тогда понимать это : Это происходит потому, что полный результирующий набор хранится в серверном курсоре, а в SQL Server передаются лишь инструкции, выполняющие системные хранимые процедуры sp_cursor.

С уважением, Владимир
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424546
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,
Ну вот. Тут и спора нету.
Ты говоришь - _важнейшие данные_.
Если данные настолько важны, то делают N-звенки и даже часовых у входа.
Если эти данные вроде НСИ для всего предприятия или планирование, то и 2-а звена пойдут.
Главное, что делить данные по Важности обязательно надо. И это делает заказчик, а не ты.
Т.е. Линейка решений, а не линия партии от MS.
2. Конечно, где надо вин-аутентификация, а где не надо - обычная

а) чем BEGIN TRAN снаружи (клиентский) грозит? Процедуру в слое API нужно писать атомарную и неделимую.
в) в сервисном слое в 3-х звенке тоже есть BEGIN TRAN. Да, пользователь его не напишет, но тогда возврат к вопросу о том - чем он грозит.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424553
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевРассмотрим ситуацию (гипотетическую) - винчестер, 32 ГБ, таблица база данных - 18 ГБ.
гипотетически - урежем всё ещё в 2 раза и спросим 3-х звенку, как она в этом поможет?
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424557
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>МСУ, сегодня, 14:42 [14956918]
>... в) Каким местом? ...
Хочу сделать одно предложение.

Так получается, что вопрос 2-у против 3-х звенки время от времени возникает, и на него нужно давать ответ, но ответ не литературный ( а-ля сам такой), а инженерный, технический.
Вопрос возникает ещё и по безопасности - сейчас в локальную сеть наловчились запускать IP-телефонию, и с точки зрения админа по безопасности, LAN теперь есть высокоскоростная WAN, со всеми вытекающими - пакеты локальной сети могут быть перехвачены извне. Видимо и локальный трафик скоро треба шифровать.

Давайте уважать друг друга, не надо упрекать коллегу в незнании, или в том, что он не так строит системы. Давайте рассматривать плюсы-минусы альтернативных подходов. Беда не в том, что не знаешь, а в том, что не хочешь знать.

С уважением, Владимир.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424563
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123ВМоисеевРассмотрим ситуацию (гипотетическую) - винчестер, 32 ГБ, таблица база данных - 18 ГБ.
гипотетически - урежем всё ещё в 2 раза и спросим 3-х звенку, как она в этом поможет?
наверное имелось ввиду то, что в трехзвенке клиент не знает что такое БД
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424564
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Если данные настолько важны, то делают N-звенки и даже часовых у входа.
Видимо, защищают данные и распределяют к ним доступ.

Petro123Если эти данные вроде НСИ для всего предприятия или планирование, то и 2-а звена пойдут.
Не вижу логики. Если деньги тебе так важны, храни их на чердаке, а не в за тремя стенами в банке.

Petro123Главное, что делить данные по Важности обязательно надо. И это делает заказчик, а не ты.
Делить тебе ничего не надо, предоставь заказчику надежную распределенную систему. А что хранить там будут, тебя не касается.

Petro123Т.е. Линейка решений, а не линия партии от MS.
Убил своей нелинейной логикой наповал... Комментировать нечего.

Petro1232. Конечно, где надо вин-аутентификация, а где не надо - обычная
Как это относится к обсуждаемому вопросу? Не вижу разницы, с помощью какого метода конечный пользователь соединится с БД. Вся проблема в том, что у него есть эта возможность. А это очень плохо.

Petro123а) чем BEGIN TRAN снаружи (клиентский) грозит? Процедуру в слое API нужно писать атомарную и неделимую.
в) в сервисном слое в 3-х звенке тоже есть BEGIN TRAN. Да, пользователь его не напишет, но тогда возврат к вопросу о том - чем он грозит.
а) Ты не в курсе, "чем грозит" открытая транзакция? Ну сходи в школу, там расскажут. Сама процедура ничего не знает о её внешних потребителей, да и не должна знать. А тут приходит левый пользователь и начинает творить страшные вещи с этой хранимой процедурой, оборачивая её в транзакции, играясь с её параметрами и т.д. Ты считаешь это нормой? Чем дальше спрятана БД от сторонних глаз, тем выше надежность. Или ты будешь с этим спорить?
б) То, что есть в сервисном слое - спрятано от пользователя. Есть только конечные методы, ака interface. Пользователь не сможет ничего сделать, кроме как вызвать этот метод. Он не может выполнить что-то своё, какой-то свой SQL запрос или инъекцию. Только метод. А в случае двухзвенки, у пользователя 100% возможности SQL, которым он может оперировать прямо в боевой базе на продакшене. Разница есть?
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424568
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm,
зато знает как ложить 3 звена)
..........
системы проектируются под плановую нагрузку.
Дос-атака превышает плановую в сотни и тысячи раз.
Это форс-мажор в локальной сети и контролируется админскими мерами.
Так же как появление левого IP с помощью виртуальной машины у хакера Васи.
короче, аргументов кроме сумасшедшего ДОС-хакера - нету. Нафиг тему подняли.
....пятница))
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424570
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Petro123, сегодня, 15:07 [14957104]
>гипотетически - урежем ...
Сервер приложений контролирует функциональное содержимое пакета запроса и у конечного пользователя нет инструмента построить запрос на построение серверного курсора.

С уважением, Владимир.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424572
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевДавайте уважать друг друга, не надо упрекать коллегу в незнании, или в том, что он не так строит системы. Давайте рассматривать плюсы-минусы альтернативных подходов. Беда не в том, что не знаешь, а в том, что не хочешь знать.
Вова, не насилуй мне мозг, я больше всего терпеть не могу вот эти детские сопли по поводу уважения, упреков и прочих ми-ми-ми. Есть тема, есть участники, есть дискуссия. Есть что сказать - пуляй, обжуём и подумаем. Нет ничего по теме - сиди, вникай. Ничего личного.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424583
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вверху одна лирика
МСУа) А тут приходит левый пользователь и начинает творить страшные вещи с этой хранимой процедурой, оборачивая её в транзакции, играясь с её параметрами и т.д. Ты считаешь это нормой? Чем дальше спрятана БД от сторонних глаз, тем выше надежность. Или ты будешь с этим спорить?
=====
- что страшного в параметре дата?
- что страшного в begin tran?

б) То, что есть в сервисном слое - спрятано от пользователя. Есть только конечные методы, ака interface. Пользователь не сможет ничего сделать, кроме как вызвать этот метод. Он не может выполнить что-то своё, какой-то свой SQL запрос или инъекцию. Только метод. А в случае двухзвенки, у пользователя 100% возможности SQL, которым он может оперировать прямо в боевой базе на продакшене. Разница есть?

=== тебе дать логин от моей? Страшно подумать что ты там наделаешь без прав от меня.
Т.е. ХП в СУБД с грантами - это API или твой сервисный слой.


а в общем случае я с тобой согласен - чем дальше ключи от квартиры тем лучше)
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424585
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>МСУ, сегодня, 15:18 [14957182]
>Вова, не насилуй мне мозг...
Владимир Николаевич с вашего позволения, хотя ... нам не о чем говорить.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424586
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ1. Пользователь может зайти на SQL сервер в обход программы, например через Management Studio. Открыть свои доступные ресурсы и заблокировать - открыть транзакцию, начать изменять ресурс, не закоммитить транзакцию. И уйти покурить на часок. Как тебе такая ситуация?

Я, кстати, вспоминаю славную середину 90-х, когда у нас не было никаких трехзвенок, и Management Studio не было... да и MS SQL еще был в состоянии "Майкрософт рассматривает возможность лицензирования ядра СУБД у Sybase". В моем ненаглядном банке был тот самый Sybase ASE и его ублюдочная isql, и еще более ужасная DB2/400. Так вот, был ряд операций, которые не были реализованы в тогдашнем зачаточном GUI полукупленной, полусамописной учетной системы. Опытный матерый пользователь всегда имел консольку, в которой он правил данные как раз SQL-запросами :) Ничего, работало. Бывало, что запарывали какие-то данные. Тогда тревожным кабанчиком прыгаешь в ИТ-управление, и админы по-быстренькому восстанавливали утраченное :)
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424601
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123что страшного в параметре дата?
Ничего.

Petro123что страшного в begin tran?
http://www.sql.ru/articles/mssql/01072301causesofsqltransactionlogfillingup.shtml Читай пункт 2: При наличии в журнале незавершённых транзакций: журнал транзакций может быть усечен только до самой старой незавершённой транзакции. Есть несколько возможных причин появления незавершённых транзакций, большинство из которых относятся к ошибкам прикладного программного обеспечения.
Транзакция будет препятствовать усечению и других более коротких транзакций, которые исполняются в то же самое время. Пока пользователь соответствующим образом не отреагирует, приложение не сможет исполнить COMMIT, а усечение журнала не будет возможным. Ну и далее по тексту.


Petro123тебе дать логин от моей? Страшно подумать что ты там наделаешь без прав от меня
Читай выше, надоело повторяться.

Petro123Т.е. ХП в СУБД с грантами - это API или твой сервисный слой.
Гранты грантами, но у пользователя есть свобода действий в виде SQL, а это очень плохо и вредно. Имея прямой доступ к БД появляется уникальный шанс исследовать хранилище в целях поиска узких мест, чтобы рано или поздно подломить БД. Или ты уверен, что пишешь код, который 100% безопасен и который нельзя сломать? Я сомневаюсь в этом. Сервер приложений как-раз таки минимизирует подобные риски. Самое страшное, что можно себе представить, - это получить полный доступ ко всему хранилищу. Так вот в двухзвенке ты уже делаешь замечательный подарок атакующему - прямое соединения с оперативной БД во всём домене. Счастье ли? Или будешь дальше спорить о том, что ты пишешь 100% валидный безопасный код и учитываешь все варианты исхода событий? Даже не смешно.

Petro123а в общем случае я с тобой согласен - чем дальше ключи от квартиры тем лучше)
О чем и речь.
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424608
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДжекНепотрошительОпытный матерый пользователь всегда имел консольку, в которой он правил данные как раз SQL-запросами :)
Это еще нормально, а как тебе открытая dbf на шаре, доступ к которой есть у всех пользователей? :)
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424631
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.sql.ru/articles/mssql/01072301causesofsqltransactionlogfillingup.shtml Читай пункт 2: При наличии в журнале незавершённых транзакций: журнал транзакций может быть усечен только до самой старой
ошибка 1105 админу возникает как в 3-х звенке/, так и 2-х звенке при неправильно написанном коде.
Решение1:
Настроить alert на ошибку невозможности выделить место в базе под текущую операцию
Решение2:
Контролировать админом появление безумных хакеров в локалке предприятия.
Пишущих под своим логином цикл
Код: sql
1.
2.
for 1 -- 10000
 begin tran


авторГранты грантами, но у пользователя есть свобода действий в виде SQL
тогда у 3-х звенки есть свобода в HQL
...
Рейтинг: 0 / 0
2-х звенка vs. 3-х звенка и безопасность
    #38424633
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУА в случае двухзвенки, у пользователя 100% возможности SQL, которым он может оперировать прямо в боевой базе на продакшене. Разница есть?
Этой воэможности его можно 100% лишить (что и делается)
...
Рейтинг: 0 / 0
25 сообщений из 360, страница 5 из 15
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / 2-х звенка vs. 3-х звенка и безопасность
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]