华为云用户手册

  • 工作原理 在主机中安装Agent后,您的主机将受到HSS云端防护中心全方位的安全保障,在安全控制台可视化界面上,您可以统一查看并管理同一区域内所有主机的防护状态和主机安全风险。 主机安全的工作原理如图1所示。 图1 工作原理 各组件功能及工作流程说明如下: 表1 组件功能及工作流程说明 组件 说明 管理控制台 可视化的管理平台,便于您集中下发配置信息,查看在同一区域内主机的防护状态和检测结果。 HSS云端防护中心 使用AI、机器学习和深度算法等技术分析主机中的各项安全风险。 集成多种杀毒引擎,深度查杀主机中的恶意程序。 接收您在控制台下发的配置信息和检测任务,并转发给安装在服务器上的Agent。 接收Agent上报的主机信息,分析主机中存在的安全风险和异常信息,将分析后的信息以检测报告的形式呈现在控制台界面。 Agent Agent通过HTTPS和WSS协议与HSS云端防护中心进行连接通信,默认端口:10180。 每日凌晨定时执行检测任务,全量扫描主机;实时监测主机的安全状态;并将收集的主机信息(包含不合规配置、不安全配置、入侵痕迹、软件列表、端口列表、进程列表等信息)上报给云端防护中心。 根据您配置的安全策略,阻止攻击者对主机的攻击行为。 说明: 如果未安装Agent或Agent状态异常,您将无法使用 企业主机安全 。 Agent可安装在华为云弹性云服务器(Elastic Cloud Server,E CS )/裸金属服务器(Bare Metal Server,BMS)、线下IDC以及第三方云主机中。 根据操作系统版本选择对应的安装命令/安装包进行安装。 网页防篡改、 容器安全 与主机安全共用同一个Agent,您只需在同一主机安装一次。
  • 内存占用峰值 Agent运行时,内存占用控制在500MB以内。如果Agent内存占用超过最大内存限制500MB,Agent会在5分钟内自动重启。 如果Agent正在执行病毒查杀任务,内存占用控制在均值800MB。关于病毒查杀的详细介绍请参见病毒查杀。 如果主机可用内存小于50MB,Agent会切换为“静默”状态。如果Agent内存占用超限重启,半小时达10次,Agent切换为“空载”状态;1小时达15次,Agent当天切换为“静默”状态。以下是状态说明: 空载状态:Agent所有防护功能关闭,可通过控制台执行升级、卸载操作。 静默状态:Agent所有防护功能关闭,不可通过控制台执行升级、卸载操作。 Agent后台状态可在Agent安装目录下的conf/framework.conf文件中查看“run_mode”字段。 如果需要将Agent恢复为正常状态,可按以下操作执行: 如果您开启了自保护策略,请先关闭自保护策略再执行以下操作。详细操作参考关闭自保护。 (可选)主机扩容。 主机可用内存小于50MB才需执行此操作。 修改Agent安装目录下的conf/framework.conf文件,将run_mode冒号后面的模式改为normal。 执行以下操作,删除记录重启次数的文件。 Linux:执行命令rm -f /usr/local/hostguard/run/restart.conf。 Windows:找到C:\Program Files\HostGuard\run\restart.conf并删除。 执行以下操作,重启Agent。 Linux:执行命令/etc/init.d/hostguard restart。 Windows: Agent为4.0.17及以下版本: 以管理员administrator权限登录主机。 打开“任务管理器”,选择“服务”页签。 选中Hostwatch,单击鼠标右键选择“停止”,等待状态改变为“已停止”后执行步骤4。 选择中Hostguard,单击鼠标右键选择“停止”。 选中Hostwatch,单击鼠标右键选择“开始”,完成重启。 启动Hostwatch后会自动拉起Hostguard。 Agent为4.0.18及以上版本: 以管理员administrator权限登录主机。 打开cmd命令提示符窗口,依次执行以下命令停止服务。 sc control hostwatch 198 sc control hostguard 198 如图 停止服务所示为正常现象,开启自保护的主机上不会生成sp_state.conf文件。 图1 停止服务 打开“任务管理器”,选择“服务”页签。 选中Hostwatch,单击鼠标右键选择“开始”,完成重启。 启动Hostwatch后会自动拉起Hostguard。
  • CPU占用峰值 Agent运行时,CPU占用控制在1vCPU的20%以内。因此,实际占用比例与您购买的云服务器规格有关,详见不同规格主机Agent资源占用一览。 如果CPU占用比例超过1vCPU的20%,Agent会自动降CPU;自动降CPU后,Agent检测主机时间会延长,但不影响服务使用。如果CPU占用比例超过1vCPU的25%,Agent将自动重启。 Agent定时检测任务会基于使用地时间在每日00:00-04:00执行,全量扫描主机,不会影响主机系统的正常运行。 如果Agent正在执行病毒查杀任务,病毒查杀程序会额外占用部分CPU,占用最多不超过多核的30%。关于病毒查杀的详细介绍请参见病毒查杀。
  • 不同规格主机Agent资源占用一览 Agent运行时,不同规格的云服务器CPU、内存占用情况如表1所示。 表1 Agent资源占用一览 vCPUs规格 占用CPU资源比例(峰值) 执行病毒查杀时,占用CPU资源比例(峰值) 内存占用(峰值) 执行病毒查杀时,内存占用(均值) 1vCPUs 20% 50% 500MB 800MB 2vCPUs 10% 40% 500MB 800MB 4vCPUs 5% 35% 500MB 800MB 8vCPUs 2.5% 32.5% 500MB 800MB 12vCPUs 约1.67% 约31.67% 500MB 800MB 16vCPUs 约1.25% 约31.25% 500MB 800MB 24vCPUs 约0.84% 约30.84% 500MB 800MB 32vCPUs 约0.63% 约30.63% 500MB 800MB 48vCPUs 约0.42% 约30.42% 500MB 800MB 60vCPUs 约0.34% 约30.34% 500MB 800MB 64vCPUs 约0.32% 约30.32% 500MB 800MB
  • 暴力破解拦截原理 暴力破解是一种常见的入侵攻击行为,通过暴力破解或猜解主机密码,从而获得主机的控制权限,会严重危害主机的安全。 通过暴力破解检测算法和全网IP黑名单,如果发现暴力破解主机的行为,HSS会对发起攻击的源IP进行拦截,默认拦截时间为12小时。如果被拦截的IP在默认拦截时间内没有再继续攻击,系统自动解除拦截。同时HSS支持双因子认证功能,双重认证用户身份,有效阻止攻击者对主机账号的破解行为。 您可以配置常用登录IP、配置SSH登录IP白名单,常用登录IP、SSH登录IP白名单中的IP登录行为不会被拦截。 使用鲲鹏计算EulerOS(EulerOS with Arm)的主机,在遭受SSH账户破解攻击时,HSS不会对攻击IP进行拦截,仅支持对攻击行为进行告警;SSH登录IP白名单功能也对其不生效。
  • 可检测的暴力破解攻击类型 HSS可检测到的暴力破解攻击类型如下: Windows系统 :SQL Server(暂不支持自动拦截) 、RDP Linux系统:MySQL、vfstpd、SSH 如果您的服务器上安装了MySQL、vfstpd或SSH,开启主机安全防护之后,Agent会在iptables中新增一些规则,用于暴力破解防护。当检测到暴破行为后会将暴破IP加入到阻断列表里面。 MySQL新增规则:IN_HIDS_MYSQLD_DENY_DROP vfstpd新增规则:IN_HIDS_VSFTPD_DENY_DROP SSH新增规则:如果主机上的SSH不支持TCP Wrapper的拦截方式,SSH会使用iptables进行拦截,因此会在Iiptables中新增IN_HIDS_SSHD_DENY_DROP规则;如果您配置了SSH登录白名单,则会在Iiptables中新增IN_HIDS_SSHD_DENY_DROP、IN_HIDS_SSHD_WHITE_LIST两条规则。 以MySQL为例,新增的规则如图 MySQL新增规则所示。 图1 MySQL新增规则
  • 如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。不过,在基础设施、BGP网络品质、资源的操作与配置等方面,中国大陆各个区域间区别不大,如果您或者您的目标用户在中国大陆,可以不用考虑不同区域造成的网络时延问题。 在除中国大陆以外的亚太地区有业务的用户,可以选择“中国-香港”、“亚太-曼谷”或“亚太-新加坡”区域。 在非洲地区有业务的用户,可以选择“南非-约翰内斯堡”区域。 在欧洲地区有业务的用户,可以选择“欧洲-巴黎”区域。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
  • 什么是区域、可用区? 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。
  • 防护的主机切换操作系统,HSS配额会发生变化吗? 不会变化。在切换主机操作系统前,请您先确认企业主机安全的Agent是否支持待切换的操作系统。不支持的操作系统,与Agent可能存在兼容性问题,建议您重装或者选择为Agent支持的操作系统版本,以便获得企业主机安全更好的服务体验。 企业主机安全的Agent可运行在CentOS、EulerOS等Linux系统以及Windows 2012、Windows 2016等Windows系统的主机上。 已停止服务的Linux系统版本或者Windows系统版本,与Agent可能存在兼容性问题,建议重装或者升级为Agent支持的操作系统版本,以便获得企业主机安全更好的服务体验。 表1 HSS对Windows操作系统的限制(x86架构) 操作系统版本 Agent支持情况 系统 漏洞扫描 支持情况 Windows 10(64位) √ 说明: 仅支持华为云 云桌面 使用该操作系统。 × Windows 11(64位) √ 说明: 仅支持华为云云桌面使用该操作系统。 × Windows Server 2012 R2 标准版 64位英文(40GB) √ √ Windows Server 2012 R2 标准版 64位简体中文(40GB) √ √ Windows Server 2012 R2 数据中心版 64位英文(40GB) √ √ Windows Server 2012 R2 数据中心版 64位简体中文(40GB) √ √ Windows Server 2016 标准版 64位英文(40GB) √ √ Windows Server 2016 标准版 64位简体中文(40GB) √ √ Windows Server 2016 数据中心版 64位英文(40GB) √ √ Windows Server 2016 数据中心版 64位简体中文(40GB) √ √ Windows Server 2019 数据中心版 64位英文(40GB) √ √ Windows Server 2019 数据中心版 64位简体中文(40GB) √ √ Windows Server 2022 数据中心版 64位英文(40GB) √ × Windows Server 2022 数据中心版 64位简体中文(40GB) √ × 表2 HSS对Linux操作系统的限制(x86架构) 操作系统版本 Agent支持情况 系统漏洞扫描支持情况 CentOS 7.4(64位) √ √ CentOS 7.5(64位) √ √ CentOS 7.6(64位) √ √ CentOS 7.7(64位) √ √ CentOS 7.8(64位) √ √ CentOS 7.9(64位) √ √ CentOS 8.1(64位) √ × CentOS 8.2(64位) √ × CentOS 8(64位) √ × CentOS 9(64位) √ × Debian 9(64位) √ √ Debian 10(64位) √ √ Debian 11.0.0(64位) √ √ Debian 11.1.0(64位) √ √ Debian 12.0.0(64位) √ × EulerOS 2.2(64位) √ √ EulerOS 2.3(64位) √ √ EulerOS 2.5(64位) √ √ EulerOS 2.7(64位) √ × EulerOS 2.9(64位) √ √ EulerOS 2.10(64位) √ × EulerOS 2.12(64位) √ × Fedora 28(64位) √ × Fedora 31(64位) √ × Fedora 32(64位) √ × Fedora 33(64位) √ × Fedora 34(64位) √ × Ubuntu 16.04(64位) √ √ Ubuntu 18.04(64位) √ √ Ubuntu 20.04(64位) √ √ Ubuntu 22.04(64位) √ √ Ubuntu 24.04(64位) √ 说明: 暂不支持暴力破解检测。 × Red Hat 7.4(64位) √ × Red Hat 7.6(64位) √ × Red Hat 8.0(64位) √ × Red Hat 8.7(64位) √ × OpenEuler 20.03 LTS(64位) √ √ OpenEuler 20.03 LTS SP4(64位) √ × OpenEuler 22.03 LTS SP3(64位) √ × OpenEuler 22.03 LTS(64位) √ × OpenEuler 22.03 LTS SP4(64位) √ × AlmaLinux 8.4(64位) √ √ AlmaLinux 9.0(64位) √ × RockyLinux 8.4(64位) √ × RockyLinux 8.5(64位) √ × RockyLinux 9.0(64位) √ × HCE 1.1(64位) √ √ HCE 2.0(64位) √ √ SUSE 12 SP5(64位) √ √ SUSE 15(64位) √ × SUSE 15 SP1(64位) √ √ SUSE 15 SP2(64位) √ √ SUSE 15 SP3(64位) √ × SUSE 15.5(64位) √ × SUSE 15 SP6(64位) √ 说明: 暂不支持暴力破解检测。 × Kylin V10(64位) √ √ Kylin V10 SP3(64位) √ × 统信UOS 1050u2e √ 说明: 暂不支持文件逃逸检测。 √ 表3 HSS对Linux操作系统的限制(Arm架构) 操作系统版本 Agent支持情况 系统漏洞扫描支持情况 CentOS 7.4(64位) √ √ CentOS 7.5(64位) √ √ CentOS 7.6(64位) √ √ CentOS 7.7(64位) √ √ CentOS 7.8(64位) √ √ CentOS 7.9(64位) √ √ CentOS 8.0(64位) √ × CentOS 8.1(64位) √ × CentOS 8.2(64位) √ × CentOS 9(64位) √ × EulerOS 2.8(64位) √ √ EulerOS 2.9(64位) √ √ Fedora 29(64位) √ × Ubuntu 18.04(64位) √ × Ubuntu 24.04(64位) √ 说明: 暂不支持暴力破解检测。 × Kylin V7(64位) √ × Kylin V10(64位) √ √ HCE 2.0(64位) √ √ 统信UOS V20(64位) √ √ 说明: 仅统信UOS V20服务器E版、D版支持系统漏洞扫描。 统信UOS V20 1060e(64位) √ √ 父主题: 防护配额
  • 解决措施 在任一集群节点执行如下操作,即可卸载容器集群防护插件。 登录任一集群节点。 在/tmp目录下新建plugin.yaml文件,并将如下脚本内容拷贝至plugin.yaml文件中。 apiVersion: v1 kind: Namespace metadata: labels: admission.gatekeeper.sh/ignore: no-self-managing control-plane: controller-manager gatekeeper.sh/system: "yes" pod-security.kubernetes.io/audit: restricted pod-security.kubernetes.io/audit-version: latest pod-security.kubernetes.io/enforce: restricted pod-security.kubernetes.io/enforce-version: v1.24 pod-security.kubernetes.io/warn: restricted pod-security.kubernetes.io/warn-version: latest name: gatekeeper-system --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: assign.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: assignimage.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: assignmetadata.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: configs.config.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: constraintpodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: constrainttemplatepodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.11.3 labels: gatekeeper.sh/system: "yes" name: constrainttemplates.templates.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: expansiontemplate.expansion.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: expansiontemplatepodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: modifyset.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: mutatorpodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.11.3 labels: gatekeeper.sh/system: "yes" name: providers.externaldata.gatekeeper.sh --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: creationTimestamp: null labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-role namespace: gatekeeper-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: creationTimestamp: null labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-role --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-rolebinding namespace: gatekeeper-system roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: gatekeeper-manager-role subjects: - kind: ServiceAccount name: gatekeeper-admin namespace: gatekeeper-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-rolebinding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: gatekeeper-manager-role subjects: - kind: ServiceAccount name: gatekeeper-admin namespace: gatekeeper-system --- apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-mutating-webhook-configuration --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-validating-webhook-configuration 在/tmp目录下新建uninstall.sh文件,并将如下脚本内容拷贝至uninstall.sh文件中。 #!/bin/bash kubectl delete -f /tmp/plugin.yaml kubectl delete ns cgs-provider 执行如下命令卸载容器集群防护插件。 bash /tmp/uninstall.sh 回显如下图类似信息,表示插件卸载完成。
  • MySQL 在账户破解防护功能中,Linux系统支持MySQL软件的5.6和5.7版本,开启登录失败日志开关的具体的操作步骤如下: 使用root权限登录主机。 查询log_warnings值,命令如下: show global variables like 'log_warnings' 修改log_warnings值,命令如下。 set global log_warnings=2 修改配置文件。 Linux系统中,修改配置文件my.conf,在[MySQLd]中增加log_warnings=2。
  • Linux Agent相关进程 Agent进程运行账号:root。 Agent包含以下进程: 表1 Linux主机Agent运行进程 Agent进程名称 进程功能 进程所在路径 hostguard 该进程用于系统的各项安全检测与防护、Agent进程的守护和监控。 /usr/local/hostguard/bin/hostguard hostwatch 该进程用于Agent进程的守护和监控。 /usr/local/hostguard/bin/hostwatch upgrade 该进程用于Agent版本的升级。 /usr/local/hostguard/bin/upgrade
  • Windows Agent相关进程 Agent进程运行账号:system。 Agent包含以下进程: 表2 Windows主机Agent运行进程 Agent进程名称 进程功能 进程所在路径 hostguard.exe 该进程用于系统的各项安全检测与防护、Agent进程的守护和监控。 C:\Program Files\HostGuard\HostGuard.exe hostwatch.exe 该进程用于Agent进程的守护和监控。 C:\Program Files\HostGuard\HostWatch.exe upgrade.exe 该进程用于Agent升级。 C:\Program Files\HostGuard\upgrade.exe
  • Agent的作用 每日凌晨定时执行检测任务,全量扫描主机/容器;实时监测主机/容器的安全状态;并将收集的主机/容器信息上报给云端防护中心。 根据您配置的安全策略,阻止攻击者对主机/容器的攻击行为。 如果未安装Agent或Agent状态异常,您将无法使用企业主机安全。 Agent可安装在华为云弹性云服务器(Elastic Cloud Server,ECS)/裸金属服务器(Bare Metal Server,BMS)/云耀云服务器(Hyper Elastic Cloud Server,HECS)、线下IDC以及第三方云主机中。
  • 集群连接组件(ANP-Agent)安装失败 问题现象 在接入第三方云集群或自建集群过程中,执行以下命令查看集群连接组件(ANP-Agent)安装状态。 kubectl get pods -n hss | grep proxy-agent 界面回显如下所示,表示集群连接组件(ANP-Agent)安装失败。 proxy-agent-5dc5cf6cd7-khdlt 0/1 ImagePullBackOff 0 42h proxy-agent-5dc5cf6cd7-n56bx 0/1 Pending 0 42h
  • Agent是否和其他安全软件有冲突? Agent可能会和DenyHosts这款软件产生冲突。 冲突表现:登录主机的IP地址被HSS识别为攻击IP后,被HSS封禁,解封后仍然不能使用该IP地址登录主机。 冲突原因:企业主机安全和DenyHosts会同时封禁可能为攻击IP的登录IP地址,企业主机安全无法解封DenyHosts中封禁的IP地址。 处理方法:建议停止DenyHosts。 操作步骤: 以root用户登录服务器。 执行以下命令,检查是否安装了DenyHosts。 ps -ef | grep denyhosts.py 如果界面回显类似以下信息,则说明安装了DenyHosts。 执行以下命令,停止DenyHosts。 kill -9 'cat /var/lock/denyhosts' 执行以下命令,取消DenyHosts的自启动。 chkconfig --del denyhosts; 父主题: Agent相关
  • 已冻结/冻结期满,配额被删除 当配额状态为“已冻结”时,或者冻结期满,配额被彻底删除后,HSS均不会再防护您的主机,您无法通过管理控制台清除SSH登录IP白名单。 清除配置的SSH登录IP白名单,操作步骤如下所示。 登录需要清除SSH登录IP白名单的云主机。 执行以下命令,查看“/etc/sshd.deny.hostguard”文件,如图1所示。 cat /etc/sshd.deny.hostguard 图1 查看文件内容 执行以下命令,打开“/etc/sshd.deny.hostguard”文件。 vim /etc/sshd.deny.hostguard 按“i”进入编辑模式,删除“ALL”。 按“Esc”退出编辑,输入“:wq”保存并退出。
  • 什么是网页防篡改? 网页防篡改可实时监控网站目录,并通过备份恢复被篡改的文件或目录,保障重要系统的网站信息不被恶意篡改,防止出现挂马、黑链、非法植入恐怖威胁、色情等内容。 网页防篡改功能可实时发现并拦截篡改指定目录下文件的行为,并快速获取备份的合法文件恢复被篡改的文件,从而保护网站的网页、电子文档、图片等文件不被黑客篡改和破坏。 网页防篡改的操作流程和主要功能概览。操作流程如图1所示,主要功能概览请参考表1。 图1 网页防篡改操作流程 表1 主机安全防篡改操作流程及功能说明 操作类型 操作 描述与参考 准备工作 -- 使用企业主机安全前,如果无VDC业务员账号,需要运营管理员创建VDC和。 开通网页防篡改防护 申请防护配额 您需要申请防护配额后,才能开启网页防篡改防护。 安装Agent Agent是HSS提供的客户端,用于执行检测任务,全量扫描主机;实时监测主机的安全状态,并将收集的主机信息上报给云端防护中心。 安装Agent后,您才能开启网页防篡改防护。 设置告警通知 设置告警通知功能后,您能接收到HSS发送的告警通知,及时了解主机/网页内的安全风险。 否则,无论是否有风险,您都只能登录管理控制台自行查看,无法收到告警信息。 开启主机防护 开启主机防护时,您需为指定的主机分配一个配额。 配置网页防篡改防护 添加防护目录 网页防篡改实时监控网站目录,开启网页防篡改前请添加防护目录。 添加远端备份 HSS默认将防护目录下的文件备份在“添加防护目录”时添加的本地备份路径下,为防止备份在本地的文件被攻击者破坏,请您启用远端备份功能。 添加特权进程 开启网页防篡改防护后,防护目录中的内容是只读状态,如果您需要修改防护目录中的文件或更新网站,可以添加特权进程。 定时开启网页防篡改 网页防篡改提供的定时开关功能,能够定时开启/关闭静态网页防篡改功能,您可以使用此功能定时更新需要发布的网页。 开启动态网页防篡改 动态网页防篡改提供tomcat应用运行时自我保护,能够检测针对数据库等动态数据的篡改行为。 查看网页防篡改报告 开启网页防篡改防护后,HSS将立即对您添加的防护目录执行全面的安全检测。您可以查看主机被非法篡改的详细记录。 父主题: 产品咨询
  • 请求示例 授权给用户"13gg44z4g2sglzk0egw0u726zoyzvrs8"ID为 "0d0466b0-e727-4d9c-b35d-f84bb474a37f"的密钥操作权限,授权操作为查询密钥、创建数据密钥、加密数据密钥。 { "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "operations" : [ "describe-key", "create-datakey", "encrypt-datakey" ], "grantee_principal" : "13gg44z4g2sglzk0egw0u726zoyzvrs8", "grantee_principal_type" : "user", "retiring_principal" : "13gg44z4g2sglzk0egw0u726zoyzvrs8" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 key_id 是 String 密钥ID,36字节,满足正则匹配“^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$”。 例如:0d0466b0-e727-4d9c-b35d-f84bb474a37f。 grantee_principal 是 String 被授权用户ID,1~64字节,满足正则匹配“^[a-zA-Z0-9]{1,64}$”。 例如:0d0466b00d0466b00d0466b00d0466b0 operations 是 Array of strings 授权允许的操作列表。 有效的值:“create-datakey”,“create-datakey-without-plaintext”,“encrypt-datakey”,“decrypt-datakey”,“describe-key”,“create-grant”,“retire-grant”,“encrypt-data”,“decrypt-data”。 有效值不能仅为“create-grant”。 “create-datakey” 创建数据密钥 “create-datakey-without-plaintext” 创建不含明文数据密钥 “encrypt-datakey” 加密数据密钥 “decrypt-datakey” 解密数据密钥 “describe-key” 查询密钥信息 “retire-grant” 退役授权 “encrypt-data” 加密数据 “decrypt-data” 解密数据 name 否 String 授权名称,取值1到255字符,满足正则匹配“^[a-zA-Z0-9:/_-]{1,255}$”。 retiring_principal 否 String 可退役授权的用户ID,1~64字节,满足正则匹配“^[a-zA-Z0-9]{1,64}$”。 例如:0d0466b00d0466b00d0466b00d0466b0 grantee_principal_type 否 String 授权类型。有效值:“user”,“domain”。默认值为“user”。 sequence 否 String 请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 grant_id String 授权ID,64字节。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表6 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表8 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表10 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 404 表11 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表12 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 500 表13 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表14 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 502 表15 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表16 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 504 表17 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表18 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
  • 请求示例 创建别名为"keystore_alia1",集群ID为"hsm_cluster_id"的租户专属密钥库。 { "keystore_alias" : "keystore_alia1", "hsm_cluster_id" : "hsm_cluster_id", "hsm_ca_cert" : "-----BEGIN CERTIFICATE---******----END CERTIFICATE-----" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 keystore_alias 是 String 专属密钥库别名,取值范围为1到255个字符,满足正则匹配“^[a-zA-Z0-9:/_-]{1,255}$”,且不与已有的专属密钥库别名重名。 hsm_cluster_id 是 String DHSM集群Id,要求集群当前未创建专属密钥库。 hsm_ca_cert 是 String DHSM集群的CA证书
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 keystore KeystoreInfo object 密钥库信息。 表5 KeystoreInfo 参数 参数类型 描述 keystore_id String 密钥库ID domain_id String 用户域ID 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表7 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表9 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 403 表10 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表11 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 404 表12 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表13 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 500 表14 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表15 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 502 表16 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表17 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 504 表18 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表19 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
  • 请求示例 加密明文数据密钥,使用ID为"0d0466b0-e727-4d9c-b35d-f84bb474a37f"的密钥,加密512位长度的明文密钥。 { "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "plain_text" : "7549d9aea901767bf3c0b3e14b10722eaf6f59053bbd82045d04e075e809a0fe6ccab48f8e5efe74e4b18ff0512525e527b10331100f357bf42125d8d5ced94ffbc8ac72b0785ca7fe33eb6776ce3990b11e32b299d9c0a9ee0305fb9540f797", "datakey_plain_length" : "64" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 key_id String 密钥ID cipher_text String DEK密文16进制,两位表示1byte。 datakey_length String DEK字节长度。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表6 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表8 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表10 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 404 表11 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表12 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 500 表13 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表14 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 502 表15 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表16 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 504 表17 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表18 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 key_id 是 String 密钥ID,36字节,满足正则匹配“^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$”。 例如:0d0466b0-e727-4d9c-b35d-f84bb474a37f。 plain_text 是 String 使用的主密钥算法为AES时,传入数据密钥的明文+数据密钥明文的SHA256值(32字节);使用的主密钥算法为SM4时,传入数据密钥的明文+数据密钥明文的SM3值(32字节),均为16进制字符串表示。本参数中的两部分,通过字符串拼接后作为参数即可。 datakey_plain_length 是 String DEK明文字节长度,取值范围为1~1024。 DEK明文字节长度,取值为“64”。 sequence 否 String 请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff
  • 响应示例 状态码: 200 请求已成功 { "event" : { "name" : "event-test", "event_id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e", "state" : "ENABLED", "event_types" : [ "SECRET_VERSION_EXPIRED" ], "create_time" : 1581507580000, "update_time" : 1581507580000, "notification" : { "target_type" : " SMN ", "target_id" : "urn:smn:cn-north-4:SecertExpirationTest", "target_name" : "SecertExpirationNotificationTest" } } }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 event Event object 事件通知对象。 表6 Event 参数 参数类型 描述 name String 事件通知名称。 event_id String 事件通知的资源标识符。 event_types Array of strings 设置事件的基础事件类型列表,。 约束:数组大小:最小1,最大12。 state String 事件通知状态,取值如下。 ENABLED:表示启用状态 DISABLED:表示禁用状态 create_time Long 事件通知创建时间,时间戳,即从1970年1月1日至该时间的总秒数。 update_time Long 事件通知上次更新时间,时间戳,即从1970年1月1日至该时间的总秒数。 notification Notification object 通知主题对象。 表7 Notification 参数 参数类型 描述 target_type String 事件通知的对象类型。 target_id String 事件通知的对象ID。 target_name String 事件通知的对象名称。 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error ErrorDetail object 错误信息返回体。 表9 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 401 表10 响应Body参数 参数 参数类型 描述 error ErrorDetail object 错误信息返回体。 表11 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 403 表12 响应Body参数 参数 参数类型 描述 error ErrorDetail object 错误信息返回体。 表13 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 404 表14 响应Body参数 参数 参数类型 描述 error ErrorDetail object 错误信息返回体。 表15 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 500 表16 响应Body参数 参数 参数类型 描述 error ErrorDetail object 错误信息返回体。 表17 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 502 表18 响应Body参数 参数 参数类型 描述 error ErrorDetail object 错误信息返回体。 表19 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 504 表20 响应Body参数 参数 参数类型 描述 error ErrorDetail object 错误信息返回体。 表21 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 state 否 String 事件通知状态,取值如下。 ENABLED:表示启用状态 DISABLED:表示禁用状态 event_types 否 Array of strings 本次事件通知的基础事件列表,基础事件类型如下。 SECRET_VERSION_CREATED:版本创建 SECRET_VERSION_EXPIRED:版本过期 SECRET_ROTATED:凭据轮转成功 SECRET_DELETED:凭据删除 SECRET_ROTATED_FAILED:凭据轮转失败 列表包含的基础事件类型不能重复。 notification 否 Notification object 通知主题对象。 表4 Notification 参数 是否必选 参数类型 描述 target_type 是 String 事件通知的对象类型。 target_id 是 String 事件通知的对象ID。 target_name 是 String 事件通知的对象名称。
共100000条