traceback: http://www.qingren.org/item/1016/
在上q几ULinuxq_上的数据库品中QSybase ASE的性能很好Q紧凑的E序分发包里包含了全部文档、数据库备䆾和监视等工具Q同时它对系l的要求不高Q系l配|ؓ32MB内存Q包含文的全部安装需?00MB盘Q否则需?20MB盘Q。它的安装、配|过E与其他产品相比也很单。这些优势,q同Sybase数据库品本来的用户基础Q得它成ؓLinuxq_上出色的数据库Y件?
但是QSybase ASE在正常安装完成后Q数据库用户的̎h有设|口令。这PInternet上每一个知道服务器端口L用户或者本Z的所有可d用户都可以以用户w䆾Ҏ据库随意操作。这应该说是一个非常大的安全漏z。下面将逐步介绍Sybase ASE for Linux 的安装过E,以及安装完成后需要采取的安全配置和较为安全的pȝ?
一、Sybase ASE的安?/strong>
首先下蝲Sybase ASE for Linux软g包,|上可以比较Ҏ扑ֈRPM格式的二q制发行包,包括sybase-ase-11.0.3.3-1.i386.rpmQ主E序包)、sybase-doc-11.0.3.3-1.i386.rpmQ文包Q。RPM是Redhat公司的Y件包理E序Q用它可以非常方便地安装和卸蝲E序包,q保持它们之间的依赖关系?
然后Q以用户的n份键入命令:
#rpm -i sybase-ase-11.0.3.3-1.i386.rpm
屏幕会显CSybase公司的版权说明,键入“yes”表示同意。接下去安装E序会提C将在系l中创徏一个用户sybase和相应的l,q要求ؓ该̎可|相应的口o。Sybase数据库安装的~省目录?opt/sybase。安装时要注意磁盘分区有_的空_大于200MBQ?
下一步可以重Csybasedl箋配置Q也可以使用 #su - sybase 改变w䆾为sybase来l对sybaseq行安装。屏q上会出现Q?
1.Release directory:/opt/Sybase
2.Edit / View Interfaces File
3.Configure a Server product
4.Configure an Open Client/Server product
Ctrl-a Accept and Continue, Ctrl-x Exit Screen, ? Help.
Enter the number of your choice and press return:
选择3来配|服务器Q在该选项中将会一同配|服务器监听端口。在下面每一个屏q提CZQ数字表C具体选项QCtrl-a表示已经配置完毕Q进行下一步,Ctrl-x表示攑ּ刚才的选择Q退回上一步,下面省去同样的提C。选择3后,出现以下提示Q?
Product Date InstalledDate Configured
1.SQL Server11 Sep 1998 06:47
2.Backup Server 11 Sep 1998 06:47
首先选择1配置SQL服务器,出现以下提示Q?
1.Configure a new SQL Server
2.Configure an existing SQL Server
3.Upgrade an existing SQL Server
然后选择1来配|一个新的SQL服务器。配|备份服务器可以在SQL服务器配|完成后再来。由于是W一ơ安装,所以选择配置新的服务器,后面2个选项分别提供了重新配|或者升U原服务器的功能
接下来的提示要求选择服务器的名字Q具体如下:
ADD NEW SQL SERVER
1.SQL Server name:SYBASE
默认为SYBASE。这与sybase的交互式讉K工具isql的默认服务器名字是一致的?
完成上述配置后,出现如下昄Q?
SQL SERVER CONFIGURATION
1.CONFIGURE SERVER'S INTERFACES FILE ENTRY Incomplete
2.MASTER DEVICE CONFIGURATION Incomplete 3.SYBSYSTEMPROCS DATABASE CONFIGURATION Incomplete
4.SET ERRORLOG LOCATION Incomplete 5.CONFIGURE DEFAULT BACKUP SERVER Incomplete
6.CONFIGURE LANGUAGES Incomplete 7.CONFIGURE CHARACTER SETS Incomplete
8.CONFIGURE SORT ORDER Incomplete 9.ACTIVATE AUDITING Incomplete
以上关系到数据库的具体内容,包括端口受设备、语a和字W集{。下面假定不改变默认名,直接按Ctrl-a接受?
W?w|服务器端口Q选择后出C面的提示屏幕Q?
SERVER INTERFACES FILE ENTRY SCREEN
Server name:SYBASE
1.Retry Count:0
2.Retry Delay:0
3.Add a new listener service
选择增加一个监听端口,出现下面的配|TCP端口的屏q?
EDIT TCP SERVICE
1.Hostname/Address: localhost.localdomain
2.Port:
3.Name Alias:
4.Delete this service from the interfaces entry
其中的主机名在一般情况下由安装程序自动从环境中提取,通常不需要改动。但是,如果用户配置的是q程服务器的话,此处应该修改为相应的服务器地址。第二项的端口号用户可以自由选择Q通常选择?024以上。同P如果是配|远E服务器Q端口号应该修改为正的端口地址。这2个参C记录?opt/sybase/interfaces文g中,也就是说在配|完成后Q用户也可以手工修改该文件来重新改变q机端口的参数?
W?w|数据库主设备。数据库主设备可以是一个新的物理设备,也可以是盘中的一个文Ӟ大小可以Ҏ需要和存储讑֤的空间大调整?
后面各项的配|在普通应用下Q基本上不需要修改缺省倹{按照提Cl做下去Q依ơ分别是配置Sybasepȝq程数据库、错误日志、缺省备份服务器、字W集、数据库排序和激zd计等。其中的~省备䆾服务器和Ȁzd计配|对于数据库安全较ؓ重要?
在管理员希望Ҏ据库q行备䆾旉要备份服务器功能Q它的原理是在一个特定的端口监听备䆾甌Q该端口号必M前面数据库端口号区分开Q,数据库的数据备份到指定的设备中去(例如“/tmp/sybase.mybackup.19990909”Q。选择该项后,出现如下昄Q?
SET THE SQL SERVER'S BACKUP SERVER
1.SQL Server Backup Server name:SYB_BACKUP
审计功能在缺省状态下q不打开。如果管理员认ؓ需要,则可以参照下面的屏幕创徏一个单独的数据库来存储pȝ审计信息?
ACTIVATE AUDITING
1.Install auditing:no
2.sybsecurity database size (Meg):5
3.sybsecurity logical device name:sybsecurity
4.create new device for the sybsecurity database:no
二?安装后的安全问题与相应的配置
按照DoD52.00.28-STD信Q计算机系l评估标准,即通常所说的桔皮书,Sybase ASE的设计标准ؓC2U,它提供了4U安全机Ӟ分别是访问控制、认证控制、角色划分和数据库审计。访问控制是指对象所有者可以对不同的登录用戯予或者取消某些访问的权利。认证控制是指保证只有被授权的用h能登录进入系l。角色的划分使得pȝ理员可以将pȝ的一些特D权利分别赋予某一个用P使他们能够分别完成某些关键Q务。具体来_Sybase数据库系l设定了3U主要角?pȝ理员(sa_roleQ、系l安全员Qsso_roleQ和pȝ操作员(oper_roleQ。数据库审计pȝ可以对系l的d、退出、数据库启动、远E过E调用、角色的变化和对各种对象的访问等操作提供记录与审查?
数据库应用采用客h/服务器架构,服务器端在某一个端口监听网l连接请求。客L甌q接Q输入合法的用户名和相应的口令,q入服务器,然后q行需要的命o。这P在数据库用户的配|管理方面如果出现安全漏z,势必会给pȝ和数据带来非常大的威胁。可是,Sybase ASE在正常安装完成后Q数据库用户的̎h有设|口令。这PInternet上每一个知道服务器端口L用户或者本Z的所有可d用户都可以以用户w䆾Ҏ据库随意操作。这应该说是一个非常大的安全漏z。下面,通过对角色的分析Q给册一问题的方法?
1Q三U角色的主要权利和Q?/strong>
(1) sa_role
理盘使用Q改变系l各U运行参敎ͼ诊断pȝ出现的各U问题,备䆾和恢复数据库Q对其他用户赋予或者取消sa_roleQ创建用h据库qؓ它们授予合适的属主Q以及徏立用L{等?
(2) sso_role
创徏d账号q初始化口oQ更改其他所有̎L口oQ对其他用户赋予或者取消sso_role以及oper_roleQ设定口令时限以及管理审计系l等?
(3) oper_role
备䆾和恢复各U数据库?
2Q更改sa口o
Sybase ASE在安装完成时在系l中创徏了用户saQ它同时hsa_role和sso_role两种角色。此时的用户“sa”在服务器中具有无限的权利Q相当于Unixpȝ中一个没有口令的root。这PM蓄意的联|用户都可以完全控制该SQL服务器。这不能不说是Sybase ASE的一个重大安全漏z。ؓ此,强烈在完成下面的安全配置之前请勿服务器接入|络?
首先Q利用Sybase提供的交互式讉K工具isqlq接服务器。键入以下命令:
$/opt/sybase/bin/isql -Usa -P -Smysybase
表示以用户sa、空口oq接服务器mysybase。更改sa的口令,
>sp_password NULL,"NewPassWd"
>go
原来的I口?NULL)改ؓ当前?#8220;NewPassWd”。这里的口o最ؓ6个字W长度,可以׃Q何可打印字符、字母和数字{组成?
3Q关闭sa账号
角色的划分可以说是Sybase数据库相对于普通Unixpȝ在安全体制方面的改进。但是,大家知道Q拥有无限权利的用户一斚w是系l的保护者,但是更多的时候是l系l的安全带来了巨大的安全威胁。简单来_用户一个低U的误操作就可能毁掉整个服务器。从d的角度来看,d者只要获得了用户的n份就表明他已l彻底攻克了该系l。而对于经q特权分割安全加固的pȝ来说Q攻击者必d若干个特权用户全部破解,才能得以完全控制该系l。可以说权利用户的存在是区分CU和BU安全系l的一个重要标志?
在设|sa账号的口令以后,通过创徏新用Pq区分sa的角Ԍ关闭saQ从而进一步加强服务器的安全。Sybasre提供了几个相应的命osp_addlogin和sp_role{来完成上述操作?
>sp_addlogin sa_user,"Sa,PassWd"
>sp_addlogin sso_user,"Sso,PassW"
>sp_role "grant",sa_role,sa_user
>sp_role "grant",sso_role,sso_user
>sp_locklogin sa,"lock"
上述命o创徏了两个用户sa_userQsso_userQƈ且分别设|了口o“Sa,PassW”?#8220;Sso,Pass”Q设|了角色sa_role和sso_roleQ然后关闭了账号sa?
(作者地址Q江苏镇江南京经学院桥头校区,212413Q?/font>
traceback: http://www.qingren.org/item/1057/