天天看點

ASA 防火牆

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)

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 開啟隧道傳輸模式

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 vpn 功能

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  名字(         vpn) extended  permit ip  自己内網網段要通路×××的位址注意正子網路遮罩對方的使用者的網段

Crypto  map  随意名字(qqq)1 match  address vpn (觸發流量)

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 vpn的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

建立動态crypto map:

全局下crypto  dynamic-map  動态map名字(benet-dymap) 1

     Set  transform-set 傳輸集名字(benet-set作用把傳輸集應用到動态map)

把動态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

     Group  2

位址池: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-vpn安全。

有三種模式:

  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伺服器發送虛假位址。

繼續閱讀