SA账户禁用了会比较麻烦的。后面权限设置这些不好办。
PWD可以考虑用MD5加密
端口不要用默认的1433 重新设置端口 而且在防火墙设置例外 

解决方案 »

  1.   

    建议:
     1.当务之急,修改数据库sa帐号密码和服务器administrator帐号的密码,新密码须有一定的复杂度.
     2.服务器windows防火墙须开启.
     3.服务器windows补丁须及时更新.
     4.SQL2000 SP4补丁须安装.
     5.修改SQL服务的端口为其他(默认1433).
     6.禁用sa账号,另设定程序使用的账号(权限较小).
     7.如非必要,数据库选项xp_cmdshell须关闭.
      

  2.   

    安全性这东西很难三两句说清楚,仅针对你的问题回答:
    1、SQL2000如何删除或禁用用户sa,新建登陆用户应该是属于public 还是 db_owner,哪个更安全?
    右键sa,如果要删,就点【删除】,如果要禁用,就选属性,里面你应该看得懂,新增用户,public最安全,但是public基本上做不了什么事,你可以考虑datareader这个角色,db_owner权限很高。
    2、SQL2000数据库连接字符串StrCnn = "Driver={SQL Server}; Server=192.168.1.*;UID=sa;PWD=sa;Database=yingBase",其中密码pwd如何加密啊?要不然只要黑客扫到连接数据库的用户名、密码就能轻易登入,岂不是很不安全
    把配置文件加密
    3、MSSQL端口不要外连的话,应该怎么设置
    可以映射其他端口,或者做个中间层,还有很多其他技术。
      

  3.   

    除了DBA,其他人/程序不能用sa用户!在数据库上建个用户A,设为 db_denydatareader + db_denydatawriter。
    在数据库上间隔应用程序角色 B,设为 db_datareader + db_datawriter。
    程序用 "...;UID=A;PWD=aaa;..." 连接,然后调用 sp_setapprole 'B', {Encrypt N 'aaa'}, 'odbc' 变换角色,就能正常操作数据。
    即使被人截取了A 用户和密码,这个用户连读写数据的权限都没有。