前言
网络已经成为当今人们生活中的一部分:传输文件、发送邮件、在线视频、浏览网页、联网游戏。因为网络分层模型的存在,普通用户无需关注通信实现原理等技术细节就可以直接使用由应用层提供的各种服务。
这篇笔记主要涉及AAA、FTP、TFTP、Telnet等网络基础服务的工作原理,以及安全防火墙的基本概念。
AAA原理
AAA是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称,是网络安全的一种管理机制和管理框架,提供了认证、授权、计费三种安全功能。
它提供了授权部分用户访问指定资源和记录这些用户操作行为的安全机制。因其具有良好的可扩展性,并且容易实现用户信息的集中管理而被广泛使用。在实际应用中,最常使用RADIUS (Remote Authentication Dial-In User Service)协议。
对于认证,我们一般有不认证,本地认证,远端认证三种方法。
- 不认证(no authentication):该认证方式不对用户进行任何身份验证,因此不需要提供用户名和密码等凭证。这种认证方式通常用于测试环境或者开放的公共资源,不适用于安全性要求较高的系统。
- 本地认证(local authentication):该认证方式通过在本地维护用户账号和密码等凭证来验证用户的身份。本地认证通常在设备或者服务器上进行,是一种简单、快速、易于管理的认证方式。但是,由于账号和密码等凭证存储在本地,因此安全性较低。
- 远端认证(remote authentication):该认证方式通过与远程认证服务器进行通信来验证用户的身份。远程认证通常使用标准的协议(如RADIUS、TACACS+等)进行通信,可以实现跨网络、跨设备的认证功能。远程认证的优点是安全性高、可扩展性好,但是需要维护认证服务器和网络连接等环境。
AAA支持的授权方式有:不授权,本地授权,远端授权。
- 不授权(no authorization):该授权方式不对用户进行任何权限验证,因此用户可以访问所有资源和执行所有操作。这种授权方式通常用于测试环境或者开放的公共资源,不适用于安全性要求较高的系统。
- 本地授权(local authorization):该授权方式通过在本地维护用户的权限信息来验证用户是否有权限访问某个资源或执行某个操作。本地授权通常在设备或者服务器上进行,是一种简单、快速、易于管理的授权方式。但是,由于权限信息存储在本地,因此安全性较低。
- 远端授权(remote authorization):该授权方式通过与远程授权服务器进行通信来验证用户是否有权限访问某个资源或执行某个操作。远程授权通常使用标准的协议(如RADIUS、TACACS+等)进行通信,可以实现跨网络、跨设备的授权功能。远程授权的优点是安全性高、可扩展性好,但是需要维护授权服务器和网络连接等环境。
计费功能用于监控授权用户的网络行为和网络资源的使用情况。AAA支持的计费方式有:不计费,远端计费。远端计费即在服务端计费响应。
例如,我们在一个NAS系统中,通过RADIUS给用户提供服务。
用户在客户端上输入用户名和密码后,NAS可以将这些信息发送至RADIUS服务器进行认证。如果认证通过,则授予用户访问Internet的权限。在用户访问过程中,RADIUS服务器还可以记录用户使用网络资源的情况。
文件传输协议
FTP
主机之间传输文件是IP网络的一个重要功能,如今人们可以方便地使用网页、邮箱进行文件传输。而在主机终端之间,最通用的方式就是使用FTP(File Transfer Protocol,文件传输协议)以及TFTP(Trivial File Transfer Protocol,简单文件传输协议)。
FTP采用典型的C/S架构(即服务器端与客户端模型),客户端与服务器端建立TCP连接之后即可实现文件的上传、下载。
FTP存在两种工作方式:主动模式(PORT)和被动模式(PASV)。
主动模式(PORT):在主动模式下,客户端向服务器发送PORT命令,告诉服务器它将使用哪个端口来接收数据。然后,服务器通过它的数据端口(默认端口20)向客户端的指定端口发送数据。主动模式需要客户端打开一个端口来接收数据,因此可能会受到防火墙的限制。
(主动传输)
被动模式(PASV):在被动模式下,客户端发送PASV命令给服务器,告诉服务器它将使用哪个端口来传输数据。服务器在一个指定的端口上打开一个监听器,等待客户端连接。客户端通过一个新的控制连接向服务器发送连接请求,然后服务器通过它的数据端口向客户端发送数据。被动模式不需要客户端打开一个端口来接收数据,因此可以避免防火墙的限制。
(被动传输)
TFTP
相较于FTP,TFTP的设计就是以传输小文件为目标,协议实现就简单很多。
TFTP使用UDP进行传输(端口号69),无需认证且只能直接向服务器端请求某个文件或者上传某个文件,无法查看服务器端的文件目录。
Telnet
为方便通过命令行管理设备,可以使用Telnet协议对设备进行管理。
Telnet协议与使用Console接口管理设备不同,无需专用线缆直连设备的Console接口,只要IP地址可达、能够和设备的TCP 23端口通信即可。
支持通过Telnet协议进行管理的设备被称为Telnet服务器端,而对应的终端则被称为Telnet客户端。很多网络设备同时支持作为Telnet服务器端、Telnet客户端。
例如:
防火墙
路由器和交换机构建了互联互通的网络,在网络的边界,可能存在如下问题:
- 外部网络安全隔离
- 内部网络安全管控
- 内容安全过滤
- 入侵防御
- 防病毒
防火墙(firewall)是一种安全设备。它用于保护一个网络区域免受来自另一个网络区域的攻击和入侵,通常被应用于网络边界,例如企业互联网出口、企业内部业务边界、数据中心边界等。
防火墙作用是流量控制和安全防护,区分和隔离不同安全区域。
- 包过滤防火墙(Packet Filtering Firewall):该类型防火墙基于网络层(OSI模型第三层)和传输层(OSI模型第四层)的信息,对进出网络的数据包进行过滤和控制。包过滤防火墙通过检查数据包的源地址、目的地址、协议类型、端口号等信息,判断是否允许通过。它可以对网络入口和出口进行过滤,是一种简单、快速、低成本的防火墙。
- 状态检测防火墙(Stateful Inspection Firewall):该类型防火墙基于应用层(OSI模型第七层)的信息,对进出网络的数据流进行检测和控制。状态检测防火墙不仅检查数据包的头部信息,还检查数据包的内容和上下文信息,以确定是否允许通过。它可以对网络连接的状态进行跟踪和管理,是一种可以防御一些常见攻击的防火墙。
- AI防火墙(Artificial Intelligence Firewall):该类型防火墙基于人工智能技术,通过学习和分析网络流量的特征和模式来识别和防御恶意攻击。AI防火墙可以自动适应新的攻击方式和变异攻击,是一种高级的防火墙。
以华为防火墙为例,华为防火墙中安全区域(Security Zone),简称为区域(Zone),是防火墙的重要概念。防火墙大部分的安全策略都基于安全区域实施。一个安全区域是防火墙若干接口所连网络的集合,一个区域内的用户具有相同的安全属性。
华为防火墙确认已创建四个区域,untrust、dmz、trust和local区域。安全区域有以下特性:
- 默认的安全区域不能删除,也不允许修改安全优先级。
- 每个Zone都必须设置一个安全优先级(Priority),值越大,则Zone的安全优先级越高。
- 用户可根据自己的需求创建自定义的Zone。
安全策略是控制防火墙对流量转发以及对流量进行内容安全一体化检测的策略,当防火墙收到流量后,对流量的属性进行识别,然后与安全策略的条件进行匹配。如果条件匹配,则此流量被执行对应的动作。
除了安全策略外,会话表是用来记录TCP、UDP、ICMP等协议连接状态的表项,是防火墙转发报文的重要依据。
防火墙采用了基于“状态”的报文控制机制:只对首包或者少量报文进行检测就确定一条连接的状态,大量报文直接根据所属连接的状态进行控制。这种状态检测机制迅速提高了防火墙的检测和转发效率。会话表就是为了记录连接的状态而存在的。设备在转发TCP、UDP和ICMP报文时都需要查询会话表,来判断该报文所属的连接并采取相应的处理措施。过程如图:
防火墙为各种协议设定了会话老化机制。当一条会话在老化时间内没有被任何报文匹配,则会被从会话表中删除。这种机制可以避免防火墙的设备资源被大量无用、陈旧的会话表项消耗。
防火墙还可以根据协议进行过滤,这时需要ASPF(Application Specific Packet Filter,针对应用层的包过滤)功能。
ASPF也称作基于状态的报文过滤,ASPF功能可以自动检测某些报文的应用层信息并根据应用层信息放开相应的访问规则,即生成Server-map表。
Server-map表是简化的会话表,它主要用于建立内部网络和外部网络之间的映射关系,帮助防火墙将外部网络的请求转发到内部网络的服务器上。在流量真实到达防火墙时,防火墙会基于Server-map表生成会话表,然后执行转发。
后记
这篇笔记主要涉及AAA、FTP、TFTP、Telnet等网络基础服务的工作原理,以及安全防火墙的基本概念。
Comments NOTHING