前言
防火墙的实施是每个网络基础设施必要且不可分割的组成部分,传统的防火墙功能已经从最初保护网络免于未授权外部访问的攻击得到了进一步的发展,现在的防火墙通常具备多种功能,下面介绍一下思科防火墙的详细配置方法
一、防火墙介绍
防火墙用于维护一个关于用户信息的连接表,称为Conn表,表中信息有:源ip地址、目的ip地址、ip协议(如http、ftp等)、ip协议信息(协议端口号等),防火墙能够基于特定的网络、主机和服务(TCP/UDP端口号)控制网络访问
二、防火墙配置
1、防火墙的基本配置
ciscoasa> en |
|
Password: |
默认特权密码为空,直接回车即可 |
ciscoasa# conf t |
|
ciscoasa(config)# hostname 防火墙名称 |
|
2、配置特权密码
asa(config)# enable password 密码 |
|
3、配置远程登录密码(在使用Telnet或SSH时需要输入的密码)
4、配置接口名称和接口安全级别
asa(config)# in e0/0 |
|
asa(config-if)# nameif 接口名称 |
|
asa(config-if)# security-level 安全级别{0~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 |
|
5、配置ACL
(1)允许入站连接
asa(config)# access-list out_to_in permit ip host 172.16.1.5 host 10.1.1.7 |
允许外网主机172.16.1.5访问内网主机10.1.1.7,out_to_in为ACL组名 |
asa(config)# access-group out_to_in in int outside |
将组名为out_to_in的ACL应用在outside接口 |
(2)控制出站连接的流量
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 |
应用在内网接口 |
(3)ACL其他配置
ICMP协议
默认情况下,禁止ICMP报文穿越ASA是基于安全性的考虑,有时候为了方便调试,可以配置暂时允许ICMP应答报文穿越ASA
ciscoasa(config)# access-list 111 permit icmp any any |
定义ACL |
ciscoasa(config)# access-group 111 in int outside |
应用到outside接口 |
6、配置静态路由
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 |
7、配置命令补充
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配置文件 |
8、远程管理ASA
ASA支持三种主要的远程管理接入方式:Telnet 、ssh和ASDM
(1)Telnet配置实例
由于使用Telnet远程管理是不安全的,所以一般禁止从外部接口使用Telnet接入,而只允许在内网使用Telnet
配置允许从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(接口名字) |
|
配置空闲超时时间为30分钟 |
|
ciscoasa(config)# telnet timeout 30(1~1440min,默认5min) |
|
(2)配置SSH接入
配置主机名和域名,因为在生成RSA密钥对的过程中需要用到主机名和域名 |
ciscoasa(config-if)# host 主机名 |
配置主机名 |
aaa(config)# domain-name 域名{.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命令设置的密码
9、ASA防火墙配置NAT
(1)动态PAT转换配置
把内部全局地址10.1.1.2转换为30.1.1.100 |
ASA(config)# nat (×××ide){名称,outside或inside} nat名称 10.1.1.0 255.255.255.0 |
声明内部地址 |
ASA(config)# global (outside) nat名称 30.1.1.100-30.1.1.200 |
声明全局地址,nat名称与内部nat名称要相同 |
ASA(config)# show xlate detai |
查看NAT地址转换表 |
|
|
转换为outside接口的地址 |
ASA(config)# nat (×××ide){名称,outside或inside} nat名称 10.1.1.0 255.255.255.0 |
声明内部地址,nat-id为1 |
ASA(config)# global (outside) 1 interface |
声明内部地址全部转换为outside区域接口地址 |
(2)静态NAT转换配置
dmz区域的20.1.1.2 映射成公网地址100.1.1.1访问 |
ASA(config)# static (dmz,outside) 100.1.1.1 20.1.1.2 |
第一个IP地址是公网IP地址,第二地址是dmz区域服务器的真实IP地址 |
ASA(config)# access-list 100 permit ip host 30.1.1.2 host 100.1.1.1 |
|
ASA(config)# access-group 100 in int outside |
设置ACL允许outside区域访问dmz区域,但是访问的是映射后的地址 |
(3)静态PAT转换配置方法
将内部的服务器映射到公网同一个IP,不同端口号 |
ASA(config)# static (dmz,outside) tcp 100.1.1.1 http 20.1.1.2 http |
|
ASA(config)# static (dmz,outside) tcp 100.1.1.1 smtp 20.1.1.3 smtp |
将内部服务器地址映射到同一个公网地址不同端口号 |
ASA(config)# access-list out_to_dmz permit ip host 30.1.1.2 host 100.1.1.1 |
|
ASA(config)# access-group out_to_dmz in int outside |
设置ACL允许outside区域访问dmz区域,但是访问的是映射后的地址 |
(4)NAT豁免配置方法
ASA(config)# nat-control |
表示通过ASA防火墙的数据包都必须使用NAT地址转换技术 |
ASA(config)# access-list ACL组名 extended permit ip 10.1.1.0 255.255.255.0 30.1.1.0 255.255.255.0 |
|
ASA(config)# nat (×××ide) 0 access-list ACL组名 |
×××ide接口应用ACL,注意nat名称为0 表示使用NAT豁免,优先级最高,就是ACL中的地址经过ASA防火墙时,不需要进行地址转换 |
结语
在互联网上防火墙是一种非常有效的网络安全防范设备,通过它可以隔离风险区域 (即Internet或有一定风险的网络)与安全区域 (局域网)的连接 ,所以它一般连接在核心交换机与外网之间,在内部网络与外网之间起到一个把关的作用