我需要一些关于如何保护SQL Server的建议。我想知道保护与SQL Server的连接
- 有拒绝用户创建从Excel的ODBC方式连接到它
- 有使用私有/公共密钥对服务器进行身份验证
- 有一种方法一种方法只允许特定应用程序连接到服务器
我可以在前面添加一个防火墙来过滤IP,但我也希望过滤该应用程序。
有没有办法?
非常感谢您
我需要一些关于如何保护SQL Server的建议。我想知道保护与SQL Server的连接
我可以在前面添加一个防火墙来过滤IP,但我也希望过滤该应用程序。
有没有办法?
非常感谢您
只有2种方式进行身份验证到SQL Server:,您使用Windows凭据
您可以从文章
CREATE TRIGGER connection_limit_trigger
ON ALL SERVER WITH EXECUTE AS 'login_test'
FOR LOGON
AS
BEGIN
IF ORIGINAL_LOGIN()= 'login_test' AND
(SELECT COUNT(*) FROM sys.dm_exec_sessions
WHERE is_user_process = 1 AND
original_login_name = 'login_test') > 3
ROLLBACK;
END;
通过登录触发器您可以根据需要测试的应用等,如果你想拒绝的登录尝试回滚创建logon trigger,例如。
例如如果app_name <>'MyApp'则回滚连接尝试。
回复:公钥/私钥,如果使用VPN,您将在VPN基础结构中使用公钥/私钥。如果您只是通过标准套接字直接连接到服务器,则只需直接使用SQL Server基础结构,即无法控制公钥/私钥的使用。同样适用于IPsec。
SQL Server对公钥/私钥和对称密钥都有一定的支持,但这并没有与建立连接有直接关系。
你可能想要的是一个encrypted connection,它需要sql为其连接使用SSL(包括pub/priv键)。您将服务器配置为支持加密,并强制它要求SSL,并且只允许SSL连接。
不幸的是,没有机制来安全地阻止给定的应用程序来连接你似乎试图的方式。
如果用户具有SQL服务器的有效凭证并且服务器被配置为接受来自客户机的远程连接(即防火墙允许连接等),那么最好的假设是客户机将能够连接到SQL Server成功。
来自Gary的logon trigger想法是通过限制来自单个用户的并发会话数来防止滥用的有效机制,并且验证应用程序名称是保持诚实人员诚实的方式,但应警告应用程序名称可以很容易被欺骗,它不应该被用作强有力的认证/授权机制。
SQL Server可以使用TLS/SSL证书向客户端进行身份验证,但不能验证客户端。尽管它可能不是您的方案的解决方案,但仍建议使用加密连接。
还有一个建议。当你将SQL Server公开给可能具有敌意的IP时,你可以打赌通过猜测SA密码会自动尝试打入它。如果可能,请仅使用集成身份验证(Windows身份验证),如果不是,我强烈建议使用ALTER LOGIN DDL重命名和/或禁用SA帐户。
我希望这个信息帮助,
-Raul加西亚
SQL安全
1.肯定的是,不给他们一个登录。 2.当然,使用ipsec。在所有情况下,硫都是不可能的 –