云服务器内容精选

  • 操作风险 执行主机漏洞修复可能存在漏洞修复失败导致业务中断,或者中间件及上层应用出现不兼容等风险,并且无法进行回滚。为了防止出现不可预料的严重后果,建议您通过云备份(CBR)为E CS 创建备份,详细操作请参见创建云服务器备份。然后,使用空闲主机搭建环境充分测试,确认不影响业务正常运行后,再对主机执行漏洞修复。 在线修复主机漏洞时,需要连接Internet,通过外部镜像源提供漏洞修复服务。 Linux系统:如果主机无法访问Internet,或者外部镜像源提供的服务不稳定时,可以使用华为云提供的镜像源进行漏洞修复。为了保证漏洞修复成功,请在执行在线升级漏洞前,确认主机中已配置华为云提供的对应操作系统的镜像源,详细的配置操作请参见配置镜像源。 Windows系统:如果主机无法访问Internet,请确保拥有自建的补丁服务器。
  • 修复验证 漏洞修复后,建议您立即进行验证。 表2 修复验证 验证方式 操作方法 手动验证 通过漏洞详情页面的“验证”,进行一键验证。 执行以下命令查看软件升级结果,确保软件已升级为最新版本。 CentOS/Fedora /Euler/Redhat/Oracle操作系统:rpm -qa | grep 软件名称 Debian/Ubuntu操作系统:dpkg -l | grep 软件名称 Gentoo操作系统:emerge --search 软件名称 在HSS中进行手动执行漏洞检测,查看漏洞修复结果。 自动验证 如果您未进行手动验证,HSS每日凌晨进行全量检测,您修复后需要等到次日凌晨检测后才能查看修复效果。
  • 约束限制 主机安全服务各版本支持的漏洞处理操作请参见支持扫描和修复的漏洞类型。 操作系统CentOS 7,CentOS 8,Debian 9、10,Windows 2012 R2和Ubuntu 14.04及以下,官方已停止维护,由于官方不出补丁所以无法修复,建议使用正在维护的操作系统。 操作系统Ubuntu 16.04~Ubuntu 22.04,官方已不支持免费补丁更新,需要订阅Ubuntu Pro才能安装升级包,未配置Ubuntu Pro会导致漏洞修复失败。 由于贸然修复内核漏洞,可能会导致主机功能不可用,因此针对CCE、 MRS 、BMS的主机内核漏洞,HSS不支持自动修复,HSS在执行批量自动修复漏洞任务时也会自动过滤不修复这些类型的漏洞。 处理漏洞时需保证目标服务器的“服务器状态”为“运行中”、“Agent状态”为“在线”、“防护状态”为“防护中”。
  • 手动修复系统软件漏洞 对于Web-CMS漏洞、应用漏洞,不支持一键自动修复,您可以参考漏洞详情页面的修复建议,登录服务器手动修复。 漏洞修复命令 进入到漏洞的基本信息页,可根据修复建议修复已经被识别出的漏洞,漏洞修复命令可参见表1。 “Windows系统漏洞”和“Linux系统Kernel类的漏洞”修复完成后需要手动重启,否则系统仍可能为您推送漏洞消息。 不同的漏洞请根据修复建议依次进行修复。 如果同一主机上的多个软件包存在同一漏洞,您只需修复一次即可。 表1 漏洞修复命令 操作系统 修复命令 CentOS/Fedora /Euler/Redhat/Oracle yum update 软件名称 Debian/Ubuntu apt-get update && apt-get install 软件名称 --only-upgrade Gentoo 请参见漏洞修复建议。 漏洞修复方案 漏洞修复有可能影响业务的稳定性,为了防止在修复漏洞过程影响当前业务,建议参考以下两种方案,选择其中一种执行漏洞修复: 方案一:创建新的虚拟机执行漏洞修复 为需要修复漏洞的ECS主机创建镜像,详细操作请参见通过云服务器创建整机镜像。 使用该镜像创建新的ECS主机,详细操作请参见通过镜像创建云服务器。 在新启动的主机上执行漏洞修复并验证修复结果。 确认修复完成之后将业务切换到新主机。 确定切换完成并且业务运行稳定无故障后,可以释放旧的主机。如果业务切换后出现问题且无法修复,可以将业务立即切换回原来的主机以恢复功能。 方案二:在当前主机执行修复 为需要修复漏洞的ECS主机创建备份,详细操作请参见创建云服务器备份。 在当前主机上直接进行漏洞修复。 如果漏洞修复后出现业务功能问题且无法及时修复,立即使用备份恢复功能将主机恢复到修复前的状态,详细操作请参见使用备份恢复服务器。 方案一适用于第一次对主机漏洞执行修复,且不确定漏洞修复的影响。新创建的ECS主机建议采用按需计费的方式创建,待业务切换完成后可以根据需要转换为包周期计费模式。如果漏洞修复不成功可以随时释放以节省开销。 方案二适用于已经有同类主机执行过修复,漏洞修复方案已经比较成熟可靠的场景。
  • 主机扫描权限异常如何处理? 当使用主机扫描功能遇到如下报错时, CodeArts Inspector.00050001: The user role has no permission to access the interface. User: AAA:user:BBB is not authorized to perform: kms:cmk:decryptData. 需登录AAA账号,检查BBB用户是否含有kms:cmk:decryptData权限。 如果没有kms:cmk:decryptData权限,可参考 IAM 指导文档手动添加相应的权限再进行互通性测试。 父主题: 主机扫描类
  • 如何确认目的主机是否支持公钥认证登录和root登录? 执行如下命令查看配置文件是否开启公钥认证和root登录: egrep 'PubkeyAuthentication|PermitRootLogin' /etc/ssh/sshd_config 若出现如下回显则表示开启了公钥认证方式。 PubkeyAuthentication yes 若出现如下回显则表示允许root登录。 PermitRootLogin yes 父主题: 主机扫描类
  • 如何生成私钥和私钥密码? 当主机扫描通过密钥的方式来登录目的主机时,会涉及到私钥和私钥密码的填写。 私钥和私钥密码的生成方式如下: 在目的主机上执行ssh-keygen命令生成公钥和私钥,按照提示信息输入生成密钥的文件路径,并输入2次私钥密码。 执行ls命令可查看在设置的文件路径下生成的公钥和私钥文件。 将公钥配到目的主机的sshd服务认证配置里面,然后执行systemctl restart sshd命令重启ssh服务。 执行cat命令查看私钥文件内容,并将私钥内容进行复制,拷贝至“授权信息管理”页面的私钥文本框中,并输入私钥密码。 到此,源主机就有了私钥,目的主机就有了公钥,源主机发起连接请求到目的主机时,目的主机会随机发送一个字符串给源主机,源主机利用私钥加密该字符串,然后发送给目的主机,目的主机利用公钥解密该字符串,如果和发送时匹配,则认证通过。 父主题: 主机扫描类
  • 使用跳板机扫描内网主机和直接扫描公网主机,在扫描能力方面有什么区别? 使用跳板机扫描内网主机和直接扫描公网主机,在扫描能力方面区别如表1所示。 表1 扫描能力差异介绍 扫描能力 通过公网IP直接扫描公网主机 通过跳板机扫描内网主机 操作系统安全补丁扫描 支持 支持 远程服务/协议 漏洞扫描 支持 不支持 说明: 远程服务/协议类漏洞的扫描依赖于扫描器与被测目标的相关端口直接交互,因此不能通过跳板机完成测试验证。 操作系统安全配置扫描 支持 支持 Web中间件安全配置扫描 支持 支持 等保合规扫描 支持 支持 父主题: 主机扫描类
  • 开启基于HTTP的WinRM服务 以Windows系统管理员身份运行PowerShell。 执行如下命令查看基于HTTP的WinRM是否开启。 winrm enumerate winrm/config/listener 如果存在报错信息,则表示WinRM服务未开启,请执行3。 如果不存在报错信息,则表示WinRM服务已开启,请执行4。 执行如下命令开启WinRM,选择y完成设置。 winrm quickconfig 配置Auth。 执行如下命令查看Auth信息。 winrm get winrm/config/service/auth 执行如下命令修改“Basic”的值为“true”。 当返回值中“Basic”为“true”时,无需执行该步骤。 winrm set winrm/config/service/auth '@{Basic="true"}' 配置加密方式为允许非加密。 执行如下命令查看Service信息。 winrm get winrm/config/service 当返回值中“AllowUnencrypted”为“false”时,请执行5.b。 执行如下命令修改“AllowUnencrypted”的值为“true”。 winrm set winrm/config/service '@{AllowUnencrypted="true"}' 执行如下命令检查基于HTTP的WinRM服务是否开启成功。 winrm e winrm/config/listener 查看返回值,输出结果有HTTP的“Listener”且“Enabled”为“true”,则为开启状态。
  • 开启基于HTTPS的WinRM服务 基于HTTPS的WinRM只支持Windows Server 2016及以上版本。 以Windows系统管理员身份运行PowerShell。 执行如下命令查看基于HTTPS的WinRM是否开启。 winrm e winrm/config/listener 输出结果有HTTPS的“Listener”且“Enabled”为“true”,则为开启状态。如果未开启,则请直接执行4。 校验WinRM是否使用用户名密码验证及使用的证书是否正确。 执行如下命令查看是否使用用户名密码验证。 执行如下命令查看Auth信息。 winrm get winrm/config/service/auth 执行如下命令修改“Basic”的值为“true”。 当返回值中“Basic”为“true”时,无需执行该步骤。 winrm set winrm/config/service/auth '@{Basic="true"}' 执行如下命令校验WinRM使用的证书是否正确。 ls Cert:\LocalMachine\My\ 如果有输出,且“Thumbprint”与2的Thumbprint对应,“CN”名与主机名对应,则基于HTTPS的WinRM已配置完成。 如果不满足上面任意一条则请直接执行5替换HTTPS WinRM使用的证书。 以Windows系统管理员身份运行cmd,并执行如下命令创建基于HTTPS的WinRM服务。 该步中需要使用CN与主机名相同的证书,如果不同,请先执行5.a生成证书。 winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Port="5986" ;Hostname="" ;CertificateThumbprint=""} 执行成功结果如上图。其中,“Port”为监听端口(建议不做更改),“CertificateThumbprint”为证书的Thumbprint,“Hostname”为主机名,可通过在PowerShell中输入如下命令获取: hostname 可再通过2~3验证HTTPS WinRM配置是否正确。 替换HTTPS WinRM使用证书。 生成CN与主机名相同的自签名证书。 在PowerShell中输入如下命令创建证书: $params = @{ Type = 'SSLServerAuthentication' Subject = 'CN=' TextExtension = @( '2.5.29.37={text}1.3.6.1.5.5.7.3.1' ) KeyAlgorithm = 'RSA' KeyLength = 2048 CertStoreLocation = 'Cert:\LocalMachine\My\' } New-SelfSignedCertificate @params 其中,除“Subject”的值外,其他值请和上述命令保持一致,“Subject”值的格式为“CN=hostname”,hostname的获取见4。 生成成功会输出证书的Subject和Thumbprint。 执行如下命令替换证书。 Set-WSManInstance -ResourceURI winrm/config/Listener -SelectorSet @{Address="*"; Transport="HTTPS"} -ValueSet @{CertificateThumbprint=""} 其中,“CertificateThumbprint”为证书的Thumbprint,可再通过2~3验证HTTPS WinRM配置是否正确。
  • 为什么安装了最新kernel后,仍报出系统存在低版本kernel漏洞未修复? 使用yum update kernel将kernel更新至最新版本后,漏洞管理服务扫描EulerOS仍报出大量kernel漏洞。这种情况不属于漏洞管理服务工具误报,而是由于升级kernel之后未及时重启并使用最新版本的kernel运行。kernel升级到最新版本后未重启并运行,实际上仍然使用未升级前的kernel扫描系统,所以漏洞仍然存在。 执行 如下命令可以查看当前系统安装了哪些版本的 kernel。 rpm -qa | grep kernel 执行如下命令可以查看当前系统实际使用的是什么版本的kernel。 uname -a 上面例子中就是实际使用的是低版本的存在大量CVE漏洞的kernel,因此使用漏洞管理服务扫描仍会报kernel存在CVE-2020-0465等漏洞。 此案例对于使用了CentOS、EulerOS、Red Hat、SUSE的用户均适用。 此外还有某些情况下,用户使用的yum源并不是操作系统官方最新的源,也即yum源中没有操作系统最新的安全补丁,此种情况下也可能报出kernel漏洞未修复的问题。此种情况下需要更新yum源为操作系统官方源或者向操作系统提供方寻求安全补丁的支持。总之,需要基于漏洞管理服务扫描报告中的“修复建议”中的installed version和fixed version的内容,进行分析和修复。 父主题: 主机扫描类
  • 主机互通性测试异常如何处理? 通过互通性测试可以测试待扫描的主机与扫描环境的连通性是否正常。 主机互通性测试不同异常提示的处理方法如下: 目标机或跳板机的SSH服务未开启,无法登录,请开启SSH服务。 目标机或跳板机的SSH服务连接超时,请确认网络是否可连通或是否有防火墙阻隔。 待扫描的主机或跳板机的IP地址网络不通,解决办法请参见如何解决主机不能访问?。 目标机或跳板机的系统账户密码错误,认证失败,请确认授权信息是否正确。 主机授权信息中用户密码不正确,解决办法请参见配置Linux主机授权。 目标机或跳板机的系统账户密钥错误,认证失败,请确认授权信息是否正确。 主机授权信息中用户密钥不正确,解决办法请参见配置Linux主机授权。 目标机的系统账户登录成功但权限不足,无法得到最完整、准确的扫描结果,请确认是否增加系统账户的权限。 主机授权信息中root权限加固场景下,用户密码不正确,解决办法请参见配置普通用户和sudo提权用户漏洞扫描失败案例。 Windows系统暂不支持互通性测试,请使用Linux系统主机进行互通性测试。 父主题: 主机扫描类
  • 如何配置跳板机进行内网扫描? 使用跳板机进行内网扫描的网络示意图如图1所示。 图1 网络示意图 创建主机扫描任务,IP地址栏填写目标主机的内网IP。 添加跳板机配置。 配置的跳板机“公网IP”需与被测目标机的内网环境互通。 添加跳板机后,还需在该跳板机的ssh配置文件“/etc/ssh/sshd_config”中添加:AllowTcpForwarding yes,用于支持SSH授权登录转发。修改配置后需重启sshd服务。 父主题: 主机扫描类
  • 配置普通用户和sudo提权用户漏洞扫描操作案例 默认情况下,Linux系统没有将普通用户列入到sudoer列表中(普通用户 is not in the sudoers file. This incident will be reported.): 登录系统并切换到root权限。 输入#vi /etc/sudoers,就会打开sudoers配置文件。 在配置文件末尾添加:普通用户名 ALL=(ALL:ALL) ALL,输入 :wq! ,保存修改。 使用漏洞管理服务的sudo提权扫描功能时,认证凭据输入位置的“普通用户密码”和“sudo密码”请保持一致,均为“普通用户”的密码。 对于在“/etc/sudoers”中配置了“Defaults targetpw”的操作系统,需要输入root密码才能提权执行命令,因此建议暂时先将“Defaults targetpw”相关配置注释掉,扫描完成后再恢复原配置。 扫描完成后,请还原配置。 父主题: 主机扫描类
  • 漏洞管理服务可以扫描本地的物理服务器吗? 漏洞管理服务可以扫描本地的物理服务器。若需要扫描本地的物理服务器,需要满足以下条件。 本地网络可通外网。 本地物理服务器为Linux操作系统,且满足以下版本要求: EulerOS:支持的最低系统版本为EulerOS 2.2。 CentOS:支持的最低系统版本为CentOS 6.5。 RedHat:支持的最低系统版本为Red Hat Enterprise Linux 6.10。 Ubuntu:支持的最低系统版本为Ubuntu 16.04 server。 SUSE:支持的最低系统版本为SUSE Enterprise 11 SP4。 OpenSUSE:支持的最低系统版本为OpenSUSE 13.2。 Debian:支持的最低系统版本为Debian 8.2.0。 Kylin OS:支持的系统版本为Kylin OS V10 SP1。 统信UOS:支持的系统版本为统信UOS V20。 Huawei Cloud EulerOS:支持的系统版本为HCE 2.0。 openEuler:支持的系统版本为openEuler 20.03。 可以远程登录到本地物理服务器。 本地物理服务器满足以上条件后,可以在漏洞管理服务界面通过添加跳板机的方式,使用漏洞管理服务扫描本地的物理服务器。 有关物理服务器使用漏洞管理服务的详细介绍,请参见物理服务器可以使用漏洞管理服务吗?。 父主题: 主机扫描类