Firewall Fortigate: fundamentos y comandos CLI útiles

¿Por qué es importante optimizar un cortafuegos Fortigate?

Fortigate es uno de los dispositivos de seguridad más utilizados en entornos corporativos y redes empresariales. Sin embargo, muchos administradores lo configuran una sola vez y no revisan su estado ni ajustan su rendimiento de manera regular. Esto puede derivar en cuellos de botella, consumo innecesario de recursos o incluso vulnerabilidades.

Optimizar un cortafuegos Fortigate es crucial por varias razones:

  • Rendimiento: Fortigate, especialmente en modelos como el 40F o 60F, tiene recursos limitados. Una mala configuración puede saturar la CPU o la memoria y ralentizar toda la red.
  • Estabilidad: Ajustar los parámetros ayuda a reducir reinicios, bloqueos y caídas de servicios.
  • Seguridad: Al eliminar reglas innecesarias y mejorar políticas, el firewall puede actuar con mayor precisión frente a amenazas.
  • Visibilidad: Monitorizar el estado del sistema con comandos CLI permite detectar problemas antes de que impacten a los usuarios.
  • Automatización: Con optimización regular, puedes integrar scripts que mejoren el rendimiento sin intervención manual.

Comandos CLI útiles para monitorear y optimizar Fortigate

Estos comandos permiten consultar el estado del dispositivo, identificar procesos que consumen muchos recursos y revisar configuraciones activas:

1. Ver uso de CPU y memoria

get system performance top

Este comando te muestra los procesos activos, consumo de CPU, RAM y tasa de transferencia en tiempo real. Ideal para detectar saturaciones.

2. Estado general del sistema

Muestra la versión del firmware, el modelo del dispositivo, uptime, serial y más. Útil para auditorías rápidas

get system status

3. Revisión de sesiones activas

Te permite listar todas las sesiones activas, una herramienta clave para detectar conexiones sospechosas o excesivas.

diagnose sys session list

Automatizando la optimización de recursos en Fortigate 40F/60F

Este script crea una stitch de automatización compuesta por tres acciones que se ejecutan en secuencia, generalmente programadas durante la madrugada (por ejemplo, a medianoche), cuando el tráfico de red es mínimo. A continuación, analizamos cada bloque del script.

1. Finalizar procesos pesados: wad y reiniciar IPS Monitor

config system automation-action
edit "CLI_KILL_WAD_IPS"
set action-type cli-script
set script "fnsysctl killall wad
diag test application ipsmonitor 99"
set accprofile "super_admin"
next
end

¿Qué hace?

  • fnsysctl killall wad: Mata todos los procesos relacionados con WAD, el motor que maneja tráfico web, proxy, SSL inspection y aplicaciones como YouTube o Facebook. Si hay procesos colgados o con alto consumo, este comando los libera.
  • diag test application ipsmonitor 99: Reinicia el monitor del sistema de prevención de intrusiones (IPS), liberando su caché o estado interno si está degradado.

¿Por qué es útil?

Los dispositivos 40F y 60F tienen limitaciones de memoria. Esta acción ayuda a liberar RAM ocupada por procesos persistentes que no se reinician automáticamente.

2. Obtener estado del sistema (CPU y memoria)

config system automation-action
edit "CLI_Status_Report"
set action-type cli-script
set script "get system performance status | grep CPU
get system performance status | grep Memory"
set accprofile "super_admin"
next
end

¿Qué hace?

Extrae información puntual sobre:

  • Uso de CPU
  • Uso de Memoria

Filtra el resultado con grep para enfocarse solo en los indicadores clave.

¿Por qué es útil?

Permite tener una foto del estado del sistema justo después de ejecutar la optimización, sirviendo como punto de referencia para auditorías o análisis de capacidad.

3. Enviar reporte por correo electrónico

config system automation-action
edit "Email_Status"
set action-type email
set email-to "correodeltrabajo.com"
set email-subject "Status Report"
set message "%%results%%"
next
end

¿Qué hace?

Envía un correo electrónico con los resultados del paso anterior (estado de CPU y memoria). El campo %%results%% se sustituye automáticamente por la salida del comando anterior.

¿Por qué es útil?

Ofrece visibilidad sin necesidad de iniciar sesión en el Fortigate. Así, el equipo puede recibir alertas automáticas y actuar si algo no está bien.

4. Automatización completa con automation-stitch

config system automation-stitch
edit "Automation_Kill_Medianoche"
set trigger "Schedule_WAD_IPS_Medianoche"
config actions
edit 1
set action "CLI_KILL_WAD_IPS"
set required enable
next
edit 2
set action "CLI_Status_Report"
set delay 2
set required enable
next
edit 3
set action "Email_Status"
set delay 1
set required enable
next
end
next
end

¿Qué hace?

Agrupa las acciones anteriores en una secuencia (stitch) que se activa mediante un trigger programado (que deberías definir por separado con config system automation-trigger). El orden es:

  1. Finalizar procesos pesados (WAD, IPS)
  2. Obtener estado del sistema
  3. Enviar email con resultados

Los delay entre pasos garantizan que cada acción tenga tiempo de ejecutarse antes de pasar a la siguiente.

Conclusión final

Optimizar un Fortigate no es solo cuestión de revisar políticas y tráfico. También se trata de liberar recursos, reiniciar procesos críticos y monitorear el estado del sistema de forma proactiva. En dispositivos como el 40F o 60F, donde cada MB de RAM cuenta, estas tareas marcan una diferencia real en el día a día.

Con un enfoque como el que hemos mostrado —usando CLI, scripts y automatización— puedes mantener tu firewall ágil, estable y siempre informado. A partir de aquí, puedes seguir extendiendo esta lógica para otras acciones como backups automáticos, limpieza de logs o incluso integración con plataformas externas vía API.

Scroll al inicio
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

WordPress Appliance - Powered by TurnKey Linux