SQL Server ограничивает пользователя только выбранными хранимыми процедурами - PullRequest
0 голосов
/ 28 марта 2012

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

Я изменил все свои пароли и нахожусь в процессе шифрования всех конфиденциальных данных.

Как мне ограничитьSQL Server Authentication пользователь, чтобы иметь возможность только выполнять определенные хранимые процедуры, но больше ничего не делать (ничего не видеть и даже не делать Select * From [SomeTable])?

Обновление:

В итоге я настроил белый список IP-адресов для брандмауэра, создал случайные 90-символьные пароли, установил db_denydatawriter и db_denydatareader и предоставил Execute для определенных хранимых процедур для определенных пользователей.

Ответы [ 2 ]

3 голосов
/ 28 марта 2012

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

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

0 голосов
/ 28 марта 2012

Открывать SQL Server через Интернет небезопасно.Минимально ответственное решение поместит VPN или веб-сервер между ними.

Сказав это, вы можете удалить пользователя из всех групп (включая общедоступные), а затем предоставить только права на определенные хранимые процедуры.Без db_datareader пользователь не может select * from SomeTable.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...