网络工程师笔记-7 ACL技术&telnet/ssh远程登陆

1.ACL概念

访问控制列表(Access Control List,ACL)是一种用于控制网络访问的技术手段。

一、作用

1. 限制网络流量:可以规定哪些 IP 地址、端口号或协议类型的数据包可以通过网络设备,哪些被阻止。

2. 增强网络安全性:通过对特定用户或设备的访问权限进行限制,防止未经授权的访问,从而提高网络的安全性。

二、组成部分

1. 规则:由一系列条件和动作组成。条件通常包括源 IP 地址、目的 IP 地址、端口号、协议类型等。动作可以是允许(permit)数据包通过或拒绝(deny)数据包通过。

2. 编号或名称:一个ACL中的每一条规则都有一个相应的编号,用于标识不同的访问控制列表,方便管理和引用。

3.通配符:通配符通常用二进制数字表示,其中“0”表示必须匹配,“1”表示可以忽略。例如,通配符 0.0.0.255 表示只匹配 IP 地址的最后一个字节,其他三个字节必须完全匹配。

计算示例:

假设要允许 IP 地址范围为 192.168.1.0/24 的网络访问,可以使用通配符 0.0.0.255 来表示这个 IP 地址范围。具体计算方法如下:

1. 首先确定 IP 地址的子网掩码为 255.255.255.0,表示前三个字节必须完全匹配。

2. 对于最后一个字节,可以使用通配符 0.0.0.255 来表示,即最后一个字节可以是 0 到 255 之间的任何值。

3. 因此,通配符表示的 IP 地址范围为 192.168.1.0 到 192.168.1.255。

三、ACL的匹配位置

入站 (Inbound)方向

出站 (Outbound)方向

四、配置案例

实验拓扑

标准ACL

如图所示,在AR1上部署基本ACL后,ACL将试图穿越AR1的源地址为192.168.1.0/24网段的数据包过滤掉,并放行其他流量,从而禁止192.168.1.0/24网段的用户访问AR1右侧的服务器网络。

华为----------------------------------------------------------------------
acl 2000
 rule deny source 192.168.1.0  0.0.0.255
 rule permit source any 
interface GigabitEthernet 0/0/0
 traffic-filter inbound acl 2000

华三----------------------------------------------------------------------
acl basic 2000
 rule deny source 192.168.1.0  0.0.0.255
 rule permit source any 
interface GigabitEthernet 0/0/0
 packet-filter 2000 inbound

锐捷----------------------------------------------------------------------
ip access-list standard 99
 deny 192.168.1.0 0.0.0.255
 permit any
interface GigabitEthernet 0/0/0
 ip access-group 99 in

高级ACL

 现要求LSW1能够限制两个网段之间互访

华为--------------------------------------------------------------------------
acl 3002
 rule deny ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 
acl 3003
 rule deny ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255 

interface GigabitEthernet 0/0/2
 traffic-filter inbound acl 3002
interface GigabitEthernet 0/0/3
 traffic-filter inbound acl 3003

华三---------------------------------------------------------------------------
acl basic 3002
 rule deny ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
acl basic 3003
 rule deny ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255

interface GigabitEthernet 0/0/2
 packet-filter 3002 inbound
interface GigabitEthernet 0/0/3
 packet-filter 3003 inbound


锐捷----------------------------------------------------------------------
ip access-list extended 102
 deny ip 192.168.1.0 0.0.0.225 192.168.2.0 0.0.0.255
 permit ip any any
ip access-list extended 103
 deny ip 192.168.2.0 0.0.0.225 192.168.1.0 0.0.0.255
 permit ip any any

ip access-list extended 103
interface GigabitEthernet 0/0/2
 ip access-group 102 in
interface GigabitEthernet 0/0/3
 ip access-group 103 in

2.telnet/ssh远程登陆

一、作用

telnet:允许用户通过网络远程登录到其他主机系统上,就好像直接在目标主机的终端前操作一样。只要目标主机开启了 Telnet 服务且用户拥有合法的账号和密码(或者符合相应的认证机制),就能在本地计算机上远程操控远程主机,执行诸如查看文件、运行程序、配置系统参数等各类操作,这对于系统管理员远程管理服务器等设备极为方便。

ssh:与 Telnet 类似,SSH 支持用户远程登录到其他主机系统,但它克服了 Telnet 传输数据明文的重大安全隐患。通过加密机制对传输的数据进行加密处理,包括登录时的账号、密码以及后续操作过程中交互的数据等,都以密文形式传输,能有效防止信息在网络传输过程中被窃取、篡改,保障远程登录及操作的安全性,广泛应用于系统管理员远程管理服务器、开发人员登录到远程开发环境等场景。

二、工作原理

telnet如下:

1、连接建立阶段

1.1.客户端发送 SYN 报文:客户端向服务器的 Telnet 端口(默认端口号 23)发送一个 TCP SYN(同步)报文,该报文包含客户端的初始序列号(ISN),用于请求建立连接。

1.2.服务器发送 SYN-ACK 报文:服务器接收到客户端的 SYN 报文后,会回复一个 TCP SYN-ACK(同步确认)报文,其中包含服务器的初始序列号(ISN)和对客户端 SYN 报文的确认号,确认号为客户端的 ISN 加 1,表示服务器已收到客户端的连接请求并同意建立连接。

1.3.客户端发送 ACK 报文:客户端收到服务器的 SYN-ACK 报文后,会发送一个 TCP ACK(确认)报文,对服务器的 SYN-ACK 报文进行确认,确认号为服务器的 ISN 加 1。至此,客户端和服务器之间的 TCP 连接建立成功。
选项协商阶段

2、选项协商阶段

2.1.客户端或服务器发起选项协商:在连接建立后,客户端和服务器会进行选项协商,以确定双方支持的功能和参数。任何一端都可以发出协商申请,申请中包含要协商的选项代码和相关参数

2.2.对方响应协商请求:接收到协商申请的一方会根据自身的支持情况,发送响应报文。如果接受协商,会发送 “WILL” 或 “DO” 命令表示同意;如果拒绝,会发送 “WONT” 或 “DONT” 命令。例如,客户端发送 “DO ECHO” 请求服务器启用回显功能,服务器若同意则回复 “WILL ECHO”。

3、数据传输阶段

3.1.客户端发送数据:用户在客户端输入命令或数据后,客户端会将这些信息按照网络虚拟终端(NVT)格式进行编码,并通过 TCP 连接发送给服务器。NVT 将不同操作系统的字符和控制命令统一为标准格式,以便在不同系统之间进行交互。

3.2.服务器接收和处理数据:服务器接收到客户端发送的数据后,会将其从 NVT 格式转换为本地操作系统能够理解的格式,并执行相应的操作。例如,服务器可能会执行用户输入的命令,或者查询数据库等。

3.3.服务器发送响应数据:服务器将操作结果按照 NVT 格式进行编码,并通过 TCP 连接发送给客户端。
3.4.客户端接收和显示数据:客户端接收到服务器发送的响应数据后,会将其从 NVT 格式转换为本地终端能够显示的格式,并在屏幕上显示给用户。

4、连接关闭阶段

4.1.客户端或服务器发起关闭请求:当用户完成远程操作后,客户端或服务器可以发起连接关闭请求。发起方会发送一个 TCP FIN(结束)报文,告知对方准备关闭连接。

4.2.对方响应关闭请求:接收到 FIN 报文的一方会发送一个 TCP ACK 报文,对 FIN 报文进行确认。此时,连接处于半关闭状态,即发送 FIN 报文的一方不再发送数据,但仍可以接收对方发送的数据。

4.3.对方发送 FIN 报文:在确认对方不再发送数据后,接收方也会发送一个 TCP FIN 报文,告知对方连接已完全关闭。

4.4.发起方响应 FIN 报文:发起方接收到对方的 FIN 报文后,会发送一个 TCP ACK 报文进行确认。至此,客户端和服务器之间的 TCP 连接完全关闭。

SSH如下:

1、版本号协商阶段

1.1、服务器打开端口 22,等待客户端连接。客户端向服务器端发起 TCP 初始连接请求,TCP 连接建立后,服务器向客户端发送第一个报文,包含版本标志字符串,格式为 “SSH-< 主协议版本号>.< 次协议版本号 >-< 软件版本号 >”。

1.2、客户端收到报文后解析该数据包,如果服务器端的协议版本号比自己的低,且客户端能支持服务器端的低版本,就使用服务器端的低版本协议号,否则使用自己的协议版本号。然后客户端回应服务器一个报文,包含客户端决定使用的协议版本号。

1.3、服务器比较客户端发来的版本号,决定是否能同客户端一起工作。如果协商成功,则进入密钥和算法协商阶段,否则服务器端断开 TCP 连接。

2、密钥和算法协商阶段

2.1、服务器端和客户端分别发送算法协商报文给对端,报文中包含自己支持的公钥算法列表、加密算法列表、MAC(Message Authentication Code,消息验证码)算法列表、压缩算法列表等。

2.2、服务器端和客户端根据对端和本端支持的算法列表得出最终使用的算法。

2.3、服务器端和客户端利用 DH 交换(Diffie-Hellman Exchange)算法、主机密钥对等参数,生成会话密钥和会话 ID。通过以上步骤,服务器端和客户端就取得了相同的会话密钥和会话 ID。对于后续传输的数据,两端都会使用会话密钥进行加密和解密,保证了数据传送的安全。在认证阶段,两端会使用会话 ID 用于认证过程。

3、认证阶段

3.1、客户端向服务器端发送认证请求,认证请求中包含用户名、认证方法、与该认证方法相关的内容(如 password 认证时,内容为密码)。

3.2、服务器端对客户端进行认证,如果认证失败,则向客户端发送认证失败消息,其中包含可以再次认证的方法列表。

3.3、客户端从认证方法列表中选取一种认证方法再次进行认证。该过程反复进行,直到认证成功或者认证次数达到上限,服务器关闭连接为止。

4、会话请求阶段

4.1、服务器等待客户端的请求。

4.2、认证通过后,客户端向服务器发送会话请求。

4.3、服务器处理客户端的请求。请求被成功处理后,服务器会向客户端回应SSH_SMSG_SUCCESS 包,SSH 进入交互会话阶段;否则回应 SSH_SMSG_FAILURE 包,表示服务器处理请求失败或者不能识别请求。

5、交互会话阶段

5.1、客户端将要执行的命令加密后传给服务器。

5.2、服务器接收到报文,解密后执行该命令,将执行的结果加密发还给客户端。

5.3、客户端将接收到的结果解密后显示到终端上。

配置案例

一、telnet配置案例

华为---------------------------------------------------------------------------
telnet server enable
aaa
local-user admin password cipher admin@123 privilege level 15
local-user admin service-type telnet
user-interface vty 0 4
 authentication-mode aaa
 protocol inbound telnet

华三---------------------------------------------------------------------------
telnet server enable
local-user admin class manage
 password simple admin@123
 service-type telnet
 authorization-attribute user-role level-15
line vty 0 4
 authentication-mode scheme

锐捷---------------------------------------------------------------------------
enable service telnet
username admin password 0 admin@123
username admin login mode telnet
enable password 0 admin@123
line vty 0 4
 password 0 admin@123
 transport input telnet

二、ssh配置案例

华为--------------------------------------------------------------------------------
stelnet server enable
rsa local-key-pair create
aaa
local-user admin password cipher admin@123 privilege level 15
local-user admin service-type ssh
ssh user admin authentication-type password
user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh

华为设备客户端需要开启:ssh client first-time enable

华三-------------------------------------------------------------------------------
ssh server enable
public local create rsa
local-user admin class manage
 password simple admin@123
 service-type ssh
 authorization-attribute user-role level-15
line vty 0 4
 authentication-mode scheme

锐捷------------------------------------------------------------------------------
enable service ssh-server
crypto key generate dsa
username admin password 0 admin@123
username admin login mode ssh
enable password 0 admin@123
line vty 0 4
 password 0 admin@123
 transport input ssh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值