天天看点

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服务器发送虚假地址。

继续阅读