公网防火墙识别合法与非法流量主要通过以下方式:
防火墙会设定允许或禁止的IP地址范围。如果流量来自内部网络信任的IP地址段(如企业内部办公网络的IP范围),且目的地址是合法的外部服务(如公网上的公司邮件服务器IP),则可能是合法流量。反之,如果源IP地址是外部已知的恶意IP地址(如在黑名单中的IP),或者是伪装成内部IP的外部地址试图访问内部受保护资源,就会被判定为非法流量。
不同的网络服务使用特定的端口。例如,HTTP服务通常使用80端口,HTTPS使用443端口。防火墙根据端口的访问规则来判断流量合法性。如果内部网络用户试图访问公网合法的80端口(如浏览网页),这是正常流量;但如果外部流量试图访问内部网络中非标准开放的端口(如企业内部特定业务端口未对外公开却有外部访问请求),则可能是非法流量。
基于网络协议类型判断。如TCP、UDP、ICMP等协议各有其特点和用途。正常的网络通信遵循特定协议的规范。例如,ICMP协议用于网络连通性测试(如ping命令),但如果ICMP流量出现异常模式(如大量ICMP数据包携带恶意构造的数据),则可能被判定为非法流量。
防火墙会跟踪网络连接的状态。对于一个正常的TCP连接,它会经历建立连接(SYN包)、数据传输、连接关闭(FIN包)等阶段。如果一个数据包符合当前连接的状态逻辑,例如在已建立的TCP连接中发送的数据包,就可能是合法流量。而如果出现不符合连接状态的情况,如在未完成三次握手就发送大量数据包,或者连接已经关闭却仍有数据包传输,就可能被判定为非法流量。
对于一些高级防火墙,它们能够深入到应用层协议进行分析。以HTTP协议为例,防火墙可以解析HTTP请求中的URL、请求方法(GET、POST等)、头部信息等。如果HTTP请求包含恶意脚本(如SQL注入语句、跨站脚本攻击代码)或者试图访问被禁止的资源(如企业内部的敏感数据页面),则会被判定为非法流量。
防火墙还可以根据应用的正常行为模式进行识别。例如,某个企业内部的数据库应用程序通常在特定的时间段、以特定的频率访问数据库服务器。如果出现异常的访问频率(如在非工作时间频繁访问)或者来自异常的源(如从未有过的外部IP地址),防火墙可以判定这种流量为非法流量。
防火墙可以参考外部的信誉系统。一些组织会收集和分析网络实体的信誉信息,如IP地址的信誉。如果一个IP地址被标记为具有恶意行为的历史(如参与过僵尸网络活动、发送垃圾邮件等),当有来自该IP地址的流量时,防火墙会将其判定为非法流量或者进行重点检查。
防火墙厂商或安全社区会共享威胁情报。如果某个IP地址或流量模式被识别为与已知的威胁(如新型DDoS攻击工具、恶意软件的通信模式等)相关,防火墙可以利用这些威胁情报来识别并阻止相关的非法流量。