演示:在思科IPS裝置上實現聯動防禦—Blocking(命令防火牆、路由器等協同工作)...

weixin_34262482發表於2013-09-25

    演示:在思科IPS裝置上實現聯動防禦—Blocking(命令防火牆、路由器等協同工作)


目標:

n理解思科IPS聯動防禦Blocking

n演示思科IPS聯動其它裝置(路由器)完成blocking的專案案例


理解思科IPS聯動防禦Blocking

該任務,主要描述思科IPS裝置上完成Blocking功能,必須具備的理論,其中包括Blocking作用和意義、Blocking的元件與專業術語、實現Blocking技術的準備工作、實現Blocking的注意事項、以及Blocking的實施步驟等。


思科IPS裝置上Blocking的作用與意義

它是一種IPS裝置與其它網路裝置進行聯動比如思科的路由器、多業務整合交換機、防火牆等,在這種情況下思科的IPS裝置可以命令其它的網路裝置對***流量進行攔阻,當IPS處於旁路模式時,這種聯動其它網路裝置對***流量進行攔阻的行為非常有用。相反,如果IPS裝置處於線上模式下,blocking的特性還沒有那麼明顯,因為當IPS處於線上模式時,裝置本身就可以攔阻很多違規流量。


實現Blocking的元件與專業術語


Blocking(阻攔功能):思科IPS裝置上的一種功能,它使思科的IPS感測器可以聯動思科的其它裝置來攔阻***者的流量。

Devicemanagement(裝置管理):思科IPS感測器與某些思科裝置互動,阻止***源的能力。

Blockingdevice(阻攔裝置):IPS感測器管理的裝置,比如思科器、交換機、PIX等。

Blockingsensor(阻攔感測器):為了控制一個或多個管理裝置而配置的IPS感測器。

Managedinterface(被管理介面):應用動態建立ACL感測器的被管理裝置上的介面,也叫做攔阻介面。

ActiveACL(活動ACL:它是被動態建立的ACLIPS感測器將它應用到被管理的裝置上。


實現Blocking技術的準備工作

要實現Blocking技術前必須的準備工作:IPS裝置的command介面上必須有一個可通和網路通訊的IP地址和正確的IP閘道器、允許telnetSSH、有加密的金鑰授權。如下6.1所示:

135750959.png

IPS裝置的command介面上必須有一個可通和網路通訊的IP地址和正確的IP閘道器:

在如圖6.1的環境中,假設您需要在IPS裝置上要配置聯動路由器R2的blocking技術,那麼此時您必須為IPS的command介面配置IP地址192.168.1.254/24,並配置預設閘道器是192.168.1.1,在我們先前的所有關於IPS的實驗環境中,對於預設閘道器的填寫意義不是很大,因為IPS都不需要跨越IP子網通訊,也不需要跨越IP子網完成任何管理行為,但是在如圖6.1所示的環境中就不一樣了,因為此時的IPS要向路由器R2(192.168.2.2)傳送blocking聯動功能,所以你必須正確配置IPS(192.168.1.254)與路由器R2(192.168.2.2)的成功通訊,IPS(192.168.1.254)要和R2(192.168.2.2)成功通訊的前提是IPS成功的配置了預設閘道器192.168.1.1,因為此時的IPS只是網路中的一個通訊點而已,他必須要使用預設閘道器才能路由器到R2,關於這一點非常重要。


配置Blocking device(阻攔裝置)支援telnetSSH

Blocking device(比如:思科的路由器、交換機、PIX防火牆)支援telnet和SSH功能,因為思科IPS在完成Blocking時是使用telnet和SSH下發控制指令,所以阻攔裝置必須配置telnet和SSH功能以支援Blocking。而且建議使用SSH,因為在網路中部署的IPS裝置本身就屬於安全裝置,所以安全裝置傳送的資料,更應該得到安全保障。


有加密的金鑰授權

如果您使用了SSH,那麼你必須具備加密演算法的使用授權,這些加密演算法包括DES3DESAES等,注意某些裝置上如果不啟用授權許可,一些高階的加密演算法將無法使用,比如在思科PIX防火牆上如果沒有啟用授權許可,那麼AES將無法使用。


Blocking的實施指南建議

 在實現Blocking時,建議在相關的裝置介面上配置防止地址欺騙技術,必須配置需要在blocking中被永遠排除的主機、定義要應用blocking的網路入口點,明確使用哪種分類的blocking、只為特定的SigID配置Blocking響應策略,不是所有SigID都需要配置blocking、決定適當的block時間。下面分別詳細來理解上述事項的意義:



防止地址欺騙技術,以及需要在blocking中確認被排除的主機

如下圖6.2所示,網路環境中路由器R1需要使用E1/0的介面IP地址192.168.1.1訪問AAA伺服器器,並且當網路中的IPS配置了blocking功能時,IPS需要telnet或者SSH到192.168.1.1為路由器R1下發配置,如果,此時,網路中有一***202.202.1.100偽造成R1的IP地址192.168.1.1去訪問AAA伺服器,注意,在網路世界中偽造一個IP地址是一件非常簡單的事情。如果此時IPS發現了這個偽造行為,並觸發了一個SigID的報警,如果在網路上直接deny 192.168.1.1這個地址,這種解決方案雖然可以過濾掉地址偽造***,但是如果真正的路由器R1(192.168.1.1)要訪問AAA伺服器就不行了,並且,此時IPS也無法通過192.168.1.1登陸到路由器R1去做blocking工作。所以防止地址欺騙技術,以及需要在blocking中確認被排除的主機是非常重要的工作。

135840355.png

具體做法如下:首先不要使用消極的方式來直接deny192.168.1.1這個地址,將192.168.1.1這個IP地址排除在blocking外,當然您在使用這個建議時要根據網路中的實際情況來決定,然後使用防止地址欺騙技術來杜絕IP地址欺騙,比如在如圖6.2所示的網路環境中,應該在邊界路由器R1的外部介面上完成如下配置:


在邊界路由器R1上完成防止地址欺騙技術的配置:

R1(config)#interface ethernet 1/1

R1(config-if)#ip verify unicast reverse-path* 啟動逆向路徑檢測功能

R1(config-if)#ip access-group 1 in

R1(config-if)#exit


R1(config)#access-list 1 deny 10.0.0.00.0.0.255

R1(config)#access-list 1 deny 172.16.0.0 0.240.255.255

R1(config)#access-list 1 deny 192.168.0.00.0.255.255

R1(config)#access-list 1 deny 127.0.0.0 0.255.255.255

R1(config)#access-list 1 permit any


關於上述ACL的配置說明:

在上述的ACL配置中,在邊界路由器的外部介面的入方向上直接拒絕了所有源地址是RFC1918所定義的私有網路專用地址和環回測試地址進入內部網路,為什麼要配置這樣的ACL,原因很簡單,因為從公共網路上進入內部會話中的源IP地址永遠不可以是私有網路專用地址,肯定是公共網路的IP,這正是***利用管理員在執行網路安全管控時的心理漏洞來***網路的一種思路,因為管理員總會認為私有網路專用地址是安全的,總會認為它是自己內部網路中的IP地址。


定義要應用blocking的網路入口點,確定使用哪種分類的blocking

Blocking技術實際上就是IPS聯動其它裝置,比如路由器、交換機、防火牆,然後在這些裝置上去動態的輸寫ACL,那麼確定這些ACL應用的網路入口點(裝置的介面)這將是一種非常重要事情,因為在網路上肯定有許多不同的裝置,當然也就包括了很多不同的網路入口點,關於這一點的思考,可以參考ACL的應用做為標準。建議將blocking用於邊界網路裝置的外部介面的入方向上,因為這樣可以在***流量進入網路裝置之前就將其過濾掉。


注意:Blocking與思科的CBAC技術不能相容,因為IPS和CBAC技術都是要調整外部接入的訪問控制列表,關於CBAC的更多資訊,請參看本專業系列教程的《防火牆技術》。


Blocking技術分為基於會話的blocking和基於主機的blocking,基於會話的blocking是過濾有明確目標地址和源地址的blocking,而基於主機的blocking是源地址是一個具有的明確的IP地址,而目標地址永遠都是any的訪問控制列表。一般情況下,如果要攔阻多個來自同一***源的blocking將使用基於主機的blocking技術,如果要攔阻不同***源,那麼將使用基於會話的blocking。


注意:如果多個基於Connection(會話連線)的blocking都是使用相同的源地址即便是目標IP和埠不同,那麼,在檢測到這個會話三次後,這個基於Connection的blocking會自動轉換成基於host的blocking。



只為特定的SigID配置Blocking響應策略,不是所有SigID都需要配置blocking

本章一直將描述blocking響應技術,但是大家不能先入為主,認為任何時候做blocking都是一個最好的選擇,事實上,在很多情況下我們只會針對特點的SigID做blocking,比如LAND***、UDP洪水***等,並不是所有的SigID都適合做blocking,比如基於TCP的***檢測,最佳的action是reset,因為這是最簡單,也是最高效的解決方案。


理解Pre-blockACL和post-block ACL

現先來理解IPS是如何向網路裝置輸寫ACL的,當被臺路由器被配置成可以協同IPS完成block功能時,那麼IPS首先向路由器上輸寫如下圖6.3所示的ACL列表,事實上就是首先允許IPS自己,然後再允許其它所有資料包,如果某種流量觸發了SigID的block,那麼這個block行為的deny語句將在如圖6.3中的兩條語句之間進行插入。

140006895.png

  但是現在有個問題:如下圖6.4所示,假設在路由器上原先就配置有ACL列表,如果IPS走來就在路由器上配置如圖6.3的ACL,那麼路由器上原來的ACL將被“繞過”也叫做被旁路掉,更簡單的說就是不生效,一切流量將被允許。此時,IPS在路由器上將原來的ACL折分為兩個ACL,如下圖6.4所示,一個是叫Pre-ACL一個叫Post-ACL,然後如果某種流量觸發了SigID的block,那麼這個block行為的deny語句將在Pre-ACL和Post-ACL之間插入,這樣就不會“繞過”原先配置的ACL。


140115315.png

決定適當的block時間

預設block的時間是半個小時,也就是說IPS在路由器或者其它裝置上所寫入ACL的時間為30分鐘,當30分鐘後,IPS會在路由器或者其它裝置上將原先寫入的ACL動態的刪除,那麼使用者可以根據自身網路的特性調整blocking的時間。


演示:思科IPS聯動其它裝置(路由器)完成blocking的專案案例


關於配置blocking的步驟:

n配置網路裝置支援Telnet/SSH.

nIPS上通過配置Know Hostkey獲取網路裝置的金鑰。

nIPS上選中相應的SigID的響應行為是block

nIPS上配置block的全域性屬性


演示目標:配置思科IPS聯動其它裝置(路由器)完成blocking

演示環境:如下圖6.5所示,


140235393.png

演示背景:將演示環境中的IPS配置成旁路模式,讓其監控交換機fa0/1fa0/2介面的流量,當IPS發現流量中存在異常(***流量)時,IPS將通過blocking聯動路由器R2攔阻網路***流量。注意在這個過程中,建議將IPS配置成旁路模式,如果配置成線上模式(inline)那麼攔阻將變成多此一舉的行為,因為本身線上模式的IPS就可以第一時間防禦***,那麼再來實施blocking,在多數情況下將變得沒有意義。

演示步驟:


第一步:首先要配置交換機支援埠映象功能,因為IPS旁路模式的流量監控必須與交換機的埠映象功能協同使用,否則處於旁路的IPS將無法獲取監控流量。相關交換機上緊埠映象功能的配置如下所示,除此之外,還必須為路由器R1R2完成基本配置,包括介面IP地址的配置,路由協議的啟動,至少要保證整個網路可以正常通訊。這是整個演示的基礎環境保障。



交換機埠映象的配置:

S1(config)#monitorsession 1 source interface fastEthernet 0/1

* 配置映象的源埠

S1(config)#monitorsession 1 source interface fastEthernet 0/2

* 配置映象的源埠

S1(config)#monitorsession 1 destination interface fastEthernet 0/3

* 配置映象的目標埠


路由器R1的基本配置:

R1(config)#interface e1/0

R1(config-if)#ipaddress 192.168.201.1 255.255.255.0

R1(config-if)#noshutdown

R1(config-if)#exit


R1(config)#interface e1/1

R1(config-if)#ipaddress 192.168.100.1 255.255.255.0

R1(config-if)#noshutdown

R1(config-if)#exit


R1(config)#routerrip* 在路由器R1上啟動路由  

R1(config-router)#noauto-summary* 關閉自動歸納功能

R1(config-router)#version 2 * 啟動RIP號版本

R1(config-router)#network192.168.100.0* 公告子網192.168.100.0

R1(config-router)#network192.168.201.0 * 公告子網192.168.201.0

R1(config-router)#exit


路由器R2的基本配置:

R2(config)#interfaceethernet 1/0

R2(config-if)#ipaddress 192.168.201.2 255.255.255.0

R2(config-if)#noshutdown

R2(config-if)#exit


R2(config)#interfaceethernet 1/1

R2(config-if)#ipaddress 192.168.200.1 255.255.255.0

R2(config-if)#noshutdown

R2(config-if)#exit


R2(config)#router rip

R2(config-router)#no auto-summary

R2(config-router)#version 2

R2(config-router)#network192.168.201.0

R2(config-router)#network192.168.200.0

R2(config-router)#exit


第二步:配置IPSG0/1介面工作在旁路模式下,關於這一點的配置細節在專案五中有詳細描述,在這裡就不做重複描述,如果配置正確,應該得到如下6.6所示的介面引數特性。


140345931.png


第三步:配置路由器R2支援Telnet/SSH功能,要使路由器R2支援被IPS進行SSH管理,必須為路由器R2配置登陸的使用者名稱、密碼、域名字尾、生成公私鑰對等,具體配置如下所示:


配置路由器R2支援SSH:

R2(config)#enablepassword ips*為路由器R2的enable使用者密配置密碼

R2(config)#usernamecisco password cisco* 配置SSH的使用者名稱與密碼

R2(config)#ip domain-nameips.com*配置路由器R2的域名字尾。


然後使用crypto key generate rsa指令在路由器本地生產公私鑰對,具體如下圖6.7所示,在這裡可以保持預設512的金鑰長度。

140445101.png


R2(config)#line vty0 4*進入虛擬控制終端的線序0-4

R2(config-line)#loginlocal*登陸時使用本地安全資料庫中的使用者名稱和密碼進行驗證。

R2(config-line)#transportinput ssh* 允許SSH傳入。


第四步:現在配置IPS上通過Known Host key獲取網路裝置的金鑰。在IPS的圖型化配置介面下的configuration\SSH\Known HostKeys\的Add如下圖6.8所示,獲取路由器R2的金鑰。在IP Address中填入192.168.201.2地址後,單擊Retrieve Host Key可以自動獲取路由器R2的金鑰。


140547859.png

第五步:在IPS上配置相應的SigID的響應行為是block,在這個演示環境中,通過Sig ID來定位Sig1102的signature,然後選中Actions按鈕,如下圖6.9所示,當出現圖6.10的各個選項時,請選擇Request Blockconnection項,也就是當有違規的流量觸發Sig1102時,將攔阻這個違規的會話。

140626272.png

140703370.png

第六步:現在開始配置blocking的全域性引數,在IDM配置環境中,導航到configuration/blocking/Blocking Properties如下6.11所示,關於每個選項具體的意義在圖中都有備註與解釋。

140818518.png

然後,Blocking/Blocking Login Profiles來配置阻攔裝置的登陸配置檔案,在如6.12的對話方塊中,知個配置項的解釋如圖所示。完成配置後,單擊OK。進一步配置Blocking/Blocking Device,出現如6.13所示的對話方塊要求配置blocking的具體裝置的引數,其中各個選項的解釋如圖所示,在這裡需要特別申明一下關於Sensor’s NAT address選項的意義。





140913340.png


理解Sensor’s NAT address選項:

在該演示環境中Sensor’s NAT address選項可以不作任何配置,因為Sensor與網路的通訊沒有經過任何NAT路由器,但是如果是圖6.14所示的環境,就必須配置Sensor’s NAT address,回憶一下本專案中曾經描述過當使用Block功能時,IPS將會在路由器上去輸寫一條允許IPS自身訪問路由器的ACL語句,在圖6.14的環境中,IPS原本的地址是192.168.2.100,如果它要控制R2實現Block功能,那麼它就需要在路由器R2上插入一條permit 192.168.2.100的ACL語句讓IPS可以成功的訪問路由器R2,在這個特定的環境中,這條permit 192.168.2.100沒有任何意義,因為192.168.2.100經過了NAT路由器R1將源IP192.168.2.100翻譯成了202.202.1.2,所以對於路由器R2而言,它根本看到192.168.2.100這個IP地址,那麼,在此時就需要在IPS上配置Sensor’s NAT address為202.202.1.2,這樣IPS就可以在路由器R2上輸寫ACL時寫成permit202.202.1.2而不是192.168.2.100,這就是Sensor’sNAT address的意義。

141027176.png

最後是配置Blocking Device Interface選項,如下6.15所示,關於各項引數的意義如圖所示,在該環境中的攔阻裝置是路由器R2(192.168.201.2)並在E1/0介面的進入方向上實施攔阻。

141122290.png

  當完成上述所有配置後,在沒有發啟正式的***測試之前,可以來到攔阻裝置路由器R2上,使用show access-lists檢視路由器的ACL列表,如下圖6.16所示,可以看到一個名字IDS_ethernet1/0_in_0的ACL列表,其中有兩條語句:一條的表示允許IPS裝置192.168.201.254訪問該路由器,另一條表示允許一切訪問,如果某個違規流量觸發了配置了block功能的SigID,那麼deny(拒絕)違規流量的語句將在這兩條ACL語句之間插入具體內容。更多資訊請參看本專案的理解Pre-block ACL和post-block ACL部分。


141255628.png


第七步:正式開始使用LAND***測試block的效果,首先當您發起LAND***時,如果您前面所有的配置沒有錯誤,那麼***流量將觸發Signature1102,然後此時會引發blocking行為,最後IPS會在攔阻裝置R2上插入拒絕LAND***流量的ACL語句。6.18所示為LAND***觸發sig1102的告警事件,6.19所示為告警事件的詳細資訊,BlockConnectionRequested:true

141411854.png

141412325.png

  此時來到攔阻裝置R2上,通過show access-lists指令可以看到在IPS預配置的ACL中插入了deny LAND***的流量,即源和目標是同一個IP地址,並且可以看到被拒絕的包有796個,Block成功。

141523111.png


相關文章