《数据库技术》课件-第7章数据库的安全_第1页
《数据库技术》课件-第7章数据库的安全_第2页
《数据库技术》课件-第7章数据库的安全_第3页
《数据库技术》课件-第7章数据库的安全_第4页
《数据库技术》课件-第7章数据库的安全_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章数据库的安全掌握数据库安全性控制技术理解和应用安全管理制度了解数据库安全的未来发展理解数据库安全性的基本概念掌握数据库安全标准和评价方法学习目标7.1数据库安全性概述7.1.1安全定义与事故类型

11.数据库安全性的定义数据库安全性是指保护数据库,防止非法使用,以避免数据的泄密,更改或破坏。数据库的最大特点是数据是共享的,而数据共享必然带来安全性问题,因为数据库系统中的数据共享并非无条件的共享。7.1数据库安全性概述7.1.1数据类型12.数据库的事故类型

(1)非授权用户对数据库的恶意存取和破坏

黑客或者破坏者编写合法程序绕过DBMS及其授权机制,获取用户名和密码,假冒合法用户偷取、修改甚至破坏用户数据。达梦数据库管理系统提供的安全措施主要包括用户身份鉴别、存取控制和视图等技术。

(2)数据库中重要数据被泄露黑客和破坏分子通过直接或编写应用程序执行非授权操作盗窃数据库中的重要数据,从数据库中获取保密数据。达梦数据库管理系统提供的主要技术有强制存取控制、数据加密存储和加密传输等。同时提供审计功能,通过分析审计日志,对潜在的危险提前预防。

(3)安全环境的存在不安全性安全性问题不只是数据库系统独有,所有计算机系统,包括计算机硬件、操作系统、网络系统都存在不安全性。因此数据库的安全性与计算机系统的安全性紧密联系。因此需要在计算机安全技术方面建立一套可信计算机系统的安全标准,这样才能规范和指导以及测定数据库管理系统的安全性能指标,满足不同用户需求。达梦数据库管理系统也满足国家标准要求。7.1数据库安全性概述7.1.2

数据库安全标准与评价21.国际安全标准(1)TCSEC(桔皮书):是一套用于评估计算机系统安全性的标准。(2)CC标准:通用标准,用于评估信息技术安全性。(3)TCSEC/TDI(紫皮书):评估信任数据库解释器的标准。2.国内安全标准(1)信息安全技术数据库管理系统安全评估准则(2)信息安全技术数据库管理系统安全技术要求7.1数据库安全性概述7.1.2

数据库安全标准与评价2编号标准号标准中文名称发布日期实施日期标准状态1GB/T20009-2019信息安全技术数据库管理系统安全评估准则2019/8/302020/3/1现行2GB/T20273-2019信息安全技术数据库管理系统安全技术要求2019/8/302020/3/1现行3GB/T32633-2016分布式关系数据库服务接口规范2016/4/252016/11/1现行4GB/T30994-2014关系数据库管理系统检测规范2014/9/32015/2/1现行5GB/T28821-2012关系数据管理系统技术要求2012/11/52013/2/1现行6GB/T12991.1-2008信息技术数据库语言SQL第1部分:框架2008/12/12008/7/16现行7.2数据库安全性控制7.2.1身份认证1用户身份鉴定是数据库管理系统提供的最外层安全保护措施。每个用户在系统中拥有一个用户标识(由用户名和用户标识号两部分组成)。常用的用户身份鉴定方法包括:1.口令鉴别(1)静态口令鉴别静态口令一般由用户自己设定,鉴别时按要求输入正确的口令,系统将允许用户使用数据库管理系统。例如:电话、生日等。(2)动态口令鉴定每次鉴别时均使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法。例如:短信密码、动态令牌等(3)DM数据库管理系统口令鉴别策略用户口令最长为48字节,创建用户语句中的PASSWORDPOLICY子句用来指定该用户的口令策略。7.2数据库安全性控制7.2.1身份认证12.用户身份验证模式DM提供多种用户身份验证模式来保护对数据库访问的安全,包括数据库身份验证、基于操作系统的身份验证、LDAP身份验证、SSL双因子身份验证、KERBEROS身份验证和UKEY身份验证。3.生物特征鉴别采用图像处理和模式识别等技术实现基于生物特征的认证,例如:指纹、虹膜等4.智能卡鉴别登录数据库管理系统时用户将智能卡插入专用的读卡器进行身份验证。7.2数据库安全性控制7.2.2访问控制2存取控制机制包括定义用户权限和合法权限检查两部分:(1)定义用户权限(用户对某一数据对象的操作权力),将用户权限登记到数据字典中(2)合法权限检查,用户发出存取数据库的操作请求后,数据库管理系统就和查找数据字典,进行合法权限检查,对超出权限的操作,系统拒绝执行此操作。7.2数据库安全性控制7.2.3自主授权3

自主访问控制(DiscretionaryAccessControl,DAC)是由数据库对象的拥有者自主决定是否将自己拥有的对象的部分或全部访问权限授予其他用户。在自主访问控制下,用户可以按照自己的意愿,有选择地与其他用户共享他拥有的数据库对象。

1.权限管理

DM数据库对用户的权限管理有着严密的规定,如果没有权限,用户将无法完成任何操作。用户权限分为两类:数据库权限和对象权限。数据库权限主要是指针对数据库对象的创建、删除、修改的权限,对数据库备份等权限。数据库权限是与数据库安全相关的非常重要的权限,其权限范围比对象权限更加广泛,因而一般被授予数据库管理员或者一些具有管理功能的角色。

2.权限的分配与回收

可以通过GRANT语句将权限(包括数据库权限、对象权限以及角色权限)分配给用户和角色,之后也可以使用REVOKE语句将授出的权限进行回收。7.2数据库安全性控制7.2.4角色管理4

角色是一组权限的组合,使用角色的目的是使权限管理更加方便。假设有10个用户,这些用户为了访问数据库,至少拥有CREATETABLE、CREATEVIEW等权限。如果将这些权限分别授予这些用户,那么需要进行的授权次数是比较多的。但是如果把这些权限事先放在一起,然后作为一个整体授予这些用户,那么每个用户只需一次授权,授权的次数将大大减少,而且用户数越多,需要指定的权限越多,这种授权方式的优越性就越明显。这些事先组合在一起的一组权限就是角色,角色中的权限既可以是数据库权限,也可以是对象权限,还可以是别的角色。7.2数据库安全性控制7.2.4角色管理4

1.角色的创建与删除

(1)DM预定义角色

在DM数据库中有两类角色,一类是DM预设定的角色,一类是用户自定义的角色。DM提供了一系列的预定义角色以帮助用户进行数据库权限的管理。预定义角色在数据库被创建之后即存在,并且已经包含了一些权限,数据库管理员可以将这些角色直接授予用户。

(2)创建角色语句

在DM系统中,可以对用户直接授权,也可以通过角色来授权。在实际的权限分配方案中,通常是用角色。先为数据库定义一系列的角色,然后将权限分配给这些角色。基于这些角色的用户间接地获得权限。7.2数据库安全性控制7.2.4角色管理4

2.角色权限的分配与回收

(1)角色权限的分配通常角色包含权限或其他角色,通过使用GRANT语句将一个角色授予用户或另一角色可以使得用户和角色继承该角色所具有的权限。

(2)角色权限的回收可以使用REVOKE语句回收用户或其它角色从指定角色继承过来的权限。7.3视图机制

在数据库系统中,可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内。通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护。

1.视图的作用

(1)数据隔离

为不同的用户提供不同的数据视图,从而限制数据对象的可见范围。

(2)安全保护

通过视图隐藏敏感或保密的数据,使无权存取的用户无法直接看到这些数据,达到安全保护的效果。

2.视图机制与存取谓词:

视图机制可以间接地支持基于存取谓词的用户权限定义。存取谓词定义了基于某些条件的数据访问权限。通过为满足特定条件的数据创建视图,可以实现对特定子集的数据的访问控制。7.4审计跟踪7.4.1审计开关1在DM系统中,专门为审计设置了开关,要使用审计功能首先要打开审计开关。审计开关由过程VOIDSP_SET_ENABLE_AUDIT(paramint);控制,过程执行完后会立即生效,param有三种取值:0:关闭审计1:打开普通审计2:打开普通审计和实时审计缺省值为0。7.4审计跟踪7.4.2审计的设置与取消2

数据库审计员指定被审计对象的活动称为审计设置,只有具有AUDITDATABASE权限的审计员才能进行审计设置。DM提供审计设置系统过程来实现这种设置,被审计的对象可以是某类操作,也可以是某些用户在数据库中的全部行踪。只有预先设置的操作和用户才能被DM系统自动进行审计。DM允许在三个级别上进行审计设置,如下表所示。审计级别说明系统级系统的启动与关闭,此级别的审计无法也无需由用户进行设置,只要审计开关打开就会自动生成对应审计记录语句级导致影响特定类型数据库对象的特殊SQL或语句组的审计。如AUDITTABLE将审计CREATETABLE、ALTERTABLE和DROPTABLE等语句对象级审计作用在特殊对象上的语句。如test表上的INSERT语句7.4审计跟踪7.4.3语句序列审计3DM还提供了语句序列审计功能,作为语句级审计和对象级审计的补充。语句序列审计需要审计员预先建立一个审计规则,包含N条SQL语句(SQL1,SQL2……),如果某个会话依次执行了这些SQL语句,就会触发审计。7.4审计跟踪7.4.4关于审计设置的一些说明4只要审计功能被启用,系统级的审计记录就会产生。在进行数据库审计时,审计员之间没有区别,可以审计所有数据库对象,也可取消其他审计员的审计。语句级审计不是针对特定的对象,而是针对用户进行的。对象级审计针对指定的用户与指定的对象进行审计。在设置审计时,审计选项不区分包含关系,都可以设置。在设置审计时,审计时机不区分包含关系,都可以进行设置。如果用户执行的一条语句与设置的若干审计项都匹配,只会在审计文件中生成一条审计记录。7.4审计跟踪7.4.5审计文件管理5

DM审计信息存储在审计文件中。审计文件存放在数据库的SYSTEM_PATH指定的路径,即数据库所在路径。审计文件命名格式为“AUDIT_GUID_创建时间.log”,其中“GUID”为DM给定的一个唯一值

审计文件的大小可以通过DM的INI参数AUDIT_MAX_FILE_SIZE指定。当单个审计文件超过指定大小时,系统会自动切换审计文件,自动创建新的审计文件,审计记录将写入新的审计文件中。AUDIT_MAX_FILE_SIZE为动态系统级参数,缺省值为100M,DBA用户可通过系统过程SP_SET_PARA_VALUE对其进行动态修改,有效值范围为1~4096M。7.4审计跟踪7.4.6审计实时侵害检测6

当执行“SP_SET_ENABLE_AUDIT(2);”时,开启审计实时侵害检测功能。实时侵害检测系统用于实时分析当前用户的操作,并查找与该操作相匹配的实时审计分析规则,如果规则存在,则判断该用户的行为是否是侵害行为,确定侵害等级,并根据侵害等级采取相应的响应措施。7.4审计跟踪7.4.7审计分析7

DM提供了图形界面的审计分析工具Analyzer,实现对审计记录的分析功能,能够根据所制定的分析规则,对审计记录进行分析,判断系统中是否存在对系统安全构成危险的活动。只有审计用户才能使用审计分析工具Analyzer。审计用户登录审计分析工具后,通过Analyzer可以创建和删除审计规则,并可以指定对某些审计文件应用某些规则。并将审计结果以表格的方式展现出来。7.5数据加密7.5.1透明加密1

在透明加密中,密钥生成、密钥管理和加解密过程由数据库管理系统自动完成,用户不可见。透明加密的目的主要是保证存储在数据文件中的敏感数据的安全,并不能保护合法用户的个人私密数据。系统内置了常用的DES,AES,RC4等类型的加密算法,以此来保护数据的安全性。7.5数据加密7.5.2半透明加密2

创建用户时可以指定存储加密密钥,这个密钥就是为了进行半透明加密时使用的。如果在创建用户时并没有指定存储加密密钥,系统也会自动为用户生成一个默认的加密密钥。如果在创建表或修改表时指定对表列进行半透明加密,DM会使用用户的存储加密密钥对数据进行加密。7.5数据加密7.5.3非透明加密3

DM对非透明加密的支持是通过对用户提供加解密接口实现的。用户在使用非透明加密时,需要提供密钥并调用加解密接口。采用非透明加密可以保证个人私密数据不被包括DBA在内的其他人获取。非透明加密通过用户调用存储加密函数来进行,DM提供了一系列的存储加密函数,还提供了一个数据加密包DBMS_OBFUSCATION_TOOLKIT。7.6其他安全保护1.推理控制推理控制机制用于防止用户利用其已经访问的数据来推断出更高密级的数据。即用户利用其被允许的多次查询的结果,结合相关领域背景知识以及数据之间的约束,推导出其不能访问的数据。2.隐蔽通道隐蔽通道是指利用未受到强制存取控制的SQL执行后的反馈信息进行间接信息传递的手段。高安全等级用户按事先约定方式主动向低安全等级用户传输信息,使得信息流从高安全等级向低安全等级流动,从而导致高安全等级敏感信息泄露。3.数据隐私控制不愿被他人知道或他人不便知道的个人数据的能力。7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1

DM对非透明加密的支持是通过对用户提供加解密接口实现的。用户在使用非透明加密时,需要提供密钥并调用加解密接口。采用非透明加密可以保证个人私密数据不被包括DBA在内的其他人获取。非透明加密通过用户调用存储加密函数来进行,DM提供了一系列的存储加密函数,还提供了一个数据加密包DBMS_OBFUSCATION_TOOLKIT。7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理11.创建和删除角色

在DM系统中,可以对用户直接授权,也可以通过角色来授权。在实际的权限分配方案中,通常是用角色。先为数据库定义一系列的角色,然后将权限分配给这些角色。基于这些角色的用户间接地获得权限。

例7-17创建角色BOOKSHOP_ROLE1,赋予ADDRESS表的SELECT权限。7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1例7-18

假定存在角色BOOKSHOP_ROLE1、用户BOOKSHOP_USER1,现将角色权限授予BOOKSHOP_USER1,然后回收角色权限,并删除角色7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理12.角色授权(1)数据库权限将指定的数据库权限授予用户/角色。例7-19系统管理员SYSDBA把建表和建视图的权限授给用户BOOKSHOP_USER1,并允许转授7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1(2)对象权限将指定对象的权限授予用户。例7-20表的创建者SYSDBA把所创建的ADDRESS表的全部权限授给用户BOOKSHOP_USER1

7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1(3)角色权限一般用户角色包含权限或其它角色。用户或其它角色可以继承该角色的权限。例7-21假设存在角色BOOKSHOP_ROLE1,角色BOOKSHOP_ROLE2,用户BOOKSHOP_USER1。1)让用户BOOKSHOP_USER1继承角色BOOKSHOP_ROLE1的权限;2)让角色BOOKSHOP_ROLE2继承角色BOOKSHOP_ROLE1的权限:7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理13.回收权限(1)数据库权限回收用户或者角色的数据库权限。例7-22假设系统管理员SYSDBA把建表、建视图的权限授给了用户BOOKSHOP_USER1。现在,系统管理员SYSDBA把用户BOOKSHOP_USER1的建表权限收回。7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1(2)对象权限回收用户或者角色的数据库权限。例7-23视图V_PRODUCT的创建者SYSDBA从用户BOOKSHOP_USER2处回收其对视图V_PRODUCT的所有权限。7.7数据库安全技术实践7.7.1实践1:DM8数据库用户、权限与角色管理管理1(2)角色权限用来回收用户或其它角色从指定角色继承过来的权限。例7-24假定数据库中存在角色BOOKSHOP_ROLE1,角色BOOKSHOP_ROLE2,用户BOOKSHOP_USER1。

7.7数据库安全技术实践7.7.2实践2:DM8存储加密21.透明加密在透明加密中,密钥生成、密钥管理和加解密过程由数据库管理系统自动完成,用户不可见。透明加密的目的主要是保证存储在数据文件中的敏感数据的安全,并不能保护合法用户的个人私密数据。执行select*fromV$CIPHERS这个查询会从动态视图V$CIPHERS中检索所有列的数据,提供关于数据库中正在使用的加密算法和密钥的信息。7.7数据库安全技术实践7.7.2实践2:DM8存储加密22.半透明加密创建用户时可以指定存储加密密钥,这个密钥就是为了进行半透明加密时使用的。如果在创建用户时并没有指定存储加密密钥,系统也会自动为用户生成一个默认的加密密钥。

7.7数据库安全技术实践7.7.2实践2:DM8存储加密2在这个例子中,通过创建表的SQL语句,在PERSON模式下创建了四个表,分别是TEST_ENCRYPT6、TEST_ENCRYPT7、TEST_ENCRYPT8和TEST_ENCRYPT9。这些表中的某些列使用了加密功能,通过指定不同的加密方式和选项,如MANUAL、WITHDES_ECB、HASHWITHMD5SALT等,来定义数据的加密方式和处理规则。这些修改后的表结构将在PERSON模式下进行管理和使用。7.7数据库安全技术实践7.7.2实践2:DM8存储加密23.非透明加密DM对非透明加密的支持是通过对用户提供加解密接口实现的。用户在使用非透明加密时,需要提供密钥并调用加解密接口。采用非透明加密可以保证个人私密数据不被包括DBA在内的其他人获取。非透明加密通过用户调用存储加密函数来进行,DM提供了一系列的存储加密函数。(1)CFALGORITHMSENCRYPT对数据进行加密7.7数据库安全技术实践7.7.2实践2:DM8存储加密2(2)CFALGORITHMSENCRYPT对数据进行解密在这个例子中,通过SQL语句从PERSON模式下的enc_002表中选择c1列的数据,并使用CFALGORITHMSDECRYPT函数对这些数据进行·解密。解密所需的参数为(c1,514,'仅供测试使用')。7.7数据库安全技术实践7.7.2实践2:DM8存储加密2在这个实例中,通过SQL语句在PERSON模式下创建了一个名为enc_002的表,该表包含一个VARCHAR类型的列c1。随后,使用INSERTINTO语句向该表中插入了一条数据,该数据经过CFALGORITHMSENCRYPT函数加密后作为c1列的值被插入,函数参数为('tt',514,'仅供测试使用')

7.7数据库安全技术实践7.7.3实践3:DM8日志管理31.重做日志(REDO删除后数据库无法启动)重做日志(即REDO日志)指在DM数据库中添加、删除、修改对象,或者改变数据,DM都会按照特定的格式,将这些操作执行的结果写入到当前的重做日志文件中。重做日志文件以log为扩展名。每个DM数据库实例必须至少有2个重做日志文件,默认两个日志文件为DAMENG01.log、DAMENG02.log,这两个文件循环使用。(1)添加重做日志文件在服务器打开状态下,可以添加新的重做日志文件。添加的数据文件大小最小为4096*页大小,如页大小为8K,则可添加的文件最小值为4096*8k=32M。如添加重做大小为128M的重做日志文件DAMENG03.log。7.7数据库安全技术实践7.7.3实践3:DM8日志管理3这个例子中使用ALTERDATABASE语句向数据库添加了一个名为'd:\DAMENG03.log'的日志文件,并指定了日志文件的大小为128MB。7.7数据库安全技术实践7.7.3实践3:DM8日志管理3(2)扩展重做日志文件在服务器打开状态下,可以扩展已有的重做日志文件的大小。如扩展重做日志文件DAMENG03.log到256M。数据库重做日志文件调整大小操作。7.7数据库安全技术实践7.7.3实践3:DM8日志管理32.添加REDO日志文件达梦数据库的REDO日志文件是有最小大小限制的,最小大小为4096*页大小,当前数据库的页大小可以通过如下语句查看:在这个查询中,使用了v$dm_ini视图来检索数据库中名为'GLOBAL_PAGE_SIZE'的参数及其对应的值。7.7数据库安全技术实践7.7.3实践3:DM8日志管理31)测试添加小于128M的REDO日志文件这个例子中使用ALTERDATABASE语句向数据库添加了一个名为'd:\DAMENG04.log'的日志文件,并指定了日志文件的大小为100MB

7.7数据库安全技术实践7.7.3实践3:DM8日志管理32)修改现有REDO日志文件大小达梦8数据库目前只能对日志文件进行向上(扩大)RESIZE操作,不能进行向下(缩容)RESIZE操作,可以通过alterdatabaseresizeto语句实现,我们现在将上面添加的日志文件由128MB扩大到150MB,再尝试缩容到128MB,过程如下:7.7数据库安全技术实践7.7.4实践4:DM8审计的设置与查阅4数据库审计员指定被审计对象的活动称为审计设置,只有具有AUDITDATABASE权限的审计员才能进行审计设置。DM提供审计设置系统过程来实现这种设置,被审计的对象可以是某类操作,也可以是某些用户在数据库中的全部行踪。只有预先设置的操作和用户才能被DM系统自动进行审计。审计设置存放于DM字典表SYSAUDIT中,进行一次审计设置就在SYSAUDIT中增加一条对应的记录,取消审计则删除SYSAUDIT中相应的记录。7.7数据库安全技术实践7.7.4实践4:DM8审计的设置与查阅41.语句级审计语句级审计的动作是全局的,不对应具体的数据库对象。例7-25审计表的创建、修改和删除。在这个实例中,通过调用名为SP_AUDIT_STMT的存储过程,对数据库中所有表的操作进行了审计。具体来说,通过传递参数'TABLE'、'NULL'和'ALL',分别表示对表级操作、所有用户以及所有操作进行审计。7.7数据库安全技术实践7.7.4实践4:DM8审计的设置与查阅41.语句级审计语句级审计的动作是全局的,不对应具体的数据库对象。例7-26对SYSDBA创建用户成功进行审计。在这个实例中,通过调用名为SP_AUDIT_STMT的存储过程,对数据库中以SYSDBA身份执行的成功的用户级操作进行了审计。具体来说,通过传递参数'USER'、'SYSDBA'和'SUCCESSFUL',分别表示对用户级操作、SYSDBA用户以及成功的操作进行审计。7.7数据库安全技术实践7.7.4实践4:DM8审计的设置与查阅42.对象级审计对象级审计发生在具体的对象上,需要指定模式名以及对象名。例7-27对SYSDBA对表PERSON.ADDRESS进行的添加和修改的成功操作进行审计在这个例子中,通过两次调用名为SP_AUDIT_OBJECT的存储过程,分别对数据库中PERSON模式下的ADDRESS表进行了对象级审计。第一次调用审计了成功的INSERT操作,第二次调用审计了成功的UPDATE操作。具体地,每次调用传递了参数‘INSERT’和‘UPDATE’作为操作类型,‘SYSDBA’作为执行操作的用户,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论