一、防火墙的四种类型
#无状态包过滤
特性:(1)依赖于静态的策略来允许和拒绝数据包
(2)对静态的TCP运用和仅仅对三层流量的过滤,工作是非常出色的
(3)透明并且高性能
(4)一般使用限制的访问控制技术
缺陷:(1)不能支持动态运用 (2)不能抵御一些探测攻击
#状态包过滤
特性:(1)可靠的3-4层的访问控制 (network,transmission)
(2)配置简单
(3)透明和高性能
(4)一般使用限制访问控制技术
缺陷:(1)不能洞察5-7层内容(2)如果3-4层流量被加密,也无法支持动态运用
#运用层监控和控制的状态包过滤
特性:(1)可靠的3-7层的访问控制
(2)配置简单
(3)透明和中等性能
(4)一般是用限制的访问控制技术
缺陷:(1)运用层监控和控制影响性能(2)限制的缓存能里为了深度的内容分析
#代理服务器
特征:(1)可靠的3-7层的访问控制
(2)自动的对协议进行规范化处理
(3)能够采用宽容或限制的访问控制技术
缺陷:(1)不能广泛的支持所有的运用(2)不适合对实时流量采取这种技术(3)不透明
二、DMZ(Demilitarized Zone)非军事化区域
主要用于连接服务器和VPN设备(对外提供服务的设备)
#两种连接方式
一种典型的防火墙连接方式:
三、Cisco ASA特性
#基本网络访问特性
#高级网络访问控制特性(有些需要购买授权license)
ASA防火墙对于VPN:远程拨号方面具有很大优势,但在站点对站点VPN却不是很好
ASA产品线:5505 – 5510 – 5520 - 5540(性能上的区别)
5512-x —— 5515-x —— 5525-x —— 5545-x —— 5555-x —— 558-x
安全服务模块SSM可安装在5510-5540
ASA支持三种SSM模块:IPS模块(inspection and prevention securit)、CSC模块(防病毒,URL过滤,防垃圾邮件)、4GSSM(板卡,以太网扩展模块)
四、Cisco ASDM特性(ASA网管的图形化界面)
1.接口配IP并命名(nameif),有必要时需要设置security-level
2.启用https服务器,并且允许网管流量
3.指定Cisco ASDM的image文件(flash上) (可选)
五、接口的安全级别Security-level
六、ASA防火墙相关查看命令
【show run all tunnel-group】
【show cpu usage】 【show memory】 【show perform】查看性能 【show version】
【show conn】查看连接表
【show local-host】查看本地连接表
七、连接表
在连接表中,ASA跟踪所有用户的连接
1.允许的连接作为一个对象,进入连接表;2.后续的连接抵达ASA必须匹配当前期望的连接属性,否则丢弃;3.根据发送的合法流量,连接表会实时更新
【clear conn】清除连接对象(TCP等连接未断开)
【clear local-host】清除连接(包括TCP连接及对象)
八、初始化ASA防火墙
1.配置防火墙的主机名和域名
2.配置enable密码
3.配置DNS服务器和后缀域名,在相关接口打开DNS解析功能
#在DMZ区域启用DNS解析
[–dns domain-lookup DMZ –dns sever-group DefaulfDNS –name-sever 192.168.1.100 ]
4.配置时区,然后用NTP同步时间(需先时区和时间在NTP同步)
#时区和时间[-clock timezone GMT +8 -clock set 19:26:00 25 dec 2018]
#NTP同步[-ntp authentication-key 1 md5 cisco -ntp trusted key 1 -ntp authenticate]
#服务端 –ntp master #客户端 –ntp server 202.100.1.1 key 1 source outside
5.配置ASA 文件系统(管理时间和会话日志)
#激活ASA的日志功能 [-logging enable -logging buffered 7]
#event-list时间过滤日志技术
[-logging list yyy level warings -logging list yyy level debugging class ospf -logging console yyy
–logging message no level 3 ]
#定义日志服务器 [-logging host DMZ 192.168.1.100]
九、ASA测试和排障流程
1.ASA排障流程 show interface/show nameif àshow route àPacket Tracer àCapture (ASDM管理)
2.ping的测试
注意:默认ASA会对TCP和UDP这两种类型的流量进行状态化监控
#状态化监控:出去的包会ASA维护该状态化信息,返回的包检查需状态化信息,否则不通过。
故默认穿越ASA的ping流量并没有被执行状态化监控,返回的ICMP echo replies不被允许。即ICMP能够出去(outbound)流量,但是不能够回来(inbound)流量,通常可用telnet来测试连通性。
3.Packet tracer的测试
#ASA的ASDM图形化管理界面的packet tracer模拟一个数据包穿越ASA的数据通道,并且跟踪ASA对这个数据包的整个处理过程
#对丢包进行debug,显示这个包具体被哪一个策略所拒绝
#提供可能丢包的原因
#可以在ASDM和CLI中工作 [-packet tracer input Inside tcp 10.1.1.1 1024 200.1.1.1 23 detail/xml]
4.packet Capture
#应用场景:一般用于ASA可能对特殊流量做一些特殊的行为如会自动提出TCP报文的option 19包封装即使得未作处理穿越ASA的BGP MD5认证会失败但包确确实实能到达目标(被处理后的包)
#高级的排错技术,能够捕获和检查穿越ASA的数据包
#Capture是基于接口来配置的
#捕获的数据包可以通过命令行或者图形化界面进行检查
#数据包可以被保并且被抓包程序查看
#用于确认数据包是否穿越一个接口
#用于对一个数据包进入和离开ASA进行比较
#在命令行和ASDM中都可以使用,但是在ASDM更适合而且还可以配合wireshark抓包
十、配置ASA的管理访问
1.四种远程管理方式(ssh、SNMP、Https、NMS)
Administrator ---(telnet、ssh、https)--àASA ß-- (SNMP)----- NMS
#telnet网管(telnet只允许与ASA相连的区域,而远程网管还是需要使用SSH,不能使用telnet)
配置本地用户认证的telnet
-username admin password cisco123 privilege 15 -aaa authentication telnet console LOCAL (启用)
-telnet 10.1.1.0 255.255.255.0 inside -telnet 0 0 DMZ (允许这两接口telnet)
!最低安全级别的接口不支持telnet,例如outside;telnet进去默认密码cisco,默认enable密码为空。
!ASA只能被telnet,但是不能主动telnet别人,即网管流量只能进入ASA,不能从ASA出。
#SSH网管 【ssh –l admin 202.100.1.10登陆】
-hostname ASA -domain-name mingjiao.com -crypto key generate rsa modules 1024
-ssh 10.1.1.1 255.255.255.255 Inside -ssh 0 0 DMZ/Outside (SSH允许最低安全级别接口)
#https网管
-http server enable
-http 10.1.1.0 255.255.255.0 outside (仅仅只能用于ASDM,ASA需要一个服务器的证书)
2.创建本地管理账号/用户 (分配角色的权限)
-username admin attributes password cisco
-service-type [ admin/ nas-prompt / remote-access ]
(定义用户类别:分别为 所有权限/ ”>”用户执行模式 /只允许网络访问 )
-aaa authentication enable console LOCAL
-aaa authorization exec LOCAL (生效该定义的角色)
3.带外网管口和带内网管口
带内网管:网管流量和生产流量走同一个物理网线;
带外网管:网管流量和生产流量走不同网口,只接收到达此接口的流量,穿越和出去流量都不行
#带外网管口 【接口下:management-only】
你可以配置任何一个接口成为专用管理接口
依然需要运用管理访问策略来允许访问,建议需要为这个接口配置最高的安全级别
建议用ACL拒绝所有穿越的流量
4.默认不允许连接,需要明确允许的连接
#相同安全级别接口之间的流量,相同一个接口进出的流量
[same-security-traffic permit intra-interface/inter-interface]
#Inbound流量,流进内部网络的流量。
十一、认证管理访问AAA(Authentication、Authorization、Accounting)
配置AAA服务器,配基本认证
应用场景:管理员(Administrator Access)、穿越防火墙用户(user sessions across the firewall)
远程VPN(remote access )
-aaa-sever yyy protocol tacacs+ (定义名字和协议)
-aaa-sever yyy (DMZ) host 192.168.1.254 (定义aaa服务器的位置及相应ASA防火墙的接口)
-key cisco
-aaa authentication ssh console yyy (用yyy这个3A服务器对ssh进行认证) ---Authentication
-aaa authorization exec authentication-sever (启用AAA服务器的授权) ----Authorization
-aaa accounting ssh console yyy (启用计费) ---Acounting
-test aaa authentication yyy (测试authentication)
2. 基于用户的认证
十二、ASA防火墙的ACL
ASA的ACL控制的是“新建连接”的初始化流量。ASA的ACL对已建立连接的返回包是不起作用的(例如TCP 的ACK包,ASA的ACL一般控制的是SYN等初始化流量包,ACK包等由其他表项来控制的)非初始化流量对于ASA来说不是由ACL来控制,而是其他规则来控制那些已建立连接的流量;ASA的ACL的deny对穿越流量生效,对到达ASA自身的流量无效。
-access-list yyy deny ip any any log notifications (开启日志抓取deny any any的包)
-access-group yyy in interface outside (在outside这个接口上调用)
-access-list yyy line 3 permit ip host 1.1.1.1 host 2.2.2.2 (将该条目插到第三条,其余条目接着排序)
b) 基于时间的ACL
(time-range)和(object-group)
#time-range可以设定生效的时间范围,object-group允许创建一个可以重复使用的地址和服务集合
#time-range : absolute (绝对时间)将时间详细写出来: 日 月 年 时 分 秒
periodic (相对时间)weekdays 09:00 to 18:00 (工作日的9点至八点)
#object-group: IP地址集:-object-group network yyy-ip
-network-object host 10.1.1.1
-network-object host 10.1.1.2
服务集:-object-group service yyy-service
-service-object tcp destination eq 21 (FTP)
-service-object esp
-service-object udp destination eq 53 (DNS)
调用: -access-list yyy line 3 permit object-group yyy-ip any object-group yyy-service
c) global ACL全局ACL
#全局访问规则,允许你为入方向流量运用一个全局规则,不需要在每一个接口上运用策略
#global ACL的好处:全局访问规则定义一个安全策略的时候提供了灵活性,你不需要指定一个包从哪一个接口进入,这个策略只需要匹配源和目的IP即可;不会被复制到每一个接口,因此节省内存;
!接口访问规则总是优于全局访问规则处理
十三、ASA防火墙的相关技术
#用于低于IP地址欺骗的
#ASA用路由表确认源地址(严格的uRPF);仅仅检查数据流中的第一个包;uRPF默认是禁用的
#可以用该技术丢弃源自于一个特性主机的所有数据包(如:可以踢掉已连接还是暂未连接到未来想连接的连接的主机流量)
#配置流程:手动配置或者被IPS动态配-à覆盖所有的接口访问控制
#注意事项:重启之后就消失,故在running-configure上看不到,用对某个时间紧急响应时使用.
十四、Cut Through Proxy穿越流量认证(配合AAA服务器)--对HTTP/HTTPs/Telnet/FTP
-aaa-server yyy protocol radius
-aaa-sever yyy (DMZ) host 192.168.1.241
-key cisco
-aaa authentication match acl-1 inside yyy (匹配相应流和认证策略服务器)
#修改认证的绝对时间和闲置时间
-timeoute uauth 1:00:00 absolute -timeoute uauth 00:15:00 inactivity
#查看认证用户信息
【show uauth】
2.ASA直接对http认证
#为了安全性,防止cut-through对http的认证的用户名和密码直接明文get方式发给目的地被窃取,可在ASA上配置对http的直接认证,有三种方式:http重定向,虚拟http,Secure http
#http重定向 (先将用户认证信息定向在内部接口,在重定向到目的地)
-aaa authentication listener http inside port 80 redirect (inside是ASA的接口名字)
#Secure http (在http重定向的基础上,先在定向到内部接口时使用https保护)
-aaa authentication secure-http-client
#虚拟http (ASA虚拟出一个IP地址用于虚拟HTTP,需要ACL抓取到达目的和虚拟HTTP)
-virtual http 202.100.1.101
-access-list yyy permit tcp 10.1.1.0 255.255.255.0 host 202.100.1.101 eq 80 (抓虚拟HTTP)
-aceess-list yyy permit tcp 10.1.1.0 255.255.255.0 host 202.100.1.1 eq 80 (抓目的地)
小结:虚拟http和secure http都是在类似http重定向原理,然后一是先重定向到虚拟HTTP的IP地址,一是先重定向到内部接口通过https方式。最终都通过http方式重定向到目的地。
他们都是把向ASA做认证,把认证的信息提交到ASA内部接口或ASA,防止在将认证信息在互联网上被窃取。一般推荐使用secure http
3.虚拟telnet技术
#将非标准协议不常用的端口号与标准协议(http/telnet/ftp)捆绑,协助非标准协议的流量通过
#其原理是创建一个虚拟telnet地址用于预认证,接着认证完毕后才可以使用非标准协议的端口的流量才被允许访问目的地。
#再次telnet虚拟telnet地址可以logout注销
-virtual telnet 202.100.1.101 (虚拟telnet地址)
-telnet 202.100.1.101(先预认证) -telnet 202.100.1 3032(访问3032端口,事先与23捆绑了)
4.每用户的覆盖(per-user override)
#激活per-user override特性,允许一个下载的ACL覆盖接口运用的ACL,用于放行某一个用户的流量。即用这个Download ACL覆盖原有的ACL,该用户仅通过下载的ACL放行流量即可