狀態防火牆
狀態防火牆(英語:Stateful firewall),一種能夠提供狀態封包檢查(stateful packet inspection,縮寫為SPI)或狀態檢視(stateful inspection)功能的防火牆,能夠持續追蹤穿過這個防火牆的各種網路連線(例如TCP與UDP連線)的狀態。這種防火牆被設計來區分不同連線種類下的合法封包。只有符合主動連線的封包才能夠被允許穿過防火牆,其他的封包都會被拒絕。[需要解释]
狀態封包檢查也被称为動態封包過濾(Dynamic Packet Filtering)。[1]
原理
状态防火墙监视网络连接的“状态”,比如TCP流、UDP数据和ICMP消息可能被分为LISTEN, ESTABLISHED, 或者CLOSING状态[2]。按照相应的安全策略,状态防火墙在状态表中为各TCP流或者UDP数据创建记录。凡在表中的session,所有相关封包都被允许通过,不再检测,因此比一般的检测使用更少CPU。
维持一个session的状态取决于其传输层协议。比如TCP是面向连接的协议[3],其session是由三路握手的SYN消息建立,由FIN消息终止。[4]状态防火墙由此可以知道何时从表中移除session,而不必等待超时再移除。UDP是无连接的协议[3],它不会发送特别的连接消息,因此一个UDP的session只有等待超时才会被移除,UDP打洞就利用了这一特性设立隧道。[5] ICMP消息与TCP和UDP不同,它传递网络本身的控制信息,比如ping命令。[6]ICMP回复一般会被允许。有时UDP通信会使用ICMP来提供session的状态信息,因此和某UDP session有关的ICMP回复也是允许的。
歷史
此章节尚無任何内容,需要扩充。 |
缺點
- 無法處理應用層協定
参考文献
- ^ Goralski, Walter, author. The illustrated network : how TCP/IP works in a modern network. ISBN 978-0-12-811027-0. OCLC 986540207.
- ^ TCP connection status. IBM Knowledge Center. [2020-09-06]. (原始内容存档于2020-11-11).
- ^ 3.0 3.1 Mitchell, Bradley. TCP vs UDP. Lifewire. 2020-04-01 [2020-09-06]. (原始内容存档于2021-10-04).
- ^ TCP three-way handshake. Study-CCNA. [2020-09-06]. (原始内容存档于2021-12-23).
- ^ Automatic NAT Traversal for Auto VPN Tunneling between Cisco Meraki Peers. Meraki. [2020-09-06]. (原始内容存档于2021-10-04).
- ^ Mitchell, Bradley. Guide to Internet Control Message Protocol (ICMP). Lifewire. 2018-12-03 [2020-09-06]. (原始内容存档于2020-11-25).