信息安全技术(一)
概述:
行业资讯:
国家互联网应急中心(https://www.cert.org.cn/)
安全客(https://www.anquanke.com/)
freebuf (https://www.freebuf.com/)
https://www.shodan.io/
OSI/RM与TCP/IP
- 网络接口层:线路、设备、本地业务、访问控制
- 网络层:访问控制、路由、防火墙、VPN
- 传输层:TCP
- 应用层:各种应用,应用的漏洞及网络管理
安全技术
隔离技术
- 防火墙
- 安全隔离网闸(GAP)
- 堡垒主机
访问控制技术
- ACL、白名单、黑名单
- 加密技术
- 入侵检测技术
- IDS
入侵保护技术
- IPS
系统安全等级
- –A:**高,**经过验证的保护
- –B1:标记安全保护,是B类中最低的子类
- –B2:结构安全保护,是B类中的中间子类
- –B3:安全域保护,是B类中的最高子类
- –C1:无条件的安全保护。这是C类中较低的一个子类
- –C2:有控制的存取保护。这是C类中较高的一个子类
- –D1:低,未加任何实际的安全措施
安装wireshark
官网下载:https://www.wireshark.org/download.html
完成一个抓包的实验
要求:对访问一个站点,进行抓包,并查看到密码(http和https)
- 开始对目标网卡进行抓包
- 访问站点,输入用户,密码登入(错误什么的不用管)
- 通过ping命令,获得目的IP地址。
- 结束抓包,对抓的包进行检索。
- 查看密码,对比http和https
从第三步开始:
win+R
打开cmd
,ping xxxxxx
,开始ping站点的网址,不需要加上http报头
对抓取的数据包进行检索:``ip.dst == xxxxxxx`
xxxxx
为目标的IP地址。
从检索出来的面板中找到:Protocol = HTTP
的
我输入的用户名:英文。密码:数字
以上是对http
的抓包分析,可以看到用户名和密码
测试字符的不同
全数字:
中文字符:
英文
HTTPS的测试
本地局域网安全
MAC地址攻击
摘自书上:
交换机首先建立MAC地址表,MAC地址表通过交换机上的地址学习过程来填充,用来映射源MAC地址和与其相连的交换机端口;新型的交换机中引入了内容寻址内存(CAM)以加快MAC地址的查询速度,CAM可以理解为MAC地址表的另一种形态,用来加快地址查询速度。
网络中的终端发出的数据帧,其源、目的MAC地址在经过交换机时不会发生改变,交换机接收到一个终端用户的数据帧,若该帧的目的地址不在MAC地址表中,则向除了接收端口的所有端口转发该数据帧以查询网络中是否拥有此地址的终端,若目的节点回应,则交换机根据地址记录该节点的MAC地址和接收端口的对应关系,从而形成一个新的MAC地址表映射条目。
交换机MAC地址表的学习过程存在一个非常大的安全隐患,即MAC地址欺骗。MAC地址欺骗攻击者通过改变自身的MAC地址以冒充其他的已知的MAC地址,随后利用新的MAC地址发布新的数据帧。当交换机接收到该帧后,根据学习机制交换机检查源MAC,如果地址是新的,则更新MAC地址表,建立新的映射关系,之后交换机会把目标主机的数据帧转发给攻击主机,这将造成目标主机不会收到任何数据。
MAC地址攻击形成的两个原因在于:一是广播传输,二是动态学习。由于无法改变MAC广播传输,要防止MAC地址攻击,可以从其动态学习方式入手,通过手工静态方式指定设备MAC地址与端口的对应方式,也可以通过端口安全方式来限制设备的mac地址表动态学习过程,使得设备建立正确的对应的关系。
ARP欺骗
ARP(Address Resolution Protocol)是地址解析协议,由于TCP/IP、以太网技术应用非常广泛,很多书都认为ARP仅可以实现IP地址与MAC地址的转换,其实ARP能够将OSI网络层地址解析为数据链路层的物理地址。
在以太网环境中ARP的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,使用MAC地址对数据进行封装以保证本地通信的顺利进行。整个ARP体系基本由ARP Request(请求方)和Response(应答方)组成,ARP Resquest以广播的形式进行,通过三层广播向广播域的所有设备询问某个IP地址对应的MAC地址,正常情况下Respoinse方是拥有询问目标IP地址功能的设备,Request方收到Response方回应后建立一个ARP的条目,即IP地址的对应关系,下次再进行相同主机间的二层通信时直接ARP查询,使用表中的MAC地址进行数据帧封装.
ARP过程存在两个安全隐患:一是广播查找目标地址,二是动态建立IP地址与MAC地址对应关系.在实践应用中,攻击者可以让攻击主机截获ARP广播,从而冒充目标主机或应答一个不存在的MAC地址给ARP请求方,建立一个不合理的ARP表,在错误的ARP引导下,攻击者就可以获取其他主机的通信数据或干扰其他主机的正确通信,如网络中常见的ARP病毒就是通过修改PC ARP表,使得PC网关IP地址不能指向正确的MAC地址,从而影响用户Internet的使用.要防止ARP欺骗,其广播无法改变,可以从其动态学习方法式入手,通过手工静态方式指定IP地址与MAC地址的对应关系,也可以通过端口安全的方法限定设备的ARP动态学习过程.
本地扫描
本地扫描是一种常用的网络管理手段,通过本地扫描可以使用网络管理员收集本地网络用户的信息,如网络通断情况\端口使用情况\系统漏洞情况等.但是本地扫描本身一般采用广播形式,很多用户同时应用本地扫描会影响网络的通信质量,同时攻击者也能够使用本地扫描收集用户信息,并通过这些信息分析哪些主机存在安全漏洞\弱口令,针对这些主机进行入侵攻击.
为了防止本地扫描被恶意使用,可以通过建立白名单或黑名单的方式指定哪些主机可以使用本地扫描或哪些主机不可以.白名单\黑名单的建立可以使用MAC访问控制列表实现,也可以使用端口安全方式实现.
关于这些网络上的资料不是很多(我没找到😅),之后买本书看看
端口安全
说明 | CLI |
---|---|
进入全局配置模式 | conf ter |
进入接口模式 | interface xxx |
设置接口类型 | switchport mode access/trunk |
禁止DTP协商 | switchport nonegotiate |
配置启用端口安全功能 | switchport port-security |
配置端口安全MAC地址 | switchport port-security mac-address xxx |
配置端口安全MAC地址数目 | switchport port-security maximum x |
配置端口安全违规处理方式 | switchport port-security violation xxx |
配置安全地址老化时间 | switchport port-security aging xxx |
端口安全的实验:
实验我已经做完了,找出了接口的mac地址,方便理解。
在三层交换机C1上配置端口安全,把端口安全删掉,来理解mac地址表
现在是全网互通
现在观察交换机的mac地址表:show mac-address-table
S1
现在的mac地址表中👉有fa0/3的mac(它既属于vlan1也属于vlan2)、pc0的mac、和vlan2的mac
我们ping
一下PC1,再查看一下mac地址表
C1
查看C1的mac地址表
PC1ping
网关,再查看mac地址表
C1能够学习到PC1的mac地址,现在我们要做端口安全排除PC1,让C1学不到PC1的mac地址
在C1的fa0/1口上配置端口安全
C1(config)#interface fa0/1
C1(config-if)#shut
C1(config-if)#shutdown
C1(config-if)#switchport port-security
C1(config-if)#switchport port-security mac-address 0060.7020.96bb
C1(config-if)#switchport port-security maximum 3
C1(config-if)#switchport port-security violation protect
C1(config-if)#no shut
验证:PC1ping
网关,再查看mac地址表
解释:为什么这样设置就可以将mac排斥在外?
个人理解:
我们将fa0/1的端口安全开启,并且静态配置了一个mac地址,设置了mac地址表的mac地址最大为3,由于已经静态配置了一个,所以还剩2个。C1从fa0/1学习地址时会优先学习与之直连的接口地址,C1上有两个VLAN对应两条。这样三条就学完了,不会在学习第四条,自然把PC1排除了。
在C1的fa0/2口上配置端口安全,设置为sticky模式
C1(config)#inter
C1(config)#interface fa 0/2
C1(config-if)#shutdown
C1(config-if)#switchport port-security
C1(config-if)#switchport port-security mac-address sticky
C1(config-if)#switchport port-security maximum 6
C1(config-if)#switchport port-security violation protect
C1(config-if)#no shutdown
这里先说明一下端口安全MAC的获取的三种模式:
- 静态可靠的MAC地址:在交换机接口模式下手动配置,这个配置会被保存在交换机MAC地址表和运行配置文件中,交换机重新启动后不丢失(当然是在保存配置完成后),具体命令如下:
Switch(config-if)#switchport port-security mac-address Mac地址
- 动态可靠的MAC地址:这种类型是交换机默认的类型。在这种类型下,交换机会动态学习MAC地址,但是这个配置只会保存在MAC地址表中,不会保存在运行配置文件中,并且交换机重新启动后,这些MAC地址表中的MAC地址自动会被清除。
- 黏性可靠的MAC地址:这种类型下,可以手动配置MAC地址和端口的绑定,也可以让交换机自动学习来绑定,这个配置会被保存在MAC地址中和运行配置文件中,如果保存配置,交换机重起动后不用再自动重新学习MAC地址,虽然黏性的可靠的MAC地址可以手动配置,但是CISCO官方不推荐这样做。具体命令如下:
Switch(config-if)#switchport port-security mac-address sticky (sticky)
的功能,无论MAC是静态,还是动态,重启后仍然存在
检测到violation
的操作:
protect
端口不转发数据,不报警restrict
端口不转发数据,报警shutdown
关闭端口
这里将fa0/2设置为黏性,mac地址的数量为6。黏性和动态的区别是,mac地址表会保存在配置文件中,不会被清空。数量设置为6.
问题:fa0/24接口下对应4个MAC地址,为何进行PC2、PC3互相ping后,fa0/2接口出现了6个mac地址?
因为PC2
ping
PC3,不在同一个网段,会将数据包发到网关C1上,C1记录了PC2的mac地址和接口,C1有10.35.2.0的网段并且是valn2的路由,但是不知道PC3的mac地址,所以arp广播,得到了PC3的mac地址并且是vlan2,所以记录,然后发包。
任务中为何C1 Fa0/1接口最大安全MAC地址数设为3,而Fa0/2接口为6?
将fa0/1的端口安全开启,并且静态配置了一个mac地址,设置了mac地址表的mac地址最大为3,由于已经静态配置了一个,所以还剩2个。C1从fa0/1学习地址时会优先学习与之直连的接口地址,C1上有两个VLAN对应两条。这样三条就学完了,不会在学习第四条,自然把PC1排除了。而fa0/2的地址设为6,是因为要保证PC2能够和PC3ping通,fa0/2接口刚开始有4个mac,pc2和pc3互``ping
后,再次查看就有了6条,刚好满足,具体过程如下:因为PC2
ping`PC3,不在同一个网段,会将数据包发到网关C1上,C1记录了PC2的mac地址和接口,C1有10.35.2.0的网段并且是valn2的路由,但是不知道PC3的mac地址,所以arp广播,得到了PC3的mac地址并且是vlan2,所以记录,然后发包。