Carrello

Nessun prodotto nel carrello.

Sophos Firewall – Esegui lo script senza cronjob

Questo articolo tratta di come eseguire uno script su un Sophos Firewall senza utilizzare un cronjob, poiché il Sophos Firewall non consente di creare un cronjob.

Perché eseguire uno script su Sophos Firewall?

In alcune situazioni, potrebbe essere necessario eseguire uno script personalizzato sul Sophos Firewall. Questo può essere utilizzato, ad esempio, per personalizzare le impostazioni di rete, per inviare regolarmente segnali heartbeat ai servizi di monitoraggio o per modificare le regole del firewall. Spesso queste funzionalità devono essere mantenute anche dopo un riavvio del firewall, il che significa che la configurazione predefinita di Sophos Firewall deve essere modificata.

Attiva i permessi di scrittura per il file system


Per impostazione predefinita, il file system di Sophos Firewall è protetto dalla scrittura. Per apportare modifiche agli script, è necessario montarlo con i permessi di scrittura:

mount -no remount,rw /

Crea o modifica uno script


Successivamente, puoi creare uno script o modificare uno script esistente. In questo esempio, viene creato uno script definito dall’utente che imposta alcune regole di rete:

vi /scripts/system/clientpref/customization_application_startup.sh


Aggiungi il seguente contenuto:

#!/bin/sh
iptables -t mangle -D POSTROUTING -d 172.19.0.0/16 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 900
exit 0;


Questo comando rimuove una regola esistente e ne imposta una nuova per impostare la dimensione massima del segmento (MSS) per le connessioni TCP a 900 byte.

#!/usr/bin/expect -f
spawn ssh <Sophos Firewall IP> -l admin
expect "password:"
send "<Admin Password>\r"
expect "Select Menu Number \\\[0-7\\\]:"
send "7\r"
expect "Shutdown(S/s) or Reboot(R/r) Device  (S/s/R/r):  No (Enter) >"
send "r\r"
expect eof
exit

Questo comando assicura che Sophos Firewall si riavvii ogni notte.

Salva le modifiche e proteggi nuovamente il file system dalla scrittura


Dopo aver modificato lo script, è necessario salvare le modifiche e riattivare la protezione in scrittura del file system:

mount -no remount,ro /

Per garantire che lo script venga eseguito anche dopo un riavvio del firewall, è necessario integrarlo nella procedura di avvio del firewall. Lo script precedentemente modificato (customisation_application_startup.sh) viene eseguito ogni volta che il firewall viene avviato e garantisce l’applicazione delle impostazioni desiderate.

Esempio di script heartbeat

Se è necessario inviare un battito cardiaco a un servizio di monitoraggio come Uptimerobot, puoi utilizzare il seguente esempio:

1. crea un nuovo script:

touch /var/script.sh


2. modifica lo script:

vi /var/script.sh

3. aggiungi il tuo contenuto, ecco un esempio:

#!/bin/sh
while [ 1 ];
do
curl --insecure https://heartbeat.uptimerobot.com/xxxxxxx-20cf67c87a3c0a318820d201f19483e06c99c9f7 >/dev/null 2>&1
sleep 60 ;
done

4. rendere lo script eseguibile:

chmod 755 /var/script.sh

5. esegui lo script:

/var/script.sh >> /dev/null 2>&1 &


6. per eseguire lo script automaticamente anche dopo un riavvio, aggiungi la seguente riga al file customisation_application_startup.sh:

/var/script.sh >> /dev/null 2>&1 &

Note importanti

  • Cluster ad alta disponibilità (HA): quando si utilizza un cluster HA, lo script deve essere applicato a entrambi i nodi.
  • Persistenza attraverso i riavvii: se lo script deve essere eseguito ogni volta che il firewall viene riavviato, è necessario eseguire i passaggi descritti per l’integrazione nella procedura di avvio.
  • Rischi: È necessario prestare attenzione quando si apportano modifiche agli script di avvio del firewall, in quanto impostazioni errate possono compromettere la funzionalità del firewall.