Diferencia entre revisiones de «Comandos frecuentes JunOS»

De Luis Moreno Wiki
Ir a la navegación Ir a la búsqueda
(Página creada con «JunOS Nombres de interfaces y puertos FPC --> Flexible PIC Controller PIC --> Physical Interface Controller ge-0/2/3 = port 3 of a Gigabit Ethernet PIC in slot 2 on…»)
 
Línea 1: Línea 1:
 
JunOS
 
JunOS
  
Nombres de interfaces y puertos
+
== Edición de Comandos ==
  FPC --> Flexible PIC Controller
 
  PIC --> Physical Interface Controller
 
  ge-0/2/3 = port 3 of a Gigabit Ethernet PIC in slot 2 on FPC 0
 
  Slot -> PIC -> Puerto
 
 
 
 
La edición de comandos en el CLI de JunOS es del tipo EMACS en el mundo Linux
 
La edición de comandos en el CLI de JunOS es del tipo EMACS en el mundo Linux
  
Línea 20: Línea 15:
 
   ctrl + n comando siguiente (next)
 
   ctrl + n comando siguiente (next)
 
   ctrl + i complete completa el comando, como tabulador o espacio
 
   ctrl + i complete completa el comando, como tabulador o espacio
 +
 +
== Interfaces y puertos ==
 +
Nombres de interfaces y puertos
 +
  FPC --> Flexible PIC Controller
 +
  PIC --> Physical Interface Controller
 +
  ge-0/2/3 = port 3 of a Gigabit Ethernet PIC in slot 2 on FPC 0
 +
  Slot -> PIC -> Puerto
  
 
Descripción de interfaces de servicio (Services Interface)
 
Descripción de interfaces de servicio (Services Interface)
Línea 92: Línea 94:
 
  lmoreno@miSRX# run show interfaces terse
 
  lmoreno@miSRX# run show interfaces terse
  
**************************************** Manejo de configuraciones
+
== Manejo de configuraciones ==
 
 
**************************************** Manejo de configuraciones
 
  
 
-- Copiar configuraciónes desde un texto que se guardadá en el portapapeles se tienen las siguientes opciones
 
-- Copiar configuraciónes desde un texto que se guardadá en el portapapeles se tienen las siguientes opciones
Línea 390: Línea 390:
  
  
**************************************** Security Policies / Políticas de Firewall
+
== Security Policies / Políticas de Firewall ==
 
 
**************************************** Security Policies / Políticas de Firewall
 
 
-- Ver configuración de la política de la zona untrust a la zona trust
 
-- Ver configuración de la política de la zona untrust a la zona trust
 
  show security policies detail from-zone untrust to-zone trust
 
  show security policies detail from-zone untrust to-zone trust

Revisión del 00:22 20 jul 2020

JunOS

Edición de Comandos

La edición de comandos en el CLI de JunOS es del tipo EMACS en el mundo Linux

 ctrl + b un caracter atras (back)
 ctrl + f un caracter adelante (forward)
 ctrl + a inicio (start)
 ctrl + e end (end)
 ctrl + d elimina el caracter donde esta posicionado el cursor (delete)
 ctrl + k elimina caracteres desde donde esta posicionado el cursor al final de la línea (delete)
 ctrl + u desecha el comando actual, como ctrl+c en la línea de comandos de Linux
 ctrl + w elimina la palabra completa que esta a la izquierda del cursor (word)
 ctrl + p repite el comando anterior (previous)
 ctrl + n comando siguiente (next)
 ctrl + i complete completa el comando, como tabulador o espacio

Interfaces y puertos

Nombres de interfaces y puertos

 FPC --> Flexible PIC Controller
 PIC --> Physical Interface Controller
 ge-0/2/3 = port 3 of a Gigabit Ethernet PIC in slot 2 on FPC 0
 Slot -> PIC -> Puerto

Descripción de interfaces de servicio (Services Interface)

 es: Encryption interfcae
 gr: Generic route encapsulation tunnerl interface
 ip: IP-ove-IP encapsulation tunnel interface
 ls: Link services interface
 mo: Passive monitoring interface
 mt: Multicast tunnerl interface
 sp: Adaptive services interface
 vt: Virtual loopback tunnel interface

Otros nombres de interface

 lo0: Loopback interface
 ae: Aggregated Ethernet interface
 as: Aggregated SONET interface
 vlan: vLAN interface

Interfaces internas que no son reconfigurables

 gre:
 mtun:
 ipip:
 tap:

Las interfaces varian de acuerdo a la plataforma


Comandos

-- Ver usuarios conectados

 lmoreno@miSRX> show system users

-- Ver usuarios creados y permisos

 show configuration system login

-- Ver las conecciones del equipo como un netstat en linux

 lmoreno@miSRX> show system connections

-- Forzar el logout (salida) de un usuario, sacar usuario de una sesión, terminar sesión de usuario

 lmoreno@miSRX> request system logout user lmoreno

-- sacar al usuario de sesión por medio de la terminal a la que esta conectodo

 lmoreno@miSRX> request system logout terminal p2

-- historial de comandos de la sesión actual

 lmoreno@miSRX> show cli history

-- Solo muestra las líneas que hagan coincidencia

 show interfaces | match down

-- También puede emplearse el comando grep como en unix/linux en lugar de match, mostrará el mismo resultado

 show interfaces | grep down

-- cuenta las lineas que hagan coincidencia (o que coincidan) con down y Physical

 show interfaces | match down | match Physical | count

-- Ayuda

 help reference system host-name

-- Configuration para saltarse a la rama principal

 top edit protocols ospf
 up
 up 2
 exit

-- ejecutar un comando como "show interfaces terse" desde modo edición

[edit]
lmoreno@miSRX# run show interfaces terse

Manejo de configuraciones

-- Copiar configuraciónes desde un texto que se guardadá en el portapapeles se tienen las siguientes opciones

 load merge - Útil cuando estás agregando una nueva sección a la configuración existente. Si la configuración existente contiene enunciados que están en conflicto, los enunciados que vengan de la configuración que se esta pegando, sobreescribiran la configuaración actual.
 load override - Reemplaza toda la configuración actual, con la nueva configuracion

-- Para compiar configuración desde un archivo de texto al portapapeles, útil cuando se copia configuración guardada como backup en un archivo de texto o bien de un equipo a otro y se hace un restore, las opciones que hay son merge para mezclar la configuración actual con la que se va a copiar

 lmoreno@miSRX> configure

Entering configuration mode

 [edit]
 lmoreno@miSRX# load merge terminal
 [Type ^D at a new line to end input]


Al finalizar la copia del texto de configuración presionar

 CTRL+D y

-- Aplicar cambios y salir del modo configuración

 commit and-quit

-- comparar cambios que no se han aplicado con un commit,

 show | compare rollback 0
 show | compare

-- Para salir desechando los cambios

 rollback 0

(se puede cambiar el número de rollback para compararlo con otras configuraciónes)

-- Aplicar cambios y regresar a la configuración anterior si no se confirma, es útil cuando se quiere tener la seguridad que los cambios no afectarán la producción o no se perderá acceso administrativo al firewall, si estás configurando el firewall remotamente y el cambio que acabas de realizar te podría dejar sin acceso. En este ejemplo son 10 minutos pero puede ser de 1 hasta 65535 (poco más de 45 días)

 [edit]
 lmoreno@miSRX# commit confirmed 10

si al pasar los minutos especificados en el comando anterior no perdiste la conexión, quiere decir que tus cambios están correctos (en este caso 10) para confirmar el cambio y sean guardados teclear el comando:

 commit

o también

 commit check

-- Para buscar errores en la operación commit ver los detalles de lo que esta fallando

 commit | display detail

-- Para poner un comentario al guardar la configuración y tener una mejor referencia para futuras consultas

 commit comment "Esta config es la buena"

-- Ver las configuraciones almacenadas o los rollbacks almacenados

 lmoreno@miSRX> show system commit

-- salir del modo configuración sin guardar los cambios

 rollback

-- Para recuperar una configuración anterior almacenada en los rollback, por ejemplo para recuperar el rollback número 6 y guardar los cambios y salir

 [edit]
 lmoreno@miSRX# rollback 6
 load complete
 [edit]

lmoreno@miSRX# commit and-quit

-- Para guardar el número máximo de archivos en flash y rollback

 [edit]
 lmoreno@miSRX# set system max-configuration-rollbacks 49
 [edit]
 lmoreno@miSRX# set system max-configurations-on-flash 49

-- Guardar configuración en un servidor remoto mediante scp para hacer un respaldo backup, en modo de configuración teclear el comando: save scp://usuario@host/ruta/nombrearchivo ejemplo:

 [edit]
 lmoreno@miSRX# save scp://lmoreno@192.168.16.20/home/lmoreno/junosbck/200902221638.config
 lmoreno@192.168.16.20's password:

tempfile 100% 4075 4.0KB/s 00:00 Wrote 176 lines of configuration to 'scp://lmoreno@192.168.16.20/home/lmoreno/junosbck/201002221638.config'

   La configuración se guarda en texto claro en el destino lo cual es útil para revisarla pero tambien es inseguro, así que donde guardes la configuración debe ser un recurso que asegures para evitar que tus configuraciones esten expuestas.

-- Guarda la configuración de rescate para que pueda ser usada en un futuro,

request system configuration rescue save

-- Borra la configuración actual de de rescate

request system configuration rescue delete

-- Automatizar respaldos (backups), el equipo enviará el respaldo a un servidor SCP remoto automáticamente cada vez que se aplique un commit, tambien puede ser modificado para usar ftp en lugar de scp, tan solo con cambiar scp por ftp en el comando.

 lmoreno@miSRX> configure
 Entering configuration mode
 [edit]
 lmoreno@miSRX# edit system archival
 [edit system archival]
 lmoreno@miSRX# set configuration archive-sites "scp://lmoreno@192.168.16.59/home/lmoreno/junosbckauto" password miPassw0rd!

The authenticity of host '192.168.16.50 (192.168.16.50)' can't be established. RSA key fingerprint is c0:30:25:65:33:41:77:76:25:7d:66:e9:9d:4f:23:f7. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.16.50' (RSA) to the list of known hosts.

 [edit system archival]
 lmoreno@miSRX# set configuration transfer-on-commit
 [edit system archival]
 lmoreno@miSRX# commit and-quit
  commit complete
 Exiting configuration mode

-- Para monitorear las transferencias de configuración automáticas

 lmoreno@miSRX> show log messages | match transfer

-- ver interfaces en modo resumido

 show interface terse

-- ver el log

 sh log messages

-- monitorear el log solo los ultimos eventos como tail en linux

 monitor start filename
 monitor start messages

- para detener

 monitor stop messages

-- hacer filtros a los comandos log

 show log messages | match "support info"
 show log messages | find "Apr 1 09:" | match error
 show log messages | match "error|kernel|panic"
 show log messages | match ge-0/0/0 | match snmp

-- Crear usuario de modalidad operador con un password simple de texto

 [edit]
 lmoreno@miSRX# set system login user nuevousuario uid 2002 class operator authentication plain-text-password
 New password:
 Retype new password:

-- ver los permisos de los usuarios

 sh config system login


-- Cambiar el password de un usuario

 [edit]
 lmoreno@miSRX# set system login user lmoreno authentication plain-text-password
 New password:
 Retype new password:

-- conectarse por ftp, cambiarse al folder local /cf/var/tmp y descargar el archivo de firmware junos-srxsme-9.6R1.13-domestic.tgz

 ftp 192.168.16.1
 usuario
 password
 lcd /var/tmp 

para cambiar a /cf/var/tmp get <nombredelarchivo> ejemplo

 get junos-srxsme-9.6R1.13-domestic.tgz


-- Crear zona y agregar interface a zona agregar interfaz - agregar interfaces

 set security zones security-zone untrust interfaces fe-0/0/6

-- Crear una ruta estática hacia un proveedor de internet ISP en este caso 8.8.8.8 con mascara de 29 bits,

 [edit routing-options]
 lmoreno@miSRX# set static route 0/0 next-hop 2.1.1.1
   0/0 = 0.0.0.0/0 o cualquier IP


-- Cambiar velocidad y configuración duplex, en modo configuración

 set interfaces ge-0/0/0 link-mode half-duplex
 set interfaces ge-0/0/0 speed 100m

-- Habilitar ping para una interface en la zona trust

 [edit]
 lmoreno@miSRX# set security zones security-zone trust interfaces ge-0/0/0 host-inbound-traffic system-services ping

-- Ajustar la hora del sistema

 lmoreno@miSRX> configure
 Entering configuration mode
 [edit]
 lmoreno@miSRX# edit system
 [edit system]
 lmoreno@miSRX# set time-zone America/Mexico_City
 [edit system]
 lmoreno@miSRX# run set date 201002231712.25    (aquí va en formato YYYYMMDDhhmm.ss)
 Tue Feb 23 17:12:25 CST 2010
 [edit system]
 lmoreno@miSRX# commit
 commit complete

-- Ver la hora actual del sistema y el tiempo que ha estado operando

 lmoreno@miSRX> show system uptime

-- El poder de Junos para filtrar información es excelente por ejemplo para ver los logs y filtrar los resultados por ejemplo ver quien apagó el equipo o quién intento entrar con un usuario o password inválido

 lmoreno@miSRX> show log messages | match power-down
 lmoreno@miSRX> show log messages | match "Failed password"

-- Es posible usar terminos y combinarlos para tener opciones tipo AND por ejemplo para buscar los eventos del día 23 de febrero y que tienen que ver con passwords fallidos y que son de una IP especifica y que intentaron entrar con usuario root

 lmoreno@miSRX> show log messages | find "Feb 23" | match 192.168.16.59 | match root

-- Para opciones de tipo OR por ejemplo ver los mensajes que incluyan las palabras error o kernel o panic

 lmoreno@miSRX> show log messages | match "error|kernerl|panic"

-- Para monitorear los mensajes en tiempo real

 lmoreno@miSRX> monitor start messages

lmoreno@miSRX>

      • messages ***

Feb 23 18:20:34 miSRX sshd[4199]: Failed password for sandwich from 192.168.16.59 port 13170 ssh2 Feb 23 18:20:39 miSRX sshd[4199]: Failed password for sandwich from 192.168.16.59 port 13170 ssh2

Para detener e iniciar salida syslog presionar Esq + q

-- Limpiar log o tracefile

 clear log nombre-de-archivo

-- Para borrar archivo log o tracefile

 file delete nombre-de-archivo

-- Habilitar SNMP para monitoreo

 lmoreno@miSRX> configure

Entering configuration mode

 [edit]
 lmoreno@miSRX# edit snmp
 [edit snmp]
 lmoreno@miSRX# set description "miSRX"
 [edit snmp]
 lmoreno@miSRX# set location "Site Principal"
 [edit snmp]
 lmoreno@miSRX# set contact "Luis Moreno x15005"
 [edit snmp]
 lmoreno@miSRX# set community MiComunidad authorization read-only clients 192.168.16.64/32
 [edit snmp]
 lmoreno@miSRX# set trap-group miGrupodetraps version v2 categories chassis link startup authentication configuration
 [edit snmp]
 lmoreno@miSRX# set trap-group miGrupodetraps targets 192.168.16.64

La configuración final quedaría así:

[edit snmp]
lmoreno@miSRX# show
description miSRX;
location "Site Principal";
contact "Luis Moreno x15005";
community MiComunidad {
    authorization read-only;
    clients {
        192.168.16.64/32;
    }
}
trap-group miGrupodetraps {
    version v2;
    categories {
        authentication;
        chassis;
        link;
        startup;
        configuration;
    }
    targets {
        192.168.16.64;
    }
}

-- Ver temperatura estado de ventiladores

show chassis environment

-- Ver temperatura utilización de memoria, CPU

show chassis routing-engine

-- Ver detalles sobre los componentes de hardware, número de serie, etc.

show chassis hardware

-- Instalar licencias directamente desde servidores Juniper

request system license update

-- Ver el estado de las licencias, licencias instaladas

show system licence

-- Ver el número de sesiones máximo para el dispositivo

lmoreno@miSRX> show security flow session summary


-- Ver la tabla arp

show arp


-- Eliminar el acceso al cli mediante telnet por ser un protocolo inseguro, en modo de configuración:

delete security zones security-zone trust interfaces ge-0/0/0 host-inbound-traffic system-services telnet


Security Policies / Políticas de Firewall

-- Ver configuración de la política de la zona untrust a la zona trust

show security policies detail from-zone untrust to-zone trust


-- Configurar Horarios para ser aplicados a políticas, por ejemplo se puede crear un scheduler para que durante horas de oficina no se pueda acceder a sitios de redes sociales. Para configurar un scheduler (horario) empleando el CLI:

1.- Para crear un horario que va de las 8 AM a las 9 PM todos los días de la semana, que inicia en Marzo 1 2010 hasta Abril 1, 2011, exepto sábado y domingo. lmoreno@miSRX# set schedulers scheduler horario1 start-date 2010-03-01.08:00 stop-date 2011-04-01.21:00 lmoreno@miSRX# set schedulers scheduler horario1 saturday exclude lmoreno@miSRX# set schedulers scheduler horario1 sunday exclude

2.- El siguiente comando asocia el schedule a la política, permitiendo acceso durante horas de oficina. lmoreno@miSRX# set security policies from-zone trust to-zone untrust policy horas-de-oficina scheduler-name horario1

FIN Security Policies / Políticas de Firewall

Screen Options

-- Ver las opciones de SCREEN configuradas en el objeto untrust-screen

 lmoreno@miSRX> show security screen ids-option untrust-screen

-- Ver las estadísticas de SCREEN en la interfaz untrust

lmoreno@miSRX> show security screen statistics zone untrust

-- Ver en el log los mensajes que coinciden con las opciones de SCREEN

lmoreno@miSRX> show log messages | match RT_SCREEN

FIN SCREEN Options

Intrusion Detection and Prevention (IDP)

-- Para poder descargar actualizaciones de Juniper es necesario contar con una licencia válida, para checar las licencias instaladas en el equipo

 lmoreno@miSRX> show system license

-- Para descargar las actualizaciones de IDP una vez que se confirmó la existencia de una licencia

lmoreno@miSRX> request security idp security-package download full-update

-- Verificar el estado de la transferencia

lmoreno@miSRX> request security idp security-package download status

-- Para instalar una base de datos de IDP que se descargó

lmoreno@miSRX> request security idp security-package install

-- Verificar el estado de la instalación

lmoreno@miSRX> request security idp security-package install status

-- Ver la versión de la base de datos de IDP

lmoreno@miSRX> show security idp security-package-version

-- Ver la versión de la base de datos de IDP del servidor de Juniper, útil para verificar conectividad con el servidor y comparar contra la versión instalada

lmoreno@miSRX> request security idp security-package download check-server

-- Instalar la política "Recommended IDP policy" que es una política genérica que puede ser útil en la mayoría de los casos

lmoreno@miSRX> request security idp security-package download policy-templates

Will be processed in async mode. Check the status using the status checking CLI

-- Verificar el estado de la descarga

lmoreno@miSRX> request security idp security-package download status

In progress:downloading file ...templates.xml.gz

lmoreno@miSRX> request security idp security-package download status

Done;Successfully downloaded from(https://services.netscreen.com/cgi-bin/index.cgi). Version info:2

-- Instalar el template de política

lmoreno@miSRX> request security idp security-package install policy-templates

Will be processed in async mode. Check the status using the status checking CLI

-- Verificar el estado de la instalación del template

lmoreno@miSRX> request security idp security-package install status

Done;policy-templates has been successfully updated into internal repository

    (=>/var/db/scripts/commit/templates.xsl)!

-- Activar el script de template y aplicar los cambios con commit

lmoreno@miSRX> edit

Entering configuration mode

[edit]
lmoreno@miSRX# set system scripts commit file templates.xsl
[edit]
lmoreno@miSRX# commit

-- Verificar si el policy template existe en la configuración

[edit]
lmoreno@miSRX# edit security idp
[edit security idp]
lmoreno@miSRX# set active-policy ?
Possible completions:
  <active-policy>      Set active policy
  -
  Recommended

-- Configurar la política de IDP Recommended como la política activa

[edit security idp]
lmoreno@miSRX# set active-policy Recommended

-- Desactivar el "commit script" para que no sobre-escriba las modificaciones que se le hagan al template.

[edit system scripts commit]
lmoreno@miSRX# deactivate file templates.xsl

-- Ver el contenido o las políticas del template Recommended

[edit security idp]
lmoreno@miSRX# show idp-policy Recommended

-- Para eliminar una regla del template Recommended (u otro que se desee) por ejemplo la regla 5

[edit security idp]
lmoreno@miSRX# delete idp-policy Recommended rulebase-ips rule 5

-- Aplicar idp a política existente

[edit security policies from-zone untrust to-zone miDMZ policy dst-nat-web]
lmoreno@miSRX# set then permit application-services idp
[edit security policies from-zone untrust to-zone miDMZ policy dst-nat-web]
lmoreno@miSRX# commit
commit complete

-- Monitorear la operación del IDP

lmoreno@miSRX> show security policies policy-name dst-nat-web detail
Policy: dst-nat-web, action-type: permit, State: enabled, Index: 8
  Sequence number: 1
  From zone: untrust, To zone: dsDMZ
  Source addresses:
    any: 0.0.0.0/0
  Destination addresses:
    webserver: 10.2.77.2/32
  Application: junos-http
    IP protocol: tcp, ALG: 0, Inactivity timeout: 1800
      Source port range: [0-0]
      Destination port range: [80-80]
 Intrusion Detection and Prevention: enabled
  Unified Access Control: disabled

-- Monitorear el status (estado) del IDP y estadísticas

lmoreno@miSRX> show security idp status
Status of IDP: s0,      Up since: 2010-03-16 12:06:06 CST (1w0d 07:41 ago)
Packets/second: 0               Peak: 0 @ 2010-03-16 12:06:06 CST
KBits/second  : 0               Peak: 0 @ 2010-03-16 12:06:06 CST
Latency (microseconds): [min: 0] [max: 0] [avg: 0]
Packet Statistics:
 [ICMP: 0] [TCP: 0] [UDP: 0] [Other: 0]
Flow Statistics:
  ICMP: [Current: 0] [Max: 0 @ 2010-03-16 12:06:06 CST]
  TCP: [Current: 0] [Max: 0 @ 2010-03-16 12:06:06 CST]
  UDP: [Current: 0] [Max: 0 @ 2010-03-16 12:06:06 CST]
  Other: [Current: 0] [Max: 0 @ 2010-03-16 12:06:06 CST]
Session Statistics:
 [ICMP: 0] [TCP: 0] [UDP: 0] [Other: 0]
  Policy Name : Recommended v0
  Running Detector Version : 10.3.160100209

-- Mostrar los contadores del IDP

lmoreno@miSRX> show security idp counters ?
Possible completions:
  application-identification  Show Application Identification counters
  dfa                  Show IDP DFA counters
  flow                 Show IDP Flow counters
  ips                  Show IPS counters
  log                  Show IDP Log counters
  packet               Show IDP Packet counters
  policy-manager       Show IDP Policy counters
  tcp-reassembler      Show IDP Reassembler counters

-- Monitorear el uso de memoria del IDP

lmoreno@miSRX> show security idp memory
   IDP data plane memory statistics:
 Total IDP data plane memory : 188 MB
                        Used : 7 MB ( 7168 KB )
                   Available : 181 MB ( 185344 KB )

-- Monitoreo mediante logs, es posible enviar un log si ocurre un ataque y el IDP lo detecte con el comando

[edit security idp idp-policy Recommended rulebase-ips rule 1]
lmoreno@miSRX# set then notification log-attacks
[edit security idp]
lmoreno@miSRX# set traceoptions flag all
    • Los logs se guardan en /var/log/idpd

-- Para ver los logs de idp

lmoreno@miSRX> show log idpd

-- Para ver los grupos de ataques predeterminados (predefined attack group) en el IDP

lmoreno@miSRX>  file show /var/db/idpd/sec-repository/attack-group.list

-- Para filtrar un un grupo en especifico por ejemplo P2P ejecuta el siguiente comando

lmoreno@miSRX> file show /var/db/idpd/sec-repository/attack-group.list | grep p2p | no-more

FIN Intrusion Detection and Prevention (IDP)


Web Filtering

Configurar Integrated Web Filtering con whitelist y blacklist y perfil por default junos-wf-cpa-default

Con esta configuración configurarás tu SRX para que puedas emplear el Web Filtering integrado con SurfControl y podrás emplear listas blancas para dar acceso a páginas que desees excluir del filtrado e incluir otras que no esten siendo filtradas pero por su naturaleza no te convenga tenerlas habilitadas.

Los comandos para objetos personalizados de Web Filtering son:

Para configurar un Web Filtering local usando el CLI, primero debes crear objetos personalizados (custom objects)

a) Configura un URL pattern list (lista de patrones URL) creando un nombre de lista (list name) y agregando valores como se muestra a continuación.

[edit]
lmoreno@miSRX# set security utm custom-objects url-pattern lista01-url value [1]
lmoreno@miSRX# set security utm custom-objects url-pattern lista02-url value [2]

Se pueden usar wildcards como sigue: \*\.[]\?* y debes preceder todos los wildcards con http:// Solo puedes usar "*" si se encuentra al inicio del URL y esta seguido por un punto "." y solo puedes usar "?" si se encuentra al final del URL

La siguiente sintaxis es soportada: http://*.juniper.net, http://www.juniper.ne?, http://www.juniper.n?? Lo siguiente no es soportado: *.juniper.net, www.juniper.ne?, http://*juniper.net, http://*

b) Configurar una lista de categoría URL personalizada empleando el pattern list que se creó

[edit]
lmoreno@miSRX# set security utm custom-objects custom-url-category categoria-url01 value lista01-url
lmoreno@miSRX# set security utm custom-objects custom-url-category categoria-url02 value lista02-url

Ahora que los objetos personalizados han sido creados, puedes configurar el perfil de Web filtering llamado surf-control-integrated

1.- Si estás usando las categorias whitelist y blacklist que se incluyen, selecciona esas categorías globales. Estas son las primeras categoría que tanto la integrated, redirect y local emplean. Si no se encuentra coincidencia en estas listas se envía el URL al servidor de SurfControl.

Ejemplos para agregar al Withelist y Blacklist:

[edit]
lmoreno@miSRX# set security utm feature-profile web-filtering url-blacklist categoria-url01
lmoreno@miSRX# set security utm feature-profile web-filtering url-whitelist categoria-url02

2.- Selecciona surf-control-integrated como tu Web Filtering engine como sigue:

[edit]
lmoreno@miSRX# set security utm feature-profile web-filtering surf-control-integrated

3.- Establece el tamaño del cache para el perfil surf-control-integrated (500 Kb es el default)

[edit]
lmoreno@miSRX# set security utm feature-profile web-filtering surf-control-integrated cache size 1000

4.- Establece el timeout (tiempo de vida) para el cache máximo 1800 segundos

[edit]
lmoreno@miSRX# set security utm feature-profile web-filtering surf-control-integrated cache timeout 1800

5.- Define la política UTM para HTTP (web-filter) y anexa esta política al perfil predefinido junos-wf-cpa-default

[edit]
lmoreno@miSRX# set security utm utm-policy web-filter web-filtering http-profile junos-wf-cpa-default

6.- Aplica la política UTM a la política de la zona trust hacia la zona untrust y establece los servicios que se permitiran

[edit]
lmoreno@miSRX# set security policies from-zone trust to-zone untrust policy web-filter match source-address any
lmoreno@miSRX# set security policies from-zone trust to-zone untrust policy web-filter match destination-address any
lmoreno@miSRX# set security policies from-zone trust to-zone untrust policy web-filter match application junos-http
lmoreno@miSRX# set security policies from-zone trust to-zone untrust policy web-filter then permit application-services utm- policy web-filter
[edit security utm]
lmoreno@miSRX# show
custom-objects {
    url-pattern {
        lista02-url {
            value [ http://www.penthouse.com ];
        }
        lista01-url {
            value http://www.playboy.com;
        }
    }
    custom-url-category {
        categoria-url01 {
            value lista01-url;
        }
         categoria-url02 {
            value lista02-url;
        }
    }
}
feature-profile {
    web-filtering {
        url-whitelist categoria-url02;
        url-blacklist categoria-url01;
        type surf-control-integrated;
        surf-control-integrated {
            cache {
                timeout 1800;
                size 1000;
            }
        }
    }
}
utm-policy web-filter {
    web-filtering {
        http-profile junos-wf-cpa-default;
    }
}


lmoreno@miSRX# show policies from-zone trust to-zone untrust

policy web-filter {
    match {
        source-address any;
        destination-address any;
        application junos-http;
    }
    then {
        permit {
            application-services {
                utm-policy web-filter;
            }
        }
    }
}

Monitorear el Web Filtering -- Para ver el estado del web filtering

lmoreno@miSRX> show security utm web-filtering status
 UTM web-filtering status:
    Server status: SC-CPA server up

-- Para ver las estadísticas del web filtering

lmoreno@miSRX> show security utm web-filtering statistics
 UTM web-filtering statistics:
    Total requests:                  646
    white list hit:                  77
    Black list hit:                  4
    Queries to server:               516
    Server reply permit:             486
    Server reply block:              30
    Custom category permit:          0
    Custom category block:           0
    Cache hit permit:                13
    Cache hit block:                 36
    Web-filtering sessions in total: 4000
    Web-filtering sessions in use:   1
    Fall back:                       log-and-permit           block
          Default                                 0               0
          Timeout                                 0               0
     Connectivity                                 0               0
Too-many-requests                                 0               0


Solución de problemas de Web Filtering (Troubleshooting)

Las siguientes opciones se emplean para solucionar problemas de web filtering:

lmoreno@miSRX# set security traceoptions flag all
lmoreno@miSRX# set security utm traceoptions flag all
lmoreno@miSRX# set security utm application-proxy traceoptions flag all
lmoreno@miSRX# set security utm feature-profile web-filter traceoptions flag all

Las opciones de trace o rastreo se pueden ver en el siguiente log:

   lmoreno@miSRX# show log utmd-wf

-- Para ver la configuración del perfil por default para web filtering, ejecutar el siguiente comando

lmoreno@miSRX> show configuration groups junos-defaults security utm feature-profile web-filtering

-- También es posible configurar un perfil personalizado con diferente comportamiento que el default y quedaría más o menos de la siguiente forma:

[edit security utm]
lmoreno@miSRX# show
custom-objects {
    url-pattern {
        negra-lista01 {
            value [ http://*.facebook.com http://*.penthouse.com ];
        }
        blanca-lista01 {
            value http://www.playboy.com;
        }
    }
    custom-url-category {
        blanca-categoria01 {
            value blanca-lista01;
        }
        negra-categoria01 {
            value negra-lista01;
        }
    }
}
feature-profile {
    web-filtering {
        url-whitelist blanca-categoria01;
        url-blacklist negra-categoria01;
        type surf-control-integrated;
        surf-control-integrated {
            cache {
                timeout 1800;
                size 1000;
            }
            profile bloqueo-seleccionado {
                category {
                    Adult_Sexually_Explicit {
                        action block;
                    }
                    Advertisements {
                        action block;
                    }
                    Criminal_Skills {
                        action block;
                    }
                    Drugs_Alcohol_Tobacco {
                        action block;
                    }
                    Gambling {
                        action block;
                    }
                    Hacking {
                        action block;
                    }
                    Hate_Speech {
                        action block;
                    }
                    Personals_Dating {
                        action log-and-permit;
                    }
                    Remote_Proxies {
                        action block;
                    }
                    Sex_Education {
                        action log-and-permit;
                    }
                    Violence {
                        action block;
                    }
                    Weapons {
                        action block;
                    }
                }
                default permit;
                custom-block-message "El sitio solicitado no parece ser un sitio relacionado al negocio, favor de contactar a soporte técnico ext 199";
            }
        }
    }
}
utm-policy web-filter {
    web-filtering {
        http-profile junos-wf-cpa-default;
    }
}
utm-policy wf-bloqueo-personalizado {
    web-filtering {
        http-profile bloqueo-seleccionado;
    }
}

FIN Web Filtering

Security NAT

--Destination NAT con PAT - como un port forwarding o mapeo de puertos en SRX210 para publicar un servidor Web al mundo exterior

IP pública: 2.1.1.100 puerto 80 IP interna: 10.1.1.100 puerto 8000

set security nat proxy-arp interface ge-0/0/0.0 address 2.1.1.100
set security nat destination pool dnat-pool-web address 10.1.1.100 port 8000
set security nat destination rule-set dst-nat-web from zone untrust
set security nat destination rule-set dst-nat-web rule r1 match destination-address 2.1.1.100
set security nat destination rule-set dst-nat-web rule r1 then destination-nat pool dnat-pool-web
set security zones security-zone trust address-book address webserver 10.1.1.100
set applications application http-8000 protocol tcp destination-port 8000
set security policies from-zone untrust to-zone miDMZ policy dst-nat match source-address any destination-address webserver application http-8000
set security policies from-zone untrust to-zone miDMZ policy dst-nat then permit

> así se ve la configuración desde modo de edición

--> Destination NAT pool y rule-sets

[edit security nat destination]
lmoreno@miSRX# show
pool dnat-pool-web {
    address 10.1.1.100/32 port 8000;
}
rule-set dst-nat-web {
    from zone untrust;
    rule r1 {
        match {
            destination-address 2.1.1.100/32;
        }
        then {
            destination-nat pool dnat-pool-web;
        }
    }
}


--> Proxy-arp

[edit security nat]
lmoreno@miSRX# show

...Configuración extra omitida...

}
proxy-arp {
    interface ge-0/0/0.0 {
        address {
            2.1.1.100/32;
        }
    }
}


--> Aplicación en puerto 8000

[edit applications]
lmoreno@miSRX# show
application http-8000 {
    protocol tcp;
    destination-port 8000;
}

--> Addressbook en zona miDMZ

[edit security zones security-zone miDMZ]
lmoreno@miSRX# show
address-book {
    address webserver 10.1.1.100/32;
}


--> Política

[edit security policies from-zone untrust to-zone miDMZ]
lmoreno@miSRX# show
policy dst-nat-web {
    match {
        source-address any;
        destination-address webserver;
        application http-8000;
    }
    then {
        permit;
    }
}


FIN Destination NAT con PAT - como un port forwarding o mapeo de puertos en SRX210 para publicar un servidor Web al mundo exterior


-- Crear una nueva aplicación protocolo tcp puerto 22 y un timeout de 3600 segundos

lmoreno@miSRX> edit
lmoreno@miSRX# set applications application my-ssh protocol tcp
lmoreno@miSRX# set applications application my-ssh destination-port 22
lmoreno@miSRX# set applications application my-ssh inactivity-timeout 3600  
lmoreno@miSRX> edit
lmoreno@miSRX# set applications application RDP protocol tcp
lmoreno@miSRX# set applications application RDP destination-port 3389


-- Ver las aplicaciones por default o "application sets" por ejemplo junos-http, junos-ssh, junos-https, junos-telnet, junos-ftp, etc.

lmoreno@miSRX> show configuration groups junos-defaults applications
Source NAT para salida a Internet

-- Para realizar un source NAT (para que las PCs de la red interna tengan salida a Internet) de la zona trust a la zona untrust ejecuta los siguientes 4 comandos, para que el NAT funcione ya deberan estar creadas las zonas y deberá existir una ruta estática hacia el proveedor de Internet.

lmoreno@miSRX> configure
lmoreno@miSRX# set security nat source rule-set interface-nat from zone trust
lmoreno@miSRX# set security nat source rule-set interface-nat to zone untrust
lmoreno@miSRX# set security nat source rule-set interface-nat rule regla1 match source-address 0.0.0.0/0 destination-address 0.0.0.0/0
lmoreno@miSRX# set security nat source rule-set interface-nat rule regla1 then source-nat interface

FIN - Source NAT para salida a Internet

-- Ver configuración de un pool

lmoreno@miSRX> show security nat destination pool <NombreDelPool>

-- Ver configuración de la política y cuantas veces ha sido traducida

lmoreno@miSRX> show security nat destination rule all
lmoreno@miSRX> show security nat source rule all

-- Ver configuración del destination nat y cuantas veces ha sido traducida

lmoreno@miSRX> show security nat destination summary

-- Monitorear las sesiones del destination nat con IP pública 2.1.1.100

lmoreno@miSRX> show security flow session destination-prefix 2.1.1.100

FIN Security NAT

Ruteo

-- Ver las rutas actuales (tabla de ruteo)

show route

-- Ver por que ruta sale hacia una dirección en especifico

show route 192.168.16.1

-- Ver una ruta que coincida exactamente

show route 192.168.16.1 exact

-- Ver mayor información de la ruta en cuestión

show route 192.168.16.1 extensive

-- Ver el forwarding table

show route forwarding-table

-- Descripción de registros del forwarding table

dest: Direcciones remotas son directamente alcanzables a través de una interface
intf: Instalada como resultado de configurar una interface
perm: Rutas instaladas por el kernel cuando la tabla de ruteo inicializa
user: Rutas instaladas por el proceso routing protocol como resultado de una configuración

-- Descripción de tipos asociados con next-hops (siguiente salto)

bcst: Broadcast
dscd: Discard - Descarta silenciosamente sin enviar un paquete ICMP unreachable (inalcanzable)
hold: En espera - Next hop esta esperando resolver entre unicast y multicast
locl: Local - Dirección local en una interface
msct: Wire multicast next hop (limitado a la LAN)
mdsc: Multicast Discard - Rechazo Multicast
recv: Receive - Recepción, recibir
rjct: Reject - Descarta y envía un mensaje ICMP unreachable
ucst: Unicast
ulst: Unicast List - Lista de Unicast next hops empleados cuando se configura load balancing (balanceo de cargas)

-- Ver instancias de ruteo configuradas

show route instance

-- Instancias de ruteo (routing instances) definidas por el usuario

FIN Ruteo


Troubleshooting

   trust-zone   10.1.2.1/24     1.1.1.3/24     untrust-zone
        PC==========DUT==========SERVER
                        ge-0/0/1     ge-0/0/0

Flow debbuging se puede habilitar como un archivo de opciones de rastreo en JUNO-ES. El archivo de opción de rastreo se puede ver más adelante o en tiempo real.

Un ejemplo de comandos para habilitar la depuración y crear un archivo de opción de rastreo. El archivo se almacena en el directorio /var/logs/

[edit]
root@miSRX# set security flow traceoptions file flow-trace
root@ miSRX# set security flow traceoptions flag all

En este ejemplo, “flow-trace” es el nombre del archivo

Para ver el archivo

[edit]
root@miSRX# run file show /var/log/flow-trace

o

run show log flow-trace

Para verlo en tiempo real

[edit]
root@miSRX# monitor start flow-trace

Para limpiar los logs

root@miSRX# run clear log flow-trace


Creando filtros de flow:

Los filtros pueden ser creados para hacer match con: 1. Dirección IP origen 2. Puerto origen 3. Dirección IP destino 4. Puerto destino 5. Protocolo 6. interfase


Configurando el filtro

[edit]
root@miSRX#
set security flow traceoptions packet-filter f0 destination-port 80 destination-prefix 1.1.1.1/32

En este ejemplo "f0" es el nombre del filtro

Manejo de logs

-- Para copiar un archivo de log a otro equipo fuera del Firewall

root@miSRX> start shell
root@miSRX% scp miflow* lmoreno@192.168.16.20:/home/lmoreno/logsSRX
lmoreno@192.168.16.20's password:
miflow
100%   56KB  56.5KB/s   00:00 
miflow.0.gz
100% 4325     4.2KB/s   00:00
miflow.1.gz
100% 9855     9.6KB/s   00:00
root@miSRX%

Como se puede apreciar se copiaron tres archivos a un host remoto en este caso con la IP: 192.168.16.20

-- Ver el espacio usado en el dispositivo SRX

root@miSRX> show system storage detail
Filesystem       1024-blocks       Used      Avail   Capacity   Mounted on
/dev/da0s1a           919988     242874     603516        29%  /
devfs                      1          1          0       100%  /dev
devfs                      1          1          0       100%  /dev/
/dev/md0              488002     488002          0       100%  /junos
/cf                   919988     242874     603516        29%  /junos/cf
devfs                      1          1          0       100%  /junos/dev/
procfs                     4          4          0       100%  /proc
/dev/bo0s1e            25004        126      22878         1%  /config
/dev/md1              171862      13794     144320         9%  /mfs
/dev/da0s1f            62316       1082      56250         2%  /cf/var/log
/cf/var/jail          919988     242874     603516        29%  /jail/var
devfs                      1          1          0       100%  /jail/dev
/dev/md2               40110          4      36898         0%  /mfs/var/run/utm

-- Limpiar logs

root@miSRX> request system storage cleanup

List of files to delete:

        Size Date         Name
  355B Mar 17 19:08 /cf/var/jail/tmp/events-table.txt
   70B Mar 26 18:16 /cf/var/jail/tmp/jweb-users.xml
  113B Mar 22 18:05 /cf/var/jail/tmp/sess_c7eabedffaf83185500872d4b9d80b74df0249ab
 10.6K Mar 16 17:33 /cf/var/log/flow-trace.0.gz
 12.0K Mar 16 17:32 /cf/var/log/flow-trace.1.gz
  173B Mar 23 19:03 /cf/var/log/idpd.addver
 1764B Mar 19 22:50 /cf/var/log/idpd_err.20100319
  588B Mar 23 19:01 /cf/var/log/idpd_err.20100323
  180B Feb 16 03:19 /cf/var/log/idpinfo_err.20100216
  180B Feb 17 01:33 /cf/var/log/idpinfo_err.20100217
  180B Mar 17 19:12 /cf/var/log/idpinfo_err.20100317
  360B Mar 23 19:50 /cf/var/log/idpinfo_err.20100323
  121B Mar 29 16:57 /cf/var/log/interactive-commands.0.gz
 9278B Mar 29 16:57 /cf/var/log/messages.0.gz
127.6K Feb 22 20:00 /cf/var/log/messages.1.gz
138.1K Feb 22 10:00 /cf/var/log/messages.2.gz
 4325B Mar 29 16:10 /cf/var/log/miflow.0.gz
 9855B Mar 29 16:08 /cf/var/log/miflow.1.gz
 3403B Mar 16 12:05 /cf/var/tmp/cleanup-pkgs.log
 36.4K Mar 17 19:08 /cf/var/tmp/event_tags.php
124.0K Feb 22 21:13 /cf/var/tmp/gres-tp/env.dat
    0B Feb 16 00:51 /cf/var/tmp/gres-tp/lock
    4B Mar 16 12:06 /cf/var/tmp/idp_license_info
   76B Mar 16 12:07 /cf/var/tmp/krt_gencfg_filter.txt
 1424B Mar 16 12:07 /cf/var/tmp/sampled.pkts
    0B Feb 16 00:49 /cf/var/tmp/spu_kmd_init
Delete these files ? [yes,no] (no) yes

FIN Manejo de logs


Configuración SNMP

-- Configuración de SNMP en Juniper SRX La siguiente configuración configura SNMP para que solo envié paquetes a la IP 192.168.16.64 y estos paquetes son solo de lectura y la interfaz autorizada es la ge-0/0/0

[edit]
lmoreno@miSRX# set snmp location CDCIII
lmoreno@miSRX# set snmp contact "luis.moreno@docsolutions.com"
lmoreno@miSRX# set snmp community DSSOL3 authorization read-only
lmoreno@miSRX# set security zones security-zone trust interfaces ge-0/0/0 host-inbound-traffic system-services snmp
lmoreno@miSRX# set snmp community DSSOL3 clients 192.168.16.64
lmoreno@miSRX# set snmp community DSSOL3 clients 0.0.0.0/0 restrict

-- Se pueden realizar varias consultas a la base snmp desde el mismo dispositivo con los siguientes comandos:

lmoreno@miSRX> show snmp mib walk jnxMibs 
lmoreno@miSRX> show snmp mib walk jnxOperatingDescr
jnxOperatingDescr.1.1.0.0 = midplane
jnxOperatingDescr.4.1.0.0 = SRX210 Chassis fan
jnxOperatingDescr.7.1.0.0 = FPC: FPC @ 0/*/*
jnxOperatingDescr.8.1.1.0 = PIC: 2x GE, 6x FE, 1x 3G @ 0/0/*
jnxOperatingDescr.9.1.0.0 = Routing Engine
jnxOperatingDescr.9.1.1.0 = USB Hub

-- Desde Linux con el comando snmpwalk también es posible hacer consultas snmp, siempre y cuando la máquina Linux este autorizada en el SRX.

snmpwalk -v 2c -Ob -c public nombredelsrxaqui 1.3.6.1.4.1.2636.3

FIN Configuración SNMP


Manejo de procesos

Para reiniciar un proceso primero ver que procesos se están ejecutando con el comando

lmoreno@miSRX> show system processes extensive

Ahora filtraremos nuestro proceso especifico que deseamos reiniciar en este caso reiniciaremos el servicio utmd que es responsable de manejar el web filtering, IDS, etc. -- Ver un proceso especifico

lmoreno@miSRX> show system processes extensive | grep utmd

-- Reiniciar el proceso, primero se deberá emplear la opción gracefully para darle oportunidad al proceso de limpiar archivos, memoria, etc, en caso de que el proceso no pueda reiniciarse gracefully, usar immediately

lmoreno@miSRX> restart utmd gracefully
UTM Daemon started, pid 32840

-- En caso de que no quiera reiniciar usar

lmoreno@miSRX> restart utmd immediately

FIN Manejo de procesos

-- Reiniciar el equipo inmediatamente

lmoreno@miSRX> request system reboot at now