SQL Server安全性专题一:简介

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文: SQL Server安全性专题一:简介 一、 安全威胁与法则 1、 安全定义 2、 安全威胁 3、 安全法则 安全定义: 在SQLServer环境中,安全性可以认为是【数据保护】。
原文: SQL Server安全性专题一:简介

一、 安全威胁与法则
1、 安全定义
2、 安全威胁
3、 安全法则

安全定义:
在SQLServer环境中,安全性可以认为是【数据保护】。包括:
 数据只能被已授权的用户访问。
 数据被安全地存储。
 数据要被安全地传输。
 数据可恢复
以下是详解:
1、 数据只能被已授权的用户访问:
必须使用一个强身份验证机制去确保数据被安全地访问。从2000开始(以前的没用过),允许SQL登录及Windows认证登录。其中Windows身份验证更为安全。
2、 数据被安全地存储:
首先要保证数据文件被安全地存放在文件系统中。安全的文件系统要求用户被授权后才能访问其任何文件。NTFS格式的文件系统能提供内置的和外接驱动系统足够的安全性。Storage Area Networks(SANs)系统同样能提供高安全性。
3、 数据要被安全地传输:
对于数据安全传输的问题,要考虑的其中一点是SQLServer和请求应用程序之间的路径安全。要时刻记住请求应用程序未必就是终端用户系统(各类Windows操作系统)。很多请求应用程序是另一个服务器。对此,数据传输都需要加密。对于网络环境(不管有线无线,特别是无线),加密是唯一的安全保障。
4、 数据可恢复:
对于某些攻击者,只希望你丢失数据,对此,不许做好备份并保证备份存储的安全。


为安全目的的数据分类:
数据的安全性根据企业的发展而有所变化。所有数据都有其价值,但是在安全分类时,必须有所侧重。可以通过以下步骤获取分类信息:
 通过问卷来确定信息的价值。
 对于每类信息,作出合适的应用。
 对于每类的安全分类,作出适当的安全方案来保护。

以下在安全性中有所作用的安全方案:
 Firewalls(防火墙)(63%)
 Antivirus(杀毒软件)(59%)
 Encryption(加密)(46%)
 VPNs(虚拟专用网络)(45%)
 Strong Passwords(强密码策略)(40%)
 Spam filtering(垃圾邮件过滤)(35%)
 E-Mail security(电子邮件安全)(34%)

安全理论:
为什么经常会受到攻击?80%的公司来自于内部人员,比如有个员工受到某种刺激,有可能就会报复,这时候你的安全策略是否足够。不管来自于谁的攻击,足够的安全策略都是需要的。对于攻击者,无论其攻击程度如何,都必须严阵以待。

真实世界中的安全:
每一个组织都需要处理信息、网络和系统安全。你必须使用一些方法来保护,包括:
1、 授权
2、 认证
3、 账号
4、 加密等等必要措施。

对于网络系统,必须使用授权和认证来确保只有指定的人才能管理设备。
对于数据库系统安全,你需要确保基于应用系统的代码安全。对此,需要整理出一份安全检查列表,并定时检查。

安全威胁
威胁、漏洞和使用漏洞利用。
理解威胁、漏洞和使用漏洞利用首先要评估网络安全。
1、威胁:指对系统的单独、一组、环境甚至潜在损害。威胁分成两部分:蓄意和无意的。
蓄意威胁:包括所有人的意愿想去做的行为。
无意威胁:一些只有上帝才知道什么时候会发生的行为。如电击、台风等不可抗拒的情况。一些人为的“错误”行为也包含在这部分。
2、漏洞:指系统或者对象(系统的一部分或者它的一个依赖实体)的一个弱点。
需要从硬件、软件层面去分析,硬件方面可以通过供应商获得,软件方面就需要做充分的测试。
3、 漏洞利用:通过特定方法是漏洞暴露并利用。
攻击者通过下面步骤尝试进入系统:
3.1、在网络中扫描的设备。
3.2、扫描这些设备。
3.3、发现正在运行的服务的版本。
3.4、研究漏洞。
3.5、发布针对一个或多个漏洞的攻击。
通过这些步骤,你可以使用很多工具来实现你的攻击。但作为计算机从业人员,不应该随意攻击别人。

攻击目标一:Windows Server:
Windows/Linux操作系统是攻击重点之一,因为它的重要性及使用广泛性。如果攻击者能渗透甚至毁灭Windows Server,对SQL Server的使用将是严重的打击。攻击方法有:
 使用已知漏洞。
 使用配置中的错误。
 使用运行中的服务。
攻击者可以通过各种方法,如扫描引擎、查找论坛等方式,找到已经漏洞。一些网站也提供这些信息:
http://www.microsoft.com/security/
http://milw0rm.com/
http://zone-h.org/
http://hackerwatch.org/
http://secunia.com/advisories/product/
作为DBA,应该不时地到这些地方查看在你所使用的硬件、操作系统和应用程序中的漏洞。并且深入研究SQLServer方面的漏洞。
配置错误攻击可以通过使用【强密码策略】来避免。但是,这一步需要一个团队来协助。因为每个技术都需要在配置中能够适合安全策略。

使用Microsoft Baseline Security Analyzer(MBSA):
在安装了SQLServer的操作系统中使用MBSA是一个好的开始,可以使用以下步骤实现:
1、 使用管理员登录Windows Server
2、 登录网站并下载对应版本操作系统的软件,然后安装。同时注意,要选择对应的语言。http://www.microsoft.com/downloads/details.aspx?familyid=B1E76BBE-71DF-41E8-8B52-C871D012BA78&displaylang=en
3、 安装MBSA,并选择默认安装路径。
4、 打开MBSA,然后扫描默认计算机名。根据计算机的配置不同,程序可能要运行几秒到几分钟。
有很多服务无论使用什么方法都是不安全的。比如telnet等。所以,除非支持SSH甚至更高级别的安全方案,否则不要使用telnet。无线热点和旧的网络也是具有不安全性。

使用认证系统:
认证系统是用于验证用户ID和允许授权用户访问资源。认证系统基于【证书】。
证书包含以下类型:
Something you know:包含密码和PINs(个人识别号)
Something you have:包含key、smart cards、甚至RFID(无线射频识别)条。
Something you Are:包含生物体的特征,如指纹、视网膜、甚至体重。
Windows Server支持以上三中证书。
认证系统可被弱协议、弱凭证等破解。
30位的小写密码组合就有254,186,582,832,900,000,000,000,000,000,000,000,000种。需要400万*10的4次方年才能破译。这对攻击是没有任何价值。

加密
对于敏感数据,必须加密。加密操作通常在两个地方实现:传输和存储。
对于传输加密,由于容易影响性能,需要权衡。但在无线环境中,数据的安全性就显得很重要,特别是密码程度不足的时候。
对于存储加密,很多存储攻击实际上是认证攻击。

攻击目标二:SQL Server
SQLServer服务本身就是一个重要的攻击点。由于SQL 登录仅仅是密码登录,没有什么安全性可言。需要关闭SQLServer非必须的服务。可以通过以下网站查看漏洞:
http://www.microsoft.com/technet/security/Bulletin/MS09-004.mspx
http://www.microsoft.com/technet/security/bulletin/ms08-040.mspx

攻击目标三:网络
如果网络不安全,客户端和服务器都很容易被攻击
有线网络
可以通过端口来攻击,较为安全但已经越来越少的方式是“拨号连接”。
要重点防御:1433端口。

无线网络
这步相关知识太多,不在这里详解。

攻击目标四:客户端
客户端往往是容易被忽略的攻击目标。客户端容易被攻击的地方是SQL Injection(sql注入)、IIS/Apache、浏览器

当然,最容易的其中一种攻击就是利用社交关系!!!


安全法则:
在具有良好的配置以后,需要考虑一些法则性的问题:
 良好的设计是开端
 信任,但要监控
 深度防御
 最小权限原则

良好的设计是开端
你所设计的系统必须首先是安全的。你的系统必须对必要的性质和功能开放,这种系统也叫:Closed-to-open 系统,在网络部分,最少三个方面需要考虑:
 网络设计与安全性
 安全方案的边界
 连通性方案

网络设计与安全性
安全性必须在系统或者网络中设计开始时就被考虑进去。安全设计包括创建系统和实现层级来保护有价值的信息。

安全方案的边界
在Internet和DMZ(非军事化区域)中创建防火墙是比较好的方法。
连通性方案
可以使用VLANs来增强安全性

信任,但监控
包括防御侵入、杀毒软件和反流氓软件等

深度防御
包括:
 用户意识
 客户端安全
 网络安全
 服务器安全
 边界安全

最小权限
只赋予任务所需的最小权限即可。

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
1天前
|
SQL 安全 数据库
SQL Server 备份和还原
SQL Server 备份和还原
|
1天前
|
SQL 存储 安全
SQL Server 权限管理
SQL Server 权限管理
|
1天前
|
存储 SQL
SQL Server 存储过程 触发器 事务处理
SQL Server 存储过程 触发器 事务处理
|
1天前
|
SQL 自然语言处理 搜索推荐
SQL Server 索引和视图
SQL Server 索引和视图
|
1天前
|
SQL 数据库
Sql server 表管理(创建 修改 删除)
Sql server 表管理(创建 修改 删除)
|
7天前
|
SQL 机器学习/深度学习 数据采集
数据分享|SQL Server、Visual Studio、tableau对信贷风险数据ETL分析、数据立方体构建可视化
数据分享|SQL Server、Visual Studio、tableau对信贷风险数据ETL分析、数据立方体构建可视化
|
8天前
|
SQL 数据采集 数据挖掘
SQL Server仓储物流公司visual studio发货数据仓库设计
SQL Server仓储物流公司visual studio发货数据仓库设计
|
26天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
64 10
|
2月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
2月前
|
SQL 数据库
sql server中创建数据库和表的语法
sql server中创建数据库和表的语法
19 1