防火墙(ASA)的基本配置与远程管理

在目前大多数安全解决方案中,防火墙的实施是最为重要的需求,它是每个网络基础设施必要且不可分割的组成部分。这篇博客主要介绍防火墙安全算法的原理与基本配置以及远程管理防火墙的几种方式

硬件与软件防火墙

1.软件防火墙

软件防火墙单独使用软件系统来完成防火墙功能,将软件部署到系统主机上,其安全性较硬件防火墙差,同时占用系统资源,在一定程度上影响系统性能。其一般用于单机系统或个人计算机,极少用于计算机网络,如瑞星、天网、360等。

2.硬件防火墙

硬件防火墙比软件防火墙更有优势,原因有一下两个方面

* 硬件防火墙功能强大,且明确是为抵御威胁而设计的

* 硬件防火墙比软件防火墙漏洞少

Cisco硬件防火墙技术应用于以下三个领域

* PIX 500系列安全设备

* ASA 5500系列自适应安全设备

* Catalyst 6500系列交换机和Cisco 7600系列路由器的防火墙服务模块

ASA安全设备

Cisco ASA 5500系列自适应安全设备是最新的Cisco防火墙技术产品,它提供了整合防火墙、入侵保护系统、高级自适应威胁防御服务,其中包括应用安全和简化网络安全解决方案的VPN服务。

目前,Cisco ASA 5500系列有六种型号,下表所示:


型号


价格


并发连接数


网络吞吐量


描述


ASA 5505


2600~15700


25000


150MB


适用于小型企业


ASA 5510


12000~94200


130000


300MB


适用于中型企业


ASA 5520


28000~84000


280000


450MB


适用于中型企业


ASA 5540


68000~70000


400000


650MB


适用于中型企业


ASA 5550


80000~85000


650000


1200MB


适用于大型企业及电信运营商


ASA 5580


200000~530000


1000000~2000000


5000MB~10000MB


适用于大型企业及电信运营商

ASA的安全算法

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

* 源IP地址

* 目的IP地址

* IP协议

* IP协议信息

默认情况下,ASA对TCP和UDP协议提供状态化连接,但ICMP协议是非状态化的。

状态化防火墙进行状态化处理的过程如图所示:

(1)PC发起一个HTTP请求给Web服务器

(2)HTTP请求到达防火墙,防火墙将连接信息添加到Conn表

(3)防火墙将HTTP请求转发给Web服务器

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

(4)Web服务器响应HTTP请求,返回相应的数据流量

(5)防火墙拦截该流量,检查其连接信息

* 如果在Conn表中查找到匹配的连接信息,则流量被允许

* 如果在Conn表中查不到匹配的连接信息,则流量被丢弃

安全算法的原理

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

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

* 连接表:维护每个连接的状态信息。安全算法使用此信息在已建立的连接中有效转发流量

* 检测引擎:执行状态检测和应用层检测。检测规则集是预先定义的,来验证应用是否遵从每个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的基本配置

配置主机名

ASA初始启动后默认的主机名是ciscoasa,可以通过以下命令将主机名配置为asa。

ciscoasa# config terminal
ciscoasa(config)# hostname asa
asa(config)#

配置密码

可以配置特权密码和远程登录密码

1.配置特权密码

以下命令将配置特权密码为123456

asa(config)# enable password 123456

2.配置远程登录密码

远程登录密码是在使用Telnet或SSH时需要输入的密码。以下命令将配置远程登录密码为ysf,注意与路由器配置是不同的。

asa(config)# password ysf

接口的概念与配置

ASA的接口通常有两种名称,即物理名称和逻辑名称

1.物理名称

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

ASA 5510及以上型号还有专门的管理接口用于管理目的,例如management0/0

2.逻辑名称

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

防火墙与路由器有着本质的不同,防火墙是用于安全目的,所以它的各个接口代表了不同的安全区域,而安全区域之间隔着一堵墙。

接口的安全级别

ASA的每个接口都有一个安全级别,范围是0-100,数值越大其安全级别越高。当配置接口的名称为inside时,其安全级别自动设置为100。而配置其他的接口名称例如outside时,其安全级别自动设置为0.

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

* 允许出站(outbound)连接,即允许从高安全级别接口到低安全级别接口的流量通过。

* 禁止入站(inbound)连接,即禁止从低安全级别接口到高安全级别接口的流量通过。

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

接口的配置

配置命令语法如下:

asa(config-if)# nameif name               //配置接口名称
asa(config-if)# security-level number         //配置接口安全级别

其中number的范围为0-100。

案例:如图,使用路由器R1和R2模拟PC,要求配置ASA的接口并验证接口之间的通信。

ASA接口配置如下:

asa(config)# int e0/1
asa(config-if)# namaif inside
asa(config-if)# security-level 100
asa(config-if)# ip add 10.1.1.254 255.255.255.0
asa(config-if)# no sh

asa(config)# int e0/0
asa(config-if)# nameif outside
asa(config-if)# security-level 0
asa(config-if)# ip add 172.16.1.254 255.255.255.0
asa(config-if)# no sh

如果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 sh
asa(config-if)# int e0/1
asa(config-if)# no sh
asa(config-if)# switchport access vlan 1

asa(config)# int vlan 2
asa(config-if)# nameif outside
asa(config-if)# security-level 0
asa(config-if)# ip add 172.16.1.254 255.255.255.0
asa(config-if)# no sh
asa(config-if)# int e0/0
asa(config-if)# no sh
asa(config-if)# switchport access vlan 2

查看Conn表

asa# show conn dateil

通过验证,在R1可以Telnet到R2,但在R2可以Telnet到R1

配置ACL

在ASA上配置ACL有两个作用:一是允许入站连接,二是控制出站连接的流量

* 标准ACL的配置如下:

asa(config)# access-list acl_name [ standrad ] { permit | deny } ip_addr mask

* 扩展ACL的配置如下:

asa(config)# access-list acl_name [ extended ] { permit | deny } protocol src_ip_addr src_mask dst_ip_addr dst_mask [ operator port ]

* 将ACL应用到接口,配置如下:

asa(config)# access-group acl_name { in | out } interface interface_name

需要注意的是,路由器上的ACL使用的是反码,而ASA上的ACL使用正常的掩码。另外,标准ACL过滤流量时不能应用到接口,它应用到其他场合,如远程访问VPN中分离隧道的配置

允许入站连接

ASA的默认规则是禁止入站连接,如果要允许入站连接,就需要配置ACL。

例如:在上个案例中,要在R2上Telnet到R1,可以在ASA上做如下配置

asa(config)# access-list out_to_in permit ip host 172.16.1.1 host 10.1.1.1
asa(config)# access-group out_to_in in int outside

控制出站连接的流量

例如:在上个案例中,如果inside区域有多个子网。例如,10.1.1.0/24、10.1.2.0/24等,要禁止子网10.1.1.0/24的流量出站,可以在ASA上做如下配置

asa(config)# access-list in_to_out deny ip 10.1.1.0 255.255.255.0 any
asa(config)# access-list in_to_out permit ip any any
asa(config)# access-group in_to_out in int inside

配置静态路由

ASA支持静态和默认路由、动态路由(例如OSPF等)

配置静态路由的命令语法如下

asa(config)# route interface-name network mask next-hop-address

ICMP协议

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

asa(config)# access-list 111 permit icmp any any
asa(config)# access-group 111 in int outside

在调试完毕后,通常建议禁止ICMP报文穿越ASA

其他配置命令

(1)保存running-configuration配置到startup configuration,可以使用以下两种命令:

asa(config)#write memory      //第一种
asa(config)#copy running-config startup-config       //第二种

(2)清除running configuration的所有配置,可以使用以下命令

asa(config)#clear configure all

(3)清除running configuration中指定命令的配置,可以使用以下命令

asa(config)#clear configure configurationcommand [ leve12configurationcommand ]

例如:要清除所有access-list命令的配置,可以使用以下命令

asa(config)#clear configure access-list

只清除access-list in_to_out的配置,可以使用以下命令

asa(config)#clear configure access-list in_to_out

远程管理ASA

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

1.配置Telnet接入

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

(1)配置允许Telnet接入

asa(config)# telnet {network|ip-address} mask interface_name

例如:配置允许从inside区域内的192.168.0.0/24使用Telnet接入,命令如下

asa(config)# telnet 192.168.0.0 255.255.255.0 inside

可以配置为只允许主机192.168.0.1/24使用Telnet接入,命令如下

asa(config)# telnet 192.168.0.1 255.255.255.255 inside

(2)(可选)配置空闲超时时间

asa(config)# telnet timeout minutes

参数minutes的取值范围为1-1440分钟,默认值是5分钟。

2.配置SSH接入

使用SSH可以安全地对ASA进行远程管理,配置SSH接入分为四个步骤。

(1)配置主机名和域名

在生成RSA密钥对的过程中需要用到主机名和域名,以下命令为ASA配置主机名为asa802,配置域名为asadomain.com

asa(config)# host asa802
asa802(config)# domain-name asadomain.com

(2)生成RSA密钥对

asa802(config)# crypto key generate rsa modulus 1024

可以指定modulus的大小为512、768、1024或2048位,默认是1024,表示生成的RSA密钥的长度。

(3)配置允许SSH接入

配置SSH的命令语法与配置Telnet是类似的,但是SSH可以配置为从外部接口接入,命令如下

asa802(config)# ssh 192.168.0.0 255.255.255.0 inside
asa802(config)# ssh 0 0 outside

(4)其他可选配置

配置空闲超时时间。与配置Telnet类似,例如设置为30分钟,命令如下

asa802(config)# ssh timeout 30

配置SSH的版本。默认情况下支持版本1和版本2.要限定使用哪个版本,可以使用如下命令

asa802(config)# ssh version 2

配置完后,可以在Outside 区域内的主机上使用Putty登录ASA的Oouside接口。注意ASA默认使用用户名pix,密码为使用passwd命令设置的密码,即可登录成功

3.配置ASDM接入

除了使用命令行外,ASA还支持GUI远程管理方式,即自适应安全设备管理器(ASDM)

要使用ASDM,首先要保证ASA的Flash中有ASDM映像,可以通过dir命令查看

asa# dir
 Directory of disk0:/
 55   -rwx  6889764   14:16:34  Dec  09  2017   asdm-602.bin

(1)启用HTTPS服务器功能,命令如下

asa(config)# http server enable [port]       //默认端口是443

(2)配置允许HTTPS接入,命令如下:

asa(config)# http {network|ip-address} mask interface-name

(3)指定ASDM映像的位置,命令如下:

asa(config)# asdm image disk0:/asdm-602.bin

(4)配置客户端登陆使用的用户名和密码,命令如下:

asa(config)# username user password password privilege 15

如果不配置用户名和密码,ASDM默认使用用户名admin,密码为使用enable password命令设置的密码。

例如:以下是一个ASA的配置案例

asa(config)# http server enable
asa(config)# http 192.168.0.0 255.255.255.0 inside
asa(config)# asdm image disk0:/asdm-602.bin
asa(config)# username ysf password 123456 privilege 15

客户端主机使用ASDM需要首先安装Java Runtiime Environment(JRE),然后在主机启动浏览器,输入https://192.168.0.254(inside接口的IP地址)进行访问。

多安全区域(配置DMZ) 

上面介绍了ASA的基本配置,其中只用到了inside和outside两个安全区域,实际上ASA可以配置多个安全区域,比较常用的是DMZ

DMZ(隔离区)位于企业内部网络和外部网络之间的一个网络区域,通常用来放置一些必须公开的服务器,如Web服务器、FTP服务器和论坛等。下图所示

DMZ默认的访问规则

DMZ的安全级别介于inside和outside之间,在存在DMZ的情况下,默认的访问规则如下图所示:

* 允许从高安全级别接口到低安全级别接口的流量通过

* 禁止从低安全级别接口到高安全级别接口的流量通过

在实际应用中,通常需要配置访问规则和地址转换允许outside访问DMZ

DMZ的基本配置

asa(config)# int e0/1
asa(config-if)# namaif dmz
asa(config-if)# security-level 50
asa(config-if)# ip add 192.168.1.1 255.255.255.0
asa(config-if)# no sh
时间: 2024-10-06 06:21:16

防火墙(ASA)的基本配置与远程管理的相关文章

Linux网络配置及远程管理

网络配置和远程管理 网络配置文件个文件服务器 1.    网络配置 1).临时配置      简单.快速,但重启失效 2).永久配置      写入配置文件,需要重新载入网络服务才会生效 2.    远程管理 1).SSH 2).TCPWrappers 网络配置: 1.修改主机名 1).临时生效: hostname 主机名 2).永久生效: 修改: /etc/sysconfig/network HOSTNAME=主机名    左大写右小写 windows 通过用户名通信   \\地址 netbi

Linux运维 第三阶段 (一) 网络配置及远程管理

一.网络配置 1.#hostname            (主机名查看 #hostname  FQDN          (临时修改主机名 #vi  /etc/sysconfig/network NETWORKING=YES           (使用IPV4的主机名配置 HOSTNAME=FQDN            (更改主机名,重启生效 2.#ifconfig            (查看IP地址 #ifconfig  网络接口 ip地址  netmask 子网掩码(临时修改IP #i

交换机的密码配置及远程管理

一.交换机的作用 主机之间的相互通信需要通过网线连接: --缺点:传输距离有限 --解决方法:引入设备中继器 中继器可以放大电信号,从而延长信号的传输距离: --缺点:只有两个接口,不能解决多个主机之间的通信 --解决方法:引入设备集线器 集线器相当于多个端口的中继器: --缺点:连接的多个设备之间容易产生信号的冲突(所连设备属于同一个冲突域) --解决方法:1.引入CSMA/CD机制(即带有冲突检测的在波侦听多路访问机制) 2.引入设备网桥 网桥可以分割冲突域,每个端口都属于一个不同的冲突域:

HCNA配置telnet远程管理

1.拓扑图 说明:通过配置最终能通过R5 用telnet协议登陆到R4上并将R4改名为R44 2.R4配置 <Huawei>sys Enter system view, return user view with Ctrl+Z. [Huawei]sysname R4 [R4]user-in [R4]user-interface vty [R4]user-interface vty 0 4 [R4-ui-vty0-4]au [R4-ui-vty0-4]authentication-mode aa

防火墙(ASA)高级配置之URL过滤、日志管理、透明模式

对于防火墙产品来说,最重要的一个功能就是对事件进行日志记录.本篇博客将介绍如何对ASA进行日志管理与分析.ASA透明模式的原理与配置.利用ASA防火墙的IOS特性实施URL过滤. 一.URL过滤 利用ASA防火墙IOS的特性URL过滤可以对访问的网站域名进行控制,从而达到某种管理目的. 实施URL过滤一般分为以下三个步骤: (1)创建class-map(类映射),识别传输流量. (2)创建policy-map(策略映射),关联class-map. (3)应用policy-map到接口上. 案例:

华为防火墙配置远程管理设备

################# 接口配置和打开Telnet服务####<USG6000V1>sys ####进全局模式[USG6000V1]int g0/0/0 ###进端口号[USG6000V1-GigabitEthernet0/0/0]ip add 192.168.32.10 24配置接口IP地址[USG6000V1-GigabitEthernet0/0/0]quit ###退出端口号(也可以简写q退出) [USG6000V1]telnet service enable 打开防火墙Te

华为防火墙实现远程管理的方式及配置详解

关于网络设备或是服务器,管理人员几乎很少会守着设备进行维护及管理,最普遍.应用最广泛的就是--远程管理.下面简单介绍一下华为防火墙管理的几种方式. 博文大纲:一.华为防火墙常见的管理方式:二.各种管理方式配置详解:1.通过Console线进行管理:2.通过Telnet方式管理:3.通过Web方式登录设备:4.配置SSH方式登录设备: 一.华为防火墙常见的管理方式 提到管理,必然会涉及到AAA的概念,我们首先来了解一下--AAA. AAA概述 AAA是验证.授权和记账三个英文单词的简称.是一个能够

Windows Nano Server安装配置详解03:远程管理Nano Server

远程管理Nano Server主要是通过使用远程powershell的方式. 首先,我们把Nano Server的登录凭据保存到$cred变量之中,如图. 其次,把远程Nano Server服务器添加到远程管理机本地的trustedHosts中,否则会报下面的错误,如图. 添加trustedhost的方法如下. 然后我们通过New-PSSession的方式建立一条到Nano Server的新的session,如图. 进入Nano Server之后,就可以通过powershell的方式对Nano

[转帖]Ansible批量远程管理Windows主机(部署与配置)

2018-09-12 12:04:42 https://blog.51cto.com/7424593/2174156 一.测试环境介绍 Ansible管理主机: 系统:   CentOS6.8 IP Addr: 172.16.10.22 Linux管理服务器需安装pip.pywinrm插件 Windows客户端主机: 系统:   Server2008R2 SP1 IP Addr: 172.16.10.23 Windows机器需要安装或升级powershell4.0以上版本,Server2008R