防火墙技术分类
防火墙技术分为三种:包过滤防火墙,代理防火墙,状态包过滤
1、包过滤防火墙:使用ACL控制进入或离开的网络流量,ACL可以匹配包的类型或其他参数(如源IP地址,目的ip地址,端口号等)来制定。该类防火墙有以下不足:
• ACL制定和维护都比较困难
• 可以使用IP欺骗很容易绕过ACL
2、代理防火墙:也叫做代理服务器。他在OSI的高层检查数据包,然后和制定的规则相比较,如果数据包的内容符合规则并且被允许,那么代理服务器就代替源主机向目的地址发送请求,从外部主机收到请求后,在转发给被保护的源请求主机。代理防火墙的缺点就是性能问题,由于代理防火墙会对每个经过它的包都会做深度检查,即使这个包以前检查过,所以对系统和网络的性能都有很大的影响。
3、状态包过滤防火墙:Cisco ASA就是使用的状态包过滤防火墙,该防火墙会维护每个会话的状态信息,这些状态信息写在状态表里,状态表的条目有源地址,目的地址,端口号,TCP序列号信息以及每个tcp或udp的其他的标签信息。所有进入或外出的流量都会和状态表中的连接状态进行比较,只有状态表中的条目匹配的时候才允许流量通过。防火墙收到一个流量后,首先查看是否已经存在于连接表中,如果没有存在,则看这个连接是否符合安全策略,如果符合,则处理后将该连接写入状态表;如果不符合安全策略,那么就将包丢弃。状态表也叫Fast path,防火墙只处理第一个包,后续的属于该连接的包都会直接按照Fast Path转发,因此性能就有很高的提升。

防火墙功能和许可证:
防火墙出厂的时候自带有一些基本的功能,如果需要增加一些额外的功能,那么就需要购买许可证(license)激活相应的功能。可以使用show version命令查看目前防火墙拥有的功能列表:

防火墙的许可证类型有:
Unrestricted(UR)--无限制的许可证使得该防火墙所能支持的所有特性全部打开。如无限制的活动连接数,打开防火墙所支持的所有端口,可以使用防火墙的Failover(故障切换功能)等等。

Restricted(R)--限制版,限制防火墙开启的特性,比如限制活动连接数,使防火墙不支持Failover,限制防火墙支持的最大接口数等;

Failover(FO)--该版本使得防火墙可以作为Secondary设备参与Failover(故障切换);

Failover-active/active(FO-AA)--该版本使得防火墙可以作为secondary设备参与active/active Failover ,同时还要求另一个防火墙使用UR版。

Cisco ASA 安全算法

  • ASA 处理TCP连接的安全算法

    1. 一个内部主机的第一个IP数据包导致一个转换槽的产生,这个信息会被保留在内存中,用来检查以后的数据包,做地址转换,然后防火墙利用TCP内的相关信息来建立一个连接槽
    2. 这个连接被标记为"未完成"是一个TCP的半开连接。
    3. 防火墙随机产生一个用于连接的初始序列号,并且将数据包转发到外连接口。
    4. 在这一步,防火墙期待从目的主机收到一个同步确认包(syn/ack),然后防火墙将收到的包的相关信息依照连接槽内存储的信息进行匹配,计算信息的先后顺序,并将返回的数据包转发到内部主机。
    5. 内部主机通过发送一个ACK完成了连接建立和3次握手。
    6. 防火墙上的连接槽被标记为connected或者active-established。这时就可以发送数据了。连接的"未完成"计数器也将被重置。
      以上是防火墙处理TCP连接的安全算法。
  • ASA处理UDP连接的安全算法
    1. 防火墙从内部主机收到第一ip数据包,在检验已经配置好的转换设置后,防火墙将会创建一个转换槽,它将保存这个信息在内存中用来检查以后的数据包流。然后,防火墙利用UDP内的相关信息建立一个UDP连接槽。
    2. 在用户配置的UDP timeout时间内,防火墙将会维护这个UDP连接槽。但是当UDP连接槽的idle时间超出所配置的UDP timeout时间,就会从连接表中删除。
    3. 在UDP的timeout周期内,防火墙执行适应性安全算法(ASA)对 从目的主机收到的UDP数据包进行全状态检查。
    4. 如果返回的UDP数据包完全匹配并且没有超时,那么这个数据将被传回内部主机。
      最后要注意,ASA的所有安全策略都是应用到状态连接中,因此要首先生成一个连接表,然后才会比较安全策略等内容。
      UDP的一些特性
    5. UDP是一个不可靠(无连接的),但却很高效的传输协议,其不可靠体现在它不提供传输的确认。
    6. 伪造UDP数据包很容易,因为他没有握手和序列的机制。由于没有状态机制,所以传输的发起者或者当前的状态经常不确定。
    7. UDP不提供传输保障
    8. 没有连接的建立和中止。
    9. UDP没有拥塞管理和避免机制
    10. 使用UDP的服务通常被分为两类:
      ○ 请求-回应,或称之为乒乓服务。例如域名服务(DNS)
      ○ 流服务,例如视频,VOIP,网络文件系统(NFS)

防火墙基础配置

配置接口参数:

  1. Security level 对asa/pix来讲,每个接口都必须有一个安全级别,安全级别是0到100之间的数字,0代表低安全级别,100代表高安全级别;
  2. 默认情况下,所有从高安全级别接口到低安全级别接口的流量都是允许的,所有从低安全级别接口到高安全级别接口的流量都是被拒绝的,都需要使用ACL来允许想要允许的流量;当然,高安全级别接口到低安全级别接口的流量也可以通过ACL来控制。
  3. 默认情况下,相同安全级别接口之间不允许通信,可以使用命令
    Hostname(config)#same-security-traffic permit inter-interface来允许相同安全级别接口之间互相通信
    对于防火墙的任何接口,都必须配置以下内容:

    • Name
    • Ip address
    • Security level
    • 多区域默认的访问规则:
      Inside可以访问outside。
      Inside可以访问dmz
      Dmz可以访问outside
      Dmz不能访问inside
      Outside不能访问inside
      Outside不能访问dmz.

配置静态路由
在防火墙模式下,ASA支持静态和默认路由,ASA只支持RIP和OSPF,因此如果你的网络运行的是其他的路由协议,那么就要使用静态路由,使用静态路由可以节省CPU的负载。ASA在相同的接口,最多支持3条等价静态路由。
Hostname(config)#route 接口名称 目标网段 掩码 下一跳地址

配置ACL
一个ACL是由多个访问控制条目(Access Control Entries,ACE)组成,一个ACE指明一个permit或deny规则,一个ACE可以根据协议,指定的源地址和目的地址、端口号、ICMP类型等来定义,ACE的执行是按照顺序执行的,一旦发现匹配的ACE,那么就不会再继续往下匹配。
对于TCP和UDP连接,不需要使用ACL来允许返回的流量进入,因为防火墙的安全算法会生成一个连接表来允许这些流量的返回;对于无连接流量,比如ICMP,需要使用ACL来明确允许返回的流量进入防火墙,或者可以打开ICMP审查引擎。

转载于:https://blog.51cto.com/jettcai/2119803

ASA防火墙学习笔记1-基础篇相关推荐

  1. jqGrid 学习笔记整理——基础篇

    jqGrid 学习笔记整理--基础篇 jqGrid 实例中文版网址:http://blog.mn886.net/jqGrid/ 国外官网:http://www.trirand.com/blog/ 本人 ...

  2. Java学习笔记之基础篇

    Java学习笔记之基础篇 目录 Java如何体现平台的无关性? 面向对象(OO)的理解 面向对象和面向过程编程的区别 面向对象三大特征 静态绑定和动态绑定(后期绑定) 延伸:类之间的关系 组合(聚合) ...

  3. Excel学习笔记之基础篇

    记录一下跟着网易云课堂大饼老师Excel课程学习的笔记,只能起一个大纲的作用吧,用来练习的数据表不方便上传,也懒得截图录屏做成GIF操作啥的.课程共分为基础篇,进阶篇之函数,进阶篇之数据透视,进阶篇之 ...

  4. golang学习笔记(基础篇)

    LCY~~Golang学习笔记 一.Go语言开发环境 ##安装Go开发包以及VsCode Go开发包与vscode配置安装教程网址:https://www.liwenzhou.com/posts/Go ...

  5. threejs 物体根据相机位置显示_Threejs学习笔记(一) 基础篇

    基本概念 此学习笔记主要记录使用threejs的制作http://sqace.163.com网站中用到的API和相关知识点. 一个完整的3D环境包含以下元素: 1.场景(Scene):是物体.光源等元 ...

  6. 【ESP32最全学习笔记(基础篇)——1.ESP32简介】

      ESP32 新手?从这里开始! 关于本教程: ESP32 基础篇                                 1.ESP32简介 ☑ 2.ESP32 Arduino 集成开发环 ...

  7. 唐金州的Vue开发实战学习笔记(基础篇)

    Vue开发实战学习笔记 简易的Vue程序 组件 事件 插槽 单文件组件 双向绑定 虚拟DOM与key属性 组件更新 状态data与属性props vue的响应式更新 计算属性和侦听器 计算属性 com ...

  8. MySQL学习笔记(基础篇未完待补充)

    一.MySQL数据库基 目录 一.MySQL数据库基础篇 1.数据库概述与MySQL安装篇 第1章:数据库概述 1.为什么要使用数据库 2. 数据库与数据库管理系统 2.2 数据库与数据库管理系统的关 ...

  9. Win32汇编学习笔记之基础篇

    基础篇 第一章 背景知识 1.1 Win32的软硬件平台 1.1.1    80x86系列处理器简史 Win32可以在多种硬件平台上运行,但使用最广泛的硬件平台是基于Intel公司80x86系列处理器 ...

最新文章

  1. C语言中的预处理详解
  2. 安装oracle sqldeveloper
  3. 百度pcs 如何获取Access Token
  4. 使用内存映射文件获取巨大的矩阵
  5. Linux 中的零拷贝技术
  6. 超漂亮的响应式个人主页
  7. sqlmap源码阅读系列init中的_cleanupOptions
  8. mysql索引条件下推_MySQL索引条件下推的简单测试
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的驾照在线考试系统
  10. PHP微信公众开发笔记(九)
  11. 【数字信号处理】划重点
  12. 湖南科技大学计算机实力强吗,湖南省这2所重点大学,吉首大学和湖南科技大学,谁的实力更强...
  13. 谷歌pixel3axl开发者模式_谷歌推出新一代安卓系统“Android 10”
  14. python制作字符动画
  15. 计算机显示器的分辨率可以调节吗,电脑分辨率何如调?电脑无法调整屏幕分辨率怎么办?...
  16. python练手程序之猜大小
  17. 计算机领域新技术的工作原理,七年级信息技术上册 第4课《计算机系统及其工作原理》教学案 新人教版...
  18. java的SSPanel类_SpringBoot中遇到的一些问题
  19. leetcode【困难】460、LFU 缓存
  20. 神经网络模型(TensorFlow)

热门文章

  1. 当产品上线前出了 Bug | 每日趣闻
  2. 视频云王海华:关于移动短视频技术选型的那些事
  3. linux服务器LVS/DR模式+nfs
  4. 红帽计划收购API管理领导者3scale
  5. Python学习笔记:开始Python编程
  6. EXP-00091错误的说明和解决方法
  7. C语言读写伯克利DB 4
  8. CXF的webservice接口中字符串参数中文问题
  9. 【转】北京四中学习方法
  10. C/C++结构体的区别