1

У нас есть большая система, работающая с тысячами пользователей (некоторые из приложений для Android, другие из веб-приложения и т. Д.).Добавьте уровень безопасности к нашим SQL-серверам (в настоящее время доступен из удаленной студии управления sql)

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

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

Мы знаем, что это не идеальный способ работы. Но это было так с годами.

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

С этого момента мы анализируем, как улучшить этот доступ.

Мы ищем какой-то способ повышения безопасности. Мы хотели бы иметь двухфазную систему аутентификации. Что-то, что запрашивает у пользователя два пароля при доступе из Sql Server Management Studio ...

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

Пользователи также (в настоящее время) имеют доступ к удаленному рабочему столу всем серверам.

По крайней мере, мы хотели бы ЗНАТЬ, когда этот доступ выполняется.

+0

Используете ли вы в настоящее время проверку подлинности Windows или аутентификацию в смешанном режиме? Как вы обрабатываете разрешения для пользователей из приложения? –

+0

Как вы думаете, что запрос пароля дважды предотвратит «Один день один человек обновил сотни записей из таблицы по ошибке». – TheGameiswar

+0

@ArthurD Да, он включен в смешанном режиме. –

ответ

1

Сделать доступ к PROD только для пользователей. Позвольте им написать свои скрипты, а затем отправить их на проверку как минимум и, если возможно, проверить, как и любое другое развертывание. Затем следуйте стандартным процессам развертывания с тем, у кого есть доступ.

+0

Привет @SMM, мне нравится ваше решение. Мы думали, может быть, о смеси между хранилищем (SVN) и Дженкинсом. Например, парень поддержки хочет обновить некоторые строки или таблицы. Таким образом, он пишет сценарий (SQL), запускает скрипт на нашем Dev-сервере (этот сервер каждую ночь берет очень свежую резервную копию производственной системы и воссоздает из нее свою собственную базу данных). Когда парень поддержки доволен сценарием, он передает его в специальный репозиторий SVN (называемый поддержкой). Как только это происходит, кто-то с правами записи БД проверяет скрипт и запускает работу на Дженкинса.Эта работа запускает сценарий на производстве. –

+0

Итак, эти изменения будут сделаны через Дженкинса (никто не имел бы прямого доступа). Только право выполнять работу на дженкинсах. Однако мы боимся, что этот способ может быть слишком ограниченным для пользователя, написавшего скрипт sQL. Так как это действительно проще изменить значения, имеющие визуальное представление строки на экране, используя специальное программное обеспечение, такое как EMS SQL Manager для SQL Server. –

+0

Использует репозиторий SVN для этой сумасшедшей идеи? Есть ли еще какое-то другое программное обеспечение для этой конкретной работы, которую нам не хватает? Спасибо. –

0

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

Я не использовал его сам, но EXECUTE AS может позволить вам разрешать пользователям разрешать только чтение, а procs будет выполняться под учетными данными с более высоким доступом.

+0

Если у них были процессы, они могли бы внести изменения из системы ... –

+0

Но ограничьте ущерб, забыв о том, что предложение where в заявлении о удалении – SMM

+0

Хорошо, но я не хочу надеяться на команду ИТ, которая запускает приложение с тысячами пользователей «в течение многих лет» без механизмов управления изменениями базы данных ... –

 Смежные вопросы

  • Нет связанных вопросов^_^