本页介绍了如何以等效于 C2 安全认证配置的方式对 Adaptive Server Anywhere 进行操作。它不提供有关此主题的一般信息。
下列限制是 Adaptive Server Anywhere 在认证的 C2 配置中运行所必需的。
不要删除、修改或替换 Adaptive Server Anywhere 安装目录下的任何文件,除了下列文件:
win32\util_db.ini – 此文件可根据需要进行修改。
win32\asasrv.ini – 此文件可根据需要进行修改或删除。
win32\rebuild.bat – 此文件可根据需要进行修改。
win32\backup.syb – 此文件可根据需要进行修改或删除。
win32\procdebug.bat – 此文件可根据需要进行修改。
win32\custom.SQL – 此文件可根据需要进行修改。
win32\tjava.pdf – 此文件可根据需要进行删除。
不要在 Adaptive Server Anywhere 安装目录下添加任何新文件。
sybase 帐户的口令只应赋予一个人。
sybase 帐户的路径不应包含除 %SystemRoot%\system32、%SystemRoot% 和 Adaptive Server Anywhere win32 目录以外的任何目录。
仅 向 sybase 帐户授予 [作为服务登录] 的特权。
DBA 权限非常大。只向需要 DBA 权限的那些用户授予该权限。DBA 用户的数量应尽可能保持最少。但是,应向每个需要 DBA 权限的用户赋予一个已授予 DBA 权限的单独帐户(例如,不使用共享的 DBA 帐户)。
如果 DBA 还要以不具备 DBA 能力的身份使用数据库,则应该向他们提供两个不同的 Adaptive Server Anywhere 用户帐户:一个有 DBA 权限,一个没有 DBA 权限。DBA 应该只在必要时才使用有 DBA 权限的帐户。
在创建新数据库时必须更改 DBA 帐户的口令。
新建数据库时,min_password_length 公共选项的值必须至少设置为 6。
数据库引擎或服务器必须作为 Windows NT 服务运行。Adaptive Server Anywhere 只有在作为服务运行时才会被认证。
必须在引擎或服务器启动行上指定下列命令行选项
-sc -gd DBA -gk DBA -gl DBA -gu DBA -x namedpipes(TDS=NO)
执行 dbsvc 实用程序时,会指定引擎或服务器启动行,所以,这些命令行选项必须包括在 dbsvc 命令的 [详细信息] 部分。
有关详细信息,请参见创建服务实用程序,以了解有关 dbsvc 的详细信息。
不要使用 -x 参数来启动命名管道以外的任何端口。Adaptive Server Anywhere 只在独立环境中才被认证。
不向任何用户授予 REMOTE_DBA 权限。
不向任何用户或组授予对下列系统过程的执行权限:
xp_cmdshell
xp_startmail
xp_sendmail
xp_stopmail
xp_read_file
xp_write_file
sp_audit_string
java_debug_version
java_debug_connect
java_debug_disconnect
java_debug_get_existing_vms
java_debug_free_existing_vms
java_debug_wait_for_debuggable_vm
java_debug_get_vm_name
java_debug_release_vm
java_debug_attach_to_vm
java_debug_detach_from_vm
java_debug_detach_request
在 7 版之后引入的任何系统过程。
不创建由任何具有 DBA 权限的用户拥有的存储过程或函数。
不在由任何具有 DBA 权限的用户拥有的任何表上创建触发器。
使用旧数据库之前,要通过运行 dbupgrad 实用程序来升级这些数据库。
有关升级数据库的详细信息,请参见使用 dbupgrad 命令行实用程序升级数据库。
数据库必须使用事务日志文件。在创建数据库时不使用 -n 命令行选项(无事务日志),不在数据库上执行 dblog -n(不使用事务日志或镜像)。
所有数据库、事务日志、dbspace、写文件和镜像文件都应当存储在非共享的、受保护的目录中。
有关如何保护目录的准则,请参见 Adaptive Server Anywhere 软件安装。
在引擎或服务器中禁止使用 java.net 包。在数据库中运行的 Java 将无法使用该包。
java_input_output 公共选项必须始终设置为 OFF(缺省值)。
不创建名为 guest 的数据库用户。这样的用户将允许任何 Windows 用户使用集成登录连接到数据库。
在数据库安装过程中总是将 login_mode 公共选项设置为 Integrated(集成)。
有关详细信息,请参见创建数据库。
到数据库的所有连接都必须使用集成登录机制。到数据库的标准连接(即,那些指定用户 ID 和口令的连接)不允许在认证的配置中使用。
所有集成登录映射都必须是一对一的。不允许将两个 Windows 用户名映射到同一个数据库用户。
嵌入式 SQL 程序不能使用 db_delete_file 函数,因为要删除的文件的名称不会进行审计。
不向任何非 DBA 用户授予对 sys.sysuserperm 或 sys.syslogin 的 SELECT 访问权限。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。