路由基础之访问控制列表

访问控制列表

原理概述:

     访问控制列表(ACL:Access Control List)是一种常用的网络技术,它的基本功能是对经过网络设备的报文进行过滤处理。ACL是由permit和deny语句组成的一个有序规则的集合,它首先通过报文匹配过程来实现对报文的分类识别,然后根据报文的分类信息和相关的执行动作来判断哪些报文可以放行,哪些报文不能放行,从而实现对特定的报文的过滤处理。除此之外,ACL还有其他一些功能,这些功能常常被Route-Policy、Qos(Quality of Service)、IPSec(IP Security)、Firewall等技术结合起来使用。

      ACL的常见类型:基本ACL、高级ACL、二层ACL,用户自定义ACL等,其中应用最为广泛的是基本ACL和高级ACL。基本ACL可以根据源IP地址、报文分片标记和时间段信息来定义规则;高级ACL可以根据源/目的IP地址、TCP源/目的端口号、UDP源/目的端口号、协议号、报文优先级、报文大小、时间段等信息来定义规则。高级ACL可以比基本ACL定义出精细度更高的规则。

    基本ACL、高级ACL、二层ACL、用户自定义ACL的编号范围分别为2000~2999、3000~3999、4000~4999、5000~5999。使用ACL时,ACL的类型应该与相应的编号范围保持一致。

实验目的:

掌握基本ACL和高级ACL在安全策略中的应用

掌握基于时间信息的ACL配置

掌握使用基本ACL保护路由器的VTY线路

实验开始:

首先我们开始基础配置:

按照拓扑图配置接口:

AR2:

#

interface GigabitEthernet0/0/0

 ip address 172.16.1.254 255.255.255.0

#

interface GigabitEthernet0/0/1

 ip address 172.16.2.254 255.255.255.0

#

interface GigabitEthernet0/0/2

 ip address 172.16.3.254 255.255.255.0

#

interface GigabitEthernet2/0/0

 ip address 192.168.1.254 255.255.255.0

FTP WEB Server地址配置省略

我们设置服务器的文件根目录:文件目录可以随意设置

服务器接口配置方式和之前一样;

2:我们为各个部门创建安全区域

公司希望使用路由器的域间防火墙特性来提高安全性,所以需要在AR2上为PC1、2、3这三个部门创建安全区域。区域的名称和各个部门名称一致,PC1安全区域级别为12,PC2安全区域级别为10,PC3的安全区域级别为8。此外,还需要创建Trust区域的安全级别设置为14,Ftp-Server和Web-Server都属于Trust区域。AR系列路由器默认可以设置16种安全级别,取值范围为0~15,15保留给Local区域使用。

#

firewall zone HR

 priority 12

#

firewall zone SALES

 priority 10

#

firewall zone IT

 priority 8

#

firewall zone trust

 priority 14

#

firewall zone Local

 priority 15

将AR2上连接不同部门的接口加入到相应的安全区域中,G0/0/2接口加入到Trust区域中。

#

interface GigabitEthernet0/0/0

 ip address 172.16.1.254 255.255.255.0

 zone HR

#

interface GigabitEthernet0/0/1

 ip address 172.16.2.254 255.255.255.0

 zone SALES

#

interface GigabitEthernet0/0/2

 ip address 172.16.3.254 255.255.255.0

 zone IT

#

interface GigabitEthernet2/0/0

 ip address 192.168.1.254 255.255.255.0

 zone trust

我们查看优先级:

 

从上面的显示信息可以看出,所有区域的配置工作已经完成。当把接口加入到相应的区域后,就可以实施基于安全的ACL了。

在配置AR系列路由器的防火墙特性时需要注意流量的·方向,从较高安全级别区域去往较低的安全级别区域的报文称为Outbound报文。从较低的安全级别区域去往较高的安全级别区域的报文称为Inbound报文,AR系列路由器的防火墙特性允许管理员在不同的区域之间进行报文的过滤处理;

3:禁止SALES部门去往HR部门之间的互访

由于SALES和HR之间目前没有任何业务往来,为了保证部门信息安全,需要在AR1上使用ACL来禁止这两个部门之间的互访;

启用SALES区域和HR区域的域间防火墙,命令中的HR和SALES的先后次序没有关系

命令firewall enable的作用是启用域间防火墙。缺省情况下,当域间防火墙启用之后,安全级别较高的区域能够访问安全级别较低的区域,并且应答的报文也能够返回到安全级别较高的区域,但是安全级别较低的区域无法访问安全级别较高的区域。注意这条命令在这里只开启了HR区域和SALES区域之间的防火墙特性,不会对HR区域和SALES区域与其他区域之间的报文运动之间有任何影响。

查看区域间的默认策略

 

可以看到,区域间的默认策略为Inbound报文被拒绝通过,而Outbound报文被允许通过。由于HR区域的安全级别为12。SALES区域的安全级别为10。所以从HR区域到SALES区域的报文是Outbound报文,而从SALES区域到HR区域的报文是Outbound报文。

测试连通性ping172.16.2.1

outbound方向的报文是被放行的,返回Inbound方向的报文也是放行的

可以看到显示结果为失败,其原因可以判断为Inbound方向被拒绝通行。

为了禁止HR和SALES这两个部门之间的互访,管理员在他们之间使用ACL达到目的。由于默认SALES区域不能访问HR区域,因此。只需在Outbound方向上将HR去往SALES的报文全部过滤掉即可。

创建高级访问控制列表ACL 3000 来定义从HR到SALES的报文,步长设置为10.如果在配置ACL时没有给规则指定序列号,则起始序列号将为步长值,且后续序列号将以步长值的间隔进行累加递增。然后,在Outbound方向上引用ACL3000。

[Huawei]acl 3000

[Huawei-acl-adv-3000]st

[Huawei-acl-adv-3000]step 10

[Huawei-acl-adv-3000]ru

[Huawei-acl-adv-3000]rule de

[Huawei-acl-adv-3000]rule deny ip so

[Huawei-acl-adv-3000]rule deny ip source 172.16.1.0 0.0.0.255 de

[Huawei-acl-adv-3000]rule deny ip source 172.16.1.0 0.0.0.255 destination 172.16

.2.0 0.0.0.255

[Huawei-acl-adv-3000]fi

[Huawei-acl-adv-3000]fir

[Huawei-acl-adv-3000]firewall interzone SALES HR

[Huawei-interzone-HR-SALES]PA

[Huawei-interzone-HR-SALES]packet-filter 3000 OU

[Huawei-interzone-HR-SALES]packet-filter 3000 outbound

配置完成后,在AR1上使用命令查看ACL的配置

可以看到,ACL300中只有一个原则,步长为10 ,规则序列号也为10

查看SALES和HR的域间Firewall策略

可以看到,ACL 3000 已经就应用在SALES和HR的域间Outbound方向上了,

在PC上重新测试与PC2的联通性:

可以看到,在PC1上现在无法ping通PC2,说明相应的安全需求已经实现

4:实现对web-Server和Ftp-Server访问的控制

接下来的安全需求,SALES部门的用户可以访问公司的Web Server,但禁止访问Ftp Server

开启SALES区域和Trust区域间的防火墙,由于SALES区域的安全级别为10,Trust区域的安全级别为14,因此,访问流量的方向为Inbound方向,根据区域间防火墙的默认规则,SAELS部门的用户是无法访问Trust区域中的服务器的,因此创建ACL3001,在Internet方向上明确上放行SALES区域访问Trust区域的Web Server报文,其他访问报文被默认规则放行,如此便可实现相应的安全需求;

firewall interzone trust SALES

 firewall enable

在PC-2上的客户端信息页面中进行Web服务的测试,在地址栏中输入http://192.168.1.30/default.html,发现无法访问Web-Server

创建ACL3001,允许SALES部门的用户访问Web-Server,并应用在SALES和Trust的区域之间。

[Huawei]acl 3001

[Huawei-acl-adv-3001]rule 10 permit tcp source 172.16.2.0 0.0.0.255 destination

 192.168.1.30 0 destination-port eq 80

[Huawei-acl-adv-3001]firewall interzone SALES trust

[Huawei-interzone-trust-SALES]packet-filter 3001 inbound

配置完成后,再次测试PC2能否访问Web-Server,然后测试能否Ftp-Server,测试结果:

可以看到PC2可以访问Web Server,但是无法访问到Ftp Server,说明安全需求已经得到满足。

开启IT和Trust的防火墙

[Huawei]time-range access-web 14:00 to 16:00 daily

配置时间跨度为每天14:00-16:00

创建ACL 3003放行IT到Trust的Inbound方向的Ftp、HTTP、ICMP的ECHO报文,步长设置为10;

[Huawei]acl 3003 
[Huawei-acl-adv-3003]st	
[Huawei-acl-adv-3003]step 10
[Huawei-acl-adv-3003]rule permit tcp source 172.16.3.0 0.0.0.255 destination 192.168.1.30 0 destination-port eq 80 time-range access-web
[Huawei-acl-adv-3003]rule permit tcp source 172.16.3.0 0.0.0.255 destination-port eq ftp
[Huawei-acl-adv-3003]rule permit icmp source 172.16.3.0 0.0.0.255 destination 192.168.1.10 0
[Huawei-acl-adv-3003]rule permit icmp source 172.16.3.0 0.0.0.255 destination 192.168.1.30 0

配置完成,查看;

[Huawei]firewall interzone IT trust

[Huawei-interzone-trust-IT]pa

[Huawei-interzone-trust-IT]packet-filter 3003 in

[Huawei-interzone-trust-IT]packet-filter 3003 inbound

[Huawei-interzone-trust-IT]dis fir

[Huawei-interzone-trust-IT]dis firewall in

[Huawei-interzone-trust-IT]dis firewall interzone IT tr

[Huawei-interzone-trust-IT]dis firewall interzone IT trust

interzone trust IT

 firewall enable

 packet-filter default deny inbound

 packet-filter default permit outbound

 packet-filter 3003 inbound

现在测试

实现对设备的安全控制与管理

为了实现对AR1的安全控制与管理,现在只允许SW1上的VLANIF1接口的IP地址192.168.1.1能够作为源地址登录到R1。

在SW1上创建VLANIF1接口,配置IP地址为192.168.1.1/24.在AR1上配置VTY用户接口,允许远程主机通过Telnet管理AR1,本例中的Telnet密码为huawei。

使用基本ACL对路由器的VTY终端进行保护,只允许登录到AR1上了。

在SW1上使用命令,按照提示输入密码后,就可以登录到AR1上了。

现在,将SW1的VLANIF1接口的IP地址修改为192.168.1.2

在SW1的用户视图下,再次测试是否能登录到AR1

 

测试结果显示。当SW1的VLANIF1的IP地址更换后,便无法登录到AR1上

通过上面的方法,可以防止未被允许的IP地址登录到路由器,从而实现对路由器的安全控制和管理。

实验结束;

备注:如有错误,请谅解!

此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人!

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,关于你提到的这些基础知识,我可以给你一些简单的解释和示例代码,以帮助你更好地理解和应用它们。 1. 控制器:控制器是 Laravel 中用于处理 HTTP 请求的一种方式。它们将请求路由到相应的方法,从而执行请求的操作,并返回响应。 示例代码: ```php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function index() { // 返回用户列表视图 return view('users.index'); } public function show($id) { // 根据用户 ID 获取用户信息,并返回用户详情视图 $user = User::find($id); return view('users.show', ['user' => $user]); } } ``` 2. 中间件:中间件是在请求到达应用程序之前或之后执行的一系列操作。它们用于验证请求,处理身份验证和授权,记录请求等。 示例代码: ```php <?php namespace App\Http\Middleware; use Closure; class CheckAge { public function handle($request, Closure $next) { // 检查用户是否满 18 岁 if ($request->age < 18) { return redirect('/')->with('error', '您必须年满 18 岁才能访问该页面!'); } return $next($request); } } ``` 3. 视图:视图是 Laravel 中用于渲染 HTML 界面的一种方式。它们包含 HTML 和 PHP 代码,并可以通过变量传递数据。 示例代码: ```html <!-- resources/views/users/index.blade.php --> @extends('layouts.app') @section('content') <h1>用户列表</h1> <ul> @foreach ($users as $user) <li>{{ $user->name }}</li> @endforeach </ul> @endsection ``` 4. 路由参数传递:在 Laravel 中,可以通过路由参数传递数据,这些参数可以在控制器方法中使用。 示例代码: ```php // 定义路由 Route::get('/users/{id}', 'UserController@show'); // 在控制器方法中使用路由参数 public function show($id) { $user = User::find($id); return view('users.show', ['user' => $user]); } ``` 5. 异步请求:在 Laravel 中,可以使用 AJAX 技术进行异步请求,这样可以避免页面重新加载,并提高用户体验。 示例代码: ```javascript // AJAX 请求 $.ajax({ url: '/users', type: 'POST', data: { name: 'John', email: 'john@example.com' }, success: function(result) { // 处理响应数据 console.log(result); } }); // 在控制器方法中处理异步请求 public function store(Request $request) { $user = new User; $user->name = $request->name; $user->email = $request->email; $user->save(); return response()->json(['success' => true]); } ``` 希望以上示例代码能够帮助你更好地理解和应用 Laravel 中的基础知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风挽着浮云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值