免费智能真题库 > 历年试卷 > 信息安全工程师 > 2021年下半年 信息安全工程师 下午试卷 案例
  第2题      
  知识点:   SSH   加密   维护   远程登录   运维

 
【说明】
通常由于机房电磁环境复杂,运维人员很少在现场进行运维工作,在出现安全事件需要紧急处理时,需要运维人员随时随地远程开展处置工作。
SSH(安全外壳协议)是一种加密的网络传输协议,提供安全方式访问远程计算机。李工作为公司的安全运维工程师,也经常使用SSH远程登录到公司的Ubuntu18.04服务器中进行安全维护
 
问题:2.1   (2分)
SSH协议默认工作的端口号是多少?
 
问题:2.2   (2分)
网络设备之间的远程运维可以采用两种安全通信方式:一种是SSH,还有一种是什么?
 
问题:2.3   (4分)
日志包含设备、系统和应用软件的各种运行信息,是安全运维的重点关注对象。李工在定期巡检服务器的SSH日志时,发现了以下可疑记录:



(1)请问李工打开的是系统的哪个日志文件?请给出该文件名字。
(2)李工怀疑有黑客在攻击该系统,请给出判断攻击成功与否的命令以便李工评估攻击的影响。
 
问题:2.4   经过上次SSH的击事件之后,李工为加强口令安全,降低远程连接风险,考虑采用免密证书登录。
(1)Linux系统默认不允许证书方式登录,李工需要实现免密证书登录的功能,应该修改哪个配置文件?请给出文件名。
(2)李工在创建证书后需要拷贝公钥信息到服务器中。他在终端输入了以下拷贝命令,请说明命令中“>>”的含义。
ssh xiaoming@server cat /home/xiaoming/.ssh/id_rsa.pub>>authorized_keys
(3)服务器中的authorized_keys文件详细信息如下,请给出该文件权限的数字表示。

(4)李工完成SSH配置修改后需要重启服务,请给出systemctl重启SSH服务的命令。
(5)在上述服务配置过程中,配置命令中可能包含各种敏感信息,因此在配置结束后应该及时清除历史命令信息,请给出清除系统历史记录应执行的命令。
 
问题:2.5   (2分)
SSH之所以可以实现安全的远程访问,归根结底还是密码技术的有效使用。对于SSH协议,不管是李工刚开始使用的基于口令的认证还是后来的基于密钥的免密认证,都是密码算法和密码协议在为李丁的远程访问保驾护航。请问上述安全能力是基于对称密码体制还是非对称密码体制来实现的?
 
 
 

   知识点讲解    
   · SSH    · 加密    · 维护    · 远程登录    · 运维
 
       SSH
        SSH是Secure Shell的缩写,即“安全外壳”,它是基于公钥的安全应用协议,由SSH传输层协议、SSH用户认证协议和SSH连接协议三个子协议组成,各协议分工合作,实现加密、认证、完整性检查等多种安全服务。SSH最初是芬兰的学术研究项目,1998年开始商业化。SSH研究开发的目的是以一种渐进的方式来增强网络安全,通过利用现代密码技术,增强网络中非安全的服务。例如Telnet、Rlogin、FTP等,实现服务器认证、用户认证及安全加密网络连接服务。目前,SSH已有两个版本SSH1和SSH2,其中SSH1因存在漏洞而被停用,现在用户使用的是SSH2。SSH2的协议结构如下图所示。
        
        SSH2协议结构示意图
        SSH传输层协议提供算法协商和密钥交换,并实现服务器的认证,最终形成一个加密的安全连接,该安全连接提供完整性、保密性和压缩选项服务。SSH用户认证协议则利用传输层的服务来建立连接,使用传统的口令认证、公钥认证、主机认证等多种机制认证用户。SSH连接协议在前面两个协议的基础上,利用已建立的认证连接,并将其分解为多种不同的并发逻辑通道,支持注册会话隧道和TCP转发(TCP-forwarding),而且能为这些通道提供流控服务以及通道参数协商机制。SSH的工作机制共分7个步骤,如下图所示。目前,用户为了认证服务器的公钥真实性,有三种方法来实现。第一种,用户直接随身携带含有服务器公钥的拷贝,在进行密钥交换协议前,读入客户计算机;第二种,从公开信道下载服务器的公钥和它对应的指纹后,先通过电话验证服务器的公钥指纹的真实性,然后用HASH软件生成服务器的公钥新指纹,比较下载的指纹和新生成的指纹,若比较结果相同,则表明服务器的公钥是真实的,否则服务器的公钥是虚假的;第三种,通过PKI技术来验证服务器。
        
        SSH工作流程图
        在实际的应用中,SSH在端口转发技术(如下图所示)的基础上,能够支持远程登录(Telnet)、rsh、rlogin、文件传输(scp)等多种安全服务。Linux系统一般提供SSH服务,SSH的服务进程端口通常为22。
        
        SSH端口转发示意图
        虽然SSH是一个安全协议,但是也有可能受到中间人攻击和拒绝服务攻击。
 
       加密
               保密与加密
               保密就是保证敏感信息不被非授权的人知道。加密是指通过将信息进行编码而使得侵入者不能够阅读或理解的方法,目的是保护数据和信息。解密是将加密的过程反过来,即将编码信息转化为原来的形式。古时候的人就已经发明了密码技术,而现今的密码技术已经从外交和军事领域走向了公开,并结合了数学、计算机科学、电子与通信等诸多学科而成为了一门交叉学科。现今的密码技术不仅具有保证信息机密性的信息加密功能,而且还具有数字签名、身份验证、秘密分存、系统安全等功能,来鉴别信息的来源以防止信息被篡改、伪造和假冒,保证信息的完整性和确定性。
               加密与解密机制
               加密的基本过程包括对原来的可读信息(称为明文或平文)进行翻译,译成的代码称为密码或密文,加密算法中使用的参数称为加密密钥。密文经解密算法作用后形成明文,解密算法也有一个密钥,这两个密钥可以相同也可以不相同。信息编码的和解码方法可以很简单也可以很复杂,需要一些加密算法和解密算法来完成。
               从破译者的角度来看,密码分析所面对的问题有三种主要的变型:①“只有密文”问题(仅有密文而无明文);②“已知明文”问题(已有了一批相匹配的明文与密文);③“选择明文”(能够加密自己所选的明文)。如果密码系统仅能经得起第一种类型的攻击,那么它还不能算是真正的安全,因为破译者完全可能从统计学的角度与一般的通信规律中猜测出一部分的明文,而得到一些相匹配的明文与密文,进而全部解密。因此,真正安全的密码机制应使破译者即使拥有了一些匹配的明文与密文也无法破译其他的密文。
               如果加密算法是可能公开的,那么真正的秘密就在于密钥了,密钥长度越长,密钥空间就越大,破译密钥所花的时间就越长,破译的可能性就越小。所以应该采用尽量长的密钥,并对密钥进行保密和实施密钥管理。
               国家明确规定严格禁止直接使用国外的密码算法和安全产品,原因主要有两点:①国外禁止出口密码算法和产品,目前所出口的密码算法都有破译手段,②国外的算法和产品中可能存在“后门”,要防止其在关键时刻危害我国安全。
               密码算法
               密码技术用来进行鉴别和保密,选择一个强壮的加密算法是至关重要的。密码算法一般分为传统密码算法(又称为对称密码算法)和公开密钥密码算法(又称为非对称密码算法)两类,对称密钥密码技术要求加密解密双方拥有相同的密钥。而非对称密钥密码技术是加密解密双方拥有不相同的密钥。
               对称密钥密码体制从加密模式上可分为序列密码和分组密码两大类(这两种体制之间还有许多中间类型)。
               序列密码是军事和外交场合中主要使用的一种密码技术。其主要原理是:通过有限状态机产生性能优良的伪随机序列,使用该序列将信息流逐比特加密从而得到密文序列。可以看出,序列密码算法的安全强度由它产生的伪随机序列的好坏而决定。分组密码的工作方式是将明文分成固定长度的组(如64比特一组),对每一组明文用同一个密钥和同一种算法来加密,输出的密文也是固定长度的。在序列密码体制中,密文不仅与最初给定的密码算法和密钥有关,同时也是被处理的数据段在明文中所处的位置的函数;而在分组密码体制中,经过加密所得到的密文仅与给定的密码算法和密钥有关,而与被处理的明数据段在整个明文中所处的位置无关。
               不同于传统的对称密钥密码体制,非对称密码算法要求密钥成对出现,一个为加密密钥(可以公开),另一个为解密密钥(用户要保护好),并且不可能从其中一个推导出另一个。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。另外,公钥加密也用来对专用密钥进行加密。
               公钥算法不需要联机密钥服务器,只在通信双方之间传送专用密钥,而用专用密钥来对实际传输的数据加密解密。密钥分配协议简单,所以极大简化了密钥管理,但公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。
               密钥及密钥管理
               密钥是密码算法中的可变参数。有时候密码算法是公开的,而密钥是保密的,而密码分析者通常通过获得密钥来破译密码体制。也就是说,密码体制的安全性建立在对密钥的依赖上。所以,保守密钥秘密是非常重要的。
               密钥管理一般包括以下8个内容。
               (1)产生密钥:密钥由随机数生成器产生,并且应该有专门的密钥管理部门或授权人员负责密钥的产生和检验。
               (2)分发密钥:密钥的分发可以采取人工、自动或者人工与自动相结合的方式。加密设备应当使用经过认证的密钥分发技术。
               (3)输入和输出密钥:密钥的输入和输出应当经由合法的密钥管理设备进行。人工分发的密钥可以用明文形式输入和输出,并将密钥分段处理;电子形式分发的密钥应以加密的形式输入和输出。输入密钥时不应显示明文密钥。
               (4)更换密钥:密钥的更换可以由人工或自动方式按照密钥输入和密钥输出的要求来实现。
               (5)存储密钥:密钥在加密设备内采用明文形式存储,但是不能被任何外部设备访问。
               (6)保存和备份密钥:密钥应当尽量分段保存,可以分成两部分并且保存在不同的地方,例如一部分存储在保密设备中,另一部分存储在IC卡上。密钥的备份也应当注意安全并且要加密保存。
               (7)密钥的寿命:密钥不可以无限期使用,密钥使用得越久风险也就越大。密钥应当定期更换。
               (8)销毁密钥:加密设备应能对设备内的所有明文密钥和其他没受到保护的重要保护参数清零。
 
       维护
        维护阶段是软件生存期中时间最长的阶段。软件一旦交付正式投入运行后便进入软件维护阶段。该阶段的关键任务是通过各种必要的维护活动使系统持久地满足用户的需要。每一项维护活动都应该准确地记录下来,作为正式的文档资料加以保存。
 
       远程登录
        远程登录(Telnet)是ARPAnet最早的网络协议之一,今天仍然有广泛的应用。该协议提供了访问远程主机的功能,使本地用户可以通过TCP连接登录到远程主机,像使用本地主机一样使用远程主机的资源。在本地终端与远程主机具有异构性时,也不影响它们之间的相互操作。
        终端与主机之间的异构性表现在对键盘字符的解释不同。例如,PC键盘与IBM大型机的键盘可能相差很大,如使用不同的回车换行符、不同的中断键等。为了使异构性的机器之间能够互操作,Telnet定义了网络虚拟终端(NVT)。NVT代码包括标准的7位ASCII字符集和Telnet命令集,这些字符和命令提供了本地终端和远程主机之间的网络接口。
        Telnet采用客户机/服务器工作方式。用户终端运行Telnet客户机程序,远程主机运行Telnet服务器程序。客户机程序与服务器程序之间执行Telnet NVT协议,而在两端则分别执行各自的操作系统功能。
        Telnet提供一种机制,即允许客户机程序和服务器程序协商双方都能接受的操作选项,并提供一组标准选项用于迅速建立需要的TCP连接。另外,Telnet对称地对待连接的两端,并不是专门固定一端为客户机端,另一端为服务器端,而是允许连接的任一端与客户机程序相连,另一端与服务器程序相连。
        Telnet服务器可以应付多个并发的连接。通常,Telnet服务进程等待新的连接,并为每一个连接请求产生一个新的进程。当远程终端用户调用Telnet服务时,终端机器上就产生一个客户机程序,客户机程序与服务器的固定端口(23)建立TCP连接,实现Telnet服务。客户机程序接收用户终端的键盘输入,并发送给服务器;同时服务器送回字符,通过客户机软件的转换显示在用户终端上。用户就是通过这样的方式来发送Telnet命令,进而调用服务器主机的资源完成计算任务。
 
       运维
        运维是运行维护的简称,是一种IT服务形态。在《信息技术服务分类与代码》(GB/T 29264-2012)中,对运行维护服务(operation maintenance service)给出的定义是“采用信息技术手段及方法,依据需方提出的服务级别要求,对其信息系统的基础环境、硬件、软件及安全等提供的各种技术支持和管理服务”。
        运维是信息系统全生命周期中的重要阶段,也是内容最多、最繁杂的部分,是对信息系统提供维护和技术支持以及其他相关的支持和服务。运维服务的主要对象包括基础设施、硬件平台、基础软件、应用软件以及依赖于IT基础设施的数据中心、业务应用等信息系统,其范围可以是单个IT基础设施的运维,也可以是整体IT基础设施和业务应用的总体运维。运维服务交付内容主要包括咨询评估、例行操作、响应支持和优化改善。
        在《信息技术服务分类与代码》(GB/T 29264-2012)中,将运行维护服务分成基础环境运维、硬件运维服务、软件运维服务、安全运维服务、运维管理服务和其他运行维护服务六类,每类运维服务及其说明见下表。
        
        运维服务分类与代码
        
        任何组织和个人提供运维服务需要依据需方提出的服务级别要求,并确保提供的运行维护服务符合与需方约定的质量要求。因此,具备相应运维服务能力是服务组织提供服务的必要条件,比如规范和明确运维人员的岗位职责和工作安排、提供绩效考核量化依据、提供解决事故和问题经验、提供知识的积累和共享手段、实现完善的IT运维管理、提高组织经营水平和服务水平等等。在《信息技术服务运行维护第1部分:通用要求》(GB/T 28827.1-2012)中给出了供方运维服务的能力模型,该模型定义了运行维护服务能力的四个关键要素:人员、资源、技术和过程,每个要素通过关键指标反映应具备的条件和能力。模型也给出了供方为持续提升运维能力的管理方法。
   题号导航      2021年下半年 信息安全工程师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
 
第2题    在手机中做本题