计算机网络(安全)
防火墙
由软件和硬件构成的系统,是一种特殊编程的路由器,用来在两个网络之间实施接入控制策略。接入控制策略是由防火墙的单位自行制定的,为的是可以最适合本单位的需要
防火墙内的网络被称为可信赖网络,而将外部的因特网称为不可信赖网络
防火墙可用来解决内联网和外联网的安全问题
其实只用一个路由器就可以完成防火墙的划分。
例子中:应用网关,可以内部外部进行访问过滤。
优点:在防火墙中的外局域网和内局域网都可以放置一些服务器,由左侧过滤的路由器控制访问,而右侧的路由控制内部网络的访问,从而达成一个访问权限控制,内部的服务器更为安全
内网络安全也是一个问题
功能
- 防火墙的功能有两个:阻止和允许
- 阻止就是阻止某种类型的通信量通过防火墙(从外部网络到内部网络,或反过来):比如阻止内部的对迅雷的请求向外发送
- 允许的功能与阻止恰好相反。
- 防火墙必须能够识别通信量的各种类型。不过在大多数情况下防火墙的主要功能是阻止。
防火墙技术分类
网络级防火墙:用来防止整个网络出现外来非法的入侵。属于这类的有分组过滤和授权服务器
前者检查所有流入本网络的信息,然后拒绝不符合事先制订好的一套准则的数据
后者则检查用户的登录是否合法
应用级防火墙:从应用程序来进行接入控制。通常使用应用网关或代理服务器来区分各种应用,例如,可以只允许通过访问万维网的应用,而阻止FTP应用通过
访问控制列表ACL
ACL是指令列表,它告诉路由器允许或拒绝什么类型的数据包。
如果要让路由器拒绝某些数据包,则必须配置ACL。否则,只要链路打开,路由器将接受并转发所有数据包
您可以根据以下情况允许或拒绝数据包:
源地址
目的地址
上层的协议,比如TCP或UDP端口
使用ACL的前提下,发送数据包
为了确定是允许还是拒绝数据包,请按顺序对ACL语句进行测试。
当一个语句”匹配”时,不再评估任何语句。(前面的语句先匹配,处理掉)
允许或拒绝该数据包。
ACL末尾有一个隐含的”deny any”语句:如果数据包与ACL中的任何语句都不匹配,则将其丢弃。
例子:
路由器如何使用ACL(outbound)
检查数据包是否可路由。如果是这样,请在路由表中查找路由
检查出站接口的ACL
如果没有ACL,则将数据包切换出目标接口
如果是ACL,请按照ACL语句顺序检查数据包-根据匹配的条件拒绝或允许。
如果没有语句匹配,则拒绝所有没有匹配的包
outbound standard ACL过程
标准ACL的两个基本使用
在全局配置模式下顺序编写ACL语句
1 | access-list access-list-number{permit/deny} {test-conditions} |
在接口配置模式下将ACL分组到一个或多个接口
1 | {protocol} access-group access-list-number {in/out} |
access-list-number参数
- ACL有很多类型。访问列表号指定什么类型。
- 下表显示了常见的访问列表类型。
允许或拒绝的参数
- 输入访问列表并选择正确的访问列表号后,根据您要执行的操作,输入允许还是拒绝。
Router(config)#access-list access-list-number {permit/deny}{test-conditions}
test-condition参数
- 在ACL的{test condition}部分中,大多数访问列表的共同点是源地址的IP掩码和通配符掩码。
- 源地址可以是子网,地址范围或单个主机。由于通配符掩码使用源地址检查位,因此也称为ip掩码。
- 通配符掩码告诉路由器要检查哪些位。
- Ip mask:Ipv4的地址
- Wilcard mask:和netmask是不同的,指示哪些位置被检查
通配符掩码Wildcard Mask
编写通配符掩码以告知路由器地址中要匹配的位以及要忽略的位。
0位表示检查该位位置
1表示忽略该位位置
我们先前的192.5.5.10 0.0.0.0示例可以用二进制重写为:
- 11000000.00000101.00000101.00001010 (Source address)
- 00000000.00000000.00000000.00000000 (Wildcard mask)
例子
any 和 host
允许全部 any
1 | access-list 1 permit any |
只允许一个IP host
1 | access-list 1 permit 192.5.5.10 0.0.0.0 |
标准ACL的配置位置
标准ACL没有目的参数,只能放在尽可能靠近目标的位置
例如下图如果将本该放在Lab-D的ACL放在Lab-A的$E_0$口,则会提前拒绝信息
缺点:会使信息在前面网段多白白传输一段,浪费流量
扩展ACL
扩展ACL的编号范围为100-199,并”扩展”了标准ACL的功能。
扩展功能包括基于过滤流量的功能。
目的地址
ip协议的部分(更加细分):您可以编写语句以仅拒绝”ICMP”等协议或”RIP”和”IGRP”之类的路由协议
协议套件的上层
- 您可以编写语句以仅拒绝诸如”TFTP”或”HTTP”之类的协议
- 您可以使用eq,gt,lt和neq(等于,大于,小于和不等于)之类的操作数来指定如何处理特定协议。
- 例如,如果您希望访问列表允许除http访问之外的所有流量,则可以使用” permit ip any neq 80”(允许来自任意源地址和目的地址的不是80端口的信息)
两个功能
扩展参数
放置位置
由于扩展ACL具有目标信息,我们将其放置在尽可能靠近源的位置
例如我们要拒绝网络221.23.123.0访问服务器198.150.13.34
1
2
3
4 access-list 100 deny ip 221.23.123.0 0.0.0.255 198.150.13.34 0.0.0.0
access-list 100 permit ip any any
int e0
ip access-group 100 in
ACL的命名
ACL的校验
show access-lists
查看全部shows all access-lists configured on the router
显示路由器上配置的所有访问列表show access-lists {name | number}
查看某一个端口的shows the identified access list
显示已识别的访问列表show ip interface
:显示了应用于接口的访问列表(入站和出站)。show running-config
:显示所有访问列表以及它们应用于什么接口