网管员世界—MySQL数据库安全配置与加固

网管员世界—MySQL数据库安全配置与加固
网管员世界—MySQL数据库安全配置与加固

MySQL 数据库安全配置

MySQL 数据库基本安全配置

1. 操作系统的安全

要想保护正在运行MySQL 的主机的安全,不妨参考以下几个指导原则:

(1)部署IPTables(Linux)、IPFfilter(Solaris)或者MySQL 服务器上其他一些基于主机的防火墙软件。

大多数Linux 的发布版本都内置了IPTables,Linux 内核中的报文筛选和操纵都是高度可配置的架构,配置起来并非想象中那么难,但是需要花一番工夫。

(2)使用低特权的MySQL 账户运行MySQL 进程。在某些操作系统上这是默认的,但也有些不是。尤其在Linux 和UNIX 主机上,不要以nobody(举例)身份运行MySQL 是很重要的,因为其他进程可能也用这个账户运行,例如,Apache。这是因为如果多个进程共

享同一个账户,一个进程被攻击意味着它们全都会被攻击。例如,Apache和MySQL 都以nobody 的身份运行,控制Apache 的任何人都可以控制MySQL 数据库。

(3)使用chroot 选项运行mysqld。这在Windows 下无法工作,但在Linux 上,chroot 提供了优秀的文件特权缓冲区,它通过给定目录下的进程来限制文件访问,这意味着在MySQL 下,可以确保攻击者没有能力去读或去写操作系统的配置文件或主机上其他守护进程的配置文件。

要记住,即使有了chroot 选项,拥有文件特权的攻击者还是能够读所有MySQL 数据,而且(很可能)仍然能够创建和执行UDF。

(4)确保MySQL 用户无法访问有限目录集以外的文件,特别是禁止MySQL 用户阅读操作系统的配置文件。这在某些情况下,可以防止MySQL 用户自行修改MySQL配置文件。

可以通过创建适当的组、分配对MySQL 目录适当的权限等方式,阻止MySQL 影响操作系统的其他部分。

(5)保证MySQL 数据文件(一般在MySQL data 目录下面)不能被root,以及MySQL 正在运行的账户之外的用户阅读。为安全起见,要保护MySQL 不被本地主机上的其他用户攻击,并要保护操作系统免受MySQL 的影响。

(6)明文证书。确保除了MySQL 用户以外,没有哪个用户能够阅读MySQL 的任何配置文件和日志文件。文件https://www.360docs.net/doc/643081775.html,f、my.ini、https://www.360docs.net/doc/643081775.html, 通常有明文用户名和口令,查询日志文

件(如果存在)很可能包含口令。基于您所配置的日志等级及主机是否参与复制,在某些MySQL 配置文件中,可以有明文的用户名和口令。为了保护这些证书,应该确保这些文件对于主机上的其他用户来说是受保护的。

(7)关闭不必要的服务或守护进程。主机上攻击者能够访问的组件越多,攻击者从这些组

件发现机会进而入侵主机的可能性就越大。相反,如果需要管理的组件越多,花了越多的精力,那么出错的可能性也越大。

使主机的配置相对简单一点,会降低出现问题的概率。

(8)确保.MySQL_history 文件中没有您自己的任何内容。在Linux 系统的默认情况下,会在home 目录下发现一个.MySQL_history 文件,它包含了您在MySQL 命令行客户端中键入的所有查询日志。

定期将其进行清空,或者永久性地链接到/dev/null 目录。

2. MySQL 用户安全配置

一旦操作系统受到保护,就需要锁定MySQL 本身。这样做的第一步就是准备用户账户和特权模型。

(1)为root@localhost 账户设置一个―强健‖的口令。这样做的原因很明显:在MySQL 中并不存在多次输错口令后将用户锁住的机制,因此,对于MySQL 用户名和口令的brute-force

攻击是很有效的,而设置一个―强健‖的口令能够预防攻击者的猜测口令行为。

(2)删除所有非root 的MySQL 用户。在初始安装阶段,了解哪些用户能够访问数据库是非常重要的,尽量将这些用户从最核心(root 账户)处剥离,然后建立您所需要的用户。

(3)将MySQL 的root 用户重命名为较复杂的名字。root 账户在MySQL 中是一个非常著名的用户名,很多公开可用的工具、脚本、开发都是基于拥有root 账户这个事实的。

MySQL 使用root 这样的名字并无特别含义,所以不妨将MySQL 的root 用户重命名为一些复杂的名字:

1 update https://www.360docs.net/doc/643081775.html,er set user='MySQL_

2 admin' where user='root';

(4)如果启用了远程连接,那么在建立用户时要指定GRANT 语句中的REQUIRE SSL。这是一个较复杂的配置过程,会为特殊用户在连接时执行SSL 加密。

这样做有以下好处:首先保证用户所写的开发脚本不会起作用;第二,保证了口令盘问/ 回答的顺序。根据具体情况,可以通过使用客户机证书施加限制,来进行SSL验证。这是高

度安全的,因为关于口令的简单知识是完全不够的,必须有特定的证书才行。

(5)为每个Web 应用创建一个MySQL 用户, 如果可能的话,为Web 应用中的每个角色

创建一个用户。例如,可以有一个MySQL 用户用来更新表格,另一个低特权的用户用来从表格中进行―选择‖。

根据具体应用将各种角色分解为各用户账户,这个过程可能比较乏味,但它具有很好的安全意义。它意味着如果攻击者能够攻击某个应用程序,那么将会调整组件的特权以使攻击者受到限制。例如,攻击者也许能读某些数据,但无法进行更新。

(6)确保MySQL 用户都能受IP 地址限制,也能受口令限制。一旦嵌入MySQL 配置,那么考虑一下限制用户的IP 地址,使用户无法自行验证。

这是MySQL 一个非常有用的特点,其他数据库则没有。这样,攻击者在试图攻击MySQL 服务器时,您就在他们面前设置了又一个障碍,使他们无法直接攻击服务器,只能去攻击其他一些特定的主机,以便连接到您的数据库服务器。

在攻击者面前设置的障碍越多越好。利用IP 地址而不是主机名会更难控制,但这样做要安全得多。

当指定一个用户仅能从某些主机名或域登录时,MySQL 就必须检查IP 地址来判断其是否在相应的域中。通常这种查找是通过DNS 来实现的,攻击者可能攻击您的DNS 服务器,或是模拟它的响应,以便让MySQL 服务器相信它正在允许的域中与一个机器进行对话(实际上却不是)。

然而,如果使用IP 地址,攻击者就必须伪造3 次TCP握手过程中的客户机一方,以此来伪造一次连接及数据传输,这会更困难。如果可以的话,不妨对IP 地址进行一些限制。

(7)如果账户不一定需要,不要随便给予账户特权,特别是File priv、Grant priv 和Super priv。如果必须与MySQL 下的文件系统相互作用,那么考虑创建一个单独的MySQL 账户,这样就可以进行应用了。记住,这个账户可以阅读MySQL 的所有数据,包括口令散列。对于攻击者来说,如果他知道口令散列值的话,那么以root 的身份登录将会非常简单。

在MySQL 4.1 版本以前的版本中,将File_priv 交给用户与将root 口令交给他们是

同样的效果,这样即可通过如下代码从https://www.360docs.net/doc/643081775.html,er 表格读取口令散列:

select load_file('./MySQL/user.MYD');

一旦他们知道了口令散列,只要稍微修改一下MySQL客户端,就能以自己选择的身份轻易

登录。其他特权同等危险。

(8)不要让任何人进入https://www.360docs.net/doc/643081775.html,er 表格(除了root和用来调用root 的账户)。

在4.1 版本以前的版本中,直接登录MySQL 就可以使用存储在表格中的口令散列——并没

有使用蛮力的必要。这些MySQL 表格(user、db、host、tables_priv 及columns_priv)在MySQL 中能控制特权模型。

GRANT 和REVOKE 语句会修改这些表格。如果用户有权写这些表格,他们就能让任何人有

任何想要的特权。

在4.1 版本以前的MySQL 版本中,如果能从用户表格中读取口令散列,就能以其他任意用

户的身份登录。

MySQL 数据库安全加固

1. 安全加固配置

一旦用户和特权问题得以解决,我们还有其他配置方面的修改需要去做。

(1)通过设置log 选项来允许记录日志。

在MySQL 文档中―general query log‖被认为是调试时的一个特色,但您可能更愿意将它用作安全布防的一部分。它能记录成功连接和每次执行的查询,虽然并不记录这些查询的结果或

返回的数据,但可以提供给您线索。例如,谁在您的数据库上做了什么,所以值得对该配

置进行修改。

查询日志在默认情况下是禁用的,必须使用log 选项将它激活。

记住,对于一个管理员来说,即使完整的查询日志是一个没有价值的资源,但它对于攻击者

来说却是一个非常丰富的信息来源。如果日志存在,就会包含一些口令或者其他敏感信息。

应该保证日志文件仅仅对MySQL,以及系统上正在查询的管理员账户(或者root)可见。

另一个关于查询日志的有趣问题就是,任何拥有FILE特权(file poriv)的账户一定可以通

过执行下列语句读取日志文件。

1 select load_file('query.log');

(假设日志文件名为query.Log)。这是避免给人们FILE 特权的另一个绝佳理由。

(2)通过在https://www.360docs.net/doc/643081775.html,f 文件中加入set.variable=local.infile=0 来禁用LOAD DA TA LOCAL INFILE 命令。

LOAD DATA LOCAL INFILE 是LOAD DATA 语句的一个变体,它允许客户机直接从本地文件系统中的文件上传数据至MySQL 表中。这可能会被攻击者在某些情况下用以在客户机主机上阅读文件。

假设一个Web 服务器正在运行一个易于被进行SQL注入的PHP 应用程序,如果这个Web 应用所连接的MySQL 服务器允许―载入数据本地写入文件‖,那么攻击者就能从Web 服务器上传数据至MySQL 服务器中,这样攻击者就能任意地分析它了。

(3)删除任何不用的UDF。

UDF 可能产生出乎意料的危险,MyPHP、MyPERL、MyLUA 等都允许攻击者通过一些简单的脚本命令在服务器上大肆扩展自己的控制权。如果您没有使用UDF,却在MySQL.func 表格中看见了它们,应当立即删除。

(4)如果仅仅使用本地连接,可通过设置--skipnetworking选项来禁用TCP/IP 连接。因为有时远程主机没有必要去连接MySQL,这时最好通过指定--skipnetworkingoption 选项来禁用网络支持。

(5)根据具体的操作系统及数据目录的配置情况,可以通过设置--skip-symbolic-links 选项来禁用符合链接。

MySQL 的symbolic 链接在Windows 平台上以受限制的方式得到支持,限制包括创建一个名为.sym 的文件,以及创建通往数据库所有表格文件所在目录的路径。

在Linux 系统上,symbolic 链接会导致一些问题。如果用户能够修改一个symbolic 链接,就能与文件系统互相作用,使真正的MySQL 用户也受到限制。

(6)删除默认的测试数据库。

在默认情况下,测试数据库是存在的,应将该数据库删除。它能访问的有效数据库名字可能对攻击者有用,所以默认的测试数据库应该删除。

(7)确保MysQL 通信量是加密的。

在默认情况下,MySQL 流量是不加密的,这意味着如果攻击者能在客户机和服务器之间建立的连接上进行窃听,就能获取用户名和口令盘问/回答序列。如果正在运行一个4.1 版本以前的MySQL,很可能由盘问/回答序列来决定口令散列。这个过程在4.1 版本的MySQL

中比较困难,但仍然是可行的。4.0 以上版本的MySQL 支持客户机和服务器之间连接上的SSL 加密,这就使口令蛮力攻击几乎不可行了。对此进行配置,就是使用--SSL 选项以及其他相关的SSL 选项。

实际正在使用的保证SSL 连接的最好方法就是指定GRANT 语句中的REQUIRE SSL 语句,或者手工设置https://www.360docs.net/doc/643081775.html,er 表格中的ssl_type 域。

2. MySQL 的安全例行审计

一旦所有内容都启动且正在运行,就不应该在不管理的情况下让MySQL 独自运行。

如果一级防范进行得充分,就会很好地防御攻击者,但是知道有人正试图攻击您将会很有帮助,即使他们没有成功。也许他们会以某个0 day 溢出攻击的方式返回,下一次尝试攻击时就能成功了。因此,保持警惕是关键。

0 day 是指一些没有公布补丁的漏洞或没有被漏洞发现者公布出来的漏洞利用工具。这种漏洞的利用程序对网络安全具有巨大威胁,是入侵者的最爱。

(1)检查日志。

如果已经用log 选项配置了查询日志,您应该定期查看正在发生些什么事情。特别查看是否有一些常用的SQL注入攻击,并且使用load file、infile 及outfile 的文件系统语法。

定期检查错误日志文件也很重要,尽管它们提供的信息没有查询日志多。

记住,与日志进行交互时,日志数据是调试敏感的。如果正把它引入到其他存储库(例如数据库)进行分析,查询日志可能包含用户名和口令。

(2)定期计算用户数,并且使用show grants 语句查看哪些特权授予了哪些用户。

例如:

1 MySQL> select user, host from

2 https://www.360docs.net/doc/643081775.html,er;

3 +-------+-------+

4 | user | host |

5 +-------+-------+

6 | goocjh | % |

7 | root | localhost |

8 +-------+-------+

您可能发现在上面的数据库中有两个用户:root@localhost 和goocjh,其中goocjh 能从任意主机登录,但仅在测试数据库上有选择的特权。

另外,您也可能发现在用户表格的password 字段中goocjh 和root 有相同的口令。

(3)周期性地对口令散列进行一些快速检查。

MySQL 中的散列值是没有加密的,这意味着同样的口令总是散列到同一个值。如果使用:

1 MySQL> select user, password from

2 https://www.360docs.net/doc/643081775.html,er;

3 +-------+-------+

4 | user | password |

5 +-------+-------+

6 | root | 5d2e19cc5ef6

7 |

7 | goocjh | 5d2e19c5ef67 |

8 +-------+-------+

9 2 rows in set (0.00 sec)

就会看到哪些账户拥有相同的口令。在这种情况下,goocjh 和root 具有相同的口令(偶尔

会是―password‖)。显然,这并不是人们所希望的安全设置。

3. 了解MySQL 安全信息

如果想了解攻击者,那么拥有最新的信息来源是非常重要的。下面是一些关于MySQL 安全方面非常好的阅读材料指南:

(1)MySQL AB 有一支非常敏感的安全团队,他们会将第三方查明的信息及bug 报告反馈在文档中。这些关于MySQL 的安全文档都很不错,综合性强,容易理解,不妨当作搜集MySQL 安全材料的第一选择。

(2)经常访问,并且检查更新。MySQL 会频繁发布新版本。当发布新版本时,会有一个

非常综合的变更日志,其中详细记录了新版本中新增的或是修改过的内容。如果对日志感兴趣,可以进行仔细的阅读。

当然,是否需要更新版本是由用户自己来决定的。

如果您正在一个项目的某个阶段,它使您有时间决定DBMS,并且您正在关注MySQL 的话,那么这将帮助您进一步理解哪一个版本有哪些特色及旧版本中有哪些bug。

(3)了解您的bug。有规律地检查脆弱数据库,如SecurityFocus https://www.360docs.net/doc/643081775.html,)及NVD(https://www.360docs.net/doc/643081775.html,),看是否有MySQL bug,并且订阅安全邮件列表,如VulnWatch、BugTraq 及MySQL 邮件列表等。

SecurityFocus 及CVE 都是安全漏洞方面非常优秀的信息来源。订阅安全邮件列表也是一个好主意,因为每个人(通常是某些人)会在MySQL 中发现安全bug,这些bug会被随机地

直接发送到邮件列表。

https://www.360docs.net/doc/643081775.html, 是一个与安全相关的新闻和信息的专门站点,其中包括有关一般问题和

特殊问题的最新文章,还有一个由有益的论文构成的内容广泛的技术库。而NVD 标准数据库中所有CVE 命名的漏洞条目均支持通命名的漏洞条目缺陷评估系统CVSS,并提供CVSS

漏洞分级之一的漏洞基准值。

基于您自己的特定环境,应当认识到,最好的方法就是一旦有信息公布就立即关注这些问题,而不是等待发布补丁。

ORACLE数据库安全规范

数据库安全规范

1概述 1.1适用范围 本规范明确了Oracle数据库安全配置方面的基本要求。 1.2符号和缩略语 2 ORACLE安全配置要求 本规范所指的设备为ORACLE数据库。本规范提出的安全配置要求,在未特别说明的情况下,均适用于ORACLE数据库。 本规范从ORACLE数据库的认证授权功能和其它自身安全配置功能提出安全要求。 2.1账号 ORACLE应提供账号管理及认证授权功能,并应满足以下各项要求。 2.1.1按用户分配帐号

2.1.2删除或锁定无关帐号 2.1.3用户权限最小化 要求内容 在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权

限。

grant 权限 to user name; revoke 权限 from user name; 2、补充操作说明 用第一条命令给用户赋相应的最小权限 用第二条命令收回用户多余的权限 业务测试正常 4、检测操作 业务测试正常 5、补充说明 2.1.4使用ROLE 管理对象的权限 1. 使用Create Role 命令创建角色。 2.使用用Grant 命令将相应的系统、对象或 Role 的权限赋予应用用户。 2、补充操作说明 对应用用户不要赋予 DBA Role 或不必要的权限。 4、检测操作 1.以DBA 用户登陆到 sqlplus 中。 2.通过查询 dba_role_privs 、dba_sys_privs 和 dba_tab_privs 等视图来检查 是否使用ROLE 来管理对象权限。 5、补充说明 操作指南 1、参考配置操作 检测方法 3、判定条件 要求内容 使用数据库角色(ROLE )来管理对象的权限。 操作指南 1、参考配置操作 检测方法 3、判定条件

Oracle数据库安全配置规范华为

目录 1概述 (2) 1.1适用范围 (2) 1.2内部适用性说明 .......................................................................................................... 错误!未定义书签。 1.3外部引用说明 .............................................................................................................. 错误!未定义书签。 1.4术语和定义 .................................................................................................................. 错误!未定义书签。 1.5符号和缩略语 (2) 2ORACLE安全配置要求 (2) 2.1账号 (2) 2.2口令 (7) 2.3日志 (11) 2.4其他 (13)

1概述 1.1适用范围 本规范明确了Oracle数据库安全配置方面的基本要求。 1.2符号和缩略语 2ORACLE安全配置要求 本规范所指的设备为ORACLE数据库。本规范提出的安全配置要求,在未特别说明的情况下,均适用于ORACLE数据库。 本规范从ORACLE数据库的认证授权功能、安全日志功能,和其他自身安全配置功能提出安全要求。 2.1账号 ORACLE应提供账号管理及认证授权功能,并应满足以下各项要求。 2.1.1按用户分配帐号

Oracle数据库安全加固文档

1 端口设置 1.1 避免使用默认的监听端口 配置项 名称 避免使用默认的监听端口 检查方法 1检查$ORACLE_HOME/network/admin/listener.ora中是否有port=1521一项。 操作步骤 1 备份$ORACLE_HOME/network/admin/目录下的tnsnames.ora, listener.ora 文件 2 备份$ORACLE_HOME/dbs目录下的spfileSid.ora和initSid.ora 3执行$ lsnrctl stop 关闭Listener 4用vi修改listener.ora中的端口号1521为其他端口 5用SQL>startup immediate 关闭数据库 6 修改initSid.ora添加一项LOCAL_LISTENER=listener1 7 在tnsnames.ora中添加一项 listener1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1522)) ) ) 8 SQL>create spfile from pfile 9 $ lsnrctl start 10 SQL>startup 启动数据库 回退操作 关闭Listener和数据库,恢复备份的文件到原来的目录,重启Listener和数据库。 风险 1.修改默认端口会影响到目前使用该数据库的应用,需要这些应用同步修改为新的端口 2.需要关闭重启数据库以及关闭重启Listener来完成端口的修改 2 用户与权限 2.1 设置LISTENER的启动关闭密码 配置项 名称 设置LISTENER的启动关闭密码 检查方法 检查$ORACLE_HOME/network/admin/listener.ora文件中是否有PASSWORDS_LISTENER一项,若有说明密码已设定。 操作步骤1 备份$ORACLE_HOME/network/admin/listener.ora文件2设置步骤 $ lsnrctl

Windows系统安全加固技术指导书

甘肃海丰信息科技有限公司Windows系统安全加固技术指导书 ◆版 本◆密级【绝密】 ◆发布甘肃海丰科技◆编号GSHF-0005-OPM- ?2006-2020 HIGHFLYER INFORMATION TECHNOLOGY ,INC.

目录 文档信息................................................................. 错误!未定义书签。前言.................................................................... 错误!未定义书签。 一、编制说明............................................................ 错误!未定义书签。 二、参照标准文件........................................................ 错误!未定义书签。 三、加固原则............................................................ 错误!未定义书签。 1.业务主导原则..................................................... 错误!未定义书签。 2.业务影响最小化原则............................................... 错误!未定义书签。 3.实施风险控制..................................................... 错误!未定义书签。 (一)主机系统............................................................. 错误!未定义书签。 (二)数据库或其他应用 ..................................................... 错误!未定义书签。 4.保护重点......................................................... 错误!未定义书签。 5.灵活实施......................................................... 错误!未定义书签。 6.周期性的安全评估................................................. 错误!未定义书签。 四、安全加固流程........................................................ 错误!未定义书签。 1.主机分析安全加固................................................. 错误!未定义书签。 2.业务系统安全加固................................................. 错误!未定义书签。 五、W INDOWS 2003操作系统加固指南......................................... 错误!未定义书签。 1.系统信息......................................................... 错误!未定义书签。 2.补丁管理......................................................... 错误!未定义书签。 (一)补丁安装............................................................. 错误!未定义书签。 3.账号口令......................................................... 错误!未定义书签。 (一)优化账号............................................................. 错误!未定义书签。 (二)口令策略............................................................. 错误!未定义书签。 4.网络服务......................................................... 错误!未定义书签。 (三)优化服务............................................................. 错误!未定义书签。 (四)关闭共享............................................................. 错误!未定义书签。 (五)网络限制............................................................. 错误!未定义书签。

LINUX安全加固手册

LINUX安全加固手册

目录 1概述 (3) 2 安装 (3) 3 用户帐号安全Password and account security (4) 3.1 密码安全策略 (4) 3.2 检查密码是否安全 (4) 3.3 Password Shadowing (4) 3.4 管理密码 (4) 3.5 其它 (5) 4 网络服务安全(Network Service Security) (5) 4.1服务过滤Filtering (6) 4.2 /etc/inetd.conf (7) 4.3 R 服务 (7) 4.4 Tcp_wrapper (7) 4.5 /etc/hosts.equiv 文件 (8) 4.6 /etc/services (8) 4.7 /etc/aliases (8) 4.8 NFS (9) 4.9 Trivial ftp (tftp) (9) 4.10 Sendmail (9) 4.11 finger (10) 4.12 UUCP (10) 4.13 World Wide Web (WWW) – httpd (10) 4.14 FTP安全问题 (11) 5 系统设置安全(System Setting Security) (12) 5.1限制控制台的使用 (12) 5.2系统关闭Ping (12) 5.3关闭或更改系统信息 (12) 5.4 /etc/securetty文件 (13) 5.5 /etc/host.conf文件 (13) 5.6禁止IP源路径路由 (13) 5.7资源限制 (13) 5.8 LILO安全 (14) 5.9 Control-Alt-Delete 键盘关机命令 (14) 5.10日志系统安全 (15) 5.11修正脚本文件在“/etc/rc.d/init.d”目录下的权限 (15) 6 文件系统安全(File System Security) (15) 6.1文件权限 (15) 6.2控制mount上的文件系统 (16) 6.3备份与恢复 (16) 7 其它 (16) 7.1使用防火墙 (16)

Oracle数据库安全配置规范

Oracle数据库安全配置规范 1概述 1.1目的 本规范明确了oracle数据库安全配置方面的基本要求。为了提高oracle数据库的安全性而提出的。 1.2范围 本规范适用于XXXXX适用的oracle数据库版本。 2配置标准 2.1账号管理及认证授权 2.1.1按照用户分配账号 [目的]应按照用户分配账号,避免不同用户共享账号。 [具体配置] create user abc1 identified bypassword1; createuser abc2 identifiedby password2; 建立role,并给role授权,把role赋给不同的用户删除无关账号。 [检测操作]

2.1.2删除无用账号 [目的]应删除或锁定与数据库运行、维护等工作无关的账号。 [具体配置] alter user usernamelock; drop user username cascade; [检测操作] 2.1.3限制DBA远程登入 [目的]限制具备数据库超级管理员(SYSDBA)权限的用户远程登录。 [具体配置] 1.在spfile中设置REMOTE_LOGIN_PASSWORDFILE=NONE来禁止 SYSDBA用户从远程登陆。 2.在sqlnet.ora中设置SQLNET.AUTHENTICATION_SERVICES=NONE来 禁用SYSDBA角色的自动登入。 [检测操作] 1.以Oracle用户登入到系统中。 2.以sqlplus‘/assysdba’登入到sqlplus环境中。 3.使用showparameter 命令来检查参数REMOTE_LOGIN_PASSWORDFI LE是否设置为NONE。Show parameter REMOTE_LOGIN_PASSWORDF ILE

数据库服务器安全配置检查表

数据库服务器安全配置检查表 更新日期:2004年04月12日 本页内容 如何使用本检查表 产品服务器的安装注意事项 修补程序和更新程序 服务 协议 帐户 文件和目录 共享 端口 注册表 审核与日志记录 SQL Server 安全性 SQL Server 登录、用户和角色 SQL Server 数据库对象 其他注意事项 保持安全 如何使用本检查表 本检查表随模块18 保证数据库服务器的安全一起提供。本检查表可帮助您保护数据库服务器,并可用作相应模块的快照。返回页首 产品服务器的安装注意事项

返回页首 修补程序和更新程序 返回页首 服务

协议 在 在数据库服务器上强化 返回页首 帐户 使用具有最少权限的本地帐户运行 从 禁用 重命名 强制执行强密码策略。 限制远程登录。 限制使用空会话(匿名登录)。 帐户委派必须经过审批。 不使用共享帐户。 限制使用本地

文件和目录 返回页首 共享 从服务器中删除所有不必要的共享。 限制对必需的共享的访问( 如果不需要管理性共享( Operations Manager (MOM) 返回页首 端口

和 配置在同一端口侦听命名实例。 如果端口 将防火墙配置为支持 在服务器网络实用工具中,选中 返回页首 注册表 返回页首 审核与日志记录 记录所有失败的 记录文件系统中的所有失败的操作。 启用 将日志文件从默认位置移走,并使用访问控制列表加以保护。 将日志文件配置为适当大小,具体取决于应用程序的安全需要。

返回页首 SQL Server 安全性 返回页首 SQL Server 登录、用户和角色 返回页首

AIX安全加固操作手册

AIX安全加固操作手册 作为宽带智能网中的Appserver,在完成AIX操作系统上智能网系统的安装和配置以后(除系统加固之外的所有安装和配置,包括双机),需要立即进行系统加固,以防止非法入侵,系统加固的具体步骤如下: 一、系统推荐补丁升级加固 1.检查是否打上了AIX操作系统要求补丁(433要求10以上;5.1要求5以上;5.2要求使用IBM最新发布的补丁) 检查补丁版本命令:oslevel –r 或instfix –i |grep ML (看返回结果中OS版本后带的小版本号) 2.如果未安装补丁,使用如下方式安装补丁 1)将补丁盘放入光驱、以root执行:mount /cdrom 2)执行:smitty update_all (选择/dev/cd0为安装介质) 注意选择安装选项中: COMMIT software updates? no SA VE replaced files? yes 安装结束后使用以上方式检查是否已经安装成功,并使用:shutdown –Fr 重起系统 二、AIX系统配置安全加固 1.编辑/etc/inetd.conf文件,关闭所有服务。 将inetd.conf文件中的内容清空 > /etc/inetd.conf refresh –s inetd 2.编辑/etc/rc.tcpip文件,关闭除以下服务外的所有服务: portmap syslog inetd sendmail snmpd 如关闭dpid2,则只要注销以下行:(前面加#号即可) #start /usr/sbin/dpid2 "$src_running" 再使用: stopsrc –s XXX来停止这些已经启动的服务 3./etc/inittab中关闭 用:注释服务,不是‘#’ piobe Printer IO BackEnd qdaemon Printer Queueing Daemon writesrv write server httpdlite docsearch Web Server

Oracle数据库安全配置手册

Oracle数据库安全配置手册 Version 1.0

版本控制

目录 第一章目的与范围 (1) 1.1目的 (1) 1.2适用范围 (1) 1.3数据库类型 (1) 第二章数据库安全规范 (1) 2.1操作系统安全 (1) 2.2帐户安全 (2) 2.3密码安全 (2) 2.4访问权限安全 (2) 2.5日志记录 (3) 2.6加密 (3) 2.7管理员客户端安全 (3) 2.8安全补丁 (3) 2.9审计 (3) 第三章数据库安全配置手册 (4) 3.1O RACLE数据库安全配置方法 (4) 3.1.1 基本漏洞加固方法 (4) 3.1.2 特定漏洞加固方法 (12)

第一章目的与范围 1.1 目的 为了加强宝付的数据安全管理,全面提高宝付各业务系统的数据安全水平,保证业务系统的正常运营,提高业务服务质量,特制定本方法。 本文档旨在于规范宝付对各业务系统的Oracle数据库进行安全加固处理。 1.2适用范围 本手册适用于对宝付公司的各业务系统的数据库系统加固进行指导。 1.3数据库类型 数据库类型为Oracle 11g。 第二章数据库安全规范 2.1 操作系统安全 要使数据库安全,首先要使其所在的平台和网络安全。然后就要考虑操作系统的安全性。Oracle使用大量用户不需要直接访问的文件。例如,数据文件和联机重做日志文件只能通过Oracle的后台进程进行读写。因此,只有要创建和删除这些文件的数据库管理员才需要在操作系统级直接访问它们。导出转储文件和其他备份文件也必须受到保护。可以把数据复制到其他数据库上,或者是作为复制模式的一部分,或者是提供一个开发数据库。若要保护数据的安全,就要对数

mysql数据库实验答案

实验一创建、修改数据库和表结构 1、用create建立教学数据库的五个基本表: (1)学生表(学号,姓名,性别,年龄),student((Sno, sname,ssex,sage) ; (2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ; (3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ; (4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址), T(Tno,Tname,ssex,birthday,dept,title,address) ; (5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj); Create Database Student default character set utf8 default COLLATE utf8_bin;

Use Student; Create Table Student( SNo c har(20) primary key, SName char(20) , SSex char(4) default '男', SAge int ) ENGINE=InnoDB; Create Table Course( CNo c har(20) primary key, CName char(20) NOT NULL,

CRedit f loat ) ENGINE=InnoDB; Create Table SC( SNo c har(20) NOT NULL, CNo c har(20) NOT NULL, Grade float, Primary Key(SNo, CNo), Foreign Key(SNo) References Student(SNo) On Delete Cascade, Foreign Key(CNo) References Course(CNo) )ENGINE=InnoD B;

数据库安全加固系统

数据库安全加固系统 内部资料 1、该系统是什么? 数据库安全加固系统,对存储在数据库中的(机密、关键)数据提供细粒度的安全防护,能够对数据库中的条目有选择的安全处理。 该系统采取积木模型对数据库项目进行安全处理,终端用户根据其请求,仅能对数据库中具体条目操作,而不能获知其他条目的任何信息。 该系统部署简单,仅需调用该系统提供的数据接口即可完成系统部署;同时,对部署该系统之后,终端用户在操作上没有任何不同。该系统的部署,不但能够有效地防止恶意访问企业网的攻击者获取存储在数据库的企业核心数据,而且还能够有效地防止企业内部管理人员的误操作或者不当管理所造成的信息泄露!2、为什么需要该系统? 信息化的快速发展,使得企业诸多数据都存储在数据库系统之中。然而,某些具有恶意目的的攻击者或者企业内部人员,获取对存储企业核心数据的管理权限之后,散播或者恶意使用这些数据,对企业的核心竞争力以及信誉造成了严重的影响!甚至影响企业的生存与发展!近期比较严重的数据库数据泄露事件主要有: 1、国内知名IT社区CSDN论坛约6,428,632个用户信息包含帐号、明文密 码、电子邮件遭受入侵被泄露; 2、国内某知名连锁酒店开房记录遭受恶意攻击者泄露,泄露信息包括用户姓 名,家庭住址,身份证号码,手机号码等隐私信息; 3、小米800万注册用户信息被泄露,泄露信息包括用户的用户名、密码、注 册IP、邮箱等多种信息; 4、Gmail用户大量信息被泄露; 5、中国网易公司自主研发病运营的“梦幻西游”游戏,约1.4G(木马盗取) 信息被泄露,泄露信息包括帐号、邮箱、明文密码、角色名称、所在服务器、最后登陆时间、最后登陆IP等; 。。。。。。。。。。

WindowsXP安全加固方案

WindowsXP 安全加固配置手册 目录 一、安全加固配置说明..........................................................................................................- 2 - 1.1 安全加固配置目的............................................................................................................- 2 - 1.2 适用系统...........................................................................................................................- 2 - 1.3 相关说明...........................................................................................................................- 2 - 二、主机加固方案..................................................................................................................- 2 - 2.1 操作系统加固方案...........................................................................................................- 2 - 2.1.1 安全补丁检测及安装............................................................................................- 2 - 2.1.2 系统用户口令及策略加固....................................................................................- 3 - 2.1.3 日志及审核策略配置.............................................................................................- 4 - 2.1.4 安全选项策略配置................................................................................................- 6 - 2.1.5 用户权限策略配置..............................................................................................- 12 - 2.1.6 注册表安全设置..................................................................................................- 14 - 2.1.7 网络与服务加固..................................................................................................- 16 - 2.1.8 其他安全性加固..................................................................................................- 18 -

SQL Server 2000的安全配置

SQL Server 2000安全配置完全攻略 这里,我们主要谈论有关SQL Server2000数据库的安全配置以及一些相关的安全和使用上的问题。 在进行SQL Server 2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP 等脚本,这是很多基于数据库的WEB应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似, ‘ ;@ / 等字符,防止破坏者构造恶意的SQL语句。 在做完上面三步基础之后,我们再来讨论SQL Server的安全配置。 1、使用安全的密码策略: 我们把密码策略摆在所有安全配置的第一步,请注意,很多数据库帐号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa帐号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步! SQL Server2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非你确认必须使用空密码。这比以前的版本有所改进。 同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。比如使用下面的SQL语句: Use master Select name,Password from syslogins where password is null 2、使用安全的帐号策略: 由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号,只有当没有其它方法登录到SQL Server 实例(例如,当其它系统管理员不可用或忘记了密码)时才使用sa。建议数据库管理员新建立一个拥有与sa一样权限的超级用户来管理数据库。安全的帐号策略还包括不要让管理员权限的帐号泛滥。 SQL Server的认证模式有Windows身份认证和混合身份认证两种。如果数据库管理员不希望操作系统管理员来通过操作系统登陆来接触数据库的话,可以在帐号管理中把系统帐号“BUILTIN\Administrators”删除。不过这样做的结果是一旦sa帐号忘记密码的话,就没有办法来恢复了。 很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配帐号,并赋予仅仅能够满足应用要求和需要的权限。比如,只要查询功能的,那么就使用一个简单的public帐号能够select 就可以了。

MySQL数据库技术》实验报告模板

MySQL数据库技术实验报告 系别班级学号姓名地点 地点机房课程名称MySQL数据库技术实验名称实验1 MySQL的使用 实验过程 目的要求: (1)掌握MySQL服务器安装方法 (2)掌握MySQL Administrator的基本使用方法 (3)基本了解数据库及其对象 实验准备: (1)了解MySQL安装的软硬件要求 (2)了解MYSQL支持的身份验证模式 (3)了解MySQL各组件的主要功能 (4)基本了解数据库、表、数据库对象 实验内容: 1.安装MySQL服务器和MySQL界面工具 安装MySQL界面工具。(插入安装好的界面工具截图即可) 2.利用MySQL客户端访问数据库 (1)打开开始,程序,MySQL,MySQL server 5.1,MySQL command line client,进入MySQL客户端界面,输入管理员密码登录。 (2)在客户端输入“help”或“\h”,查看MySQL帮助菜单,仔细阅读帮助菜单的内容。

(3)实用show语句查看系统自动创建的数据库。 (4)实用USE语句选择mysql数据库为当前数据库。(5)使用SHOW TABLES 语句查看当前数据库中的表。

(6)使用了一条SELECT语句查看mysql数据库中存储用户信息表的user的内容。 (7)使用use语句将当前的数据库设定为information_schema,并查看数据库数据库中有哪些表。<图表见下页>

实验小结: 在安装MySql中有时可能不能安装不成功,那么卸载时,会存在删除不完全的情况。导致再次安装时依然不成功。 在对某个数据库进行操作之前,必须先选中该数据库。 在MySql安装过程中,注意修改字符集为gb2312或gbk, 以支持中文信息输入。

信息安全加固手册-SQL-Server

数据库安全加固手册 SQL Server

目录 一、总则 (3) 二、适用范围 (3) 三、数据库的安装 (3) 四、数据库的加固 (4) 1. 补丁检查 (4) 2. 安装补丁 (5) 3. 服务 (5) 4. 协议 (5) 5. Windows SQL SERVER帐号 (6) 6. SQL SERVER登陆组、帐户和角色 (7) 7. 文件和目录 (8) 8. 共享及端口 (9) 9. 加固注册表 (9) 10. 存储过程 (10) 11. 审计和日志 (11) 五、设置应用开发检查及控制措施 (11) 六、设置良好的日志管理策略 (11) 七、设置良好的数据库备份策略 (11)

SQL SERVER安全加固手册 一、总则 1制定SQL Server数据库安全加固维护手册的目的是建立SQL Server安全配置、安全维护标准,并以此标准为指导,配置和审视SQL Server数据库服务器的安全性;降低系统存在的安全风险,确保系统安全可靠的运行。 2本手册既可以作为SQL Server管理员的安全加固维护手册,也可作为进行SQL Server数据库的定期风险评估的评估内容。 二、适用范围 1本手册适用于SQL Server数据库服务器,包括但不限于桌面计算机、笔记本计算机及个人使用的计算机设备等。 2本手册是管理员操作级的手册,SQL Server数据库系统的管理有责任认真遵照手册的规定进行SQL Server数据库系统的加固和日常维护,对于SQL Server数据库系统的个人使用者也有重要的参考作用和意义。 3本手册应当适用于SQL Server数据库系统的管理员。 4本手册忽略大小写,即SELECT与Select以及select相同。 三、数据库的安装 1保证SQL SERVER数据库主机物理安全。 2在安装SQL Server数据之前,应将所在的主机操作系统进行必要的安全加固,特别是操作系统的补丁。参见《主机系统安全加固维护手册》。 3安装SQL Server之前创建一个可以具有运行SQL Server服务权限的操作系统帐号。而不要用本地系统帐号或者administrator帐号进行数据库的安装。4不要将SQL Server数据库安装在域控制器服务器上。 5SQL Server数据库系统应当安装在非系统卷的ntfs分区上。 6建议选择定制安装数据库,如非特殊需要,去掉以下不必要的安装选项:

安全加固手册

安全加固手册 8.2 系统安全值设置 8.2.1 查看目前系统值: WRKSYSV AL 一个一个顺序在终端上显示 或者 DSPSYSVAL SYSV AL (system value) 8.2.2 系统安全级别推荐设置为40 QSECURITY 40 10 没有用户认证,没有资源保护 20 用户使用密码认证,没有资源保护 30 用户认证和默认的资源保护 40 跟 30 相似,但是控制了特权指令和设备的接口 (在客户端被认为具有高的风险的时候应用安全级别40。他会限制对对象,其他工作的数据和系统内部程序的直接访问) 50 增强型的安全访问控制,达到真正的 C2 级安全控制 8.2.3 建议设置口令复杂度策略 QPWDVLDPGM *NONE 无密码检测 8.2.4 密码长度 最小密码长度 QPWDMINLEN 6 最大密码长度 QPWDMAXLEN 10 8.2.5 设置帐户最大尝试登陆次数 QMAXSIGN 3(默认值) 达到最大尝试次数措施 QMAXSGNACN 3(默认值) 1 禁用终端 2 禁用用户配置文件 3 全部

(注 :建议根据自己的情况选择,禁用终端后,可能会给别人的造成误解,怀疑设备损坏。管理员要十分清楚该参数的含义) 8.2.6 设置密码有效期 QPWDEXPITV 30-90 *NOMAX 不限 1-366 天 QPWDRQDDIF 1 0 可以和以前的历史记录中的 32 个密码一样 1 必须和以前的历史记录中的 3 2 个密码不同 8.2.7 限制安全设备登陆 QLMTSECOFR 1 0 允许所有有 *ALLOBJ 授权的用户在任意显示终端登陆,有 *SERVICE 授权的用户可以使用*CHANGE 公开认证手段登陆到任意显示终端 1 不允许有 *ALLOBJ 或 *SERVICE 的用户登陆到任一显示终端上(主控制台除外),除非他们有特别的授权允许访问 8.2.8 设置超时策略 QINACTITV 无活动的任务超时 *NONE: 无超时 5-300 超时最大允许时间(分钟)推荐 15 非授权用户在某个时间段无操作,系统将会根据该参数值决定是否断开当前的session。 认证用户通过再次登陆,可以继续以前session 所保留的屏幕。当设置中断连接任务 (*DSCJOB )值去中断任意交互式登陆。 8.2.9 限制设备sessions QLMTDEVSSN 0 不限制一个终端的特定用户 ID 的在同一时刻的使用数 1 限制同一时刻只能有一个特定用户登录到这台工作站 8.2.10 用户登录信息是否显示在屏幕上 QDSPSGNINF 0 在用户登录时 ,登陆信息不显示 1 以下信息会被显示最后登陆时间 从上次登陆以来的失败登陆 密码 7 天或之内密码将要过期的警告

数据库安全管理加密系统

数据库信息系统必备 数据库安全管理加密系统

《数据库安全管理加密系统》以软硬件结合方式彻底解决数据泄密问题,即使数据库非法侵入或拷贝,得到的也是一堆无法可解的乱码,而目前银行、电信部门客户数据外泄案频发,公安部门对保密要求更高,数据库裸放在服务器中,随时有泄密危险。 目录 1.产品背景 (3) 2.产品简介 (5) 3.产品架构 (6) 3.1 DBLOCK安全平台 (6) 3.2 服务器端代理(Server Agent) (7) 3.3 WEB管理控制台(Console) (8) 3.4 安全策略和安全审计中心 (9) 4.产品功能及特点 (10) 4.1 数据库数据透明加密 (10) 4.2 数据库透明访问,不需对应用作任何修改 (10) 4.3 数据传输加密 (11) 4.4 透明安全代理 (11) 4.5 三权分立管理 (13) 4.6 完善的系统审计功能 (14) 4.7 支持多数据库系统 (14) 4.8 DBLOCK系统特点 (14)

数据库安全管理加密系统 最近几年,个人信息大规模泄露、造成巨大损失的事件时有发生: 1、招商银行、工商银行员工兜售客户信息,造成损失达3000多万元。 2、京东商城客户账号泄密案件。 3、CSDN几百万用户注册信息库被黑客盗取。 4、天涯社区论坛4000万用户数据泄露。 5、taobao泄密事件. 6、开心网账号泄密事件 1.产品背景 随着计算机技术的飞速发展,各类信息系统的应用已深入到各个领域。但随之而来应用系统和数据库的安全问题尤为凸显。数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要。小则关系到企业兴衰、大则关系到国家安全。 在涉密单位或者大型企事业单位中,广泛的实施了安全防护措施,包括机房安全、物理隔离、防火墙、入侵检测、加密传输等等。但就应用系统本身和数据库的安全问题却一直得不到应有的重视。同时,之前的市场上也缺乏有效的应用系统和数据库安全的统一解决方案。这就致使数据库及其应用系统在安全方面普遍存在一些安全隐患。其中比较严峻的几个方面表现在: (1)应用系统身份验证强度问题。 目前许多应用系统本身缺乏有效的强身份认证安全机制,应用服务提供者如何验证用户的有效身份,用户如何验证服务提供者的身份,如何保证在网络上传输的数据不被篡改。 (2)数据库安全问题。 由于国内只能购买到C2安全级别的数据库安全系统,该类系统采用自主访问控制(DAC)模式,DBA角色能拥有至高的权限,权限可以不受限制的传播。

Sybase数据库安全配置规范

Sybase数据库安全配置规范

1.概述 1.1. 目的 本规范明确了Sybase数据库安全配置方面的基本要求。为了提高Sybase数据库的安全性而提出的。 1.2. 范围 本规范适用于XXXX使用的Sybase数据库版本。

2.配置标准 2.1. 通用安全设置 2.1.1.操作系统检查 【目的】检查Sybase安装目录的访问权限,保证只有系统管理员才能访问。 【具体配置】 改变Sybase注册表 KLM\Software\Sybase中的权限键值。 2.1.2.服务器信息 【目的】列举网路上的远程服务器。 【具体配置】 exec sp_helpserver 检查输出内容: 网络密码加密: "net password encryption" = true "net password encryption" = false 安全机制: "rpc security model A" 不提供安全机制 “rpc security model B” 提供不同的安全服务,如互相认证、消息加密、完整 性校验等。 列举特定服务器的信息: exec sp_helpdb 2.1. 3.登录信息 【目的】检查认证模式是否开启和默认登陆。 【具体配置】 检查认证模式是否开启: exec sp_loginconfig "login mode" 0 – 标准模式 1 – 集成模式 2 – 混合模式 标准认证模式: 默认的认证模式。Sybase使用自己的数据库(master数据库中的syslogins 表)来认证用户。Windows NT/2000的管理员如果没有正确的帐户也不能

Oracle数据库系统加固规范

Oracle数据库系统加固规范1 账号管理、认证授权 (1) 1.1 账号............................................................... 1.… 1.1.1 SHG-Oracle-01-01-01 ............................................... 1.… 1.1.2 SHG-Oracle-01-01-02 ............................................................................ 2… 1.1.3 SHG-Oracle-01-01-03 ............................................................................ 3… 1.1.4 SHG-Oracle-01-01-04 ............................................................................ 4.… 1.1.5 SHG-Oracle-01-01-05 ............................................................................ 5.…

1.1.6 SHG-Oracle-01-01-06 7.... 1.1.7 SHG-Oracle-01-01-07 8.... 1.1.8 SHG-Oracle-01-01-08 .......................................................................... .10.. 1.2 口令........................................................... .1.1.... 1.2.1 SHG-Oracle-01-02-01 1.1.. 1.2.2 SHG-Oracle-01-02-02 12.. 1.2.3 SHG-Oracle-01-02-03 14.. 1.2.4 SHG-Oracle-01-02-04 .......................................................................... .15.. 1.2.5 SHG-Oracle-01-02-05 .......................................................................... .16.. 2 日志配置 (18) 2.1.1 SHG-Oracle-02-01-01 18.. 2.1.2 SHG-Oracle-02-01-02 2.1.. 2.1.3 SHG-Oracle-02-01-03 22.. 2.1.4 SHG-Oracle-02-01-04 .......................................................................... 24.. 3 通信协议 (25) 3.1.1 SHG-Oracle-03-01-01............................................. 25.. 3.1.2 SHG-Oracle-03-01-02 .......................................................................... 26.. 4 设备其他安全要求 (28) 4.1.1 SHG-Oracle-04-01-01 28..

相关文档
最新文档