1. Firewall
2. History
  2.1 First generation: packet filters 第一代:包过滤器
  2.2 Second generation: stateful filters 第二代:有状态过滤器
  2.3 Third generation: application layer 第三代:应用程序层
    2.3.1 NGFW
    2.3.2 应用防火墙
    2.3.3 Linux的安全软件包列表
3. Types
  3.1 网络层或数据包过滤器
  3.2 应用层
  3.3 Proxies 代理
  3.4 NAT 网络地址转换
  3.5 NAT软件示例
4. 防火墙列举
5. 防火墙比较
6. 更多相关链接

 

1. Firewall

https://en.wikipedia.org/wiki/Firewall_(computing)
计算中,防火墙是一种网络安全系统,可以根据预定的安全规则监视和控制传入和传出的网络流量。防火墙通常会在受信任的内部网络和不受信任的外部网络(例如Internet)之间建立屏障。
防火墙通常分为网络防火墙或基于主机的防火墙。

  • 网络防火墙过滤两个或多个网络之间的流量,并在网络硬件上运行。
  • 基于主机的防火墙在主机上运行,​​并控制进出这些计算机的网络流量。

https://en.wikipedia.org/wiki/Personal_firewall
个人防火墙是一个应用程序,它控制网络流量,并从一台计算机,允许或拒绝基于通信的安全策略。通常,它用作应用程序层防火墙。https://en.wikipedia.org/wiki/Application_firewall

2. History

2.1 First generation: packet filters 第一代:包过滤器

报告的第一种网络防火墙类型称为数据包筛选器。数据包筛选器通过检查计算机之间传输的数据包来起作用。
当数据包与数据包过滤器的过滤规则集不匹配时,该数据包过滤器要么丢弃(静默丢弃)该数据包,要么拒绝该数据包(丢弃它并为发送方生成Internet控制消息协议通知),否则允许通过。
可以按源和目标网络地址,协议,源和目标端口号过滤数据包。
20世纪和21世纪初,大多数Internet通信使用传输控制协议(TCP)或用户数据报协议(UDP)与知名端口的结合,使那个时代的防火墙能够区分并控制特定类型的流量(例如,网页浏览,远程打印,电子邮件传输,文件传输),除非每一侧的计算机数据包过滤器使用相同的非标准端口。

2.2 Second generation: stateful filters 第二代:有状态过滤器

第二代防火墙执行其第一代前辈的工作,但还通过记住两个IP地址在OSI模型的第4层(传输层)使用哪个端口号进行对话来维护端点之间特定对话的知识,从而可以进行检查节点之间的整体交换。
这种类型的防火墙可能容易受到拒绝服务攻击的攻击,这些攻击会通过虚假连接轰炸防火墙,从而试图通过填充其连接状态内存来淹没防火墙。

状态防火墙
https://en.wikipedia.org/wiki/Stateful_firewall
状态防火墙是一种网络防火墙,它跟踪运行状态和经过它的网络连接的特征。
防火墙配置为针对不同类型的连接区分合法的网络数据包。
只允许匹配已知活动连接的数据包通过防火墙。相反,在确定是允许还是阻止数据包时,无状态防火墙不会考虑上下文。
应用程序级过滤器
https://en.wikipedia.org/wiki/Stateful_firewall#Application-level_filters
单独的数据包过滤并不能提供足够的保护。为了有效地阻止与对等相关的网络流量,需要一种防火墙,该防火墙可以进行应用程序筛选,可以将其视为有状态数据包检查的扩展。有状态的数据包检查可以确定通过每个端口发送的协议类型,但是应用程序级过滤器可以查看协议的用途。例如,应用程序级过滤器可能能够区分用于访问网页的HTTP流量和用于文件共享的HTTP流量之间的区别,而仅执行数据包筛选的防火墙将平等地对待所有HTTP流量。

应用层防火墙通常比状态检查慢。应用层防火墙有时是使用应用代理实现的。建立了两个TCP连接:一个在数据包源和防火墙之间,另一个在防火墙和数据包目标之间。应用程序代理代表目标拦截到达的数据包,检查应用程序有效负载,然后将允许的数据包中继到目标。可疑数据将被丢弃,客户端和服务器之间永远不会直接通信。与在网络层检查数据包相比,代理必须包含更多的协议栈开销。此外,由于每个应用程序都需要唯一的代理,因此与状态检查防火墙相比,代理防火墙的灵活性和升级速度较慢。但是,由于应用程序级代理是应用程序感知的,因此代理可以更轻松地处理诸如H.323或SIP之类的复杂协议,用于视频会议和VoIP(IP语音)。

2.3 Third generation: application layer 第三代:应用程序层

应用程序层筛选的主要好处是它可以理解某些应用程序和协议(例如文件传输协议(FTP),域名系统(DNS)或超文本传输​​协议(HTTP))。
这很有用,因为它能够检测到不需要的应用程序或服务是否正在尝试使用允许的端口上的不允许的协议绕过防火墙,或检测协议是否以任何有害方式被滥用。
截至2012年,所谓的下一代防火墙(NGFW)在应用层进行了更广泛或更深入的检查。例如,现代防火墙的现有深度数据包检查功能可以扩展为包括:

  •     入侵防御系统(IPS)
  •     用户身份管理集成(通过将用户ID绑定到IP或MAC地址进行“信誉”)
  •     Web应用程序防火墙(WAF)。WAF攻击可以在工具“使用定时侧通道的WAF指纹识别”(WAFFle)中实现

2.3.1 NGFW

https://en.wikipedia.org/wiki/Next-generation_firewall
下一代防火墙(NGFW)是第三代的防火墙技术的一部分,结合一个传统的防火墙和其他网络设备过滤功能,诸如防火墙应用程序使用串联深度包检测(DPI),一个入侵防御系统(IPS)。
也可以采用其他技术,例如TLS / SSL加密流量检查,网站过滤,QoS / 带宽管理,防病毒检查和第三方身份管理集成(例如LDAP,RADIUS,Active Directory)。

NGFW包括传统防火墙的典型功能,例如数据包过滤,网络和端口地址转换(NAT),状态检查以及虚拟专用网(VPN)支持。
下一代防火墙的目标是包括更多的OSI模型层,从而改善对取决于数据包内容的网络流量的过滤。

与第一代和第二代防火墙执行的状态检查相比,NGFW执行更深入的检查。
NGFW使用更彻底的检查方式,检查数据包有效载荷并匹配签名以进行有害活动,例如可利用的攻击和恶意软件。

2.3.2 应用防火墙

https://en.wikipedia.org/wiki/Application_firewall
应用防火墙是一种形式的防火墙,其控制输入,输出,和/或访问从,到,或由应用程序或服务。
它通过监视和潜在地阻止不符合防火墙配置策略的输入,输出或系统服务调用来运行。
应用程序防火墙通常用于控制任何OSI层到应用程序层上的所有网络流量。
与状态网络防火墙不同,它能够专门控制应用程序或服务,如果没有其他软件,则无法控制有关特定应用程序的网络流量。
应用程序防火墙主要分为两类:基于网络的应用程序防火墙和基于主机的应用程序防火墙。

2.3.3 Linux的安全软件包列表

允许按应用程序筛选应用程序到OS的通信:

  • Kerio Control-商业产品 https://en.wikipedia.org/wiki/Kerio_Control
  • AppArmor https://en.wikipedia.org/wiki/AppArmor
  • ModSecurity-也可在Windows,Mac OS X,Solaris和其他版本的Unix下使用。ModSecurity旨在与Web服务器IIS,Apache2和NGINX一起使用。 https://en.wikipedia.org/wiki/ModSecurity
  • systrace https://en.wikipedia.org/wiki/Systrace
  • Zorp https://en.wikipedia.org/wiki/Zorp_firewall

3. Types

防火墙通常分为基于网络的或基于主机的。

3.1 网络层或数据包过滤器

网络层防火墙通常分为有状态和无状态两个子类别。
Unix上常用的数据包过滤器有: ipfirewall (FreeBSD, Mac OS X (<10.7)); NPF (NetBSD); PF (Mac OS X (>10.4), OpenBSD, 和部分BSD); iptables/ipchains (Linux); IPFilter.

3.2 应用层

https://en.wikipedia.org/wiki/Application_firewall

3.3 Proxies 代理

主条目:代理服务器 https://en.wikipedia.org/wiki/Proxy_server
代理服务器(在专用硬件上运行或在通用计算机上作为软件运行)可以通过以应用程序的方式响应输入数据包(例如,连接请求)而充当防火墙,同时阻止其他数据包。
代理服务器是特定网络应用程序从一个网络到另一个网络的网关,从某种意义上说,它充当网络用户的代理。

3.4 NAT 网络地址转换

主条目:网络地址转换 https://en.wikipedia.org/wiki/Network_address_translation
防火墙通常具有网络地址转换(NAT)功能,并且受防火墙保护的主机通常具有RFC 1918中定义的“专用地址范围”中的地址。
防火墙通常具有隐藏隐藏到网络的计算机真实地址的功能。
最初,NAT功能的开发是为了解决可用于或分配给公司或个人的有限数量的IPv4可路由地址,并同时减少为组织中的每台计算机获取足够的公共地址的数量和成本。
尽管NAT本身不被认为是安全功能,但是隐藏受保护设备的地址已成为防止网络侦察的常用方法。

网络地址转换在IPv6中并不常用,因为IPv6的设计目标之一是恢复端到端网络连接。通常不需要NAT环回。
尽管仍然可行,但IPv6的大型寻址空间消除了保存地址的需要,并且可以为每个设备分配一个唯一的全局可路由地址。
话虽如此,结合使用唯一的本地地址和网络前缀转换可以达到类似的结果。

3.5 NAT软件示例

  • Netfilter with iptables/nftables: Linux数据包过滤器
  • IPFilter: 包括(Open)Solaris, FreeBSD, NetBSD, 及许多其他类似Unix的操作系统
  • ipfirewall (ipfw): FreeBSD-native 数据包过滤器
  • NPF: NetBSD-native 数据包过滤器
  • PF: OpenBSD-native 数据包过滤器
  • Internet Connection Sharing (ICS): Windows桌面操作系统随附的NAT和DHCP实现
  • Routing and Remote Access Service: Windows Server操作系统随附的路由实施
  • WinGate: Windows的第三方路由实现

4. 防火墙列举

https://geekflare.com/best-open-source-firewall/
7 Best Open Source Firewall to Protect Your Network

pfSense 基于FreeBSD OS的带有自定义内核的开源安全解决方案.
PfSense是具有商业级别功能的领先网络防火墙之一.
pfSense可用作硬件设备,虚拟设备和可下载的二进制文件(社区版).
https://www.pfsense.org/
https://doc.pfsense.org/index.php/Main_Page
IPFire IPFire建立在netfilter之上,并受到全球数千家公司的信任.
IPFire可用作防火墙,代理服务器或VPN网关 -取决于您的配置方式.
它具有出色的自定义灵活性.
IDS(入侵检测系统)是内置的,因此从第一天起就可以检测到并阻止攻击.
借助Guardian(可选附件),您可以实施自动预防.
可以在不到30分钟的时间内使用IPFire启动它.
https://www.ipfire.org/
https://www.ipfire.org/features
OPNSense OPNSense是pfSense和m0n0wall的分支.
GUI支持多种语言,例如法语,中文,日语,意大利语,俄语等.
OPNSense获得了许多企业级的安全性和防火墙功能,
例如IPSec,VPN,2FA,QoS,IDPS,Netflow,代理,Webfilter等.
https://opnsense.org/
NG Firewall untangle的NG防火墙是一个单一平台,您可以在其中获得保护组织网络所需的一切.
在免费版本中,您可以获得NG防火墙平台,免费应用程序和14天的付费功能试用版.
https://www.untangle.com/
http://demo.untangle.com/admin/index.do
Smoothwall Smoothwall express是一个免费的解决方案,它具有简单的Web界面来配置,管理防火墙. http://www.smoothwall.org/
ufw ufw(简单的防火墙)可与Ubuntu一起使用.
它提供了命令行界面来管理Linux内核包过滤系统(netfilter).
https://launchpad.net/ufw
csf csf是针对Linux服务器的状态防火墙,登录检测和安全解决方案. https://www.configserver.com/cp/csf.html


Linux Firewalls
https://www.linuxlinks.com/firewall/

pfSense 基于FreeBSD的强大防火墙和路由平台
IPFire 发行版具有通用的先进防火墙引擎
Smoothwall Express 具有自己的经过安全加固的Linux发行版的防火墙
Untangle SonicWALL和WatchGuard的高质量开源替代品
ClearOS 专用防火墙和Internet服务器/网关.可以选择以公共服务器或网关模式启动.
Shorewall 用于配置Netfilter的高级工具


MAC/RBAC Tools
https://www.linuxlinks.com/mac-rbac-tools/

SELinux Linux的安全性增强
TOMOYO Linux 轻巧易用的强制访问控制
AppArmor Linux安全模块基于名称的访问控制的实现
grsecurity 适用于Linux内核的一组创新补丁
RSBAC 向Linux内核添加一些强制性访问模型的补丁
Smack 简化的强制访问控制内核


Web Application Firewalls
https://www.linuxlinks.com/best-free-web-application-firewalls-add-an-external-security-layer/

ModSecurity 适用于Apache,IIS和Nginx的Web应用程序防火墙引擎
lua-resty-waf 基于OpenResty堆栈的高性能WAF
NAXSI Nginx反XSS和SQL注入
Shadow Daemon 模块化Web应用程序防火墙...

 

5. 防火墙比较

https://en.wikipedia.org/wiki/Comparison_of_firewalls

防火墙规则集Appliance-UTM过滤功能比较 Untangle pfSense IPFire WinGate Zeroshell
发布单个规则 Yes Yes Yes Yes Yes
IP地址 目标 destination Yes Yes Yes Yes Yes
IP地址 源 source Yes Yes Yes Yes Yes
TCP/UDP端口 目标 destination Yes Yes Yes Yes Yes
TCP/UDP端口 源 source Yes Yes Yes Yes Yes
Ethernet 以太网MAC地址 目标 destination Yes No Yes No Yes
Ethernet 以太网MAC地址 源 source Yes No Yes No Yes
防火墙 firewall入站(入口) Yes Yes Yes No Yes
防火墙 firewall出站(出口) Yes Yes Yes Yes Yes


防火墙规则集高级功能比较 Untangle pfSense IPFire WinGate Zeroshell
在OSI第4层工作(有状态防火墙) Yes Yes Yes Yes Yes
在OSI第7层工作(应用程序检查) Yes (Some modules) Yes Yes Yes Yes
更改TTL?(对traceroute透明) No No ? Yes No
配置带有答案的拒绝 No Yes No No Yes
DMZ(非军事)-允许不对单个/几个主机进行防火墙 Yes Yes Yes Yes Yes
时间点过滤 Yes (With Policy manager) Yes Yes Yes Yes
TCP/UDP端口转发 Yes Yes Yes Yes Yes
IP地址转发 Yes Yes Yes No Yes
根据用户授权过滤 Yes Yes ? Yes Yes
流量限速/QoS Yes Yes Yes Yes Yes
Tarpit Yes No No No No
日志 Yes Yes Yes Yes Yes
配置: GUI, text or both? both both both GUI GUI
远程: Web (HTTP), Telnet, SSH, RDP, RS232 SSH, Web GUI, SSH, Web (HTTP/HTTPS), RS232 SSH, Web (HTTPS), RS232 Proprietary user interface SSH, Web (HTTPS), RS232
更改规则而无需重新启动? Yes Yes Yes Yes Yes
能够集中管理所有防火墙 Yes No No N/A No


防火墙的其他功能比较 Untangle pfSense IPFire WinGate
模块化:是否支持第三方模块以扩展功能? Yes Yes Yes Yes
IPS:入侵防御系统 Yes Yes, with Snort and Suricata (modules) Yes, with Snort and Guardian ?
开源许可证? Yes Yes Yes No
支持IPv6吗? Yes Yes Yes (manual setup needed) No
类别:家用/专业 Both Both Both Professional
在其上运行的操作系统? Linux FreeBSD/NanoBSD-based appliance Linux (based on Linux From Scratch) Windows …
非防火墙的其他功能比较 Untangle pfSense IPFire WinGate
NAT44(静态,动态w/o端口,PAT) Yes Yes Yes Yes
NAT64,NPTv6 ? Yes (NPt) ? ?
IDS(入侵检测系统)  (Intrusion Detection) Yes Yes (with Snort) Yes (with Snort) Yes (with NetPatrol)
VPN(虚拟专用网) Yes (IPsec and OpenVPN) Yes (OpenVPN, IPsec, L2TP, IKEv2, Tinc, PPTP) Yes (OpenVPN, IPsec, IKEv2) Yes (proprietary)
AV(防病毒) AV (Anti-Virus) Yes (clamav, commtouch (optional)) Yes (with squid and clamav) Yes (with squid and clamav) Yes (Kaspersky Labs)
嗅探器 Sniffer Yes (tcpdump) Yes (tcpdump) Yes (tcpdump) Yes (filtered capturing to pcap format)
配置文件选择 Profile selection ? No No No


6. 更多相关链接

电脑网络等安全主题
https://en.wikipedia.org/wiki/Computer_security
https://en.wikipedia.org/wiki/Information_security
https://en.wikipedia.org/wiki/Browser_security
https://en.wikipedia.org/wiki/Network_security
https://en.wikipedia.org/wiki/Mobile_security
https://en.wikipedia.org/wiki/Internet_security
https://en.wikipedia.org/wiki/Wireless_security
https://en.wikipedia.org/wiki/Application_security

https://en.wikipedia.org/wiki/Linux_malware
https://en.wikipedia.org/wiki/Malware#Anti-virus_and_anti-malware_software

网络战
https://en.wikipedia.org/wiki/Cyberwarfare

https://en.wikipedia.org/wiki/Antivirus_software
防病毒软件或防病毒软件(缩写为AV软件),也称为防恶意软件,是一种用于预防,检测和删除恶意软件的计算机程序。

防病毒软件比较
https://en.wikipedia.org/wiki/Comparison_of_antivirus_software

在全球范围内实时观看网络攻击的11种有趣方式
https://geekflare.com/real-time-cyber-attacks/

12个用于扫描网站安全漏洞和恶意软件的在线免费工具
https://geekflare.com/online-scan-website-security-vulnerabilities/

pdf
https://www.websense.com/content/support/library/ngfw/v65/install/ngfw_650_ig_a_en-us.pdf
https://www.fortinet.com/content/dam/fortinet/assets/data-sheets/FortiGate_VM_KVM.pdf
https://support.forcepoint.com/KBArticle?id=FAQs-for-Security-Management-Center-5-x
https://help.stonesoft.com/onlinehelp/StoneGate/SMC/6.6.0/GUID-289A2406-416F-4912-A56E-3E3F9A2C89DD.html
https://help.stonesoft.com/onlinehelp/StoneGate/SMC/6.2.0/oxy_ex-1/shared/appendix/GUID-6091D3F3-ACC0-4E55-970D-27AB8A4A0701.html