Office中国论坛/Access中国论坛

标题: 怎样才能使Access更安全,更保密呀? [打印本页]

作者: hanppern    时间: 2005-9-22 19:09
标题: 怎样才能使Access更安全,更保密呀?
1. 数据库密码没用: 破解的工具多得很.

2.工作组及用户权限没用: 因为要在别的机上运行一定要数据库文件和权限文件,还是有很多工具可以破解.

3. 在Access里写禁打开数据库的代码没用:因为别人有了权限文件就可以用别的开发工具查看数据库内容.用不着打开数据库。

我能想到的唯一保密的就是加密数据库里的字符串了。虽然还是可以破解,但毕竟那样的人才少,不过这样做也同时加慢了数据的访问速度,有没有好一点的加密方法呀?
作者: 静儿    时间: 2005-9-22 19:16
专栏作家hi-wzj的专栏文章里有一个登陆程序,您不妨看看。是有解说和源码的。另外,旧贴中有人贴出请人测试破解的程序,读出的数据库密码是乱码,不知是怎么做的。
作者: hanppern    时间: 2005-9-22 19:29
作家hi-wzj的专栏已经看过,但保密性还是太差了,一下就破.数据库保密主要是保密表和查询,他的那个程序是更改在ACCSEE里的登录密码,上面我都说过,我可以用其它的开发工具来连数据库,根本不用打开数据库.
作者: hanppern    时间: 2005-9-22 19:52
另外,网上那个请人破解的那个程序保密性是好,但不发表mdw文件,也就是说,在其它开发工具中也不能访问,只有在Access中自己定义的窗体中才能访问.

这样,我用VB或Delphi做前台时不是也不能访问吗?

[此贴子已经被作者于2005-9-22 11:55:28编辑过]


作者: 青青    时间: 2005-9-22 21:08
以下是引用hanppern在2005-9-22 11:29:00的发言:



作家hi-wzj的专栏已经看过,但保密性还是太差了,一下就破.

数据库保密主要是保密表和查询,他的那个程序是更改在ACCSEE里的登录密码,上面我都说过,我可以用其它的开发工具来连数据库,根本不用打开数据库.



我想能在这里当版主的应该不至于这么不济吧,您不妨到:http://www.office-cn.net/forum.php?mod=viewthread&tid=9507中破解看看,那是给用户用的咚咚。
作者: zhengjialon    时间: 2005-9-22 21:47
用安全工作组信息,这个比较好。
作者: lcslovefox    时间: 2005-9-22 23:29
要想用更保密的数据库就不能选用access了,不管怎么加密,总能破了.没办法.
作者: LucasLynn    时间: 2005-9-23 00:01
以下是引用hanppern在2005-9-22 11:09:00的发言:

1. 数据库密码没用: 破解的工具多得很.

2.工作组及用户权限没用: 因为要在别的机上运行一定要数据库文件和权限文件,还是有很多工具可以破解.

3. 在Access里写禁打开数据库的代码没用:因为别人有了权限文件就可以用别的开发工具查看数据库内容.用不着打开数据库。

我能想到的唯一保密的就是加密数据库里的字符串了。虽然还是可以破解,但毕竟那样的人才少,不过这样做也同时加慢了数据的访问速度,有没有好一点的加密方法呀?

数据用加密,解密代码编译成MDE。

我不相信谁能破解了。

[此贴子已经被作者于2005-9-22 16:02:17编辑过]


作者: LucasLynn    时间: 2005-9-23 00:09
以下是引用zhengjialon在2005-9-22 13:47:00的发言:

用安全工作组信息,这个比较好。



消除Access的安全漏洞



1.由Admin用户引发的安全漏洞



为什么Access系统存在安全漏洞呢?这要从Admin用户说起。我们知道,Admin用户是Access系统的缺省用户,也就是说,除非你的Access系统在安装后已经重新链接到了某个新的工作组安全系统上,你将以默认的Admin用户登录Access。而微软将其用于标记该Admin帐户的用户ID号设成了一个固定值,这就意味着全世界的Access系统的Admin用户在Access中都是同一个用户。这样,问题就出现了----如果一个未链入你的工作组安全系统的用户在网络文件系统级别上可以获得对你的数据库系统文件的Admin权,他将以Admin用户的身份拥有对该数据库系统的所有权利!由Access本身建立起来的第二级安全机制将不起任何作用.这种情况实在太容易发生----工作组用户只要在他的计算机上重新安装一次Access软件,他将会轻而易举地避开你设置的安全系统的防护,而做为默认的Admin用户簦录并操作工作组中任何数据库系统。



2.解决方案



如何解决由Admin用户所引发的安全漏洞呢?在市面上有关Access的参考书籍中很难找出答案。实践中,我们总结出了一套行之有效的解决方案,现提出来供大家参考。



我们的基本思路就是屏蔽Admin用户对数据库的所有权限,首先,在Admins用户组中增加一个新的与Admin用户等同的新用户,例如为搘ww",然后以这个新用户登录Access,从Admins用户组将Admin用户撤出,并屏蔽掉Admin用户对数据库的所有权限,这样,Admin用户就成为了一个普通用户,实际的数据库系统管理员则变为新用户(www),而你的数据库安全系统就对所有的用户起安全防护作用了。



[此贴子已经被作者于2005-9-22 16:11:07编辑过]


作者: 真主    时间: 2005-9-23 06:42
我按上放的说法:在Admins用户组中增加一个新的与Admin用户等同的新用户,例如为搘ww",然后以这个新用户登录Access,从Admins用户组将Admin用户撤出,但系统一直不让我删除,请问这是为什么?谢谢!
作者: hanppern    时间: 2005-9-24 04:02
以下是引用hanppern在2005-9-22 11:29:00的发言:



作家hi-wzj的专栏已经看过,但保密性还是太差了,一下就破.

数据库保密主要是保密表和查询,他的那个程序是更改在ACCSEE里的登录密码,上面我都说过,我可以用其它的开发工具来连数据库,根本不用打开数据库.



不好意思,没有细看这个程序.是我太大口气啦,Sorry...里面应该是有张叫uSyspa的表吧.我也打不开. 不知道他有没有用了工作组权限,如果用了又没有发表mdw文件的话,那也只他自己做的ACCESS程序才能访问. 老实说我不是用ACCESS做开发的, 我是用ACCESS做数据库, Delphi做前台, 就是觉得用ACCESS不太安全,所以才在这里发贴问. 如果数据只能由ACCESS自己访问的话,对我来说已经是没意义的了.

前天刚看过一个用了工作组权限面不发表mdw的程序,只能由自己做的窗体来访问,保密性还挺不错的,如果用ACCESS做开发的话可以参考,可惜我用不上.呵呵.
作者: 真主    时间: 2005-9-24 22:25
以下是引用真主在2005-9-22 22:42:00的发言:

我按上放的说法:在Admins用户组中增加一个新的与Admin用户等同的新用户,例如为搘ww",然后以这个新用户登录Access,从Admins用户组将Admin用户撤出,但系统一直不让我删除,请问这是为什么?谢谢!

没人回答我的问题!?
作者: 真主    时间: 2005-9-27 17:00
没人回答我的问题!?
作者: hi-wzj    时间: 2005-9-28 04:54
不能撤出的,因此:新建一个或多个管理员;新建一个管理员组,赋予它管理权限。以新管理员登陆,限制原管理员及管理员组的权限到安全的级别。
作者: LucasLynn    时间: 2005-9-28 07:03
以下是引用hi-wzj在2005-9-27 20:54:00的发言:



不能撤出的,因此:

新建一个或多个管理员;新建一个管理员组,赋予它管理权限。

以新管理员登陆,限制原管理员及管理员组的权限到安全的级别。





是不是新版本作的限制?
作者: 真主    时间: 2005-9-29 02:36
2.解决方案



如何解决由Admin用户所引发的安全漏洞呢?在市面上有关Access的参考书籍中很难找出答案。实践中,我们总结出了一套行之有效的解决方案,现提出来供大家参考。



我们的基本思路就是屏蔽Admin用户对数据库的所有权限,首先,在Admins用户组中增加一个新的与Admin用户等同的新用户,例如为搘ww",然后以这个新用户登录Access,从Admins用户组将Admin用户撤出,并屏蔽掉Admin用户对数据库的所有权限,这样,Admin用户就成为了一个普通用户,实际的数据库系统管理员则变为新用户(www),而你的数据库安全系统就对所有的用户起安全防护作用了。

不能删除管理员?哪这个解决方案是什么意思?
作者: LucasLynn    时间: 2005-9-29 02:40
以下是引用真主在2005-9-28 18:36:00的发言:

2.解决方案



如何解决由Admin用户所引发的安全漏洞呢?在市面上有关Access的参考书籍中很难找出答案。实践中,我们总结出了一套行之有效的解决方案,现提出来供大家参考。



我们的基本思路就是屏蔽Admin用户对数据库的所有权限,首先,在Admins用户组中增加一个新的与Admin用户等同的新用户,例如为搘ww",然后以这个新用户登录Access,从Admins用户组将Admin用户撤出,并屏蔽掉Admin用户对数据库的所有权限,这样,Admin用户就成为了一个普通用户,实际的数据库系统管理员则变为新用户(www),而你的数据库安全系统就对所有的用户起安全防护作用了。

不能删除管理员?哪这个解决方案是什么意思?



看14楼的回复。

我转的这段文章节选自《ACCESS数据库的安全系统http://www.office-cn.net/forum.php?mod=viewthread&tid=30460,我估计可能是以前版本的Access可以撤出,现在不允许撤出了,但是对于这个问题,14楼的回复无疑是很有效的。
作者: wwwok    时间: 2005-11-28 22:59
请教如何以“以新管理员登陆” ?每次打开ACCESS自动就是admin啊?!!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3