Ejemplo: Control del acceso a la administración en los dispositivos de red de Juniper
Nuestro equipo de pruebas de contenido validó y actualizó este ejemplo.
En este ejemplo, se muestra cómo limitar el acceso de administración a los dispositivos de Juniper Networking según un conjunto específico de direcciones IP permitidas. Este tipo de funcionalidad se suele denominar una lista de control de acceso (ACL) y se implementa como un filtro de firewall sin estado en Junos OS.
Requisitos
Un dispositivo de red juniper conectado a una red de administración. Para ayudar a validar la configuración, debe haber al menos otro dispositivo con acceso a la red de administración que pueda iniciar conexiones SSH o Telnet al dispositivo en prueba (DUT). Antes de configurar este ejemplo, no es necesaria ninguna configuración especial más allá de la inicialización básica del dispositivo (interfaz de administración y ruta estática relacionada, servicios del sistema, cuentas de inicio de sesión de usuario, etc.).
Descripción general
Puede configurar un filtro de firewall para limitar las direcciones IP que pueden administrar un dispositivo. Este filtro de firewall debe incluir un término para denegar todo el tráfico, excepto las direcciones IP que pueden administrar el dispositivo. Debe aplicar el filtro de firewall a la interfaz de circuito cerrado (lo0) para asegurarse de que solo se filtra el tráfico de administración, es decir, el tráfico enviado al propio dispositivo.
Topología de ejemplo
Figura 1 muestra la topología de este ejemplo. El dispositivo R1 sirve como puerta de enlace predeterminada para la red de administración a la que se le asigna la subred 172.16.0.0/24. Aplique el filtro que limita el acceso de administración al dispositivo R2, lo que lo convierte en DUT en este ejemplo. La estación de trabajo remota está autorizada para administrar el DUT y se le asignó la dirección 10.0.0.1/32.
En este ejemplo, usted:
Configure una lista de prefijos llamada manager-ip. Esta lista define el conjunto de direcciones IP que pueden administrar el dispositivo. En este ejemplo, la lista incluye la subred de administración en sí (172.16.0.0/24) y la dirección IP de un usuario remoto autorizado (10.0.0.1/32).
Configure un filtro limit-mgmt-access de firewall que rechace todas las direcciones de origen , excepto el conjunto específico de direcciones definidas en la manager-ip lista de prefijos. Esto garantiza que solo las direcciones IP enumeradas en la lista de prefijos puedan administrar el dispositivo.
Aplique el limit-mgmt-access filtro a la interfaz de circuito cerrado. Cada vez que un paquete dirigido al dispositivo local llega a cualquier interfaz, la interfaz de circuito cerrado aplica el filtro limit-mgmt-access para limitar el acceso de administración a solo direcciones permitidas.
Configurar una lista de direcciones IP para restringir el acceso de la administración a un dispositivo
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, edite los siguientes comandos según sea necesario y péguelos en la CLI del dispositivo R2 en el [edit] nivel jerárquico. Para que la configuración sea completa incluye los comandos para configurar SSH (para no usuarios) y los servicios del sistema Telnet. También proporciona la configuración de la interfaz de administración y la ruta estática relacionada. Estos comandos no son necesarios si el dispositivo ya tiene esta funcionalidad configurada.
Telnet no admite el inicio de sesión raíz en dispositivos de Juniper Networks. El inicio de sesión SSH para el usuario raíz no está configurado en este ejemplo. El dispositivo debe tener un usuario no raíz configurado para permitir el inicio de sesión remoto. Alternativamente, puede agregar el argumento a la root-login allowsystem services ssh instrucción para permitir el inicio de sesión de usuario raíz mediante SSH.
Asegúrese de emitir un commit desde el modo de configuración para activar los cambios.
Cuando aplique un filtro que restrinja el acceso al dispositivo, considere usar commit confirmed. Esta opción revierte automáticamente la configuración si no puede emitir otra confirmación en el tiempo especificado.
set system services ssh set system services telnet set interfaces fxp0 unit 0 family inet address 172.16.0.253/24 set interfaces lo0 unit 0 family inet address 192.168.255.2/32 set routing-options static route 0.0.0.0/0 next-hop 172.16.0.254 no-readvertise set policy-options prefix-list manager-ip 172.16.0.0/24 set policy-options prefix-list manager-ip 10.0.0.1/32 set firewall filter limit-mgmt-access term block_non_manager from source-address 0.0.0.0/0 set firewall filter limit-mgmt-access term block_non_manager from source-prefix-list manager-ip except set firewall filter limit-mgmt-access term block_non_manager from protocol tcp set firewall filter limit-mgmt-access term block_non_manager from destination-port ssh set firewall filter limit-mgmt-access term block_non_manager from destination-port telnet set firewall filter limit-mgmt-access term block_non_manager then log set firewall filter limit-mgmt-access term block_non_manager then discard set firewall filter limit-mgmt-access term accept_everything_else then accept set interfaces lo0 unit 0 family inet filter input limit-mgmt-access
Procedimiento paso a paso
Los pasos siguientes requieren que navegue por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI.
Configure las interfaces de administración y circuito cerrado y asegúrese de que los servicios del sistema Telnet y SSH estén habilitados.
[edit] user@R2# set interfaces fxp0 unit 0 family inet address 172.16.0.253/24 user@R2# set interfaces lo0 unit 0 family inet address 192.168.255.2/32 user@R2# set routing-options static route 0.0.0.0/0 next-hop 172.16.0.254 no-readvertise user@R2# set system services ssh user@R2# set system services telnet
Defina el conjunto de direcciones de host permitidas en la lista de prefijos. Esta lista incluye prefijos para la subred de administración y para una única estación de administración remota autorizada.
[edit policy-options] user@R2# set prefix-list manager-ip 172.16.0.0/24 user@R2# set prefix-list manager-ip 10.0.0.1/32
La lista de prefijos se hace referencia en el filtro de firewall. El uso de una lista de prefijos facilita la actualización de las direcciones a las que se les permite acceder al dispositivo. Esto se debe a que solo se debe actualizar la lista de prefijos. No se requieren modificaciones en el propio filtro de firewall al agregar o eliminar los prefijos permitidos.
Configure un filtro de firewall para denegar el tráfico Telnet y SSH de todas las direcciones IP , excepto las definidas en la lista de prefijos.
[edit firewall filter limit-mgmt-access] user@R2# set term block_non_manager from source-address 0.0.0.0/0 user@R2# set term block_non_manager from source-prefix-list manager-ip except user@R2# set term block_non_manager from protocol tcp user@R2# set term block_non_manager from destination-port ssh user@R2# set term block_non_manager from destination-port telnet user@R2# set term block_non_manager then discard
Observe el uso del modificador de
exceptacciones. El primer término coincide con todas las direcciones de origen posibles. El siguiente término invierte la coincidencia de esas direcciones de origen en la lista de prefijos especificada. El resultado es que el tráfico de administración destinado al protocolo y los puertos especificados solo se acepta cuando el tráfico proviene de una dirección de la lista. El tráfico de todos los demás prefijos de origen a la misma combinación de protocolo y puertos se descarta. En este ejemplo, se agrega una acción de registro para ayudar en la depuración y verificación de filtros.Configure un término predeterminado para aceptar todo el resto del tráfico. Esto garantiza que otros servicios y protocolos, por ejemplo, pings, BGP u OSPF, no se vean afectados por el filtro.
Consejo:El filtro de ejemplo es permisivo por diseño. Puede representar una amenaza de seguridad, ya que acepta explícitamente todo el tráfico que no ha sido rechazado o descartado por términos de filtros anteriores. Puede configurar un filtro de seguridad más fuerte enumerando explícitamente todos los protocolos y servicios que deben aceptarse para finalizar el filtro con un término denegar todo, ya sea implícita o explícitamente, para filtrar todo el resto del tráfico. El inconveniente de un filtro restrictivo es que debe editarse cada vez que se agrega o elimina un servicio compatible.
[edit firewall filter imit-mgmt-access] user@R2# set term accept_everything_else then accept
Aplique el filtro de firewall sin estado a la interfaz de circuito cerrado como filtro de entrada. El tráfico enviado desde el dispositivo local no se filtra en este ejemplo.
[edit interfaces lo0 unit 0 ] user@R2# set family inet filter input limit-mgmt-access
Resultados
Confirme su trabajo ingresando los siguientes show configuration comandos desde el modo de configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
user@R2# show policy-options
prefix-list manager-ip {
172.16.0.0/24;
10.0.0.1/32;
}
user@R2# show firewall
filter limit-mgmt-access {
term block_non_manager {
from {
source-address {
0.0.0.0/0;
}
source-prefix-list {
manager-ip except;
}
protocol tcp;
destination-port [ ssh telnet ];
}
then {
log;
discard;
}
}
term accept_everything_else {
then accept;
}
}
user@R2# show interfaces
fxp0 {
unit 0 {
family inet {
address 172.16.0.253/24;
}
}
}
lo0 {
unit 0 {
family inet {
filter {
input limit-mgmt-access;
}
address 192.168.255.2/32;
}
}
}
user@R2# show routing-options
static {
route 0.0.0.0/0 {
next-hop 172.16.0.254;
no-readvertise;
}
}
user@R2# show system services ssh; telnet;
Cuando esté satisfecho con su trabajo, ingrese commit desde el modo de configuración.
Cuando aplique un filtro que restrinja el acceso al dispositivo, considere usar commit confirmed. Esta opción revierte automáticamente la configuración si no puede emitir otra confirmación en el tiempo especificado.
Verificar el filtro de firewall sin estado
Confirme que el filtro de firewall para limitar el acceso de administración funciona correctamente.
Verificar paquetes aceptados
Propósito
Verifique que el filtro de firewall permite correctamente SSH y Telnet cuando el tráfico se obtiene de la subred 172.16.0.0/24 o del prefijo de host 10.0.0.1 asociado con la estación de administración remota.
Acción
Desactive el registro del firewall en el enrutador o conmutador.
user@R2> clear firewall log
Desde un host conectado a la subred 172.16.0.0/24, como el dispositivo R1, use el
ssh 172.16.0.253comando para iniciar una conexión con el DUT. De forma predeterminada, el dispositivo R1 procede del tráfico de la interfaz de salida que se utiliza para llegar al destino. Como resultado, el tráfico de prueba proviene de la dirección 172.16.0.254 de R1. Este tráfico no coincide con el término de filtro debido al block_non_manager modificador de acciónexceptpara direcciones que coinciden con la lista de prefijos referenciados. Este tráfico coincide con el término de accept_everything_else filtro que hace que se acepteNota:Se le pedirá que guarde la clave de host SSH si este es el primer inicio de sesión SSH entre user estos dispositivos.
user@R1>ssh user@172.16.0.253 Password: Last login: Tue Sep 8 09:46:58 2020 from 10.107.199.39 --- JUNOS 20.2R1.10 Kernel 64-bit XEN JNPR-11.0-20200608.0016468_buil user@R2>
Cierre sesión de la CLI en el dispositivo R2 para cerrar la sesión SSH.
user@R2> exit logout Connection to 172.16.0.253 closed. user@R1>
Nota:Repita este paso con el
telnetcomando. La conexión Telnet debe tener éxito.Utilice el
show firewall logcomando en el dispositivo R2 para comprobar que el búfer de registro del firewall en el dispositivo R2 no contiene entradas con una dirección de origen en la subred 172.16.0.0/24. Esto significa que la información del encabezado del paquete para este tráfico no se registra en el registro del filtro de firewall. En este ejemplo, solo se registra el tráfico que coincide con el block_non_manager término.user@R2> show firewall log user@R2>
Significado
El resultado confirma que las conexiones SSH (y Telnet) se aceptan cuando se obtienen de la red de administración. También muestra que los paquetes que no coincidan con el block_non_manager término no se registran. Se esperan los mismos resultados si el tráfico SSH o Telnet es generado por la estación de administración remota a la que se le asigna la dirección 10.0.0.1.
Verificar paquetes registrados y rechazados
Propósito
Compruebe que el filtro de firewall descarta correctamente el tráfico SSH y Telnet que no se origina en uno de los prefijos de la manager-ip lista de prefijos.
Acción
Genere tráfico SSH procedente de una dirección que no se especifica en la manager-ip lista de prefijos. Puede obtener la sesión desde la dirección de circuito cerrado del dispositivo R1 para simular una IP no autorizada. Alternativamente, inicie la conexión desde cualquier dispositivo remoto que no esté conectado a la subred de administración y al que no se le haya asignado una dirección IP de 10.0.0.1. Los paquetes de esta sesión SSH deben descartarse y la información del encabezado del paquete se debe registrar en el búfer de registro del filtro de firewall.
Nota:No debe esperar ningún mensaje de error ni respuesta. El intento de conexión tendrá un tiempo de descanso. Esto se debe a que el filtro de ejemplo usa una
discardacción en lugar de unarejectacción.user@unauthorized-remote-host ssh user@172.16.0.253 ssh: connect to host 172.16.0.253 port 22: Connection timed out
El resultado muestra que la conexión SSH no se realiza correctamente. Esto confirma que el filtro bloquea correctamente el tráfico SSH cuando se envía desde una dirección de origen no permitido. Se espera el mismo resultado para las sesiones de Telnet iniciadas por cualquier dirección IP de origen no autorizada.
Utilice el
show firewall logcomando para comprobar que el búfer de registro del firewall en el dispositivo R2 ahora contiene entradas para paquetes con una dirección de origen no autorizada.user@R2> show firewall log Log : Time Filter Action Interface Protocol Src Addr Dest Addr 11:35:46 limit-mgmt-access D fxp0.0 TCP 10.0.0.119 172.16.0.253 11:35:14 limit-mgmt-access D fxp0.0 TCP 10.0.0.119 172.16.0.253 11:34:58 limit-mgmt-access D fxp0.0 TCP 10.0.0.119 172.16.0.253
Significado
El resultado confirma que el tráfico de la dirección de origen 10.0.0.119 coincide con un término de registro en el limit-mgmt-access filtro. Recuerde que solo el block_non_manager término tiene una acción de registro en este ejemplo. La Action columna muestra a D para indicar que los paquetes se descartaron. Se confirma que la interfaz de entrada para el tráfico filtrado es el puerto fxp0.0 de administración del dispositivo. También se muestran el protocolo TCP de transporte y las direcciones IP de los paquetes filtrados. Tenga en cuenta que la dirección 10.0.0.119 de origen de este tráfico no aparece en la lista de manager-ip prefijos.
Estos resultados confirman que el filtro de firewall funciona correctamente en este ejemplo.
