HANA(High-Performance Analytic Appliance)是由SAP开发的一种内存数据库。它是一款面向实时数据处理和分析的高性能数据库解决方案。
HANA数据库具有以下特点:
HANA数据库广泛应用于企业的各个领域,包括物流、金融、零售、制造等行业,以及大规模的数据仓库、商业智能和实时分析场景中。它提供了高性能、高可靠性和高扩展性的数据处理解决方案,帮助企业更好地管理和分析数据,从而提升业务效率和竞争力。
在上次的项目遇到的奇葩之一。Suse如果说基于Linux内核,指令和centos基本一致比较好测,那这个Hana简直就是奇葩。一开始根本无从下手,问了部门的前辈也没人知道这玩意。最后是上网找了语句才成功测评。
对了,测评时请让被测方使用权限比较高的管理员账户,不要随便拿个业务账户就来执行。权限不够的。
以下是根据等保三级的要求进行编制
在Hana数据库中,可以通过两种方式查看密码复杂度策略。
使用SAP HANA Studio:打开SAP HANA Studio,并连接到相应的HANA数据库实例。在左侧导航栏中展开数据库实例,在该实例下展开 "Security" -> "Authentication Method". 在 "Authentication Method" 下找到 "Password Policy",这里可以查看和配置密码复杂度策略。
使用命令行界面(SQL语句):使用具有管理员权限的用户登录到HANA数据库,并执行以下SQL语句来查询密码复杂度策略:
SELECT POLICY_NAME, PARAMETER_NAME, PARAMETER_VALUE FROM SYS.USER_VALIDATION_POLICIES;
以下是Hana数据库有关密码复杂度设置的一些参数。
MINIMUM_LENGTH
:密码最小长度要求。MIXED_CASE_REQUIRED
:密码是否需要包含大小写字母。DIGIT_REQUIRED
:密码是否需要包含数字。SPECIAL_CHAR_REQUIRED
:密码是否需要包含特殊字符。MAX_INITIAL_REUSABLE_PASSWORDS
:之前使用的密码不能作为新密码的再次使用次数。MAX_FAILED_LOGIN_ATTEMPTS
:最大失败登录尝试次数。FAILED_LOGIN_LOCK_TIME
:在连续失败登录尝试后,账户被锁定的时间(秒)。登录失败策略请查看a项,密码复杂度策略中包含了登录失败策略的相关设置。
登录超时退出参数,有以下两种查看方式:
使用SAP HANA Studio:打开SAP HANA Studio,并连接到相应的HANA数据库实例。在左侧导航栏中展开数据库实例,在该实例下展开 "Security" -> "Global INI Parameters"。在 "Global INI Parameters" 下可以找到各种全局参数配置,包括与登录超时退出有关的参数。
使用命令行界面(SQL语句):使用具有管理员权限的用户登录到HANA数据库,并执行以下SQL语句来查询登录超时退出参数:
SELECT * FROM SYS.M_INIFILE_CONTENTS WHERE FILE_NAME = 'indexserver.ini' AND SECTION = 'security' AND SUBSECTION = 'authentication' AND KEY LIKE '%timeout%';
这条SQL语句将返回与登录超时退出相关的参数及其值。其中,常见的参数包括:
session_timeout
: 指定会话超时时间(秒)。idle_timeout
: 指定空闲连接超时时间(秒)。c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
Hana数据库是有工具的,类似SQL server。
[communication]
部分。ssl
:如果其值为 ssl = 1
,表示已启用SSL;如果其值为 ssl = 0
,表示未启用SSL。ssl_encrypt
:如果其值为 ssl_encrypt = 1
,表示通信会使用SSL加密;如果其值为 ssl_encrypt = 0
,表示通信不会使用SSL加密。也可以通过执行sql去查看
SELECT NAME, VALUE FROM SYS.M_INIFILE_CONTENTS WHERE FILE_NAME = 'indexserver.ini' AND SECTION = 'communication' AND (NAME = 'ssl' OR NAME = 'ssl_encrypt');
截至本文完稿前应该还没有数据库能够实现双因子。云平台那个用户名+密码+动态OTP我感觉应该是算的但是前辈们说最多给部分符合。
上面说过,Hana数据库是有管理界面的。因此可以通过下列方式查看用户列表。
也可以使用sql去查询
SELECT USER_NAME, USER_TYPE, USER_STATUS FROM SYS.USERS;
这条SQL语句将返回用户的名称、用户类型和状态等信息。
SAP HANA数据库默认情况下会创建两个默认账户:
SYSTEM 用户:SYSTEM用户是SAP HANA数据库的超级用户,具有最高权限。它用于管理数据库实例和执行管理员任务,如创建和管理用户、创建数据库对象等。
SYSTEMDB 用户:SYSTEMDB用户是用于SAP HANA系统数据库的特殊用户。它用于管理整个HANA系统,包括多个租户(Tenant)和各个数据库。
这两个默认账户在安装SAP HANA时自动创建,并且具有特殊权限和特定的角色。
需要查看这两个用户是否重命名,如果没重命名需要修改密码为复杂度比较高的。
根据上一项的检查结果,并与配合人员访谈各在用账户的使用情况。
基本做不到,视情况给部分符合。
此项默认符合。
默认符合。
默认不符合。
要查看Hana数据库的审计情况,有以下两个方法。
[audit]
部分。audit_tracing
:如果其值为 audit_tracing = true
,表示已启用安全审计;如果其值为 audit_tracing = false
,表示未启用安全审计。audit_syslog
:如果其值为 audit_syslog = true
,表示审计日志将发送到系统日志;如果其值为 audit_syslog = false
,表示审计日志不会发送到系统日志。或者通过sql
SELECT * FROM SYS.M_INIFILE_CONTENTS WHERE FILE_NAME = 'indexserver.ini' AND SECTION = 'audit'
如果要开启审计策略的话可以参考这篇文章:http://www.vue5.com/sap_hana/sap_hana_auditing.html
要查看Hana数据库的审计日志可以通过以下步骤:
当然,也可以使用sql
SELECT ENTRY_ID, TIMESTAMP, USER_NAME, APPLICATION_SOURCE, CATEGORY, ACTION_NAME FROM SYS.AUDIT_LOG;
这条SQL语句将返回审计日志中的条目,包括条目ID、时间戳、用户、应用程序源、类别和操作名称等信息。
检查审计记录保存的目录,验证是否能被普通用户轻易删除,访谈管理员对审计记录的保护措施和备份策略,检查审计记录是否备份不少于六个月。
测试使用非审计管理员中断审计进程,是否能成功,询问和检查是否安装第三方审计进程保护软件。
要查看Hana数据库的安装组件,可以根据以下步骤:
[component]
部分。[component]
部分中,你将看到与已安装组件相关的参数和其值。这些参数和值指示了已安装的SAP HANA组件。同样可以通过sql
SELECT COMPONENT_ID, COMPONENT_NAME, COMPONENT_VERSION FROM SYS.M_DATABASE_COMPONENTS;
这条SQL语句将返回已安装的组件的ID、名称和版本信息。
这一项给不适用。数据库不涉及。
要查看终端接入设置,请根据以下方式
使用SAP HANA Studio:打开SAP HANA Studio,并连接到目标HANA数据库实例。在左侧导航栏中展开数据库实例,在该实例下展开 "Configuration" -> "indexserver.ini"。
在 "indexserver.ini" 下找到[communication]
部分。
在[communication]
部分中,你将找到与终端接入相关的参数和其值,如下所示:
listeninterface
:指定HANA数据库监听的网络接口。sqltcpport
:指定用于SQL连接的TCP端口号。httpport
:指定用于HTTP连接的端口号。httpsport
:指定用于HTTPS连接的端口号。同样支持sql
SELECT * FROM SYS.M_SERVICES WHERE SERVICE_NAME IN ('indexserver', 'xsengine');
这条SQL语句将返回与HANA数据库终端服务相关的信息,包括服务名称、协议、主机和端口等。
此项主要针对应用系统和部分数据库和一些管理软件,主机不涉及人机接口输入或通信接口输入控制,该项不适用。
该项需结合漏扫,是否定期进行漏扫,具有漏扫报告、初测是否发现高风险漏洞,复测后高风险漏洞是否被修补。按照以下步骤查看补丁更新情况,是否及时安装最新补丁。
使用SAP HANA Studio:打开SAP HANA Studio,并连接到目标HANA数据库实例。在左侧导航栏中展开数据库实例,在该实例下展开 "Configuration" -> "indexserver.ini"。
在 "indexserver.ini" 下找到[patch]
部分。
在[patch]
部分中,你将看到与补丁更新相关的参数和其值。以下是一些常见的参数:
version
:指定当前已安装的HANA版本。revision
:指定当前已安装的修订版本。applied_patches
:指定已应用的补丁列表。同样支持sql
SELECT PATCH_NAME, APPLIED_AT FROM SYS.M_PATCHES;
这条SQL语句将返回已应用的补丁名称和应用时间。
数据库不涉及此项,不适用。
数据库不涉及此项,直接不适用。
直接不符合。
传输完整性,一般看SSL有没有开就行。
传输保密性,Hana数据库默认使用AES256算法进行加密,可以保证鉴别数据,审计数据和配置数据的存储完整性。业务数据及个人信息等需要问询管理员,默认是不加密的。
Hana用的是CRC32来校验完整性。可以酌情给符合
传输保密性,Hana数据库默认使用AES256算法进行加密,可以保证鉴别数据,审计数据和配置数据的存储保密性。业务数据及个人信息等需要问询管理员,默认是不加密的。
咨询甲方备份策略和备份恢复测试相关。
需要注意的是三级要求的异地备份是实时备份。
看所在服务器是否集群部署。
退出后需要重新输入用户名密码的话直接给符合。
这个需要问甲方说有没有针对存放敏感信息的存储介质做废弃处理。比如建立敏感数据的擦除机制,硬盘报废后进行物理毁坏处理等等。
以上就是Hana数据库有关等保三级的测评项的一些解析。有些不对的地方欢迎大家在评论区指出。