0

由于未知用户多次尝试登录失败,该sa帐户最近在我公司的面向公众的数据库中被锁定。我在日志中有他们的 IP 地址,但它吓坏了我。

我更改了所有密码,并且正在加密所有敏感数据。

我如何限制SQL Server Authentication用户只能执行某些存储过程,但什么也不做(什么都看不到,甚至不能做Select * From [SomeTable])?

更新:

我最终为防火墙设置了一个 IP 白名单,创建了 90 个字符的随机密码,为特定用户设置和授予特定存储db_denydatawriter过程db_denydatareaderExecute

4

2 回答 2

3

针对未受保护的攻击一直在sa发生,这是每个僵尸网络和恶意软件扫描工具包的一部分。

您可以使用的唯一限制是权限和授权。没有机制可以限制从登录中执行的内容(没有类似于 ssh 隧道如何仅限于某些命令的机制)。所以它真的归结为权限和强密码。

于 2012-03-27T20:45:57.007 回答
0

将 SQL Server 打开到 Internet 是不安全的。最低限度的解决方案将在两者之间放置一个 VPN 或 Web 服务器。

话虽如此,您可以从所有组(包括公共组)中删除用户,然后仅授予特定存储过程的权限。没有db_datareader,用户不能select * from SomeTable

于 2012-03-27T20:41:56.113 回答