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命令设置的密码。

  • 35
    点赞
  • 168
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值