ASA基礎知識
ASA的算法:
1.訪問控制列表:基於特定的網絡,主機和服務控制網絡訪問。
2.連接表(conn):維護每個連接狀態信息。安全算法使用此信息在己建立的連接中有效的轉發流量。
3.檢測引擎:執行狀態檢測和應用層檢測。檢測規則集預先定義的,來驗證應用層是否遵從每個RFC和其他標準。
ASA的基本配置:
主機名:全局下輸入 hostname 跟名字
配置密碼:特權密碼在全局下輸入 enable password 跟密碼
配置遠程登錄密碼與路由器不同:在全局下直接輸入passwd 跟密碼
ASA接口配置和概念:
邏輯接口稱之爲虛擬接口,配置邏輯接口在接口模式下配置:nameif 加接口名字
(注意ASA5505不支持在接口下配置邏輯接口需要在vlan下進行配置)
默認outside爲0級別 inside爲100級別(高級別只能訪問低級別相同級別也不能訪問)
設置級別的命令:在接口下輸入security-level 跟數字
ACL訪問控制列表配置:
在全局下輸入:access-list
應用訪問控制列表:access-group
配置靜態默認路由:全局下輸入 route 邏輯接口要去的網段子網下一跳IP
保存配置:在特權下輸入wr ;清除所有配置:全局下輸入clearconfigure all(想除誰換誰)
DMZ稱爲隔離區也稱非軍事化區域,位於企業inside和outside之間的一個區域,一般放一些重要數據(級別一般位於inside和outside之間)。
ASA地址轉換
地址轉換有四種類型:靜態NAT、動態NAT、靜態PAT、動態PAT(一般常用的有靜態NAT、靜態PAT、和動態PAT)
靜態NAT和靜態PAT:的作用是能讓外訪問內網,也就是說對外提供服務的。他兩的區別PAT能實現用一個公網IP提供多個對外服務。
動態PAT:作用是能讓公司員工用一個外網IP同時都能上網。
配置動態PAT設置:
全局下輸入:nat inside(內網邏輯接口名稱) 1(數字)需要地址映射的地址和子網
全局下輸入:global outside 1 公網地址(注意outside不要設地址,要不就輸入接口interface)
查看地址映射表;show xlate detail 如要清除緩存:clear configure xlata
配置靜態NAT設置:
首先你要外網訪問你DMZ區域默認是不讓的你要設置ACL讓他過去。
全局下輸入:static (dmz,outside)輸入你的公網地址輸入你dmz要映射的地址
注意:這裏要一一對應的用外包含內的方式
全局下輸入:創建一個訪問控制列表讓外部能訪問你內部的服務器,接下來應用在ASA的外網接口(outside)。
Access-list dmz的接口名 permit ip any host 公網地址
Access-group dmz的接口名 in interface outside外網接口
配置靜態PAT設置:
全局下輸入:static (dmz,outside)tcp 輸入你的公網地址 http 輸入你dmz要映射的地址 http
static (dmz,outside)tcp 輸入你的公網地址 smtp 輸入你dmz要映射的地址 smtp
Access-list dmz的接口名 permit ip any host 公網地址
Access-group dmz的接口名 in interface outside外網接口
NAT 控制:默認是禁用NAT控制的,如要開啓則輸入命令nat-control在啓用NAT控制時配置NAT地址映射規則並不是必須的,但是如果要啓用NAT控制則配置NAT地址映射規則則是必須的。
NAT豁免允許雙向信任:
全局下輸入:首先要做一個命名擴展ACL
全局下輸入:nat 邏輯接口名 0(0代表豁免) access-list ACL的名稱
遠程管理ASA:
有兩種方式telnet(用於內網遠程管理)ssh(用於外網遠程管理)
配置telnet模式:
全局下輸入telnet 允許的ip和正子網掩碼放在inside內網接口
例如:(192.168.0.1255.255.255.255)
配置telnet空閒超時時間:全局下輸入telnet timeout 數字單位分鐘
配置ssh模式:默認登入名爲pix
配置主機名:hostname名字
生成RSA密鑰對:在全局輸入crypto key generate rsa modulus 密鑰長度
配置誰允許ssh接入:一般外網ssh 0 0 outside 表示外網所有
也可以在內網設置不過接口要指向inside
ASA高級配置
因爲數據過大所以要進行Ip分段MTU(最大傳輸單元)以太網MTU值爲1500字節
標識:標識都是6307標識他們都是同一個IP數據包
標誌:能看出是不是最後一個數據包,如第三位(MF)爲1表示還有分片,爲0表示最後一個分片。第二位都是0表示允許分片
分片偏移量:表示數據包的位置,表示以原始位置爲起點的偏移量有多少。
Ip分片安全問題:很多網絡利用ip分片進行***例如:淚滴***操作系統會把ip分片截獲從新組裝ip數據包。
防止ip分片:在全局下輸入fragent chain 1 表示處理分片時會默認等待5秒,5秒沒有收到後續的分片則重組失敗,則最終丟棄。
URL過濾禁用員工登錄哪個網站分爲三步:
1.創建class-map(類映射)識別傳輸流量。
做ACL: Access-list 隨意起個名(aaa) permit tcp 允許通過的網段和子網 any eq www
定義calss-map:class-map 名字隨意(map1)
把訪問ACL放到class-map裏:Matchaccess-list aaa
定義要過濾的網站:regex名字隨意(ccc)“\.taobao\.com”
定義regex的class-map:class-map type regex match-any(表示匹配任何)名(map2)
把regex放到map裏:match regex ccc
定義一個類型爲inspect的class-map:class-maptype inspect http 隨意名(map3)
應用策略:match request header host regex class (map2)
檢查報文頭部的host域中的url後綴如果是taobao。Com則丟棄
2.創建policy-map(策略映射)關聯class-map
Policy-map type insepect http 隨意名(p1)
Class (map3)
Drop-connection log
Exit
Policy-map 隨意名P2
Class (map1)
inspect http (p1)
Exit
3.應用policy-map到接口上
全局模式:Service-policy (p2)interface inside
日誌管理:
安全級別有8個:
0 emergencies 系統無法使用
1 alert 需要立即處理
2 critical 臨界狀態
3 error 錯誤狀態
4 warning 警告狀態
5 notification 正常但不良好狀態
6 informational 提醒信息
7 debugging 調試階段信息
日誌信息可以輸出到log buffer 、 ASDM 、日誌服務器
配置時區:
全局下:clock timezone peking 8 表示國際標準時間的偏移量
配置時間:clock set 時間日月年
開啓日誌功能:log enable
Log buffered 日誌級別
查看日誌:show logging
清除日誌:clear logging buffer
配置ASDM:
Logging enable
Logging asdm 日誌級別
Clear logging asdm
配置日誌服務器:
Logging enable
Logging timestamp (啓用時間戳)
Logging trap 日誌級別
Logging host inside 放日誌的機器
在客戶機上安裝firewall analyzer 6
ASA的透明模式:有兩種模式路由模式(默認是路由模式)和透明模式
在路由模式下ASA充當三層設備,在透明模式下ASA充當二層設備
透明模式的優勢:不需要再接口上配置IP,這樣就不用改變原來的網絡一般透明模式的ASA放在路由的下方。
透明模式與二層交換機的區別:
ASA不參與STP
對於MAC未知地址,ASA不會泛洪而是丟棄
允許流量自動從高級別到低級別,無需ACL
允許ARP流量雙向穿越,而不必配置ACL
ASA透明模式配置:
全局下輸入firewall transparent 想回到路由模式前面加no
查看當前工作模式:show firewall
設一管理地址:全局ip address ip地址子網
查看MAC表:show mac-address-table
設置動態MAC過期時間:mac-address-table aging-time 時間分鐘單位
設置靜態MAC:mac-address-table static ip地址 MAC
禁止學習某個MAC:mac-learn ip地址 disble
IPSec *** 原理與配置
***(virtual private network虛擬專用網絡)兩個網絡實體之間建立的一種受保護的連接,這兩個實體可以通過點到點的鏈路直接相連,但通常情況下它們會相隔較遠。
***的模式和類型:
***模式:傳輸模式和隧道模式
區別:隧道模式要比傳輸模式安全,因爲隧道模式的ip地址信息會從新封裝打包,把原始ip保護起來,而傳輸模式雖然傳輸效率快但ip地址沒有受到保護。
***類型:站點到站點***,遠程訪問***
區別:站點到站點用於公司到多個分公司,而遠程訪問***適用於單一用戶訪問***適用於出差的員工。
***加密算法有兩種:對稱加密和非對稱加密
區別:非對稱加密比對稱加密要安全,原因是同一個公鑰不同的私鑰來解密,私鑰都保存在本地,不會再公網上傳輸。舉個例子:25169和29663,如果兩數相乘,可以很輕鬆得到答案746588047;但如果就告訴你746588047,讓你猜由那兩個數的乘出來的,估計這一輩子也不一定能算出來。
配置IPSec ***:
1.流量觸發IPSec
Access-list 100permit ip 自己內部要訪問***的網段對方的內部網段
2.建立管理連接:注意對面設置的管理連接要跟自己的一樣
Crypto isakmp policy 1
Encryption 加密算法(aes)
Hash sha (非對稱加密)
Authentication pre-share (預共享密鑰)
Group 2 加密組的長度(1024)
全局下輸入:crypto isakmp key 0(0表示明文加密)設置密碼(123)address 對方的外網口地址
全局下輸入:crypto ipsec transform-set 名字隨意(aaa)加密類型(esp-aes esp-sha-hmac)
Mode tunnel 開啓隧道傳輸模式
Exit
3.建立數據連接:
Crypto map 名字隨意(bbb) 1 ipsec-isakmp
Set peer 對方外網口地址
Set transform-set aaa
Match address 100(ACL)
映射在應用接口上:
Interface f0/0
Crypto map bbb
在ASA上實現IPSce ***
路由和ASA上***的區別:ASA能實現既能訪問***又能上同時上互聯網,ASA有一個功能叫豁免(0表示豁免),只要把ACL ***的觸發流量豁免即可實現此功能。
ASA配置IPSce ***
1.建立管理連接:
Crypto isakmp enable outside 開啓ipsce *** 功能
Crypto isakmp policy 1
Encryption aes
Hash sha
Authentication pre-share
Group 2
配置預共享密鑰:
兩種方式
1)crypto isakmp key 設置密碼(123) address 對方外網口
2)tunnel-group 對端外網口 type ipsec-l2l
tunnel-group 對端外網口 ipsec-attributes
pre-shared-key 設置密碼(123)
exit
數據傳輸集:
Crypto ipsce transform-set 名字(aaa) esp-aes esp-sha-hmac 比較常用不一樣之處能夠修改密鑰
2.觸發流量ACL
Access-list 名字( ***) extended permit ip 自己內網網段要訪問***的地址注意正子網掩碼對方的用戶的網段
3.建立數據連接:
Crypto map 隨意名字(qqq)1 match address *** (觸發流量)
Crypto map qqq 1 set peer 對端的外網接口(ip分片)
Crypto map qqq 1 set transform-set aaa (傳輸集)
應用到接口
Crypto map qqq interface outside
Ipsec ***高級配置多點到多點
配置多點到多點的***要注意的事項:
1.預共享密鑰要設置不一樣的
Crypto isakmp key0 要跟以前的不一樣(456) address 對端的外網地址
2.要設置觸發流量:
Access-list 101permit ip 自己的內網訪問***的ip地址反掩碼對方的ip
3.建立數據連接
Crypto map 要跟以前的名字一樣 2(數列號不一樣來區分) ipsec-isakmp
Set peer 對端外網地址
Set transform-set aaa(跟以前的一樣就好加密方式)
Match address 101 (觸發流量)
地址轉換存在的問題和解決方案:
一般公司ASA會做成透明模式,外側則放一路由器,做PAT地址轉換。在ASA上做***,這樣就保證了內網安全,但是在***出去的時候由於做了PAT地址轉換則觸發流量找不到對端的***,則無法反問,所以我們運用一下方法解決。
在路由器上做NAT-T(NAT穿越):
先寫ACL要訪問外網的地址1
先做PAT地址映射ip nat inside source list 1(默認1表示由於使用外部接口地址則無需定義地址池) interface f0/0 overload
做兩個NAT端口映射:
Ip nat inside source static udp vnp的ip地址 4500(數據連接的端口)路由的外網接口 4500
Ip nat inside source static udp ***的ip地址 500(管理連接的端口)路由的外網接口500
遠程訪問***-easy ***
什麼是AAA?
1.驗證:用戶是誰(authentication)
2.授權:用戶可以做什麼(authorization)
3.統計用戶做過什麼(accounting)
遠程訪問又兩個協議:
RADIUS(remoteauthentication dial in user service遠程驗證撥入用戶服務)是全開放協議。
TACACS+(terminalaccess controller access control system終端訪問控制器訪問控制系統)是cisco的私有協議。
在遠程***裏我們要引入一個概念“組策略”?
因爲遠程訪問的用戶不固定所以,觸發流量也就沒辦法設定。最好的辦法就是讓***網關推動這些策略給客戶端,但很多情況下客戶端的策略都是相同的,爲了方便所以就引用了組策略這個概念。
1地址池和DNS網關:給客戶端分配iP地址和DNS網關
2共享密鑰:用於***和客戶端進行加密
3分離隧道:用於同時上網和***
4分離DNS:用本公司自己的DNS來解析
5配置到組策略裏
動態crypto map:因爲遠程客戶端IP都不是固定的所以要用動態cryptomap要先把制定的
傳輸集加到動態crypto map 裏,因爲***接口上只能應用一個crypto map,所以要把動態
Crypto map應用到靜態crypto map再應用到接口上。
Transform-set →動態crypto map →靜態crypto map →接口
遠程***應用案例:
建立AAA:
全局下aaa new-model (啓動AAA)
aaa authentication login 認證的名字隨意(sukun1) local(本地認證,指在路由上配置用戶和密碼、還有一種認證方式groupradius是另有一臺AAA服務器來進行驗證用戶和密碼,把請求給路由路由在轉發到AAA服務器上)
aaa authorization network 名字跟上面一直(sukun2)local (給遠程用戶授權)
username 創建用戶 secret 密碼
建立管理連接:
全局下crypto isakmp policy 1
Encryption 3des
Hash sha
Authentication pre-share
Group 2
Exit
給用戶分配的地址池:
全局下ip local pool 地址池名字隨意(sukun-pool)192.168.1.100 192.168.1.200 (注意不能跟內網在同一網段)
做分離隧道:
全局下ip access-list extended 名字(***)
Permit ip 192.168.0.0 0.0.0.255 any(作用是隻保護這個地址,其他不保護,地址應該是內網的重要數據地址)
Exit
組策略:
全局下crypto isakmp client configuration group 組的名字要在客戶端輸入的(test-group)
Key 在客戶端輸入的密碼(benet-key)
Pool 給用戶分配的地址池(sukun-pool)
Dns 202.106.0.20
Acl 分離隧道的名字(***)
Exit
創建傳輸集:
全局下crypto map transform-set 傳輸集名字(benet-set) esp-3des esp-sha-hmac
Exit
創建動態crypto map:
全局下crypto dynamic-map 動態map名字(benet-dymap) 1
Set transform-set 傳輸集名字(benet-set作用把傳輸集應用到動態map)
Exit
把動態map應用到靜態map裏:
全局下crypto map 靜態map的名字(benet-static) 2(號碼隨意) ipsec-isakmp dynamic 動態map的名字(benet-dymap)
Crypto map 名字(benet-static) client authentication list 認證AAA名字(sukun1)
Cryto map 名字(benet-static) isakmp authorization list 授權AAA名字(sukun2)
Crypto map 名字(benet-static) client configuration address respond(用於讓客戶端先發起請求)
把它應用到外網接口:
Int f0/1
Crypto map 靜態map名字(benet-static)
在ASA上配置遠程***與路由不同的是:
定義組策略:internal表示在本地、external表示在第三方AAA服務器上。
分離隧道區別有三種模式:tunnelall默認模式不做分離隧道、tunnelspecified所匹配的ACL的流量走隧道、excludedespecified不匹配流量的走隧道。
定義用戶組:方便設置策略,對相同的用戶名設置用戶屬性時要用到用戶組
權限比較從大到小排:用戶組→隧道組→crypto map
ASA上配置遠程連接案例:
建立***用戶和密碼:
全局下username benet password 123
Crypto isakmp enable outside (開啓遠程***)
建立管理連接:
全局下crypto isakmp policy 10
Encryption 3des
Hash sha
Authentication pre-share
Group 2
Exit
地址池:ip local pool 名字(benet-pool)192.168.1.100-192.168.1.200(跟內網不在同一網段)
分離隧道:access-list 名字(***)permit ip 192.168.0.0 255.255.255.0 any
定義組策略:group-policy 名字(test-group) internal (定義在本地)
Group-policy 名字(test-group) attributes (設置屬性)
開啓分離隧道功能:split-tunnel-policy tunnelspecified (所有匹配ACL的流量走隧道)
Split-tunnel-network-list value 地址池名字(***)
Exit
建立隧道組:tunnel-group 組的名字(benet-group客戶登陸的賬號)type ipsec-ra
Tunnel-group 組名字(benet-group)general-attributes
Address-pool 地址池名字(***)
Default-group-policy 組策略名字(test-group)
Exit
Tunnel-group 隧道組名字(benet-group)ipsec-attributes
Pre-shared-key 密碼(123客戶登陸密碼)
Exit
創建傳輸集:crypto ipsec transform-set 傳輸集名字(benet-set)esp-3des esp-shahmac
把傳輸集應用在動態map:crypto dynamic-map 動態map名字(benet-dymap) 1 set transform-set 傳輸集名字(benet-set)
創建靜態map:crypto map 靜態map名字(benet-static) 1000ipsec-isakmp dynamic 動態map名字(benet-dymap)
應用在外網口:crypto map 靜態map名字(benet-static)int outside
遠程SSL ***:用於網頁瀏覽器SSL(443)本地加密,提供靈活,低成本的遠程訪問。但沒有ipsec-***安全。
有三種模式:
1無客戶端可以提供文件共享功能
2瘦客戶端提供基於TCP服務的遠程訪問,如郵局協議POP3、簡單郵件傳輸協議smtp、遠程登錄ssh、擴展了網頁瀏覽器加密的功能。
3胖客戶端需要在客戶機安裝第三方軟件,實現全網絡層訪問,動態下載安裝到客戶機上但要有客戶機的管理員權限。
數據鏈路層網絡安全
常見的局域網***:
1 MAC地址溢出:
當交換機沒有在MAC地址表找到MAC地址時,則會廣播。就是利用這個特性進行***的。某主機大量僞造假MAC地址,使得MAC地址表溢出,這時交換機在收到正常數據幀的時候,則找不到MAC,會進行廣播這樣***者就會獲得正常的通信數據。
2 ARP欺騙和***:
Arp***製造假arp應答,併發送給除被***的其他主機,arp應答中包含被***地址的ip地址和虛假MAC。
Arp***製造假arp應答,併發送給被***主機,arp應答中包含除被***者剩餘所有主機的ip地址和虛假MAC。
Arp欺騙一般是通過冒充網關,可以控制網絡流量。
3 DHCP服務器欺騙與DHCP地址耗盡:
DHCP欺騙是將自己變成DHCP服務器發送虛假地址。
DHCP地址耗盡是客戶端不斷冒充新客戶發送DHCP請求,把地址請求完,則正常請求的無法通信。
4 IP地址欺騙:客戶端使用自己配置的IP地址冒充管理員IP地址。