上传的访问数据库 - 运行SSIS和病毒漏洞

时间:2011-07-20 15:46:50

标签: iis ms-access ssis virus

我创建了一个进程,其中(注册的)用户可以通过asp.net webform上传(在客户端和服务器端验证之后)a(用非常罕见的扩展名压缩)访问数据库到我的服务器,坐在一个安全的位置,直到晚上出现一个预定的SSIS包,将相关数据从访问数据库传输到sql server。

之后,我的访问数据库被删除。该数据库将不会执行其他任务。服务器上未安装Access。

当然,我已经做过研究,但是我是否引入了SSIS可能触发的漏洞(例如访问数据库中的脚本?)?

提前谢谢。

2 个答案:

答案 0 :(得分:2)

SSIS可能使用ODBC或OLEDB来访问Access / Jet / ACE数据库中的数据,因此没有任何内容可以执行任何代码 - ODBC和OLEDB对数据和所有可能的危险函数一无所知在SQL语句中执行被阻止。

所以,没有安装Access,不,这里没有真正的危险。如果您担心存在,则可以在打开文件之前使用DAO处理该文件,并删除QueryDefs集合和Modules文档集合中的所有内容。或者,您可以使用缓冲区数据库,只导入数据表,然后将其传递给SSIS。

但我并不认为SSIS除了数据表之外什么都在寻找。

BTW,从未有过任何通过Access传播的病毒或漏洞利用程序,因此对Access漏洞的担忧被夸大了(因此对终端用户造成了巨大的不便,因为阻塞的宏,沙盒模式和来自A2007 on,需要定义受信任位置。)

答案 1 :(得分:1)

我同意大卫的意见(虽然使用“永远”这个词总是危险的!)。您可以考虑的另一件事是让在上传之前将数据库拉上来的人使用特定于每个用户的密码对zip文件应用加密。

实际的加密并不一定非常强大,即使你的通信被黑客攻击会有所帮助:关键是它可以识别发起Access上传的人。如果SSIS进程试图依次使用每个已知密码打开它并且所有密码都失败,那么可以认为包被一些未经授权的人引入系统,因此是可疑的。

这不是为了防止恶意代码,而是为了防止恶意数据进入您的系统。

HTH

麦克