Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:配置过滤器以阻止 Telnet 和 SSH 访问

要求

您需要两台使用共享网络链接运行Junos OS 的设备。除了基本设备初始化(管理界面、远程访问、用户登录帐户等 )外,无需特殊配置是配置此示例之前必需的。虽然不是严格要求,但建议通过控制台访问 R2 设备。

注:

我们的内容测试团队已验证并更新了此示例。

概述和拓扑

在此示例中,您将创建一个 IPv4 无状态防火墙过滤器,用于记录并拒绝发送到本地路由引擎的 Telnet 或 SSH 数据包,除非该数据包来自 192.168.1.0/30 子网。过滤器应用于环路接口,以确保仅发往本地设备的 流量受到影响。在输入方向上应用过滤器。不使用输出滤波器。因此,允许所有本地生成的流量。

  • 要匹配源自特定子网或 IP 前缀的数据包,请使用 在输入方向上应用的 IPv4 匹配条件。source-address

  • 要匹配发往 Telnet 端口和 SSH 端口的数据包,请将 匹配条件与在输入方向上应用的 a 和 IPv4 匹配条件结合使用。protocol tcpport telnetport ssh

示例拓扑

图 1 显示了此示例的测试拓扑。防火墙过滤器应用于 R2 设备, 使其成为受测设备 (DUT)。R1 和 R2 设备共享分配有子网 192.168.1.0/30 的链路。两台设备都有使用 /32 子网掩码从 192.168.255.0/30 前缀分配的环路地址。静态路由提供环路地址 之间的可访问性,因为 此基本示例中未配置内部网关协议。

图 1: 示例拓扑示例拓扑

配置

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 在配置模式下使用 CLI 编辑器。在配置模式下使用 CLI 编辑器

警告:

根据设计,示例筛选器将 Telnet 和 SSH 访问限制为 R2,除非它源自 R1 的共享子网。如果使用 SSH 或 Telnet 直接访问 R2 设备, 则在应用过滤器时将失去连接。我们建议您 在配置此示例时具有控制台访问权限。如果需要,您可以将 R1 设备用作跳转主机,以便在应用过滤器后启动到 R2 的 SSH 会话。或者,请考虑修改示例筛选器,以允许分配给用于访问 R2 设备的计算机的 IP 子网。

执行以下任务以配置此示例:

CLI 快速配置

R1 设备的快速配置

要快速配置 R1 设备,请根据需要编辑以下命令, 并将其粘贴到层次结构级别的 CLI 中。[edit] 请务必发出配置 模式 以激活更改。commit

R2 设备的快速配置

要快速配置 R2 设备,请根据需要编辑以下命令, 并将其粘贴到层次结构级别的 CLI 中。[edit] 请务必发出配置模式以激活更改。commit

提示:

在进行可能会影响设备远程访问的更改时,请考虑使用。commit-confirmed 激活 Junos OS 配置,但需要确认

配置 R1 设备

分步过程

按照以下步骤配置 R1 设备:

  1. 配置接口:

  2. 配置 R2 设备环路地址的主机名和静态路由。您还可以配置 Telnet 和 SSH 访问:

在 R1 设备上验证并提交配置

分步过程

完成以下步骤以在 R1 设备上验证并提交候选配置:

  1. 使用 配置模式命令确认接口配置。show interfaces 如果命令输出未显示预期的配置,请重复此示例中的说明以更正配置。

  2. 验证用于到达 R2 设备的环路地址的静态路由,以及是否启用了 SSH 和 Telnet 访问。使用和配置模式命令。show routing-optionsshow system services 如果命令输出未显示预期的配置,请重复此示例中的说明以更正配置。

  3. 如果对 R1 设备上的配置感到满意,请提交候选配置。

配置 R2 设备

分步过程

完成以下步骤以配置 R2 设备。首先定义有选择地阻止 Telnet 和 SSH 访问的无状态防火墙过滤器:

  1. 将自己定位在层次结构中 :edit firewall family inet filter local_acl

  2. 定义过滤器术语 。terminal_access 此术语允许来自指定源前缀的 Telnet 和 SSH:

  3. 定义过滤器术语 。terminal_access_denied 此术语拒绝来自 所有其他 源地址的 SSH 和 Telnet。此术语配置为记录与术语 的匹配项,并生成显式互联网控制消息协议 (ICMP) 目标不可达响应,返回数据包的源。有关过滤器日志记录选项的详细信息,请参阅 防火墙过滤器日志记录操作 。防火墙过滤器日志记录操作

    提示:

    您可以使用该 操作禁止将 ICMP 错误消息生成回源。discard 有关详细信息,请参阅 防火墙过滤器终止操作 。防火墙过滤器终止操作

  4. 选。

    定义过滤器术语 。tcp-estab 此术语允许出站访问互联网以支持与瞻博网络 Mist 云的连接( 是一个位字段匹配条件,表示已建立的 TCP 会话, 但不是 TCP 连接的第一个数据包):tcp-establishedtcp-flags "(ack | rst)"

  5. 定义过滤器术语 。default-term 此术语接受所有其他流量。回想一下,无状态筛选器的末尾有一个隐式拒绝项。Junos OS通过使用 显式 接受 操作终止筛选器来替代此行为。default-term 过滤器 的终止会导致文件管理器接受所有其他流量。

    注:

    对于此示例,我们允许所有其他流量,但对于您的网络,您可能需要保护路由引擎。有关详细信息 ,请参阅保护路由引擎 。https://www.juniper.net/documentation/us/en/software/junos/routing-policy/topics/example/routing-stateless-firewall-filter-security-accept-traffic-from-trusted-source-configuring.html

  6. 配置环路接口, 并在输入方向应用过滤器:

  7. 配置主机名、ge-0/0/0 接口、到 R1 设备环路地址的静态路由,并通过 SSH 和 Telnet 启用远程访问:

验证并提交设备 R2 上的配置

分步过程

完成以下步骤以在 R2 设备上验证并提交候选配置:

  1. 使用配置模式命令确认 无状态防火墙过滤器的配置。show firewall 如果命令输出未显示预期的配置,请重复此示例中的说明以更正配置。

  2. 确认接口配置并使用配置模式命令过滤 应用程序。show interfaces 如果命令输出未显示预期的配置,请重复此示例中的说明以更正配置。

  3. 验证用于到达 R1 设备环路地址的静态路由, 并 验证 是否启用了 Telnet 和 SSH 访问。使用和配置模式命令。show routing-optionsshow system services 如果命令输出未显示预期的配置,请重复此示例中的说明以更正配置。

  4. 如果对 R2 设备上的配置感到满意,请提交候选配置。

    提示:

    在进行可能会影响设备远程访问的更改时,请考虑使用。commit-confirmed

验证无状态防火墙过滤器

确认用于限制 Telnet 和 SSH 访问的防火墙过滤器工作正常。

验证接受的数据包

目的

验证当流量来自 192.168.1.0/30 子网时,防火墙过滤器是否正确允许 SSH 和 Telnet。

操作

  1. 清除路由器或交换机上的防火墙日志。

  2. 从 192.168.1.0/30子网内 IP 地址的主机上,使用命令验证是否可以使用 SSH 从允许的源地址登录到设备。ssh 192.168.255.2 应接受此数据包, 但 不应将此数据包的数据包标头信息记录在数据包转发引擎的防火墙过滤器日志缓冲区中。如果这是在这些设备之间的第一次 SSH 登录 ,系统将提示您保存 SSH 主机密钥。user

    注:

    默认情况下,R1 设备将从用于到达目标的出口接口获取 SSH 流量。因此,此流量来自分配给 R1 设备的 ge-0/0/0 接口的 192.168.1.1 地址。

  3. 在 R2 设备上注销 CLI 以关闭 SSH 会话。

  4. 从 192.168.1.0/30子网内 IP 地址的主机上,使用命令验证是否可以使用 Telnet 从允许的源地址登录到路由器或交换机。telnet 192.168.255.2 应接受此数据包, 但 不应将此数据包的数据包标头信息记录在数据包转发引擎的防火墙过滤器日志缓冲区中。

  5. 注销 CLI 以关闭与 R2 设备的 Telnet 会话。

  6. 使用命令验证 R2 设备的数据包转发引擎 (PFE) 上的防火墙日志缓冲区是否 不包含 源地址位于 192.168.1.0/30 子网中的任何条目。show firewall log

验证记录和拒绝的数据包

目的

验证防火墙过滤器是否正确拒绝 不是 源自 192.168.1.0/30 子网的 SSH 和 Telnet 流量。

操作

  1. 清除路由器或交换机上的防火墙日志。

  2. 生成源自 R1 设备的环路地址的 SSH 流量。此流量的源地址在允许的 192.168.1.0/30 子网之外。使用命令验证 您是否 无法 从此源地址使用 SSH 登录到设备。ssh 192.168.255.2 source 192.168.255.1 应拒绝此数据包,并将数据包标头信息记录在防火墙过滤器日志缓冲区中。

    输出显示 SSH 连接被拒绝。此输出确认过滤器正在生成 ICMP 错误消息,并且在从不允许的源地址发送时正确阻止 SSH 流量。

  3. 生成源自 R1 设备环路地址的 Telnet 流量。此流量的源地址在允许的 192.168.1.0/30 子网之外。使用命令验证 您是否 无法 从此源地址使用 Telnet 登录设备。telnet 192.168.255.2 source 192.168.255.1 应拒绝此数据包,并且此数据包的数据包标头信息应记录在 PFE 的防火墙过滤器日志缓冲区中。

    输出显示 Telnet 连接被拒绝。此输出确认过滤器正在生成 ICMP 错误消息,并且在从不允许的源地址发送时,它会正确阻止 Telnet 流量。

  4. 使用命令验证 R2 设备上的防火墙日志缓冲区是否包含显示源地址为 192.168.255.1 的数据包被拒绝的条目。show firewall log

    输出确认来自 192.168.255.1 源地址 的流量与过滤器的 术语匹配。terminal_access_denied 该列显示 以指示这些数据包被拒绝。ActionR 还会列出接口、传输协议以及 源地址和目标地址。这些结果证实,对于此示例,防火墙过滤器工作正常。