一、防火墙(firewall):用于控制网络之间的通信。现在的防火墙还具有隔离网络、提供代理服务、流量控制等功能
1、包过滤防火墙
针对OSI模型中的网络层和传输层进行分析,用来控制IP、UDP、TCP、ICMP和其他协议,
只有满足条件的数据包才能通过,对数据包的检查一般包括源地址、目标地址和协议
2、代理服务器式防火墙
对传输层到应用层数据包进行检查,与包过滤防火墙对比,需要更高的开销,用户经过建立会话状态并通过认证及授权,才能访问到
受保护的网络。ISA可以看成是代理服务器式的防火墙
3、基于状态检测的防火墙
检测每一个TCP,UDP之类的会话链接。检测数据包的源地址、目的地址、端口号、TCP序列号信息以及此会话相关的其他标志信息。思科PIX和ASA
属于状态检测的防火墙
二、防火墙体系架构
防火墙按照安全级别可分为内网、外网和DMZ区。
内网:内网是防火墙的重点保护对象,包含公司网络内部的所有网络设备和主机。
外网:外网是防火墙的重点防范对象,针对公司外部访问用户、服务器和终端。外网发起的通信必须按照防火墙的规则过滤及审计。
DMZ区:dmz区又称周边服务,从内网中划分出来,包含向外网提供服务的服务器集合。DMZ中的服务器有Web服务器、邮件服务器、FTP服务器、外部
DNS服务器等。DMZ区保护级别较低,可以按照要求放开某些服务和应用。
防火墙结构常见术语:堡垒机、双重宿主主机。
堡垒主机:处于内网边缘,暴露与外网用户的主机系统。
双重宿主主机:至少拥有2个网络接口,分别接内网和外网,能进行多个网络互连。
三、ACL(访问控制列表(路由器接口的指令列表,控制端口进出的数据包))
目前使用最多的访问控制技术的实现。使用于所有的路由协议,如IP、IPX、AppleTalk等。ACL的执行顺序从上到下,在配置时遵循最小特权原则、最靠近受控对象原则及默认丢弃原则
访问控制列表:1、标准访问控制列表 2、扩展访问控制列表
步骤1、标准访问控制表配置:
enable 准备进入全局配置模式
config terminal 进入全局配置模式(特权模式下)
access-list X(access-list_num取值1~99) 0.0.0.0{permit|deny}(permit表示允许、deny表示拒绝) source_ip_wildcard_mask(表示反掩码)
access-list可以配置多条,但用这种方式,如果列表要插入或删除一行,必须删除所有ACL的配置进行重新配置。
步骤2、启动标准访问控制列表
enable 准备进入全局模式
config terminal 进入全局配置(特权模式下)
interface port_num 进入配置标准访问控制列表的接口
ip access-group access-list_num in|out 在指定的接口上启动访问控制列表,表明方向是in还是out(in和out是针对防火墙接口而言的)
(二)扩展访问控制列表
步骤1 、扩展访问列表配置
enable 准备进入全局配置模式
config terminal 进入全局配置模式(特权模式下)
access-list X(access-list_num取值1~99) 0.0.0.0{permit|deny}(permit表示允许、deny表示拒绝) source_ip_wildcard_mask(表示反掩码)
ip_protocol包括IP、ICMP、TCP、GRE、UDP、IGRP、EIGRP、IGMP、NOS、OSPF
防火墙基本配置
(一)、使用nameif命令配置防火墙接口名称,并制定接口的安全级别
enable 进入配置模式
config terminal
nameif Port_num interface_name security security_num
#配置端口名并指定优先级,security_num越大表示安全级别越高
例:
nameif Ethernet0 outside security 0 #配置e0名字为outside优先级设置为0(默认为0)
nameif Ethernet1 inside security 100 #配置e1名字为inside优先级设置为100(默认为100,内接口优先级往往最高)
nameif Ethernet2 dmz security10 #配置e2名字为outside优先级10
防火墙规则是:dmz可以访问outside,inside可以访问dmz和inside,配置访问接口可以让outside访问inside
配置公网地址范围和定义地址池
enable 进入配置模式
config terminal
global (interface_name) nat_id ip_address-ip_address[global_ip_mask]
interface_name为外网接口名,一般为outside;nat_id为公网地址池名,供nat命令使用;ip_address-ip_address为公网地址段;[global_ip_mask]为公网掩码地址
路由配置
route (interface_name)ip_address netmask gateway_ip_address
其中interface_name是接口,可以是inside,outside,dmz
配置静态路由地址映射
#使用static命令配置静态地址映射,是的外部地址一一对应
static (internal_interface_name,exter_interface_name) outside_ip_address inside_ip_address
其中internal_interface_name表示内部网络接口,安全级别较高,如inside
exter_interface_name表示外部网络接口,安全级别较低,如outside
outside_ip_address表示共有ip地址;inside_ip_address表示被转换的ip地址
例:
Farewall(config)#static(inside,outside)123.1.1.1 192.168.1.1
Farewall(config)#static(dmz,outside)123.1.1.1 192.168.1.1
侦听
#使用侦听命令fixup可以启用或者禁止特定的服务或者协议
例:
fixup protocol http 8080 启用协议8080端口
no fixup protocol http 80 禁止80端口