lunes, 3 de febrero de 2020

Script Tools para Fortigate 3/3




¡Hola compañeros!

En esta tercera y última entrada, quiero mostrar el último script realizado para firewalls Fortigate. Esta vez el objetivo del script será la de realizar backups del firewall a través de línea de comandos, como podréis ver no es nada del otro mundo.

Importante: Para poder realizar backups a través de linea de comandos, necesitaremos habilitar en fortigate la opción de SCP para la transferencia del archivo CONF.

Fortigate # config system global
Fortigate # set admin-scp enable
Fortigate # end


Código del Script

#!/usr/bin/expect -f

# Variables definidas
set PATH [lindex $argv 0];
set DATE [exec date +%d%m%Y_%H%M];
set CONFIG "sys_config"
set timeout 2;

# Log file
log_file <PATH_SAVE_LOG>
log_user 0

# Execution command to client Fortigate CLI
spawn scp -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile=~/.ssh/known_hosts" -P 22 <USER@IP>:$CONFIG $PATH/
backup\_$DATE.conf
expect "password: "
send "password\r"
puts "#####################################"
puts "# Realizando Backup a través de SCP #"
puts "#####################################"
log_user 1
expect eof
puts "\r"

Sintaxis del comando a ejecutar:
  • ./4-backup_conf.sh <PathSave> 

Output del comando:

Output_Comando
Output del comando

lista_ficheros
Lista de backups en ruta

Pues bueno, este ha sido el último "script", por llamarlo de alguno forma, ya que simplemente le he añadido algunas variables y código adicional, pero la esencia está en el SCP.

Se pueden añadir variables nuevas y demás si tenéis una ruta por defecto para guardar los backups, de esta forma no haría falta añadirla como argumento en la ejecución del comando.

Si queréis automatizar la ejecución y llevar un control de los backups, podéis añadirlo a CRON especificando el tiempo.

Bueno, espero que os haya servido de ayuda, si quereís añadir alguna opinión, crítica, etc, podéis dejarlo abajo en los comentarios.

Nos vemos en el próximo artículo.

Saludos,
rekkatz.