阿里云国际版
帮助文档
注册阿里云
网站首页
最新活动
阿里云邮箱
等保测评
阿里云产品
企业上云最佳实践
技术帮助文档
关于我们
付费资讯
侧边菜单
阿里云服务器ECS
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新
[咨询更多]
阿里云存储OSS
简单易用、多重冗余、数据备份高可靠、多层次安全防护安全性更强、低成本
[咨询更多]
阿里云数据库RDS
稳定可靠、可弹性伸缩、更拥有容灾、备份、恢复、监控、迁移等方面的全套解决方案
[咨询更多]
阿里云安全产品
DDoS高防IP、web应用防火墙、安骑士、sll证书、态势感知众多阿里云安全产品热销中
[咨询更多]
阿里云折扣优惠
云服务器ECS、数据库、负载均衡等产品新购、续费、升级联系客服获取更多专属折扣
[咨询更多]
网站首页
»
关于我们
»
公司新闻
微信扫码 阿里云返佣 咨询
微信扫码 阿里云折扣 咨询
微信扫码 技术支持
电话:18580233332
QQ客服:32738651
电话:
18623333330
QQ客服:
2194888888
电话:18581111185
QQ客服:3388866681
通过资产扫描来了解并管理企业所有的资产
2020-8-19 点击量:
企业在知己的过程中,首先要做的就是资产扫描,即通过资产扫描来了解并管理企业所有的资产。
需要注意的是,这里所说的资产管理与IT资产管理(IT As-set Management,ITAM)中的资产管理想要达到的目的是不太一样的,这里更倾向于从安全视角对资产进行管理。但如果企业已经部署了ITAM,则双方的数据可以进行必要的整合或验证,例如资产扫描可以基于ITAM中的数据进行操作,或是资产扫描后的数据可以同步到ITAM中。
1.扫描内容
资产扫描的目的是全面了解企业的各种IT资产,例如物理服务器、虚拟机、网络设备、存储设备、打印机、安全设备、物联网设备等。所有通过网络可以访问的资产,除了硬件形态的资产外,还包括软件形态的资产,例如
数据库
服务器、Web服务器、文件服务器等对外提供服务支撑的服务器软件。当然,企业还有数据资产等其他更为重要的无形资产。资产扫描的对象还是以硬件资产和软件资产为主。
(1)资产存活
首先,可以通过网络连通性的测试,例如,利用ping来判断硬件类资产是否存活。
root@target:~# ping 192.168.1.1
PING 192.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, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 2.941/47.468/91.996/44.528 ms
root@target:~#
(2)开放端口
其次,可以通过尝试连接端口,例如,利用telnet来判断端口是否开放。
root@target:~# telnet 192.168.1.1 80
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
服务器软件对外提供服务时,通常都会通过某个固定的端口进行,例如Web应用通常是通过80端口对外提供服务的,SSH应用是通过22端口对外提供服务的。
(3)运行服务
仅获得开放的端口并没有太大的意义,重点是需要获得在开放端口上提供的服务类型、运行软件、软件版本等。因此,最后还需要通过对开放端口的识别,以及访问端口时的返回信息,例如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.扫描手段
为了完成对企业IT资产的画像,有时会利用多种资产扫描、资产采集的手段,具体内容如下所示。
(1)网络层直接扫描
通过主动对企业进行网络扫描,来对企业IT资产进行画像,这是最简单、直接的技术手段,也是大多数安全厂商采用的方式。同时,这种扫描手段也在最大程度上模拟了攻击者的攻击路径。
通过直接扫描来探测资产存活是资产扫描的初级阶段,是其他扫描的基础。ping是一种基础的扫描工具,它利用了ICMP(Internet Control Message Protocol)的Echo字段,发出的请求如果收到回应,则代表地址是存活的。包括ping在内,常用的扫描手段有如下几类。
•ICMP Echo:精度相对较高。简单地向目标主机发送ICMPEcho Request,并等待回复的ICMP Echo Reply。
•ICMP Sweep:进行批量并发性扫描。使用ICMP Echo Re-quest一次探测多个目标地址。通常这种探测包会并行发送,以提高探测效率,适用于大范围的扫描。
•Broadcast ICMP:广播型ICMP扫描。利用一些主机在ICMP实现上的差异,设置ICMP请求包的目标地址为广播地址或网络地址,这样就可以探测广播域或整个网络范围内的主机,子网内所有存活主机都会给予回应。但这种情况只适用于UNIX/Linux系统。
•Non-Echo ICMP:在ICMP协议中不仅有基于ICMP Echo的查询方式,还可以用Non-Echo ICMP。利用ICMP的服务类型,例如发出ICMP Timestamp Request、ICMP Ad-dress Mask Request等数据包,并且等待回应,根据回应来判断资产存活状态。
通过网络层直接扫描来对开放端口进行探测,通常是资产存活扫描之后的动作,telnet是最为直接、简单的探测工具,它基于的是TCP Connect方式实现的。下面罗列了部分用于端口扫描的技术,供大家参考。
•TCP Connect:一种简单的端口扫描技术,它的实现基于TCP协议建立的过程,通过完成与被扫描端口之间的三次握手过程(SYN、SYN/ACK和ACK)来识别端口是否处于开放状态。如果结果为成功,则表示端口处于开放状态;否则,这个端口是不开放的,即没有对外提供服务。
•TCP SYN:与TCP Connect不同的是,它没有完成一个完整的TCP连接,在和被探测端口之间建立连接时,只完成了前两次握手,到第三步就中断了,使连接没有完全建立。因此,这种端口扫描又被称为半连接扫描。
•TCP FIN:这种扫描方式不依赖TCP协议建立的三次握手过程,而是直接向被探测端口发送带有FIN标志位的数据包。如果端口处于开放状态,则会将它直接丢弃;反之,则会返回一个带有RST标志位的响应数据包。因此,可以根据是否收到RST来判断端口是否开放。
•TCP Xmas Tree:这种方法和TCP FIN类似,不同的是,它向被探测的端口发送的数据包中包含了3个标志位——FIN、PSH和URG。
•TCP Null:这种方法和TCP FIN类似,不同的是,它向被探测的端口发送的数据包中不包含任何标志位。在确认开放端口后,需要对端口上运行的服务器软件(或者提供的服务)进行识别,这种识别技术相对比较简单,通常有如下两种使用方式。
•端口对应:根据一些常用端口与服务的对应关系,来判断端口上运行的服务。比如识别80端口处于开放状态,那可以初步判断在80端口上运行的是网站类型的服务;识别22端口处于开放状态,那可以初步判断在22端口上运行的是SSH服务。
•Banner:根据端口返回数据包中的Banner信息来判断运行的服务。
(2)网络层流量监测
除了直接扫描之外,企业安全人员还可以通过对企业中的网络流量进行采集和分析(例如全流量、NetFlow信息),从而梳理出所有有真实流量的硬件资产和软件资产。基于对流量的监测,也同样可以对资产存活以及开放端口进行非常高效的识别。和直接扫描不同,这是一种被动的信息采集方式。
(3)云环境开放接口
通过直接扫描或流量采集的方式固然可以获得比较全面的资产信息,但对于新兴的虚拟化环境、混合云环境,甚至是多云环境就都有一定的局限了。所以,除了网络层的手段外,企业还可以通过云环境的开放接口,直接获取IAAS或PAAS层的资产信息。这种数据获取的方式更加直接、准确且高效,随时都可以执行,不需要等到下一个扫描周期。
利用阿里云的开发接口,获得阿里云租户的虚拟机资源的代码如下所示。
...
List<Instance> instanceList = null; DescribeInstancesRequest describeInstancesRequest = new DescribeInstances-Request(); 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服务。
root@target:~# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address
Foreign Address State
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN
tcp 0 0 192.168.43.92:22 192.168.43.115:55152 ESTABLISHED
tcp6 0
0 :::21 :::* LISTENtcp6
0 0 :::22 :::* LISTENtcp6
0 0 :::389 :::* LISTENtcp6
0 0 :::3306 :::* LISTEN
root@target:~#
利用apt命令来获得安装的软件以及安装软件的版本,可以看到这台虚拟机上运行的MySQL版本是5.7.29。
root@target:~# apt list --installed |grep 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-0ubuntu0.16.04.1 amd64 [installed,automatic]
mysql-common/xenial-updates,xenial-updates,xenial-security,xenial-security,now 5.7.29-0ubuntu0.16.04.1 all
[installed,automatic]
mysql-server/xenial-updates,xenial-updates,xenial-security,xenial-security,now 5.7.29-0ubuntu0.16.04.1 all
[installed]
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 amd64 [installed,automatic]
root@target:~# apt show mysql-server
Package: mysql-server
Version: 5.7.29-0ubuntu0.16.04.1
...
root@target:~#
(5)与CMDB进行整合
如果企业已经建有配置管理数据库(Configuration Man-agement Database,CMDB),那么很多信息都可以从CMDB中直接获得,不必再通过扫描手段来获得了。
无论采用哪种扫描手段,最终目的都是一样的,即通过获取“网络地址+开放端口+运行服务”这种组合信息,对企业的IT资产进行画像。这个组合信息虽然简单,但却非常重要,它是我们实现知己这个大目标迈出的第一步。
上一篇: 数据库系统
下一篇: 什么是安全漏洞
最热文章
更多
自动化部署的好处及它的优势特点有哪些
阿里云合作伙伴订单关联项目操作和规则
雪花服务器是什么
什么是镜像?常见的镜像文件格式
Bucket 是对象存储非常重要的概念
阿里云合作伙伴佣金政策和返点流程
推荐文章
更多
2022年双十一阿里云代理商返佣多少
阿里云渠道代理商返点流程
阿里云代理商最高返点多少,阿里云代理商返...
云代理商返点,阿里云代理商优惠购买流程
按量付费转包年包月时下单失败如何处理?包...
预留实例券可以同时抵扣多台实例吗
获取更多阿里云折扣 立即咨询
最新活动
更多
双十一无影云桌面价格:无影4C...
2022双十一阿里云服务器优惠...
2022阿里云双11活动开启:...
11月阿里云金秋云创季:云数据...
2022年阿里云双11金秋云创...
云服务器百亿补贴,云服务器低至...
相关关键字
更多
阿里云国际版
阿里云国际站优惠
阿里云国际站代理
安恒密盾
阿里云关联合作伙伴
小程序服务器
阿里云无影云电脑
阿里云代理商价格
重庆阿里云代理商
西安阿里云代理
云南阿里云代理
杭州阿里云代理商
成都阿里云代理商
阿里云三级等保
阿里云国际站代理商
阿里云新用户
阿里云微服务引擎
阿里云能耗宝
VMware服务
阿里云服务器收费
技术帮助文档
更多
阿里云mysql数据库备份价格多少
阿里云数据库审计价格是多少钱
阿里云数据库MySQL企业版价格多少...
阿里云云盾服务如何安装?云盾安装步骤
阿里云服务器远程登录不了怎么办
DDoS原生防护的工作原理、应用场景...
联系客服免费领取更多阿里云产品新购、续费升级折扣,叠加官网活动折上折更优惠
立即领取
抢折上折
优惠券领取
免费配置推荐
服务器一年49.68元
云数据库19.9元
云安全5折
短信0.033元/条
更多折扣
阿里云代理返佣
阿里云代理合作
微信扫码咨询
咨询热线
18580233332