《云安全:安全即服务》周凯著|(epub+azw3+mobi+pdf)电子书下载

图书名称:《云安全:安全即服务》

【作 者】周凯著
【丛书名】网络空间安全技术丛书
【页 数】 364
【出版社】 北京:机械工业出版社 , 2020.07
【ISBN号】978-7-111-65961-7
【价 格】99.00
【分 类】计算机网络-网络安全-安全技术
【参考文献】 周凯著. 云安全:安全即服务. 北京:机械工业出版社, 2020.07.

图书封面:

图书目录:

《云安全:安全即服务》内容提要:

本书比较全面地介绍几个主要的安全即服务类服务,包括云扫描、云清洗、云防护、云事件管理、云身份管理,介绍每个服务时都会涉及基础概念、技术原理、实现方式、使用场景、服务提供商选择时的关注点、国内外主要服务厂商的简介等内容。同时,还对很多开源工具、软件、平台做了详细的介绍,包括安装、配置、测试等内容,帮助读者还原测试场景。本书从安全即服务角度来介绍安全,有一定的广度和深度,相信能够给读者带来一些新的思路和收获。

《云安全:安全即服务》内容试读

aat田

■福随■■道能型颜纸商颜:

。中

器酸

第1章

Chapter 1

云扫描

本章的重点内容如下所示

口扫描的4个主要内容:资产扫描、漏洞扫描、网站扫描和安全配置核查。口扫描的相关概念与技术。口扫描的商用产品、开源产品。口云扫描的概念、架构。

口云扫描的部分服务提供商及产品。口选择服务提供商时需要考虑的因素。

1.1扫描简介

“知己知彼,百战不殆;不知彼而知己,一胜一负;不知彼,不知己,每战必殆。”上文摘自《孙子兵法》,即使我们对其含义不做任何解释,相信大家也都非常了解。这段话不只适用于古代战争,也同样适用于现代战争,包括当今社会中的网络战、信息战等。

从攻击者的角度而言,了解被攻击对象是后续所有攻击行为的第一步。如图1-1所示,在整个攻击链中,侦察是第一步,当然,侦察的范围非常广泛,对于攻击者而言,凡是和被攻击目标相关的信息都是非常重要的,例如被攻击目标的互联网暴露面、相关资产、可以利用的漏洞,甚至还包括员工的爱好、经常访问的网站等辅助信息。

从一个有可能成为被攻击目标的企业的角度来看,更需要做到知己知彼。其实,现在很多企业之所以信息安全做得不够好,信息安全事故频发,其中一个原因就是在信息安全这个战场上,企业做不到知己知彼。对于企业而言,首先需要做的就是知己,即对企业自身有一个清醒的、全方面的认识;其次,再考虑知彼,即如何在日常的安全运维过程中,

2《云安全:安全即服务

从蛛丝马迹中发掘线索,譬如攻击者是谁、攻击目标是什么、攻击手段是什么、处于哪个攻击阶段等。

武器制作

漏洞利用

命令与控制

一米一局一一日一一3

侦察

投放

安装

执行

图1-1攻击链

企业最简单、快速的知己方式就是扫描。对于企业来讲,扫描就好比个人的年度体检,通过对不同层面或目标进行扫描,对企业的安全现状有一个整体的了解。通常来讲,扫描主要可分为4类:资产扫描、漏洞扫描、网站扫描和安全配置核查,有时还包括代码扫描等

口资产扫描:也叫资产核查,主要以发现企业内部资产和互联网暴露面为主。现在,资产扫描在很多情况下都已经包括在漏洞扫描范围内,不过,因为这个环节非常重要,所以此处还是把它单独列出来。

口漏洞扫描:主要以发现不同资产的漏洞为主。口网站扫描:主要以发现网站应用的漏洞为主。

口安全配置核查:主要以发现不同资产在配置中的安全隐患为主。

扫描只是一个手段,并不是最终的目的。企业做扫描的大目标是知己,并且在此前提下,制定相应的计划,尽可能降低安全风险。当然,为了达到知己这个大目标,还需要完成一些小目标,如图1-2所示。

口资产重要度:为了达到这个小目标,企业需要回答一些问题。例如,企业中有哪些资产?企业的核心资产是什么?

口漏洞严重度:企业不仅需要对资产有全面的了解,还需要对每种资产的漏洞、脆弱性有全面的了解,其中包括每个漏洞的严重程度等。

资产

漏洞

重要度

严重度

口网络暴露度:除此之外,企业还需要了解

风险

资产在互联网的暴露程度,也就是通过互

优先级

联网能够直接访问的程度。通常来讲,企业资产在互联网上暴露度越高,企业的安全风险也就越高;反之,企业资产如果处

网络

暴露度

在一个与互联网隔离的网段,那么企业的安全风险也就相对低很多。

口风险优先级:基于对以上3方面因素的综

图1-2风险优先级

第1章云扫描3

合考虑,可以梳理出企业面临的各种安全风险,并排列出风险优先级。根据安全风险的具体内容及优先级别,采用不同的方式进行处理,例如接受风险、避免风险、控制风险、转移风险等。

1.1.1资产扫描

企业在知己的过程中,首先要做的就是资产扫描,即通过资产扫描来了解并管理企业所有的资产。

需要注意的是,这里所说的资产管理与IT资产管理(IT Asset Management,ITAM)中的资产管理想要达到的目的是不太一样的,这里更倾向于从安全视角对资产进行管理。但

如果企业已经部署了ITAM,则双方的数据可以进行必要的整合或验证,例如资产扫描可以

基于ITAM中的数据进行操作,或是资产扫描后的数据可以同步到ITAM中。

1.扫描内容

资产扫描的目的是全面了解企业的各种T资产,例如物理服务器、虚拟机、网络设

备、存储设备、打印机、安全设备、物联网设备等。所有通过网络可以访问的资产,除了硬件形态的资产外,还包括软件形态的资产,例如数据库服务器、Wb服务器、文件服务器等对外提供服务支撑的服务器软件。当然,企业还有数据资产等其他更为重要的无形资产。资产扫描的对象还是以硬件资产和软件资产为主。

(1)资产存活

首先,可以通过网络连通性的测试,例如,利用pig来判断硬件类资产是否存活。root@target:~ping 192.168.1.1

PING192.168.1.1(192.168.1.1)56(84)bytes of data.64 bytes from 192.168.1.1:icmp_seq=2 ttl=64 time=2.94 ms

C

---192.168.1.1 ping statistics --

2 packets transmitted,2 received,08 packet loss,time 1002msrtt min/avg/max/mdev=2.941/47.468/91.996/44.528msroot@target:-#

(2)开放端口

其次,可以通过尝试连接端口,例如,利用telnet来判断端口是否开放。root@target:~telnet 192.168.1.1 80

Trying192.168.1.1..

Connected to 192.168.1.1.

Escape character is ']'

服务器软件对外提供服务时,通常都会通过某个固定的端口进行,例如Wb应用通常

是通过80端口对外提供服务的,SSH应用是通过22端口对外提供服务的。

(3)运行服

仅获得开放的端口并没有太大的意义,重点是需要获得在开放端口上提供的服务类型、

4云安全:安全即服务

运行软件、软件版本等。因此,最后还需要通过对开放端口的识别,以及访问端口时的返回信息,例如Banner信息,来判断运行的服务器软件。

root@target:~#nc localhost 22

SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.8

现在很多流行的服务器软件都运行在默认的端口,例如HTTP(80)、HTTPS(443)

SSH(22)、Telnet(23)、SMTP(25)、NTP(123)、SNMP(161)、LDAP(389)、MySQL(3306)等,所以通常情况下,如果确定了开放的端口,也就大概了解到了端口运行的服务。

2.扫描手段

为了完成对企业T资产的画像,有时会利用多种资产扫描、资产采集的手段,具体内

容如下所示。

(1)网络层直接扫描

通过主动对企业进行网络扫描,来对企业T资产进行画像,这是最简单、直接的技术

手段,也是大多数安全厂商采用的方式。同时,这种扫描手段也在最大程度上模拟了攻击者的攻击路径。

通过直接扫描来探测资产存活是资产扫描的初级阶段,是其他扫描的基础。pig是一种基础的扫描工具,它利用了ICMP(Internet Control Message Protocol)的Echo字段,发出的请求如果收到回应,则代表地址是存活的。包括pig在内,常用的扫描手段有如下几类。

口ICMP Echo:精度相对较高。简单地向目标主机发送ICMP Echo Request,.并等待回复的ICMP Echo Reply

口ICMP Sweep:进行批量并发性扫描。使用ICMP Echo Request一次探测多个目标地址。通常这种探测包会并行发送,以提高探测效率,适用于大范围的扫描

口Broadcast ICMP:广播型ICMP扫描。利用一些主机在ICMP实现上的差异,设置

ICMP请求包的目标地址为广播地址或网络地址,这样就可以探测广播域或整个网

络范围内的主机,子网内所有存活主机都会给予回应。但这种情况只适用于UNX

Linux系统

口Non-Echo ICMP:在ICMP协议中不仅有基于ICMP Echo的查询方式,还可以用

Non-Echo ICMP。利用ICMP的服务类型,例如发出ICMP Timestamp Request.ICMP Address Mask Request等数据包,并且等待回应,根据回应来判断资产存活状态。

通过网络层直接扫描来对开放端口进行探测,通常是资产存活扫描之后的动作,telnet是最为直接、简单的探测工具,它基于的是TCP Connect方式实现的。下面罗列了部分用于端口扫描的技术,供大家参考。

第1章云扫描5

口TCP Connect:一种简单的端口扫描技术,它的实现基于TCP协议建立的过程,

通过完成与被扫描端口之间的三次握手过程(SYN、SYN/ACK和ACK)来识别端

口是否处于开放状态。如果结果为成功,则表示端口处于开放状态;否则,这个端口是不开放的,即没有对外提供服务。

▣TCP SYN:与TCP Connect不同的是,它没有完成一个完整的TCP连接,在和被探测端口之间建立连接时,只完成了前两次握手,到第三步就中断了,使连接没有完全建立。因此,这种端口扫描又被称为半连接扫描。

口TCP FIN:这种扫描方式不依赖TCP协议建立的三次握手过程,而是直接向被探

测端口发送带有FN标志位的数据包。如果端口处于开放状态,则会将它直接丢

弃;反之,则会返回一个带有RST标志位的响应数据包。因此,可以根据是否收到

RST来判断端口是否开放

口TCP Xmas Tree:这种方法和TCP FIN类似,不同的是,它向被探测的端口发送

的数据包中包含了3个标志位一FIN、PSH和URG。

口TCP Nu川:这种方法和TCP FIN类似,不同的是,它向被探测的端口发送的数据包中不包含任何标志位。

在确认开放端口后,需要对端口上运行的服务器软件(或者提供的服务)进行识别,这种识别技术相对比较简单,通常有如下两种使用方式

口端口对应:根据一些常用端口与服务的对应关系,来判断端口上运行的服务。比如识别80端口处于开放状态,那可以初步判断在80端口上运行的是网站类型的服

务;识别22端口处于开放状态,那可以初步判断在22端口上运行的是SSH服务。

口Banner:根据端口返回数据包中的Banner信息来判断运行的服务。

(2)网络层流量监测

除了直接扫描之外,企业安全人员还可以通过对企业中的网络流量进行采集和分析(例如全流量、NetFlow信息),从而梳理出所有有真实流量的硬件资产和软件资产。基于对流量的监测,也同样可以对资产存活以及开放端口进行非常高效的识别。和直接扫描不同,这是一种被动的信息采集方式。

(3)云环境开放接口

通过直接扫描或流量采集的方式固然可以获得比较全面的资产信息,但对于新兴的虚拟化环境、混合云环境,甚至是多云环境就都有一定的局限了。所以,除了网络层的手段

外,企业还可以通过云环境的开放接口,直接获取IAAS或PAAS层的资产信息。这种数据

获取的方式更加直接、准确且高效,随时都可以执行,不需要等到下一个扫描周期

利用阿里云的开发接口,获得阿里云租户的虚拟机资源的代码如下所示。

ListinstanceList null;

DescribeInstancesRequest describeInstancesRequest new DescribeInstances-

Request ()

6云安全:安全即服务

describeInstancesRequest.setRegionId(regionID);describeInstancesRequest.setVpcId(vpcID);try

DescribeInstancesResponse dir client.getAcsResponse(describeInstances-

Request);

instanceList dir.getInstances();

(4)操作系统登录扫描

除了在网络层进行扫描的方式外,如果有服务器权限的话,还可以登录服务器,通过运行一些命令来获得开放端口以及运行服务。

利用netstat命令来获得操作系统上开放的端口的方法如下所示。我们可以看到,这

台虚拟机上运行了多个服务,包括80端口的网站服务、22端口的SSH服务、389端口的

LDAP服务、27017端口的MongoDB服务、3306端口的MySQL服务。

rootetarget:~#netstat -ant

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address

Foreign Address

State

tcp

0

00.0.0.0:8080

0.0.0.0:*

LISTEN

tcp

0

00.0.0.0:80

0.0.0.0:*

LISTEN

tcp

0

00.0.0.0:22

0.0.0.0:*

LISTEN

tcp

0

0127.0.0.1:8005

0.0.0.0:*

LISTEN

tcp

0

00.0.0.0:389

0.0.0.0:*

LISTEN

tcp

0

0127.0.0.1:27017

0.0.0.0:*

LISTEN

tcp

0

0192.168.43.92:22

192.168.43.115:55152

ESTABLISHED

tcp6

0

0:::21

:::*

LISTEN

tcp6

0

0:::22

:::*

LISTEN

tcp6

0

0:::389

:::*

LISTEN

tcp6

0

0:::3306

:::*

LISTEN

root@target :-

利用apt命令来获得安装的软件以及安装软件的版本,可以看到这台虚拟机上运行的

MySQL版本是5.7.29。

root@target:~apt list --installed Igrep mysql

WARNING:apt does not have a stable CLI interface.Use with caution in scripts.mysql-client-5.7/xenial-updates,xenial-security,now 5.7.29-0ubuntu0.16.04.1 amd64

[installed,automatic]

mysql-client-core-5.7/xenial-updates,xenial-security,now 5.7.29-Oubuntu0.16.04.1

amd64 [installed,automatic]

mysgl-common/xenial-updates,xenial-updates,xenial-security,xenial-security,now

5.7.29-Oubuntu0.16.04.1 all [installed,automatic]

mysql-server/xenial-updates,xenial-updates,xenial-security,xenial-security,now

5.7.29-0 ubuntu0.16.04.1a11[insta11ed]

mysql-server-5.7/xenial-updates,xenial-security,now 5.7.29-0ubuntu0.16.04.1 amd64

[installed,automatic]

mysql-server-core-5.7/xenial-updates,xenial-security,now 5.7.29-0ubuntu0.16.04.1

···试读结束···

阅读剩余
THE END