2014-02-05 28 views
3

我开发了一个代理,它在sql server上运行查询。代理/ sql服务器的拒绝服务

即用户“会谈”代理,并且代理将客户端的请求发送到sql服务器。

我想知道如何防止代理被阻止,如果其客户之一发送请求是不合法的。在这种情况下,sql服务器将阻止代理,因为最终请求是从代理的IP发送的。但其他代理客户端将无法访问代理,因为代理将被阻止。我想允许代理像往常一样工作,而是只阻止受到攻击的客户。

+0

你的问题很混乱,所以我想先澄清一下。你说你创建了一些代理。你想允许代理,但客户端阻止他们?如果那样的话,你是否在你的代理中冒充了一个用户,以便它将这个凭证传递给你的SQL Server? – Raymund

+0

@Raymund SQL服务器看到一个代理IP,所以我知道它不能区分客户端。或者它可以吗? – Yakov

+0

你能指点我们的MSSQL会阻止一个网络地址,当它'发送不合法的请求'的文档部分? 出于好奇,如何“复杂”是你的代理?你只需要翻译网络数据包,或者伪造SQLReplies,识别请求,然后使用相同/不同的凭据将这些低层发送到实际服务器......为什么? =) – deroby

回答

0

有通过同一代理多种方式将被阻止.. 我给这里有两个原因..

首先,(请注明SQL的版本)

如果MS SQL(2005以上)在服务器属性中有一个配置步骤,您可以在其中明确指定SQL Server的代理帐户...(仅限其用户名和密码) 在Windows身份验证中对SQL Server使用安全模式.. SQL Server将检查系统正在发送请求,然后将允许

第二,如果有防火墙(网络防火墙,不是本地)..你必须联系你的网络管理员..他会阻止所有代理与指定的例外。

阻止单个用户(IP)的网络安全话题,这是不可能使用SQL Server ..

但新版本都支持该工厂也将..是昂贵的选择,如果你升级.. :)

+0

我不认为代理账户的东西与OP描述的代理服务器有什么关系! – deroby

0

说实话,我认为你应该只是要求关闭这个问题,因为你的前提是错误的开始。