■ 河南 郭建偉
編者按:一般情況下,大家都比較關(guān)注如何在防火墻上配置安全規(guī)則來(lái)抗擊外來(lái)威脅,而對(duì)于防火墻自身的管理和維護(hù),則往往不重視。其實(shí),防火墻也是一臺(tái)網(wǎng)絡(luò)設(shè)備,對(duì)其進(jìn)行合理的維護(hù),可以更好的為用戶服務(wù)。這里就以常用的ASA 防火墻為例,來(lái)介紹具體的維護(hù)方法。
為了便于使用,需要為ASA 配置主機(jī)名和密碼,執(zhí)行“hostname ASA”命令,設(shè)置主機(jī)名。執(zhí)行“domain→name xxx.com”命令配置域名,這里為“xxx.com”。
要將ASA 防火墻加入到域環(huán)境,就需要配置域名。執(zhí)行“enable password pass@w0rd”命令,配置Enable 密碼,這里為“pass@w0rd”。
本例中使用的是ASA 9.6 版本,Inside 接口IP 為10.1.1.10,該區(qū)域IP 范圍為10.1. 1.0/24,Outside 接口的IP 為202.100.1.10,DMZ接口的IP 為192.168.1.10,該區(qū)域IP 范圍為192.168. 1.0/24,在該區(qū)域中存在ACS服 務(wù) 器,其IP 為192.168. 1.200,還存在一臺(tái)Windows Server 2008 服務(wù)器,充當(dāng)DNS 服務(wù)器角色,IP 為192. 168.1.100。
執(zhí)行“dns domain → lookup DMZ”命令,在DMZ 接口激活設(shè)備的DNS Lookup功能。執(zhí)行“DNS server →group Default DNS” “name →server 192.168. 1.100 DMS”命令,指定DNS服務(wù)器的地址。
而本例中,在OutSide區(qū)域存在一臺(tái)路由器,由其充當(dāng)NTP 設(shè)備,地址為202.100.1.1。登錄該路由器并執(zhí)行以下命令,配置一個(gè)認(rèn)證密鑰,這里為“cisco”:
ntp authentication →key 1 md5 cisco
ntp authenticate
ntp trusted →key 1
ntp master
啟用認(rèn)證功能,并信任該密鑰,將該設(shè)備作為NTP的Master 設(shè) 備。在ASA 上執(zhí)行以下命令,為其配置NTP 認(rèn)證密鑰,并指定NTP 的Master 設(shè)備:
ntp authentication → key 1 md5 cisco
ntp authenticate
ntp trusted →key 1
ntp server 202.100. 1.1 key 1 source Outside prefer
執(zhí)行“sh clock detail” “show ntp status”等命令,來(lái)查看NTP 同步信息。
執(zhí)行“show flash:”命令,可以顯示ASA 的文件信息。為了便于傳輸文件,可以登錄到ADDM 管理界 面,點(diǎn) 擊“Tool →File Management”項(xiàng),在打開(kāi)窗口中點(diǎn)擊“File Transfer”按鈕,可以根據(jù)需要在本地主機(jī)或者遠(yuǎn)程主機(jī)和本設(shè)備Flash 之間同步文件。
防火墻日志包括系統(tǒng)事件日志和網(wǎng)絡(luò)事件日志。前者指的是諸如接口異常、CPU 利用率過(guò)高等,而后者是最值得關(guān)注的對(duì)象,包括諸如會(huì)話信息、攻擊行為等內(nèi)容。
ASA 日志格式包括時(shí)間戳、設(shè)備ID、信息嚴(yán)重級(jí)別、信息ID 及信息內(nèi)容等,安全級(jí)別包括Alert、Critical、Error、Warning、Notification、Informational、Debugging 等。
日志可以發(fā)送到不同的目標(biāo),包括Console 口、ADSM、Monitor、Buffer、Syslog、SNMP Traps、Email、NetFlow 等。例如,執(zhí)行“l(fā)ogging enable”命令,激活A(yù)SA 的日志功能。執(zhí)行“l(fā)ogging buffered informational”命令,將嚴(yán)重級(jí)別為Information 的日志輸出到本地緩存,包括從Alert到Informational 級(jí)別之間的所有日志。執(zhí)行“l(fā)ogging trap informational”命令,將嚴(yán)重級(jí)別為Informational 的日志輸出到日志服務(wù)器。
執(zhí) 行“l(fā)oggingadsm debugging”命令,將嚴(yán)重級(jí)別為debugging 的日志輸出到ASDM。 執(zhí) 行“show logging”命令,可以查看本地緩存的日志信息。利用Event-List事件過(guò)濾技術(shù),可以更加有效地查看日志。例如,執(zhí)行“l(fā)ogging list evlist level Critical” “l(fā)ogging list evlist informatioanal class odpf” “l(fā)ogging list evlist nessage 106111”命令,創(chuàng)建名為“evlist”的Event-List 項(xiàng)目。執(zhí)行“l(fā)ogging comsole evlist”命 令,使 用Event-List 技術(shù)對(duì)輸出到Console 口的日志進(jìn)行過(guò)濾。
當(dāng)ASA 防火墻出現(xiàn)問(wèn)題時(shí),可以使用特定工具進(jìn)行排錯(cuò)。其流程是,先執(zhí)行Ping 探測(cè),如果探測(cè)無(wú)法穿越防火墻,查看接口配置是否存在問(wèn)題;如果直連沒(méi)有問(wèn)題,就查看路由信息,配置靜態(tài)和默認(rèn)路由;如果路由不存在問(wèn)題,則使用Packet Tracer 模擬一個(gè)數(shù)據(jù)包來(lái)穿越防火墻,判斷防火墻如何處理;如果問(wèn)題依然存在,就需要進(jìn)行抓包操作來(lái)分析。
對(duì)于ASA 防火墻來(lái)說(shuō),使用Traceroute 和Ping 進(jìn) 行連通性測(cè)試。在默認(rèn)情況下,對(duì)于穿越ASA 的Ping 流量并沒(méi)有執(zhí)行狀態(tài)化監(jiān)控,返回的ICMP Echo Replies 不會(huì)被允許。例如,執(zhí)行“ping tcp 202.100.1.1 23”命令,對(duì)目標(biāo)主機(jī)進(jìn)行探測(cè)。使用Packet TracerTracer 模擬一個(gè)數(shù)據(jù)包,來(lái)穿越ASA 的數(shù)據(jù)通道,并跟蹤ASA 對(duì)該數(shù)據(jù)包的整個(gè)處理過(guò)程。對(duì)丟包進(jìn)行debug,顯示該包具體被哪個(gè)策略所拒絕。這樣,就可以找到丟包的原因。
執(zhí)行“packet-tracer input Inside tcp 10.1. 1.23 1024 202.100. 1.6 23 detailed”命令,可以模擬從Inside 區(qū)域IP 為10.1.1.23的設(shè)備的TCP 1024 端口向外 部IP 為202.100.1.6 的主機(jī)的TCP 23 端口發(fā)送模擬數(shù)據(jù)包。它會(huì)顯示多個(gè)階段的檢測(cè)信息,如路由、NAT、IP 選項(xiàng)、QoS 和流量創(chuàng)建等,并顯示可能存在的問(wèn)題。
Packet Capture 高級(jí)排錯(cuò)技術(shù)能捕獲和檢查穿越ASA 的數(shù)據(jù)包,捕獲的數(shù)據(jù)包可以通過(guò)命令行或圖形化界面進(jìn)行檢查,數(shù)據(jù)包可被保存并能被抓包程序查看,可由此確定數(shù)據(jù)包是否穿越一個(gè)接口,將數(shù)據(jù)包進(jìn)入和離開(kāi)ASA 進(jìn)行比較。
在ASDM 中點(diǎn)擊“Wizard →Packet Capture Wizard”,點(diǎn)擊“下一步”,在“Select interface”列表中選擇某個(gè)接口(例如“Inside”),選擇“Specifypacket parameters”項(xiàng),并選擇源和目的地址及協(xié)議類(lèi)型,例如,抓取從Inside 接口到Outside 接 口的IP 數(shù)據(jù)包。點(diǎn)擊“Next”,在“Select interface”列表中選擇某個(gè)接口(例如“Outside”),之后點(diǎn)擊“Start”開(kāi)始抓包。當(dāng)傳輸了一定量數(shù)據(jù)后,點(diǎn)擊“Stop”停止抓包。
這樣,就會(huì)顯示從兩個(gè)接口抓取的數(shù)據(jù)包。點(diǎn)擊“Launch Network Sniffer Application”項(xiàng),使用Wireshark 等專(zhuān)業(yè)工具進(jìn)行深入分析。
系統(tǒng)備份功能可以備份ASA 防火墻的各種配置信息,在使用前必須確保至少存在300 MB 磁盤(pán)空間。當(dāng)執(zhí)行備份操作后,如果對(duì)ASA 進(jìn)行了任何修改,不會(huì)動(dòng)態(tài)更新到該備份。如果修改后進(jìn)行備份,當(dāng)執(zhí)行系統(tǒng)恢復(fù)后,會(huì)覆蓋原有配置。系統(tǒng)備份只能恢復(fù)到相同ASA 版本的配置,如果在群集環(huán)境中,僅可以針對(duì)Startup-Configuratin、Running-Configuration 和Identity Certificates 進(jìn)行備份和恢復(fù),因此必須為每個(gè)單元單獨(dú)創(chuàng)建和恢復(fù)備份。
如果在Failover 環(huán)境中,必須創(chuàng)建和恢復(fù)備份單獨(dú) 為Active 和Standby 單元。如果設(shè)置了管理員密碼,在恢復(fù)備份時(shí)必須知曉該密碼,否則就要重置密碼并繼續(xù)恢復(fù)備份。
注意,不能在命令行備份并在ASDM 中恢復(fù),反之亦然。
例 如,執(zhí) 行“backup passphrase xxx location flash:/asabackup.bak”命令,進(jìn)行備份操作,并設(shè)置恢復(fù)密碼和備份文件路徑,這里“xxx”為具體的密碼。對(duì)應(yīng)地,執(zhí)行“restore passphrase xxx location flash:/asabackup.bak” 命令,使用恢復(fù)密碼和備份文件,執(zhí)行恢復(fù)操作。
可以利用Telnet、SSH、SNMP 以及HTTPS 等方式,對(duì)ASA 進(jìn)行遠(yuǎn)程管理。很多網(wǎng)絡(luò)設(shè)備都存在帶外網(wǎng)管口,默認(rèn)Management0/0 接口為專(zhuān)用帶外網(wǎng)關(guān)口。
例 如,執(zhí) 行“sh run interface management 0/0”命令,可以查看該接口的信息。如果生產(chǎn)流量和網(wǎng)管流量都是從一個(gè)接口發(fā)出的,那么該接口就被稱(chēng)為帶內(nèi)網(wǎng)管口。如果網(wǎng)管流量從單獨(dú)的接口發(fā)出,該接口則稱(chēng)為帶外網(wǎng)管口。
規(guī)模較大的企業(yè)企業(yè)會(huì)單獨(dú)建立帶外網(wǎng)管網(wǎng)絡(luò),將管理機(jī)和所有設(shè)備的帶外網(wǎng)關(guān)口連接起來(lái),將生產(chǎn)網(wǎng)絡(luò)和帶外管理網(wǎng)絡(luò)隔離。因此,帶內(nèi)網(wǎng)管必須使用安全的協(xié)議。帶外網(wǎng)管可以配置設(shè)備的任何一個(gè)接口為專(zhuān)用管理接口。流量不能穿越管理接口,需要使用管理訪問(wèn)策略來(lái)管理針對(duì)該端口的訪問(wèn)。
出于安全考慮,最好使用物理管理接口,并為該接口設(shè)置最高安全級(jí)別,最好使用ACL拒絕所有的穿越流量。
例如,執(zhí)行以下命令,可以將Inside 接口設(shè)置為專(zhuān)用帶外網(wǎng)關(guān)口:
internet GigabitEthernet 0/1
management-only
nameif Inside
security-level 100
ip address 10.1.1.10 255.255.255.0
對(duì)于Telnet 遠(yuǎn)程管理方式來(lái)說(shuō),存在安全性較低的問(wèn)題,配置方法很簡(jiǎn)單。例如,執(zhí)行“config t” “telnet 10.1.1.0 255.255.255.0 inside” “telnet 0 DMZ”等命令,來(lái)啟用Telnet 網(wǎng)管方式。執(zhí)行“passwd xxx”命令,設(shè)置專(zhuān)用認(rèn)證密碼。當(dāng)然,最低安全級(jí)別的接口(例如Outside)是不支持Telnet 的。默認(rèn)enable 密碼為空,可以執(zhí)行“enable password”命令來(lái)進(jìn)行設(shè)置。執(zhí)行“username adminpassword xxx privilege 15” “aaa authentication telnet console LOCAL”命令,來(lái)配置本地用戶認(rèn)證信息。
使用SSH方式可以更加安全的管理ASA。執(zhí)行“hostname ASAFW” “SSH 10.1.1.1 255.255.255 inside” “SSH 0 0 DM” “SSH 0 0 Outside”等命令,可以啟用SSH 網(wǎng)管方式。ASA 9.6 等 新版ASA 防火墻不需要配置域名和產(chǎn)生密鑰信息,且取消了之前的默認(rèn)用戶名和密碼設(shè)置。執(zhí)行“username localadmin password xxx privilege 15” “aaa authentication SSH Console LOCAL”命令,配置本地用戶認(rèn)證信息。
例如,在Outside 區(qū)域的某臺(tái)路由器上執(zhí)行“ssh -l localadmin 202.100.1.10”命令,輸入密碼后可以登錄到ASA 上,“202.100.1.10”為ASA 的Outside 接 口 的IP。使用HTTPS 方式也可以實(shí)現(xiàn)安全網(wǎng)管。執(zhí)行“http server enable” “http 10.1.1.0 255.255.255.0 Outside”命令,可以啟用HTTPS 網(wǎng)管。HTTPS 網(wǎng) 管只能使用ASDM。ASA 防火墻需要證書(shū)服務(wù)器的支持,客戶認(rèn)證可以使用任何密碼或AAA 的一次性密碼。
對(duì)于ASA 防火墻來(lái)說(shuō),只能夠支持只讀的SNMP 訪問(wèn),支持V1、V2c 和V3 版本。所有的訪問(wèn)都必須認(rèn)證,包括基于IP 地址和Community,以及用戶名和密碼登錄。SNMPv3 支持更強(qiáng)的認(rèn)證方式,包括用戶名、認(rèn)證密鑰和加密密鑰。執(zhí)行“config t” “snmp-server group grprz v3 priv”命令,創(chuàng)建指定的組,其中的“priv”參數(shù)表示既使用用戶名認(rèn)證,還使用了DES 進(jìn)行加密,并且使用MD5d 等進(jìn)行完整性校驗(yàn)。
執(zhí)行“snmp-server user newuser grprz v3 auth md5 xxx priv des xxx”命 令,將指定的用戶添加到上述組中,并為其指定密碼。這樣,管理中心就可以從ASA 上獲取相關(guān)信息。執(zhí)行“snmpserver enable traps ipsec start stop”命令,可以將和IPSEC 相關(guān)的信息推送出 去。 執(zhí) 行“snmp-server host dmz 192.168.1.200 version 3 newuser”命令,將上述信息推動(dòng)給DMZ 區(qū)域中的目標(biāo)主機(jī),這里為在DMZ區(qū) 域 中 的ACS 主 機(jī),IP 為192.168.1.200。
除了使用本地認(rèn)證外,還可以使用AAA 認(rèn)證,來(lái)保證遠(yuǎn)程管理的安全性。
AAA 設(shè)備可以管理網(wǎng)管訪問(wèn),穿越用戶認(rèn)證和遠(yuǎn)程VPN 認(rèn)證。AAA 設(shè)備提供了強(qiáng)大的認(rèn)證方式,允許使用RBAC 基于角色的安全控制,更好的控制用戶的權(quán)限,可使用現(xiàn)有的認(rèn)證數(shù)據(jù)庫(kù)(例如AD 活動(dòng)目錄數(shù)據(jù)庫(kù)),避免設(shè)置新的用戶信息。在具體操作時(shí),應(yīng)先配置認(rèn)證,之后再執(zhí)行授權(quán)和審計(jì)操作。
在ASA 上 執(zhí) 行“config t” “aaa → -server rz server protocol tacacs +” “exit”命令,來(lái)定義3A服務(wù)器名稱(chēng)及認(rèn)證協(xié)議類(lèi)型。而執(zhí)行“aaa-server rzserver (dmz) host 192.168.1.200” “key xxx” “exit”命令,可定義3A 服務(wù)器的位置,設(shè)置密碼信息。這里的ACS 服務(wù)器位于DMZ區(qū),IP 為192.168.1.200。登錄到ACS 服務(wù)器上,在管理界面左側(cè)選擇“NetworkResources → Network Device and AAA Client”項(xiàng),在右側(cè)點(diǎn)擊“Create”按鈕,在打開(kāi)窗口中輸入客戶端設(shè)備的名稱(chēng)(例如“ASA”)。
因?yàn)锳SA 是通過(guò)DMZ的接口訪問(wèn)ACS,那么必然是以DMZ 的接口地址為源進(jìn)行訪問(wèn)。因此,選擇“Single IP Address”項(xiàng),輸入“192.168.1.10”,該地址為DMZ 接口地址。選擇“TACACS+”項(xiàng),在“Shared Secret”欄中輸入上述密碼。點(diǎn)擊“Submit”提交配置信息。在左側(cè)選擇“User and Identity Stores → Internal Identity Stores →Users”項(xiàng),在右側(cè)點(diǎn)擊“Create”按鈕,在打開(kāi)窗口中輸入用戶名稱(chēng)(例如“asauser”),在“Password”欄中輸入認(rèn)證密碼,點(diǎn)擊“Submit”按鈕提交修改。
在ASA 上執(zhí)行“test aaa- server authentication rzserver”命令,按照提示ACS 服務(wù)器的IP,來(lái)認(rèn)證用戶名和密碼,如果結(jié)果顯示的是“Authentication Successful”信息,說(shuō)明認(rèn)證測(cè)試沒(méi)有問(wèn)題。之后可以根據(jù)需要來(lái)使用3A 認(rèn)證。
例如,對(duì)于SSH 遠(yuǎn)程管理方式來(lái)說(shuō),我們可以將“aaa authentication SSH Console LOCAL”修改為“aaa authentication SSH Console reserver LOCAL”,這樣就可以使用3A 設(shè)備進(jìn)行認(rèn)證。