03/06/2013

Schedulazione clamwin

Oh antivirus! Croce e delizia di ogni sistema Windows!
Se vi ritrovate nella spiacevole condizione di amministrare qualche server Windows è possibile che da un giorno con l’altro vi capiti a tiro qualche burocrate che “pretende” (non si sa bene in base a quale astrusa norma o principio) sia installato un antivirus, che questo sia aggiornato quotidianamente e che sia schedulata una scansione del sistema.

In questa situazione una persona normale e ragionevole proporrebbe di fare una veloce analisi per capire l’utilità e il rapporto costi/benefici di questa soluzione, ad esempio:

  • sui filesystem del server vengono scritti file?
  • che origine hanno i file che eventualmente vengono scritti sui filesystem?
  • i servizi che girano sul server come reagiscono a fronte di una scansione?
  • quali sono le esclusioni che è necessario definire sull’antivirus per fare in modo che le scansioni non interferiscano con i servizi esistenti?

Tutte domande sensate, ma che dalla mia esperienza nella maggioranza dei casi cadono nel vuoto, per molti utenti l’antivirus è un must, ci deve essere punto e basta, è un tabù intoccabile…

In questi casi Clamwin è una discreta soluzione, è leggero, è poco invasivo, di default non prevede rilevazione realtime (possibile tramite Clam Sentinel) che può compromettere le performance del sistema e infine è free e opensource (cosa utile se questi sono requisiti imposti dal cliente di turno).
Per contro Clamwin non è accurato come altri antivirus più blasonati e rispetto a questi rileva un numero eccessivo di falsi positivi, ma soprattutto ha uno schedulatore un po’ dozzinale che funziona solo se c’è un utente loggato sul sistema.

A tal proposito l’approccio degli sviluppatori è sensato, clamwin funziona splendidamente da CLI, perchè inventarsi uno schedulatore quando il sistema operativo stesso ne ha uno che funziona egregiamente? Della serie KISS (Keep It Simple Stupid…)

Per schedulare aggiornamento e scansione comprensiva di notifiche email bastano questi strumenti:

  • notepad
  • un file .bat
  • blat

Create un semplice file di testo con estensione .bat o .cmd (es clamsched.bat) con questa sintassi:

@echo off
rem ###### Personalizzate queste variabili
SET TARGET=c:\ d:\
SET LOG=c:\temp\clam-results.txt
SET BLATEXE=C:\utils\blat\full\blat.exe
SET BLATLOG=C:\utils\blat\blat.log
SET SMTPSERVER=smtp.domain.local
SET [email protected]
SET [email protected]
SET ESCLUSIONIDIR=--exclude-dir="C:\\directory-da-escludere" --exclude-dir="C:\\Program Files\\directory-da-escludere2"
SET ESCLUSIONIFILE=--exclude="c:\\directory-esempio\\user\\Administrator\\.bash_history" --exclude="d:\pagefile.sys"
date /T
time /T

rem ###### Aggiornamento db antivirus
echo Aggiorno db antivirus
"c:\Program Files\clamwin\bin\freshclam.exe"
echo.

rem ###### Inizio scansione
echo Scansione avviata
echo.
"c:\Program Files\clamwin\bin\clamscan.exe" -d "C:\Documents and Settings\All Users\.clamwin\db" %ESCLUSIONIFILE% %ESCLUSIONIDIR% -i -r %TARGET% >%LOG% 2>&1
echo.
goto answer%errorlevel%
:answer0
rem # Commentate per non ricevere mail in caso di scansione negativa
 echo Nessun virus rilevato
 %BLATEXE% %LOG% -to %RCPTMAIL% -server %SMTPSERVER% -f %SENDERMAIL% -subject "Scansione antivirus OK" -q -log %BLATLOG%
 echo Scansione completa
 goto end
:answer1
 echo Possibile virus rilevato
 %BLATEXE% %LOG% -to %RCPTMAIL% -server %SMTPSERVER% -f %SENDERMAIL% -subject "PROBLEMA SCANSIONE ANTIVIRUS" -q -log %BLATLOG%
 echo Controlla il file %LOG%
 goto end
:answer2
 echo Errore nell'esecuzione dello script
 %BLATEXE% %LOG% -to %RCPTMAIL% -server %SMTPSERVER% -f %SENDERMAIL% -subject "PROBLEMA ESECUZIONE SCRIPT ANTIVIRUS" -q -log %BLATLOG%
 goto end
:end
echo.
date /T
time /T
echo ===========================
echo.
exit

Per schedulare aggiornamento e scansione vi basta aprire il task scheduler di Windows e creare un nuovo job che esegue il seguente comando:

C:\utils\clamsched.bat >> C:\utils\clamsched.log 2>&1

C'è un solo commento

  1. Tasslehoff Burrfoot » Blog Archive » Dell OpenManage email alert ha scritto:

    […] basta utilizzare l’ottimo blat, potete prendere ad esempio lo script che ho utilizzato per la schedulazione di clamwin. Per server con distribuzione GNU/Linux la soluzione è ancora più semplice, basta un banale […]

Lascia un commento

NB: I commenti sono moderati, questo potrebbe rallentare la pubblicazione del tuo commento.