Ejemplo: Configurar un filtro para bloquear el acceso Telnet y SSH
Requisitos
Necesita dos dispositivos que se ejecuten Junos OS con un vínculo de red compartido. No hay configuración especial más allá de la inicialización básica del dispositivo (interfaz de administración, acceso remoto, cuentas de inicio de sesión de usuario, etcetera). es necesario antes de configurar este ejemplo. Aunque no es un requisito estricto, se recomienda el acceso de la consola al dispositivo R2.
Nuestro equipo de pruebas de contenido ha validado y actualizado este ejemplo.
Descripción general y topología
En este ejemplo, se crea un filtro de firewall sin estado IPv4 que registra y rechaza los paquetes Telnet o SSH enviados al motor de enrutamiento local, a menos que el paquete se origine en la subred 192.168.1.0/30 . El filtro se aplica a la interfaz de circuito cerrado para garantizar que solo se vea afectado el tráfico destinado al dispositivo local. El filtro se aplica en la dirección de entrada. No se utiliza un filtro de salida. Como resultado, se permite todo el tráfico generado localmente.
-
Para hacer coincidir paquetes que se originan en una subred o prefijo IP específico, utilice la
source-addresscondición de coincidencia IPv4 aplicada en la dirección de entrada. -
Para hacer coincidir los paquetes destinados al puerto Telnet y a los puertos SSH, utilice la condición de
protocol tcpcoincidencia combinada con condiciones de coincidencia aport telneteport sshIPv4 aplicadas en la dirección de entrada.
Ejemplo de topología
Figura 1 muestra la topología de prueba de este ejemplo. El filtro de firewall se aplica al dispositivo R2, convirtiéndolo en el dispositivo bajo prueba (DUT). Los dispositivos R1 y R2 comparten un vínculo que tiene asignada una subred de 192.168.1.0/30. Ambos dispositivos tienen direcciones de circuito cerrado asignadas desde el prefijo 192.168.255.0/30 mediante una máscara de subred /32. Las rutas estáticas proporcionan accesibilidad entre direcciones de circuito cerrado porque en este ejemplo básico no se configura un protocolo de puerta de enlace interior.

Configuración
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración.
Por diseño, el filtro de ejemplo restringe el acceso Telnet y SSH a R2 a menos que se origine en la subred compartida en R1. Si utiliza SSH o Telnet para acceder directamente al dispositivo R2, perderá conectividad cuando se aplique el filtro. Se recomienda tener acceso a la consola al configurar este ejemplo. Si es necesario, puede utilizar el dispositivo R1 como host de salto para iniciar una sesión SSH a R2 después de aplicar el filtro. Como alternativa, considere la posibilidad de modificar el filtro de ejemplo para permitir también la subred IP asignada a la máquina que utiliza para acceder al dispositivo R2.
Realice las siguientes tareas para configurar este ejemplo:
- Configuración rápida de CLI
- Configurar el dispositivo R1
- Verificar y confirmar la configuración en el dispositivo R1
- Configurar el dispositivo R2
- Verificar y confirmar la configuración en el dispositivo R2
Configuración rápida de CLI
Configuración rápida para el dispositivo R1
Para configurar rápidamente el dispositivo R1, edite los siguientes comandos según sea necesario y péguelos en la CLI en el nivel de [edit] jerarquía. Asegúrese de emitir un commiten modo de configuración para activar los cambios.
set system host-name R1 set system services ssh root-login allow set interfaces ge-0/0/0 description "Link from R1 to R2" set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.1/30 set interfaces lo0 unit 0 family inet address 192.168.255.1/32 set routing-options static route 192.168.255.2/32 next-hop 192.168.1.2
Configuración rápida para el dispositivo R2
Para configurar rápidamente el dispositivo R2, edite los siguientes comandos según sea necesario y péguelos en la CLI en el nivel de [edit] jerarquía. Asegúrese de emitir un commit en modo de configuración para activar los cambios.
Considere usarlo commit-confirmed cuando realice cambios que puedan afectar el acceso remoto a su dispositivo. Activar una configuración de Junos OS pero requerir confirmación
set system host-name R2 set system services ssh root-login allow set system services telnet set interfaces ge-0/0/0 description "Link from R2 to R1" set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.2/30 set interfaces lo0 unit 0 family inet filter input local_acl set interfaces lo0 unit 0 family inet address 192.168.255.2/32 set firewall family inet filter local_acl term terminal_access from source-address 192.168.1.0/30 set firewall family inet filter local_acl term terminal_access from protocol tcp set firewall family inet filter local_acl term terminal_access from port ssh set firewall family inet filter local_acl term terminal_access from port telnet set firewall family inet filter local_acl term terminal_access then accept set firewall family inet filter local_acl term terminal_access_denied from protocol tcp set firewall family inet filter local_acl term terminal_access_denied from port ssh set firewall family inet filter local_acl term terminal_access_denied from port telnet set firewall family inet filter local_acl term terminal_access_denied then log set firewall family inet filter local_acl term terminal_access_denied then reject set firewall family inet filter local_acl term tcp-estab from protocol tcp set firewall family inet filter local_acl term tcp-estab from tcp-established set firewall family inet filter local_acl term tcp-estab then accept set firewall family inet filter local_acl term default-term then accept set routing-options static route 192.168.255.1/32 next-hop 192.168.1.1
Configurar el dispositivo R1
Procedimiento paso a paso
Siga estos pasos para configurar el dispositivo R1:
-
Configure las interfaces:
[edit] user@R1# set interfaces ge-0/0/0 description "Link from R1 to R2" user@R1# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.1/30 user@R1# set interfaces lo0 unit 0 family inet address 192.168.255.1/32
-
Configure el nombre de host y la ruta estática a la dirección de circuito cerrado del dispositivo R2. También puede configurar el acceso Telnet y SSH:
[edit] user@R1# set system host-name R1 user@R1# set system services ssh root-login allow user@R1# set system services telnet user@R1# set routing-options static route 192.168.255.2/32 next-hop 192.168.1.2
Verificar y confirmar la configuración en el dispositivo R1
Procedimiento paso a paso
Complete los siguientes pasos para verificar y confirmar su configuración candidata en el dispositivo R1:
-
Confirme la configuración de la interfaz con el comando de
show interfacesmodo de configuración. Si el resultado del comando no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.[edit] user@R1# show interfaces ge-0/0/0 { description "Link from R1 to R2"; unit 0 { family inet { address 192.168.1.1/30; } } } lo0 { unit 0 { family inet { address 192.168.255.1/32; } } } -
Compruebe la ruta estática utilizada para llegar a la dirección de circuito cerrado del dispositivo R2 y que el acceso SSH y Telnet estén habilitados. Utilice los comandos de
show routing-optionsmodo de configuración yshow system services. Si el resultado del comando no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.[edit] user@R1# show routing-options static { route 192.168.255.2/32 next-hop 192.168.1.2; } user@R1# show system services ssh { root-login allow; } telnet; -
Cuando esté satisfecho con la configuración del dispositivo R1, confirme la configuración candidata.
[edit] user@R1# commit
Configurar el dispositivo R2
Procedimiento paso a paso
Complete los pasos siguientes para configurar el dispositivo R2. Para empezar, defina el filtro de firewall sin estado que bloquea selectivamente el acceso Telnet y SSH:
-
Colóquese en la
edit firewall family inet filterlocal_acl jerarquía:[edit] user@R2# edit firewall family inet filter local_acl
-
Defina el término terminal_accessde filtro . Este término permite Telnet y SSH desde los prefijos de origen especificados:
[edit firewall family inet filter local_acl] user@R2# set term terminal_access from source-address 192.168.1.0/30 user@R2# set term terminal_access from protocol tcp user@R2# set term terminal_access from port ssh user@R2# set term terminal_access from port telnet user@R2# set term terminal_access then accept
-
Defina el término terminal_access_deniedde filtro . Este término rechaza SSH y Telnet de todas las demás direcciones de origen. Este término está configurado para registrar coincidencias con el término y generar una respuesta inaccesible de destino explícito del Protocolo de mensajes de control de Internet (ICMP) al origen del paquete. Consulte Acciones de registro de filtros de firewall para obtener más información sobre las opciones de registro de filtros.
Consejo:Puede utilizar la acción para suprimir la
discardgeneración de mensajes de error ICMP de vuelta al origen. Consulte Acciones de terminación del filtro de firewall para obtener más información.[edit firewall family inet filter local_acl] user@R2# set term terminal_access_denied from protocol tcp user@R2# set term terminal_access_denied from port ssh user@R2# set term terminal_access_denied from port telnet user@R2# set term terminal_access_denied then log user@R2# set term terminal_access_denied then reject user@R2# set term default-term then accept
- Opcional.
Defina el término tcp-estabde filtro . Este término permite el acceso saliente a Internet para admitir conexiones a la nube de Juniper Mist (tcp-established es una condición de coincidencia de campo de bits, tcp-flags "(ack | rst)", que indica una sesión TCP establecida, pero no el primer paquete de una conexión TCP):
[edit firewall family inet filter local_acl] user@R2# set term tcp-estab from protocol tcp user@R2# set term tcp-estab from tcp-established user@R2# set term tcp-estab then accept
-
Defina el término default-termde filtro . Este término acepta el resto del tráfico. Recuerde que Junos OS los filtros sin estado tienen un término de negación implícito en su extremo. El default-term anula este comportamiento al terminar el filtro con una acción de aceptación explícita. La finalización del filtro da como resultado que el archivador acepte el resto del tráfico.
Nota:Para este ejemplo, estamos permitiendo todo el resto del tráfico, pero para su red es posible que desee proteger el motor de enrutamiento. Consulte Protección del motor de enrutamiento para obtener más información.
[edit firewall family inet filter local_acl] user@R2# set term default-term then accept
-
Configure la interfaz de circuito cerrado y aplique el filtro en la dirección de entrada:
[edit] user@R2# set interfaces lo0 unit 0 family inet filter input local_acl user@R2# set interfaces lo0 unit 0 family inet address 192.168.255.2/32
-
Configure el nombre de host, la interfaz ge-0/0/0, la ruta estática a la dirección de circuito cerrado del dispositivo R1 y habilite el acceso remoto a través de SSH y Telnet:
[edit] user@R2# set system host-name R2 user@R2# set system services ssh root-login allow user@R2# set system services telnet user@R2# set interfaces ge-0/0/0 description "Link from R2 to R1" user@R2# set interfaces ge-0/0/0 unit 0 family inet address 192.168.1.2/30 user@R2# set routing-options static route 192.168.255.1/32 next-hop 192.168.1.1
Verificar y confirmar la configuración en el dispositivo R2
Procedimiento paso a paso
Complete los siguientes pasos para verificar y confirmar su configuración candidata en el dispositivo R2:
-
Confirme la configuración del filtro de firewall sin estado con el comando de
show firewallmodo de configuración. Si el resultado del comando no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.[edit] user@R2# show firewall family inet { filter local_acl { term terminal_access { from { source-address { 192.168.1.0/30; } protocol tcp; port [ssh telnet]; } then accept; } term terminal_access_denied { from { protocol tcp; port [ssh telnet]; } then { log; reject; } } term default-term { then accept; } } } -
Confirme la configuración de la interfaz y filtre la aplicación con el comando de
show interfacesmodo de configuración. Si el resultado del comando no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.[edit] user@R2# show interfaces ge-0/0/0 { description "Link from R2 to R1"; unit 0 { family inet { address 192.168.1.2/30; } } } lo0 { unit 0 { family inet { filter { input local_acl; } address 192.168.255.2/32; } } } -
Compruebe la ruta estática utilizada para llegar a la dirección de circuito cerrado del dispositivo R1 y compruebe que el acceso Telnet y SSH estén habilitados. Utilice los comandos de
show routing-optionsmodo de configuración yshow system services. Si el resultado del comando no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.[edit] user@R2# show routing-options static { route 192.168.255.1/32 next-hop 192.168.1.1; } user@R2# show system services ssh { root-login allow; } telnet; -
Cuando esté satisfecho con la configuración en el dispositivo R2, confirme la configuración candidata.
Consejo:Considere usarlo
commit-confirmedcuando realice cambios que puedan afectar el acceso remoto a su dispositivo.[edit] user@R2# commit
Comprobar el filtro de firewall sin estado
Confirme que el filtro de firewall para limitar el acceso Telnet y SSH funciona correctamente.
Verificar paquetes aceptados
Propósito
Compruebe que el filtro de firewall permite correctamente SSH y Telnet cuando el tráfico proviene de la subred 192.168.1.0/30 .
Acción
-
Borre el registro del firewall en su enrutador o conmutador.
user@R2> clear firewall log
-
Desde un host en una dirección IP dentro de la subred 192.168.1.0/30 , use un
ssh 192.168.255.2comando para comprobar que puede iniciar sesión en el dispositivo mediante SSH desde una dirección de origen permitida. Este paquete debe aceptarse, pero la información del encabezado del paquete para este paquete no debe registrarse en el búfer de registro del filtro de firewall en el motor de reenvío de paquetes. Se le pedirá que guarde la clave de host SSH si este es el primer inicio de sesión SSH entre user estos dispositivos.Nota:De forma predeterminada, el dispositivo R1 obtendrá el tráfico SSH de la interfaz de salida utilizada para llegar al destino. Como resultado, este tráfico proviene de la dirección 192.168.1.1 asignada a la interfaz ge-0/0/0 del dispositivo R1.
user@R1>ssh 192.168.255.2 Password: Last login: Wed Aug 19 09:23:58 2020 from 192.168.1.1 --- JUNOS 20.2R1.10 Kernel 64-bit JNPR-11.0-20200608.0016468_buil user@R2>
-
Cierre sesión en la CLI en el dispositivo R2 para cerrar la sesión SSH.
user@R2> exit logout Connection to 192.168.255.2 closed. user@R1>
-
Desde un host en una dirección IP de la subred 192.168.1.0/30 , utilice el
telnet 192.168.255.2comando para comprobar que puede iniciar sesión en el enrutador o conmutador mediante Telnet desde una dirección de origen permitida. Este paquete debe aceptarse, pero la información del encabezado del paquete para este paquete no debe registrarse en el búfer de registro del filtro de firewall en el motor de reenvío de paquetes.user@host-A> telnet 192.168.255.2 Trying 192.168.255.2... Connected to 192.168.255.2. Escape character is '^]'. login: user Password: --- JUNOS 20.2R1.10 Kernel 64-bit JNPR-11.0-20200608.0016468_buil user@R2>
-
Cierre sesión en la CLI para cerrar la sesión de Telnet en el dispositivo R2.
user@R2:~ # exit Connection closed by foreign host. root@R1>
-
Utilice el
show firewall logcomando para comprobar que el búfer de registro del firewall en el motor de reenvío de paquetes (PFE) del dispositivo R2 no contiene ninguna entrada con una dirección de origen en la subred 192.168.1.0/30 .user@R2> show firewall log
Verificar paquetes registrados y rechazados
Propósito
Compruebe que el filtro del firewall rechaza correctamente el tráfico SSH y Telnet que no se origina en la subred 192.168.1.0/30 .
Acción
-
Borre el registro del firewall en su enrutador o conmutador.
user@R2> clear firewall log
-
Genere tráfico SSH procedente de la dirección de circuito cerrado del dispositivo R1. La dirección de origen de este tráfico está fuera de la subred permitida 192.168.1.0/30 . Use el
ssh 192.168.255.2 source 192.168.255.1comando para comprobar que no puede iniciar sesión en el dispositivo con SSH desde esta dirección de origen. Este paquete debe rechazarse y la información del encabezado del paquete debe registrarse en el búfer de registro del filtro del firewall.user@R1 ssh 192.168.255.2 source 192.168.255.1 ssh: connect to host 192.168.255.2 port 22: Connection refused root@R1>
El resultado muestra que se ha rechazado la conexión SSH. Este resultado confirma que el filtro está generando un mensaje de error ICMP y que bloquea correctamente el tráfico SSH cuando se envía desde una dirección de origen no permitida.
-
Genere tráfico Telnet procedente de la dirección de circuito cerrado del dispositivo R1. La dirección de origen de este tráfico está fuera de la subred permitida 192.168.1.0/30 . Utilice el
telnet 192.168.255.2 source 192.168.255.1comando para comprobar que no puede iniciar sesión en el dispositivo mediante Telnet desde esta dirección de origen. Este paquete debe rechazarse y la información del encabezado del paquete para este paquete debe registrarse en el búfer de registro del filtro de firewall en el PFE.user@R1> telnet 192.168.255.2 source 192.168.255.1 Trying 192.168.255.2... telnet: connect to address 192.168.255.2: Connection refused telnet: Unable to connect to remote host
El resultado muestra que se rechaza la conexión Telnet. Este resultado confirma que el filtro está generando un mensaje de error ICMP y que bloquea correctamente el tráfico Telnet cuando se envía desde una dirección de origen no permitida.
-
Utilice el
show firewall logcomando para comprobar que el búfer de registro del firewall en el dispositivo R2 contiene entradas que muestran que se rechazaron los paquetes con una dirección de origen 192.168.255.1.user@R2> show firewall log Log : Time Filter Action Interface Protocol Src Addr Dest Addr 15:17:11 pfe R ge-0/0/0.0 TCP 192.168.255.1 192.168.255.2 15:12:04 pfe R ge-0/0/0.0 TCP 192.168.255.1 192.168.255.2
La salida confirma que el tráfico de la dirección de origen 192.168.255.1 coincidía con el término del terminal_access_denied filtro. La
Actioncolumna muestra unRpara indicar que estos paquetes fueron rechazados. También se enumeran la interfaz, el protocolo de transporte y las direcciones de origen y destino. Estos resultados confirman que el filtro de firewall funciona correctamente para este ejemplo.