风险非常大,数据库与应用不应该直接连接,并且暴露在公网,后果自负,比较合理的是应用程序发送请求到中间层,由中间层处理后再到数据库层,中间可以有些防火墙之类的。至于出差人员能直接远程访问数据库的需求不合理,如果真有这样的情况,建议使用证书、vpn、跳板机等方式加多一些中间环节,直链死翘翘。
安全性方面我这里有一份文档:http://download.csdn.net/detail/dba_huangzj/5395925如果非要这样做,那就要从客户端开始、网络层、服务器层、sqlserver层、数据库级别等等做好一系列的保障
安全性方面我这里有一份文档:http://download.csdn.net/detail/dba_huangzj/5395925如果非要这样做,那就要从客户端开始、网络层、服务器层、sqlserver层、数据库级别等等做好一系列的保障
解决方案 »
- SQL语句
- Sql 分組插入臨時表中
- 求一条SQL语句
- 关于SQLing 的拼接问题,在线等~
- 为什么这样写不行?select * into @ttname from srv_lnk.hanlin.dbo.@ttname
- linq to entity 的复杂计算,计算时间差并求和等问题,在线等!!!
- 小问题!怎么查找BianHao在数据库里面是否已经存在这个值了!立即结贴!
- 请教sqlserver7.0在win2k域服务器上的登陆设置和在独立服务器上的设置有什么不同?
- ERWin问题,高手指点!
- 高难度SQL问题,挑战SQL高手!!(300分重谢)
- 文件放在哪里比较合适?
- 怎样删除汇总和为零的分类行?
1.修改SQL Service的默认端口,即非默认的1433.
2.SQL Server SP补丁包应安装.
3.检查sa帐号密码强度是否足够,必要时可禁用sa帐号.
4.服务器windows防火墙需开启.
5.服务器windows需经常更新(windows update).
6.时常关注windows日志及SQL日志是否有异常信息.
所以,如果真的是要暴露在公网上,至少:1、sql server不要使用默认的1433端口,改成其他不常用的端口。2、在防火墙上做设置,只允许必须的端口,哪些telnet、ftp等的端口都关闭3、服务器上,关掉所有不必要的服务,因为服务开的越多,就漏洞也越多。4、给服务器打上最新的补丁。5、如果可以的话,采用一些硬件的方式,比如:加密狗,插在客户端上,然后在登录时,除了要服务器地址,用户名和密码都对,加密狗的值,必须与服务器上存储的相同。6、在服务器级别,最好用数据库审计,来对数据库的操作进行记录,不过sql server的审计功能不够详细。
多层的c/s,用户体验更好
应用走https协议,安全性也没问题了