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