Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - 数据库管理 » 安全 » 保护数据的安全

 

安全提示

作为数据库管理员,可以采取许多措施来提高数据的安全性。例如,可以采取以下措施:

  • 谨慎选择口令   不要部署使用缺省用户 ID 和口令的数据库。请参见提高口令安全性

  • 限制 DBA 权限   因为 DBA 权限非常强大,所以应仅限确实需要该权限的用户使用。具有 DBA 权限的用户可以查看数据库中的任何内容,可以在数据库中执行任何操作。

    可以考虑为具有 DBA 权限的用户提供两个用户 ID:一个具有 DBA 权限,一个不具有该权限,这样他们就可以只在有必要时才以 DBA 权限用户的身份进行连接。

  • 使用受保护的数据库功能   数据库服务器 -sf 选项用于为数据库服务器上运行的所有数据库启用和禁用功能。可以禁用的功能包括使用外部存储过程、Java、远程数据访问及更改请求日志设置的功能。请参见-sf dbeng12/dbsrv12 服务器选项指定受保护的功能

  • 删除外部系统函数   以下外部函数可能会带来安全风险:xp_cmdshell、xp_startmail、xp_startsmtp、xp_sendmail、xp_stopmail 和 xp_stopsmtp。

    xp_cmdshell 过程允许用户执行操作系统命令或程序。

    电子邮件命令允许用户指示服务器发送由用户撰写的电子邮件。恶意用户可能会使用电子邮件或命令 shell 过程,以操作系统所授予权限之外的其它权限执行操作系统任务。在注重安全的环境中,应该删除这些函数。

    有关删除过程的信息,请参见DROP PROCEDURE 语句

  • 保护数据库文件   应该防止他人对数据库文件、日志文件和 dbspace 文件进行未经授权的访问。不要将它们存储在共享目录或卷中。

  • 保护数据库软件   也应以类似方式保护 SQL Anywhere 软件。只授予用户访问其所需的应用程序、DLL 及其它资源的权限。

  • 将数据库服务器作为服务或守护程序运行   为防止未经授权的用户关闭数据库或获得对数据库或日志文件的访问权限,请将数据库服务器作为 Windows 服务运行。在 Unix 上,将服务器作为守护程序运行可起到相似作用。请参见在当前会话外部运行数据库服务器

  • 将 SATMP 设置为某个唯一目录   要在 Unix 平台上保护数据库服务器的安全,请将 SATMP 设置为某个唯一目录,并对该目录实施读、写及执行操作保护,防止所有其他用户对其执行这些操作。这样做会强制所有其它连接使用 TCP/IP,其安全性要高于共享内存连接。

    在客户端与服务器之间发送任何实际数据前,二者之间使用的共享内存缓冲区将从目录树中删除。这意味着其它进程无法看到任何通信数据,这是由于共享内存缓冲区/文件被隐藏,因而进程无法获取其句柄。

  • 对数据库进行高度加密   如果对数据库进行高度加密,则在不使用密钥的情况下数据库将完全无法访问。使用任何其它手段都无法打开数据库或查看数据库或事务日志文件。

    有关详细信息,请参见-ep dbeng12/dbsrv12 服务器选项-ek dbeng12/dbsrv12 数据库选项