因為我對Cisco不熟
最近要將VoIP設備接到Cisco ASA 5505下面
已經確認直接接而不做防火牆設定是不行的
我找了一些說明
PIX/ASA 7.x: Enable VoIP (SIP, MGCP, H323, SCCP) Services Configuration Example
http://www.cisco.com/en/US/products/ps6120/products_configuration_example09186a008081042c.shtml
其中有一段講到
This document describes how to allow the Voice over IP (VoIP) Protocols traffic on the outside interface and enable inspection for each protocol in the Cisco PIX/ASA Security Appliances.
其中有一個關鍵字我不瞭解
但是大量出現在我找到的各篇文章中
希望有人可以幫忙解釋一下
"enable inspection"
inspection是個什麼樣的機制 ?
主要會影響到什麼 ?
inspection 是指 Firewall 是否要去檢查封包的正確性, enable inspection 就是允許防火牆去檢查這些封包.
所以我有點搞混了
在個人認知中
SIP封包是沒什麼好檢查的
裡面不就是語音資料嗎 ?
我忘記在哪一篇看到SIP有security issue
(但不知道是SIP本身有問題還是ASA有漏洞)
是這個原因才導致ASA必需進行SIP的封包檢查嗎 ?
《檢查》有好多種意涵, 可以查 Header, 可以查 Payload, 可以查 checksum...
您指的《語音資料》是 Payload 的一種, 但除非防火牆上面有開啟 UTM 或 IDP, Anti-virus, Anti-spam 等功能, 否則通常不會去查 Payload.
但是, 防火牆依然有責任要去查封包的 Header, 否則, 他怎麼知道該不該放行這個封包? 它的來源是否符合規則(Policy)? 封包想要去的地方是否允許他去? 中間要不要做 Source NAT/Destination NAT 轉換? 有沒有 QoS 的 Tag 需要特別處理?....
如果是 Stateful 的 inspection, 還要考慮封包的前後關係: 他的 Sequence number 是否合理? 這個封包是否上一個封包的接續? 還是被某個偽裝的封包給取代了? 如果這個封包的意涵跟這個通訊協定的特性不相符, 是否應該要阻斷他?...
而且, 不見得 Payload 就不需要查: 你怎麼知道這個 Payload 裡面真的是《語音》? 萬一他是 DDoS 攻擊封包呢? 要不要阻斷? 這裡展示了兩種簡單的方法, 可以攔截替換掉正常的封包, 製造某種 SIP 攻擊:
Two attacks against VoIP
防火牆如果不去查 IP Payload 的話, 是無法分辨出這種 SIP 攻擊, 並加以處置的...