在最近的一次安全警報(bào)中,CiscoSystems警告說CiscoIOS易于受到一種惡意攻擊(請(qǐng)參考Cisco關(guān)于危急IOS漏洞的警告)。通過利用這個(gè)漏洞,黑客能夠在思科設(shè)備上執(zhí)行惡意代碼或者發(fā)動(dòng)一次DDOS攻擊(拒絕服務(wù)攻擊)。由于互聯(lián)網(wǎng)上的路由器至少有70%的路由器是思科路由器,這個(gè)漏洞格外引人關(guān)注。為了保護(hù)你的路由器的基礎(chǔ)結(jié)構(gòu),你能夠做些什么呢?本文將討論這個(gè)問題。
哪些產(chǎn)品受到影響?
只有擁有統(tǒng)一通信管理器(CiscoUnifiedCommunicationsManager)和支持語音服務(wù)的路由器會(huì)受到影響。如果你的路由器符合這兩個(gè)條件之一,你就應(yīng)該采取行動(dòng)了。如果你不能確定你的路由器是否擁有語音服務(wù)(會(huì)話初始化協(xié)議(SIP)),就應(yīng)該檢查一下。
哪些特定IOS的版本會(huì)受到影響?
只有某些版本的IOS12.3和所有的IOS12.4受到這個(gè)漏洞的影響,并且只有你激活SIP協(xié)議時(shí)才會(huì)發(fā)生。要查看你正在運(yùn)行的IOS版本,只需要鍵入showversion命令。
我如何知道我是否啟用了IOS協(xié)議?
注意下面一點(diǎn)是非常重要的:即使SIP協(xié)議沒有進(jìn)行特別的配置,CiscoIOS也易受到攻擊。這時(shí)所需要的只是路由器正在監(jiān)聽SIP通信。
執(zhí)行如下的三個(gè)命令就可以查看你的路由器是否正在監(jiān)聽進(jìn)入的SIP請(qǐng)求:
以下是引用片段:showipsocketsshowudpshowtcpbriefall
注意:“showipsockets”命令在較新的IOS版本上可能無法運(yùn)行!眘howtcpbriefall”命令可能不會(huì)返回任何輸出。下面就是筆者的路由器的一個(gè)輸出示例:
以下是引用片段:Router#showipsockets^%Invalidinputdetectedat’^'marker.Router#showudpProtoRemotePortLocalPortInOutStatTTYOutputIF17–listen—-any–68001017–listen—-any–288700110170.0.0.00192.168.1.100670022110Router#showtcpbriefallRouter#
你正在尋找的是下面這些協(xié)議和端口號(hào)的任何進(jìn)入的通路(監(jiān)聽者):TCP5060,5061,1720,11720andUDP5060,5061,2427,2517,16384–32767
你從筆者的路由器的輸出結(jié)果中可以看出,筆者并沒有任何這樣的端口。如果你有一個(gè)這樣的通路(監(jiān)聽者),你的輸出結(jié)果將看起來會(huì)是如下的樣子:
以下是引用片段:Router#showipsocketsProtoRemotePortLocalPortInOutStatTTYOutputIF170.0.0.00–any–5060002110Router#showtcpbriefallTCBLocalAddressForeignAddress(state)835F9624*.5060*.*LISTEN
請(qǐng)注意這兩種情況中的端口號(hào)5060。
怎樣保護(hù)路由器免受攻擊?
下面我們介紹三種保護(hù)路由器免受攻擊的方法:
1.檢查是否存在一個(gè)對(duì)這個(gè)漏洞進(jìn)行修復(fù)的IOS軟件的升級(jí)程序。在筆者寫這篇文章時(shí),還沒有打補(bǔ)丁的IOS版本可供使用。雖然升級(jí)你的路由器可能是一件痛苦的事情,卻不失為一個(gè)有益的解決方案。不過,如果你的路由器相當(dāng)脆弱,我建議你不要等著一個(gè)新的IOS版本了,因?yàn)槟愕穆酚善髟谶@期間可能會(huì)受到攻擊。如果SIP協(xié)議不需要的話,你應(yīng)該立即禁用SIP服務(wù);或者進(jìn)行通信的緩解,來確保只有合法的數(shù)據(jù)通信可以從受感染的思科路由器發(fā)出或進(jìn)入。
2.如果SIP協(xié)議(語音服務(wù))在這臺(tái)設(shè)備上不需要的話,你可以通過如下的命令禁用它:
以下是引用片段:Router(config)#sip-uaRouter(config-sip-ua)#notransportudpRouter(config-sip-ua)#notransporttcpRouter(config-sip-ua)#end
這些命令會(huì)禁用SIP協(xié)議,從而保護(hù)你免受這個(gè)漏洞的攻擊。
3.最后一點(diǎn),如果你的路由器需要SIP協(xié)議(語音服務(wù)),而又沒有什么IOS升級(jí)可用,你應(yīng)該只授權(quán)那些合法的通信到達(dá)你受感染的CiscoIOS設(shè)備,從而緩解數(shù)據(jù)通信。這一點(diǎn)就如同你創(chuàng)建這樣一個(gè)訪問控制列表(ACL)一樣簡(jiǎn)單:在此ACL中,我們會(huì)允許來自已知的SIP設(shè)備的全部的SIP通信,而禁止來自所有其它主機(jī)的SIP通信。