把好關(guān)口 安全部署企業(yè)網(wǎng)絡(luò)邊界路由器
邊界路由器是連接內(nèi)部局域網(wǎng)和外部Internet的關(guān)鍵路由。作為內(nèi)外網(wǎng)絡(luò)之間的橋梁,它的安全運行關(guān)系到整個局域網(wǎng)的命運。因為直接與Internet連接,邊界路由器首當(dāng)其沖是黑客攻擊的重點?;诖?,邊界路由器理應(yīng)成為網(wǎng)絡(luò)管理者重點維護的對象。本文就以Cisco的路由器產(chǎn)品為例,和大家分享邊界路由器的安全部署方案。
1、安全部署從密碼開始
密碼是路由器用來阻止對其進行非授權(quán)訪問的主要手段,是路由器本身安全的一部分。對于邊界路由器來說,安全可靠的密碼策略更是必不可少的。
(1).設(shè)置符合復(fù)雜性的特權(quán)模式進入密碼
首次登錄路由器后就要為其設(shè)置復(fù)雜的密碼,例如:“Router(config)#enable secret 55ctocio,.”,建議不要采用enable password進行設(shè)置。兩者雖然功能相似,但是enable password采用的加密算法比較弱。同時,還要啟用service password-encryption。例如:“Router(config)#service password-encryption”利用這條命令對存儲在配置文件中的所有密碼和類似的數(shù)據(jù)進行加密,以提高密碼的安全性。(圖1)
(2).盡量不要遠程訪問路由器
如果不需要對路由器進行遠程維護和管理,建議不要開啟遠程訪問。就算開啟了路由器的遠程訪問功能,也要控制遠程訪問的次數(shù)。因為任何人登錄到路由器都會在路由器上顯示一些重要的信息,而這些信息能夠?qū)粽哌M行網(wǎng)絡(luò)滲透提供幫助。另外還有一種情況:攻擊者也許不會通過路由器對局域網(wǎng)實施攻擊,但他會將你的路由器作為一個跳板對其他的目標(biāo)實施攻擊。這樣,你的路由器被攻擊者利用不說,而且會給你帶來麻煩(嫁禍于人)?;诖?,我們一定要控制路由器的遠程訪問。如果情況特殊需要遠程訪問路由器,也一定要設(shè)置足夠強的密碼。筆者建議,不要將遠程訪問密碼和特權(quán)密碼設(shè)置成一樣。
Router(config)#line vty 0 4 Router(config-line)#login Router(config-line)#password ineing55ete |
(圖2)
(3).設(shè)置高強度的Consol端口訪問密碼
盡管大部分的登錄訪問缺省都是禁止的。但是有一些例外。如直連的控制臺終端等??刂婆_端口具有特殊的權(quán)限。特別注意的是,當(dāng)路由器重啟動的開始幾秒如果發(fā)送一個Break信號到控制臺端口,則利用口令恢復(fù)程式可以很容易控制整個系統(tǒng)。這樣如果一個攻擊者盡管他沒有正常的訪問權(quán)限,但是具有系統(tǒng)重啟(切斷電源或系統(tǒng)崩潰)和訪問控制端口(通過直連終端、Modem、終端服務(wù)器)的能力就可以控制整個系統(tǒng)。所以必須保證所有連結(jié)控制端口的訪問的安全性,給Consol端口設(shè)置高強度密碼。
Router(config)#line consol 0 Router(config-line)#password ewingw58erer Router(config-line)#login |
(圖3)
#p#
2、嚴(yán)格配置路由器管理服務(wù)
Cisco路由器集成了許多管理服務(wù),這些服務(wù)適用于不同的環(huán)境和應(yīng)用需求。通常情況下,其中的很多管理服務(wù)我們根本用不著。而默認(rèn)情況下其中的某些管理服務(wù)是開啟的,這帶來了一定的安全隱患。最小的服務(wù)帶來最大的安全,所以我們應(yīng)該根據(jù)實際需要對這些管理服務(wù)進行嚴(yán)格配置。
(1).建議禁止Http管理服務(wù)
Http管理服務(wù)是Cisco提供的基于圖形界面的Web管理方式,方便某些初級用戶的管理需求。但是,開啟Web管理后路由器需要開啟而外的端口(通常是80),而且Http是Cisco存在漏洞比較多的一個服務(wù)。對于一個熟練的管理員,有高效的命令行就可以了,完全用不著Web管理方式,因此筆者建議禁止該管理服務(wù)服務(wù)。
Router(config)#no ip http server |
HTTP使用的身份識別協(xié)議相當(dāng)于向整個網(wǎng)絡(luò)發(fā)送一個未加密的口令,這使得用HTTP協(xié)議進行管理相當(dāng)危險。如如果開啟了HTTP服務(wù),最好使用“Router(config)#ip http access-class”命令限制可訪問地址,同時還要設(shè)置用戶名和密碼,并且使用“Router(config)#ip http authentication”命令開啟IP驗證。
Router(config)#username ctocio privilege 10 password ienig56egd Router(config)#access-list 10 permit 192.168.1.1 Router(config)#ip http access-class 10 Router(config)#ip http server |
(圖4)
(2).建議禁止SNMP服務(wù)
SNMP是英文“Simple Network Management Protocol”的縮寫,中文意思是“簡單網(wǎng)絡(luò)管理協(xié)議”,它是路由器里最為常用的網(wǎng)管協(xié)議。但是SNMP V1存在很多安全隱患,建議大家通過命令“Router(config)#no snmp-server”將其禁止。如確實要使用該協(xié)議,應(yīng)盡量使用SNMP V2,因為它是基于MD5的數(shù)字認(rèn)證方式。另外,應(yīng)盡可能對不同的路由器設(shè)置不同的MD5安全值。
如果一定要使用SNMP V1,那么必須要刪除SNMP的默認(rèn)配置,如缺省的community public/private等。如筆者曾經(jīng)寫過一篇文章《防止黑客接管思科路由器》(鏈接地址為:http://networking.ctocio.com.cn/tips/429/8542429.shtml),就是利用了管理員并沒有修改SNMP的默認(rèn)設(shè)置,利用工具下載了路由器的配置文件進而控制路由器的案例。
禁止pulic的只讀屬性和admin的讀寫屬性
Router(config)#no snmp-server community public ro Router(config)#no snmp-server community admin rw |
(圖5)
(3).關(guān)閉IP直接廣播(IP Directed Broadcast)
DDOS(拒絕服務(wù))是網(wǎng)絡(luò)宿敵而且?guī)缀鯖]有有效的防御措施,Smurf攻擊是一種拒絕服務(wù)攻擊。局域網(wǎng)中的服務(wù)器會應(yīng)答各種網(wǎng)絡(luò)指令,通常情況下它并不管這個指令是誰發(fā)出的。在這種攻擊中,攻擊者使用假冒的源地址向你的網(wǎng)絡(luò)廣播地址發(fā)送一個“ICMP ech0”請求。這要求所有的主機對這個廣播請求做出回應(yīng),這種情況至少會降低你的網(wǎng)絡(luò)性能。大家可參考你的路由器信息文件,了解如何關(guān)閉IP直接廣播。例如,可以使用“Router(config)#no ip source-route”這個指令關(guān)閉路由器的IP直接廣播地址。
(4).封鎖ICMP ping請求
Ping命令的主要目的是識別目前正在使用的主機是否活動,ping通常用于更大規(guī)模的協(xié)同性攻擊之前的偵察活動,這是攻擊者在攻擊之前首先要做的測試。通過取消遠程用戶接收ping請求的應(yīng)答能力,就能夠在一定程度上避開那些無人注意的掃描活動或者防御那些尋找容易攻擊的目標(biāo)的黑客實施進一步的工具。當(dāng)然,這樣做實際上并不能保護你的路由器不受攻擊,但是這將使你不太可能成為一個攻擊目標(biāo),降低的被攻擊的幾率。
有的時候,我們需要發(fā)ICMP ping包探測Internet中的某個IP。所以一個折中的方案是:對于進入局域網(wǎng)的ICMP數(shù)據(jù)包我們要禁止ICMP協(xié)議的ECHO、Redirect、Mask request,也需要禁止TraceRoute命令的探測。對于流出的ICMP數(shù)據(jù)包我們可以允許ECHO、Parameter Problem、Packet too big和TraceRoute命令的使用。
屏蔽外部ping包
Router(Config)#access-list 110 deny icmp any any echo log Router(Config)#access-list 110 deny icmp any any redirect log Router(Config)#access-list 110 deny icmp any any mask-request log Router(Config)#access-list 110 permit icmp any any |
允許內(nèi)部ping包
Router(Config)#access-list 111 permit icmp any any echo Router(Config)#access-list 111 permit icmp any any Parameter-problem Router(Config)#access-list 111 permit icmp any any packet-too-big Router(Config)#access-list 111 permit icmp any any source-quench Router(Config)#access-list 111 deny icmp any any log |
屏蔽外部TraceRoute
Router(Config)#access-list 112 deny udp any any range 33400 34400 |
允許內(nèi)部TraceRoute
Router(Config)#access-list 112 permit udp any any range 33400 34400 |
(圖6)
#p#
3、按需定制訪問控制列表
訪問控制列表(ACL)可以實現(xiàn)網(wǎng)絡(luò)通信流量的控制。合理應(yīng)用路由器(尤其是邊緣路由器)的訪問控制列表功能,將對網(wǎng)絡(luò)的安全起到很好的保護作用,如拒絕非公有地址訪問內(nèi)部網(wǎng)絡(luò)以及一些垃圾和惡意路由信息等。下面提供筆者在實戰(zhàn)中設(shè)置的訪問控制策略供大家借鑒:
(1).拒絕回環(huán)地址127.0.0.0/8
Router(Config)#access-list 100 deny ip 127.0.0.0 0.255.255.255 any log |
(2).拒絕RFCl918私有地址
Router(Config)#access-list 100 deny ip 192.168.0.0 0.0.255.255 any log Router(Config)#access-list 100 deny ip 172.16.0.0 0.15.255.255 any log Router(Config)#access-list 100 deny ip 10.0.0.0 0.255.255.255 any log |
(3).拒絕組播地址
Router(Config)#access-list 100 deny ip 224.0.0.0 0.255.255.255 any |
(4).拒絕網(wǎng)絡(luò)垃圾數(shù)據(jù)流
Router(Config)#access-list 100 deny ip 192.168.2.0 0.0.0.255 any |
(圖7)
#p#
4、安全配置路由協(xié)議
路由協(xié)議配置是路由器配置中非常重要的一個方面,對于cisco路由器來說其支持的路由協(xié)議太多了,路由協(xié)議的配置對路由器的安全至關(guān)重要。
(1).建議啟用RIPV2協(xié)議
只有RIPV2支持RIP協(xié)議的認(rèn)證,而RlPVl并不支持,并且采用MD5認(rèn)證。
啟用設(shè)置密鑰鏈
Router(Config)#key chain Key-chain |
設(shè)置密鑰字串
Router(Config-Keychain)#key 1 Router(Config-Keychain-key)#key-string FirstKeyString Router(Config-Keychain)#key 2 Router(Config-Keychain-key)#key-string SecondKeyString |
啟用RIPV2
Router(Config)#router rip Router(Config-router)#version 2 Router(Config-router)#netword 192.168.1.0 |
(圖8)
采用MD5認(rèn)證,并選擇已配置的密鑰鏈
Router(Config)#interface fastEthernet 0/0 Router(Config-if)#ip rip authentication mode md5 Router(Config-if)#ip rip authentication key-chain in keychain |
(圖9)
(2).啟用OSPF路由協(xié)議認(rèn)證
默認(rèn)的OSPF認(rèn)證密碼是明文傳輸?shù)模ㄗh啟用MD5認(rèn)證.并設(shè)置一定強度密鑰(key,相對的路由器必須有相同的Key)。
啟用OSPF協(xié)議
Router(Config)#router ospf 1 Router(Config-router)#network 192.168.1.0 0.0.0.255 area 1 |
啟用認(rèn)證,為明文密碼認(rèn)證
Router(Config-router)#area 1 authentication message-digest |
啟用MD5認(rèn)證,密鑰Key為routerospfkey
Router(Config)#interface fastEthernet 0/0 Router(Config-if)#ip ospf message-digest-key 1 md5 routerospfkey |
(圖10)
#p#
5、其他安全配置
(1).要有完備的路由器安全訪問和維護記錄日志
路由器的日志主要包括訪問日志和維護日志兩部分,日志對于路由的管理至關(guān)重要。當(dāng)我們懷疑遭受網(wǎng)絡(luò)攻擊時,審閱路由器訪問記錄是查出安全事件的最有效的方法,無論是對于正在實施的攻擊還是將要實施的攻擊都非常有效。利用連接到Internet的記錄,你還能夠查出試網(wǎng)建立外部連接的特洛伊木馬程序和間諜軟件程序,一個具有一定安全經(jīng)驗并且細心的管理員在病毒傳播者作出反應(yīng)之前能夠查出病毒的攻擊。另外,一個有經(jīng)驗的攻擊者在登錄路由器并實施攻擊后會利用諸如clear logging這樣的命令清除自己的登錄記錄。所以,一定要有完備的日志備份策略。
(2).及時升級路由器IOS系統(tǒng)
對Cisco路由器來說,升級IOS不僅能夠修訂Bug,提升路由器性能擴展路由器功能。需要注意的是升級IOS是有一定的操作風(fēng)險的,需要做好充足的準(zhǔn)備。筆者此前曾經(jīng)寫過一篇文章《路由器IOS升級應(yīng)該注意七點細節(jié)》(鏈接地址為http://networking.ctocio.com.cn/wpsummary/398/8636398.shtml),大家在升級IOS的時候可供參考。
(3).做好路由器配置文件的完整備份
路由器配置文件中保存了管理員對路由器所做的所有配置信息,這些配置可都是自己的心血,一定要做好備份。因為即使做好安全預(yù)防措施,也難免會發(fā)生不可預(yù)想的問題。所以為了盡可能地減少或避免意外的發(fā)生,要隨時為路由器的配置文件作安全備份。當(dāng)然,路由器配置的備份包括不同的層次,命令“Router#copy running-config startup-config”是將當(dāng)前存儲在RAM的正確配置備份到路由器的NVRAM中,在下一次啟動時路由器就會使用這個正確的配置。命令“Router#copy running-config tftp”是將RAM中配置信息備份到tftp服務(wù)器中,筆者說所的備份就是這樣的備份。這樣當(dāng)路由器的配置信息丟失或者被惡意修改后我們可以通過命令“Router#copy tftp runing-config”來快速恢復(fù)。(圖11)
總結(jié):邊界路由器因為處在特殊的網(wǎng)絡(luò)位置因此其安全性備受關(guān)注,其實除此之外其他網(wǎng)絡(luò)節(jié)點上的路由器的安全也不容忽視。本文所述的路由器安全解決配置方案同樣也適用于其他節(jié)點上的路由器的配置,大家可根據(jù)實際情況選擇性地應(yīng)用。最后,希望本文對于大家加固路由器安全配置有所幫助。
【編輯推薦】