Cisco防火墙基础介绍及配置

一、ASA(状态化防火墙)安全设备介绍:

Cisco硬件防火墙技术应用领域:

  • PIX 500 系列安全设备。
  • ASA 5500系列自适应安全设备。
  • Catalyst 6500 系列交换机和Cisco 7600 系列路由器的防火墙服务模块。

Cisco ASA 5500 系列自适应安全设备提供了整合防火墙、入 侵保护系统(IPS)、高级自适应威胁防御服务,其中包括应用安全和简化网络安全解决方案的V P N服务。

二、ASA状态化防火墙的安全算法:

状态化防火墙维护一个关于用户信息的连接表,称为Conn表
Conn表中的关键信息如下:

  • 源IP地址
  • 目的IP地址
  • IP协议(例如TCP或UDP)
  • IP协议信息(例如TCP/UDP端口号,TCP序列号,TCP控制位)

在上图中,当PC访问web服务器时,状态化防火墙处理的过程如下:

1、 PC发起一个HTTP请求给web服务器;

2、HTTP请求到达防火墙,防火墙将链接信息(如源IP地址和目的IP地址、使用的TCP协议、源IP地址和目的IP地址的TCP端口号)添加到conn表;

3、 防火墙将HTTP请求转发给web服务器;

流量返回时,状态化防火墙处理的过程如下:

1、web服务器相应HTTP请求,返回相应的数据流量;

2、防火墙拦截该流量,检查其连接信息;

  • 如果在conn表中查找到匹配的连接信息,则流量被允许。
  • 如果在conn表中找不到匹配的连接信息,则流量被丢弃。

ASA使用安全算法执行以下三项基本操作:

1、访问控制列表:基于特定的网络、主机和服务(TCP/UDP端口号)控制网络访问。

2、连接表:维护每个连接的状态信息。安全算法使用此信息在已建立的连接中有效的转发流量。(个人理解为:ASA允许内网客户端主动向外网建立连接,但外网不允许主动向内网建立连接,也就是说,要实现流量通信,必须是内网用户主动发起连接的。)

3、检测引擎:执行状态检测和应用层检测。检测规则集是预先定义的,来验证应用是否遵从每个RFC和其他标准。

数据报文穿越ASA的过程如下所示:

1、一个新来的TCP SYN报文到达ASA,试图建立一个新的连接;

2、ASA检查访问控制列表,确定是否允许连接;

3、ASA执行路由查询,如果路由正确,ASA使用必要的会话信息在连接表(XLATE和CONN)中创建一个新条目;

4、ASA在检测引擎中检查预定义的一套规则,如果是已知应用,则进一步执行应用层检测;

5、ASA根据检测引擎确定是否转发或丢弃报文,如果允许转发,则将报文转发到目的主机;

6、目的主机相响应该报文;

7、ASA接收返回报文并进行检测,在连接数据库中查询连接,确定会话信息与现有连接是否匹配;

8、ASA转发属于已建立的现有会话的报文;

ASA的应用层检测通过检查报文的IP包头和有效载荷的内容,对应用层协议流量执行深层检测,检查应用层协议是否遵守RFC标准,从而检查出应用层数据中的恶意行为。

三、ASA接口的概念:

1、ASA的一个接口通常有两种名称:

①物理名称:与路由器接口的名称类似,如Ethernet0/0可以简写成E0/0,通常用来配置接口的速率、双工和IP地址等。

②、逻辑名称:用于大多数的配置命令,如配置ACL、路由器等使用的命令中都用到逻辑名称。逻辑名称用来描述安全区域,如通常用inside表示ASA连接的内部区域(安全级别高),用outside表示ASA连接的外部区域(安全级别低)。

2、接口的安全级别:

每个接口都有一个安全级别,范围是0~100,数值越大,安全级别越高。一般配置接口为inside(内网接口)时,将其安全级别设置为100,为outside(外网接口)时,将其安全级别设置为0,为DMZ(隔离区)时,安全级别介于inside和outside之间即可。

不同安全级别的接口之间相互访问时,遵从以下默认规则:

①允许出站连接:就是允许从高安全级别接口到低安全级别的流量通过。比如说从inside访问outside是允许的。

②禁止入站连接:就是禁止从低安全级别接口到高安全级别接口的流量通过。比如说从outside访问inside是禁止的。

③禁止相同安全级别的接口之间通信。

四、DMZ的概念和作用:

DMZ称为隔离区,是位于企业内部网络和外部网络之间的一个网络区域。在这个网络区域内可以放置一些必须公开的服务器、如web服务器、FTP服务器和论坛等。示意图如下:

DMZ中放置一些不含机密信息的共用服务器,这样来自外网的访问者也可以访问DMZ中的服务,但不能访问内网的公司机密信息。即使DMZ中的服务器收到攻 击,也不会对内网的机密信息造成影响,所以,可以通过DMZ区域有效的保护内网环境。

当存在DMZ区域时,默认的访问规则如下:

上图中默认遵循的访问规则如下:

  • inside可以访问DMZ和outside;
  • DMZ可以访问outside但不允许访问inside;
  • outside不能访问DMZ和inside,不过通常会配置ACL,让outside可以访问DMZ,若不然,DMZ就没有存在的意义了。

五、ASA的基本配置:

配置主机名:

ciscoasa> en
Password:                 #默认特权密码为空,直接回车即可。
ciscoasa# conf t
ciscoasa(config)# hostname asa

配置特权密码:
asa(config)# enable password 123.com #将特权密码配置为123.com

配置远程登录密码(在使用Telnet或SSH时需要输入的密码):

asa(config)# passwd 2019.com #将远程连接时的密码设置为2019.com

配置接口名称和接口安全级别:

asa(config)# in e0/0                 #进入e0接口   
asa(config-if)# nameif inside             #将e0接口定义为inside

INFO: Security level for "inside" set to 100 by default.             #系统提示,请
将inside接口的安全级别配置为100

asa(config-if)# security-level 100                      #将inside接口的安全级别配置为100

如果ASA的型号是5505,则不支持在物理接口上直接进行以上配置,必须通过VLAN虚接口来配置,具体如下:

asa(config)#int  vlan 1
asa(config-if)# nameif inside
asa(config-if)# security-level  100
asa(config-if)#ip add 10.1.1.254 255.255.255.0
asa(config-if)# no shut

查看conn表:

asa#show conn detail

配置ACL:
在ASA上配置ACL有两个作用,一是允许入站连接,二是控制出站连接的流量。
需要注意的是,路由器上的ACL使用反码,而ASA上的ACL使用正常的掩码,另外,标准ACL过滤流量时不能应用到接口,它应用在其他场合,如远程访问V P N中分离隧道的配置。

允许入站连接的实例:


asa(config)# access-list out_to_in permit ip host 172.16.1.1 host 10.1.1.1  
#允许外网主机172.16.1.1访问内网主机10.1.1.1,out_to_in为ACL组名。

asa(config)# access-group out_to_in in int outside          
#将组名为out_to_in的ACL应用在outside接口

控制出站连接的流量:

asa(config)# access-list in_to_out deny ip 10.0.0.0 255.0.0.0 any          #拒绝
内网10.0.0.0网段 访问外网所有网段。  
asa(config)# access-list in_to_out permit ip any any             #并允许其他所有
流量通行,因为ACL有隐含的拒绝语句,所以配置ACL时,一般都需要允许所有流量
asa(config)# access-group in_to_out in int inside         #应用在内网接口 

配置静态路由:

asa(config)# route outside 172.16.0.0 255.255.0.0 10.0.0.1     #去往外网
172.16.0.0网段的流量下一跳为10.0.0.1

asa(config)# route inside 192.168.1.0 255.255.255.0 192.168.2.1     #去往内网
192.168.1.0网段的流量下一跳为192.168.2.1

其他配置

1、ICMP协议:
默认情况下,禁止ICMP报文穿越ASA是基于安全性的考虑。有时候为了方便调试,可以配置暂时允许ICMP应答报文穿越ASA。

ciscoasa(config)# access-list 111 permit icmp any any                     #定义ACL
ciscoasa(config)# access-group 111 in int outside                     #应用到outside接口

2、其他配置命令:
写在前面,一切皆可no,也就是说当配置错一条命令后,可以在原先的配置命令前加no即可删除配置错的那条命令

ciscoasa# write memory                          #保存running  configuration配置
到startup configuration

或者
ciscoasa# copy running-config startup-config                  #保存running  configuration
配置到startup configuration

ciscoasa(config)# clear configure all           #清除running  configuration的所有配置

ciscoasa(config)# clear configure access-list            #清除所有acces-list命令的配置

ciscoasa(config)# clear configure access-list in_to_out        #只清除access-list
 in_to_out 的配置

 ciscoasa# write erase                                      #删除startup-config配置文件

六、远程管理ASA:

ASA支持三种主要的远程管理接入方式:Telnet 、ssh和ASDM。

1、Telnet配置实例:

由于使用Telnet远程管理是不安全的,所以一般禁止从外部接口使用Telnet接入,而只允许在内网使用Telnet。

1)、配置允许从inside区域内的192.168.0.0/24网段使用telnet接入,命令如下:

ciscoasa(config-if)# telnet 192.168.0.0 255.255.255.0 inside

或者允许单个主机Telnet防火墙(两者根据需要二选一即可):

ciscoasa(config)# telnet 192.168.0.1 255.255.255.255 inside

2)、配置空闲超时时间为30分钟,命令如下:

ciscoasa(config)# telnet timeout 30

至此,即可实现Telnet远程管理。

2、配置SSH接入:

1)、配置主机名和域名,因为在生成RSA密钥对的过程中需要用到主机名和域名,(主机名的配置可省略)

ciscoasa(config-if)# host aaa                #配置主机名

aaa(config)# domain-name abc.com                #配置域名

aaa(config)# crypto key generate rsa modulus 1024               #指定modulus的大小
为1024位,大小可以为512位、768位、1024位或2048位,
表示生成的RSA密钥的长度

aaa(config)# ssh 192.168.1.0 255.255.255.0 inside                       #允许内网1.0的网段
SSH接入

aaa(config)# ssh 0 0 outside                               #允许外网任何主机SSH接入

aaa(config)# ssh timeout 30                  #配置超时时间为30分钟

aaa(config)# ssh version 2                    #启用SSH的版本2,该命令为可选,
有版本1和版本2,至于区别...不过是安全机制不一样

配置SSH接入完成后,可以在outside区域内的主机上使用SecureCRT或putty等工具登录ASA的outside接口,注意ASA默认使用用户名为pix,密码为使用password命令设置的密码。

转载于:https://blog.51cto.com/14154700/2385493

你可能感兴趣的:(Cisco防火墙基础介绍及配置)