思科防火墙
一、概念
1、介绍 防火墙默认三种区域:inside、outside、dmz,默认outside和dmz级别为0,inside安全级别为100。 高安全级别到低安全级别的流量是放行的,但返回的数据根据ASA中会话表是否允许 低安全级别到高安全级别的流量是拒绝的, 允许出站(outside):高100到低0,可发消息,禁止入站(inside):低0到高100,不回消息,相同级别,不发也不回 2、ASA5505和ASA5506区别 ASA5505是创建vlan,将端口加入vlan,设置vlan的安全等级,实现安全区域,再通过ACL对vlan进行控制 ASA5506是端口设置安全区域,再通过ACL对端口进行控制
二、简单配置(内网可访问外网,外网不能访问内网)
1、拓扑图
2、配置
1、inside配置 # configure terminal # interface vlan 1 # nameif inside # security-level 100 # ip address 192.168.1.1 255.255.255.0 # no shutdown 2、outside配置 # interface vlan 2 # nameif outside # security-level 0 # ip address 1.1.1.1 255.255.255.0 # no shutdown 3、端口加入安全区域 # show switch vlan # configure terminal # interface ethernet 0/1 # switchport access vlan 1 # interface ethernet 0/2 # switchport access vlan 2 # show switch vlan # show interface ip brief
3、测试(可访问防火墙inside,不能访问服务器outside)
重要:默认outside为0,inside为100,高安全等级可访问低等级,但低安全等级不能访问高等级,除非设置访问控制列表
1、配置pc端 acl 控制列表 # configure terminal # access-list 100 permit icmp any any echo-reply # access-group 100 in interface outside
可访问外网访问,外网不能访问内网
2、配置服务器 acl 控制列表 # configure terminal # access-list 200 permit icmp any any echo # access-group 200 in interface outside
外网可以访问内网,内网不能访问外网
3、配置双向互通 # configure terminal # access-list 100 extended permit ip any any # access-group 100 in interface outside
4、拓扑图
5、配置
1、inside配置 # configure terminal # interface gigabitEthernet 1/1 # nameif inside # security-level 100 # ip address 192.168.1.1 255.255.255.0 # no shutdown 2、outside配置 # interface gigabitEthernet 1/2 # nameif outside # security-level 0 # ip address 1.1.1.1 255.255.255.0 # no shutdown 3、配置 acl 控制列表 # show switch vlan # show interface ip brief # configure terminal # access-list 100 permit icmp any any # access-group 100 in interface outside
6、测试
7、拓扑图
8、配置
1、配置路由器 # configure terminal
# line vty 0 4
# password 666 # interface GigabitEthernet0/0 # ip address 1.1.1.100 255.255.255.0 # no shutdown # ip route 192.168.1.0 255.255.255.0 1.1.1.1 2、配置 acl 控制列表 # no access-list 100 extended permit icmp any any
9、测试(没有acl,默认相互ping不通,但可以telnet访问,服务不受影响)
三、NAT配置
1、概念
动态NAT:多对多,定义一个地址池(一段ip)
动态PAT:一对多,所有内网进行网络地址转换,端口地址转换PAT
静态NAT:一对一,一个内网转换一个外网
静态PAT:端口映射,将内网的端口,映射到外网端口
1、动态nat(一对多)
1、配置路由器 # configure terminal # line vty 0 4 # password 666 # interface GigabitEthernet0/0 # ip address 1.1.1.100 255.255.255.0 # no shutdown 2、防火墙配置 # object network inside #定义地址池名称 # subnet 192.168.1.0 255.255.255.0 #地址池ip网段 # nat (inside,outside) dynamic interface #inside(g1/1端口名),动态状态nat,端口nat # show xlate #查看nat状态
3、测试(ping不通,但服务正常访问)
配置 ACL策略 # access-list 100 extended permit ip any any # access-group 100 in interface outside
可ping,和正常访问外网,但外网不能访问内网
4、动态NAT(多对多)
防火墙配置 1、多对多转换地址池 # object network wan-range #定义外网地址池 # range 1.1.1.10 1.1.1.20 # object network lan #定义内网地址池 # subnet 192.168.1.0 255.255.255.0 # nat(inside,outside) dynamic wan-range #动态转换 2、多对多转换地址池组 # object network wan-range1 #定义外网地址池 # range 1.1.1.10 1.1.1.20 # object network wan-range2 #定义外网地址池 # host 1.1.1.30 # object-group network nat-group #定义外网地址池组 # network-object object wan-range1 # network-object object wan-range2 object network lan #定义内网地址池 subnet 192.168.1.0 255.255.255.0 nat (inside,outside) dynamic nat-group #动态转换
5、静态NAT(一对一)
防火墙配置 # object network web # host 192.168.1.200 # nat (inside,outside) static 1.1.1.2 路由器配置 # access-list 1 permit 192.168.10.0 0.0.0.255 #创建acl列表 # ip nat inside source list 1 int G0/0 overload #将ACL表复用到G0/0 # ip route 0.0.0.0 0.0.0.0 G0/0 #默认路由 # interface G0/0 #配置NAT外网 # ip nat outside # interface G0/1 #配置NAT内网 # ip nat inside
测试(外网可访问,外网nat转换后的内网服务器,不能直接访问内网)
防火墙配置(和上面效果一样)
1、使用静态路由 # object network web # host 192.168.1.200 # nat (inside,outside) static 1.1.1.2 # route outside 0.0.0.0 0.0.0.0 1.1.1.100 #配置静态路由
或者
# route outside 192.168.10.0 255.255.255.0 1.1.1.100
2、静态NAT端口转发
# object network web
# host 192.168.1.200
# nat (inside,outside) static 1.1.1.2 service tcp www www
6、静态NAT(内网访问vpn服务器)
# object network lan # host 172.16.11.15 # object network vpn # host 172.20.21.15 # nat (inside,outside) source static lan lan destination static vpn vpn no-proxy-arp route-lookup
#不代理ARP, 仅限路由模式
7、配置基于预共享密钥IPsec的L2TP
实例1:
1、启用ike # crypto ikev1 enable outside #外部端口启用ikev1密钥协议 2、定义策略 # crypto ikev1 policy 10 #定义ikev10策略,序号越小越优先 # authentication pre-share #配置认证方式,共享秘钥认证 # encryption 3des #加密算法,默认AES-128,双方保持一致 # hash sha #验证算法,默认SHA # prf sha #PRF算法 # group 2 #组2,默认group 2 # lifetime 86400 #SA生命周期,默认86400秒 3、配置转换集 # crypto ipsec ikev1 transform-set TRANS-ESP-3DES-SHA esp-3des esp-sha-hmac 定义策略名 加密算法 验证算法 # crypto ipsec ikev1 transform-set TRANS-ESP-3DES-SHA mode transport 隧道模式 4、配置动态图(对端是动态ip) # crypto dynamic-map outside_dyn_map 10 set ikev1 transform-set TRANS-ESP-3DES-SHA 创建动态map 序号,优先级 调用策略 5、配置静态图,并应用到outside接口 # crypto map outside_map 65535 ipsec-isakmp dynamic outside_dyn_map 静态图名 序号 绑定 动态图名 # crypto map outside_map interface outside #静态图应用到outside 6、创建 IP 地址池 # ip local pool Address-pool 192.168.1.1-192.168.1.254 mask 255.255.255.0 7、配置组策略 # group-policy L2TP-VPN internal #定义本地组策略,策略名:L2TP-VPN # group-policy L2TP-VPN attributes #定义属性 # dns-server value 8.8.8.8 4.4.4.2 #dns服务器地址 # vpn-tunnel-protocol l2tp-ipsec #vpn隧道协议属性 # default-domain value cisco.com #域名 # username test password test mschap #配置用户和密码,mschap协议关键字 8、配置隧道组 1)默认隧道组 # tunnel-group DefaultRAGroup general-attributes defaultragroup:远程访问用户,defaultl2lgroup:站点到站点的会话 general-attributes:属性,预共享密钥必须是DefaultRAGroup # address-pool Address-pool #设置地址池为上面的ip地址池 # default-group-policy L2TP-VPN #设置默认策略 2)隧道组 ipsec # tunnel-group DefaultRAGroup ipsec-attributes #设置隧道的ipsec属性 # ikev1 pre-shared-key C!sc0@123 #预共享密钥 3)隧道组 ppp # tunnel-group DefaultRAGroup ppp-attributes #设置隧道的ppp属性 # no authentication chap #禁用CHAP认证 # authentication ms-chap-v2 #认证类型 9、配置NAT豁免 # object network L2TP-Pool # subnet 192.168.1.0 255.255.255.0 # nat (inside,outside) source static any any destination static L2TP-Pool L2TP-Pool no-proxy-arp route-lookup
10、隧道分离
# access-list SPLIT standard permit 10.1.1.0 255.255.255.0 #acl策略
# group-policy DefaultRAGroup attributes #定义组策略属性
# split-tunnel-policy tunnelspecified #启用流量分割
Tunnelall:所有流量必须走隧道,不分割流量,默认设置
Tunnelspcified:所有匹配acl的流量走隧道
Excludespecified:所有不匹配ACL的流量走隧道
# split-tunnel-network-list value SPLIT #匹配acl:SPLIT的流量用加密隧道传输
# intercept-dhcp 255.255.255.255 enable #开启dhcp网关,vpn客户端要关闭远程网关
实例2:
1、定义地址池 # ip local pool vpnpool 192.168.1.10-192.168.1.100 mask 255.255.255.0 2、定义组策略 # group-policy DefaultRAGroup internal # group-policy DefaultRAGroup attributes # vpn-tunnel-protocol IPSec l2tp-ipsec # dns-server value 8.8.8.8 # default-domain value cisco.com 3、定义分割流量 # access-list no-nat extended permit ip 192.168.1.0 255.255.255.0 1.1.1.0 255.255.255.0 # nat (inside) 0 access-list no-nat # access-list 100 standard permit 192.168.1.0 255.255.255.0 # access-list 100 standard permit 1.1.1.0 255.255.255.0 # split-tunnel-policy tunnelspecified # split-tunnel-network-list value 100 # split-dns cisco.com # vpn-filter value acl_2 #只允许或不允许访问内容,acl列表 # ipsec-udp enable #开启ipsec的udp # vpn-idle-timeout 30 #客户端超时时间,默认30分 4、配置用户,并指定用户的组策略 # username frank password frank mschap #创建用户并指明加密算法 # username frank attributes #用户属性 # vpn-group-policy DefaultRAGroup #指定用户的组策略 # service-type remote-access #服务为远程访问 5、定义隧道组 1)默认隧道组 # tunnel-group DefaultRAGroup general-attributes#默认隧道组,及属性 # authentication-server-group LOCAL #本地认证 # default-group-policy DefaultRAGroup #设置组策略 # address-pool vpnpool #隧道组的地址池 2)自定义隧道组 #自定义组策略 # group-policy test_group internal # group-policy test_group attributes # vpn-idle-timeout 30 # dns-server value 8.8.8.8 # vpn-tunnel-protocol IPSec # default-domain value cisco.com #自定义隧道组 # tunnel-group test_group type ipsec-ra #设置隧道类型为remote vpn # tunnel-group test_group general-attributes #设置属性 # address-pool vpnpool #地址池 # default-group-policy test_group #设置默认组策略 # tunnel-group test_group ipsec-attributes #设置隧道的ipsec属性 # pre-shared-key cisco #共享密钥 3)自定义ezvpn隧道组 #自定义组策略 # group-policy ezvpn internal # group-policy ezvpn attributes # dns-server value 8.8.8.8 # vpn-tunnel-protocol ipsec # split-tunnel-policy tunnelspecified # split-tunnel-network-list value acl_100 # default-domain value cisco.com #自定义隧道组 # tunnel-group ezvpn type remote-access #远程访问类型 # tunnel-group ezvpn general-attributes # address-pool vpnpool # default-group-policy ezvpn # tunnel-group ezvpn ipsec-attributes # ikev1 pre-shared-key cisco 6、定义isakmp策略 # crypto isakmp enable outside #在outside上启用isakmp策略 # crypto isakmp policy 10 #定义ikev10策略,序号为10 # authentication pre-share #共享秘钥认证 # encryption 3des #加密算法 # hash sha #验证算法 # prf sha #PRF算法 # group 2 #组2 # lifetime 86400 #策略有效期1天(默认) 7、配置 IPsec 安全协议 1)配置Ipsec加密算法(用esp-3des加密,esp-sha-hmac认证) # crypto ipsec transform-set TRANS_ESP_3DES_SHA esp-3des esp-sha-hmac 2)配置IPSec传输模式 # crypto ipsec transform-set TRANS_ESP_3DES_SHA mode transport 3)可选 #时间定义,转换集的生存时间 # crypto ipsec security-association lifetime seconds 28800 #字节定义,转换集的生存时间 # crypto ipsec security-association lifetime kilobytes 4608000 8、配置 IPsec 策略 1)动态加密策略 #定义动态加密策略 # crypto dynamic-map outside_dyn_map 65535 set transform-set TRANS_ESP_3DES_SHA #路由反转 # crypto dynamic-map outside_dyn_map 20 set reverse-route #定义静态策略,绑定动态加密策略 # crypto map outside_map 65535 ipsec-isakmp dynamic outside_dyn_map #策略应用到outside # crypto map outside_map interface outside ####其他 #定义发送的身份为 IP 地址 crypto isakmp identity address 对远程路由器使用密钥 crypto isakmp key 654321 address 202.102.1.6 对远程路由器隧道使用密钥 crypto isakmp key 654321 address 192.168.1.2 2)静态加密策略 #配置acl # access-list acl-2 extended permit ip 192.168.1.0 255.255.255.0 1.1.1.0 255.255.255.0 #定义静态策略,并匹配acl # crypto map new-map 1 match address acl-2 #定义静态策略的对端地址 # crypto map new-map 1 set peer 200.1.1.1 #定义加密协议 # crypto map new-map 1 set ipsec transform-set TRANS_ESP_3DES_SHA #定义有效期 # crypto map new-map 1 set security-association lifetime seconds 3600 9、配置NAT豁免 1)常用 # object network L2TP-Pool # subnet 192.168.1.0 255.255.255.0 # nat (inside,outside) source static any any destination static L2TP-Pool L2TP-Pool no-proxy-arp route-lookup 2)其他 # crypto isakmp ipsec-over-tcp #双方启用tcp通信,端口10000,client方式 # crypto isakmp nat-traversal 10 #双方启用udp通信,端口4500,client,L2L方式 # ipsec-udp enable #双方启用udp通信 # ipsec-udp-port 10000 #端口10000,client方式 10、其他 # same-security-traffic permit intra-interface #允许流量从一个端口转发
QQ:328864113 微信:wuhg2008