2011年5月4日 星期三

建立安全的Cisco Router與Switch

許多環境都有Cisco的Router與Switch,但大部份的建置考慮的是如何讓它”work”,而忽略了Security,以下提供六點,讓您檢示自已的網路設備是否有基本的安全設定。

1. 修改連線方式為加密傳輸:
管理Router或Switch的方式可以透過Console、telnet、SSH、HTTP、HTTPS,
就安全考量,流量有被監聽的可能,透過SSH連線比未加密的Telnet安全,用HTTPS比HTTP安全。
a. 是關閉Telnet開啟SSH的方法:
開啟SSH之前要先設定主機名稱與網域名稱
RouterA(config)#ip domain-name test.com
再來就是產生ssh的鑰匙
RouterA(config)#crypto key generate rsa general-keys modulus 1024
產生好之後再進到vty介面裡面設定驗證方式,下面是用router本身
來驗證:
RouterA(config)#line vty 0 4
RouterA(config)#login local
再指定只用ssh驗證,不用telnet:
RouterA(config-line)#transport input ssh
最後面的transport input ssh後面可以再加上telnet,如果沒有加的話就不能telnet進來了。
設好後,這時候登入你會發覺沒有帳號密碼可用@@再補一下:
RouterA(config)#username oya password 1234

b. 開啟HTTPS關閉HTTP:
確認關閉HTTP服務
Router(config)#no ip http server
先啟動HTTPS服務
Router(config)#ip http secure-server
設定驗證方式,如用本機驗證:
Router(config)#ip http authentication local
再開一個本機使用者
Router(config)#uaername oya privilege 15 secret 0 1234

2. 設置登入方式與修改密碼加密方式:
a. Enable password: 登入後為user mode,user mode不能做任何變更,只能透過show指令觀看設定,通常設給OP使用。需要再輸入帳號密碼後進入privileged mode才能變更設定,如下為設定enable密碼的方式:
Router(config)#enable password 1234
但由於enable password是使用Type 7 密碼,Type 7是直接對密碼使用OR或XOR進行加密,很容易可以破解,如使用Cain&Abel(http://www.oxid.it/cain.html)就可以破解密碼,使用上只需點選上方像Cisco綠色圖示,但cisco改為7的按紐,就會出現解碼的視窗,再把密碼貼上即可:

b. Enable secret
Cisco也發現Type7的弱點,改用MD5來對密碼加密,利用show run在密碼前的數字5就代表MD5加密,而數字0代表沒有加密,下面是啟用MD5的方式:
Router(config)#enable secret 1234

c. VTY password
不透過ssh或是telnet都是以vty的方式連線,設定密碼的方式如下:
Router(config)# line vty 0 4
Router(config-line)# password 1234
Router(config-line)# login
最後的login是指在login時需要輸入密碼

d. Console password
如果直接接上console管理設備的話,預設沒有密碼,為了安全避免任何人接上線就可以管理,設置方式如下
Router(config)# line con 0
Router(config-line)# password 1234

e. AUX password
輔助port的設定方式與console一樣,如下
Router(config)# line aux 0
Router(config-line)# password 1234
由於上面設定的密碼為type 7,可以很容易解開,再透過
Router(config)#service password-encryption
把Type 7全改為MD5加密。

3. 設定特權模式(Privilege Level)等級:
Privilege Level共有16個等級,從level 0 到 level 15,預設只會使用三個等級,Level 0 , 1 , 與15,等級愈高權限愈大。而level 2~14是留給使用者自訂的。設置Privilege Level的方式在使用都建立時設定,如下為設定等級15的方式
Router(config)#uaername oya privilege 15 secret 0 1234
自訂等級的方法如下,先指定Level 2可執行的指令,與設定進入level 2的密碼
Router(config)# privilege exec level 2 traceroute
Router(config)# enable secret level 2 1234
要登入時,輸入如下
Router> enable 2
Password: 1234
Router# show privilege

4. 保護開機設定(bootset):
透過Cisco IOS Resilient 設定,可以保護開機image與設定檔,避免損壞時,還可以從隱藏空間救回來,方式如下
Router(config)#secure boot-image
Router(config)#secure boot-config
下完這兩個指令可以讓image與running-config複製一份到隱藏儲存空間,想看的話可以打
Show secure bootset

5. 登入時的安全機制:
為防止非法人事不斷的Try密碼,可以設置一些安全機制,Cisco提供三種安全機制:
a. 延遲時間:
預設Cisco的設備會用設備能反應的最快時間提供登入,這可能使得暴力破解變的更方便,您可以使用login block-for來設定延遲秒數,預設為1秒鐘。啟用延遲的方式為login delay指令。

b. 關閉login:
為了避免受DoS攻擊,可以限制在一定時間內登入失敗就關閉登入功能一段時間,這個功能稱為login quiet-mode。有一個狀況,如果有人正在試密碼,使得router進入 quiet 模式,此時連系統管理員也無法登入,實在很奇怪,所以可以透過ACL的方式來設定:
Router(config)#login quiet-mode access-class

c. 啟用登入log:
Log是找問題找證據的好東西,一定要設。登入狀況的log要產生的話,可以用下列指令,來指定登入成功或失敗時產生log
Router(config)# login on-success
Router(config)# login on-failure
如果您透過auto secure來建立安全設定,那只會針對登入失敗產生log,登入成功的log需要手動設定。

6. 設定登入警示訊息:
這是發生在國外的法律糾紛,在自已的Router上寫上”Welcome”相關的訊息,駭客進去改東西之後,被告上法庭,因為Router本身就歡迎大家使用,而使得駭客無罪釋放。所以在您的Router,Switch上設置警示訊息,是必要的,可以避免未來的法律問題,下面為設置範例:
Router(config)# banner motd &
******************************************************
******************WARNING****************************
******************************************************
This Router is private property and may only be accessed by authorized
Users of this system. All access to this system is monitored and logged.
Violator will be prosecuted to the fullsest extent of the law.
&
上面在motd之後接的字元,就是整串警示訊息打完後的結束字元

2 則留言:

匿名 提到...

您好,想請問您,關於您的「4. 保護開機設定(bootset)」中,若使用了secure boot-image語法後,該如何才能還原不要隱藏呢?

匿名 提到...

我找到解決方法了,要用Consol模式才能用no secure boot-image