Da circa due settimane AVG ha annunciato il rilascio del suo LinkScanner per Mac con l’espresso obiettivo di “garantire sicurezza agli utenti Mac contro l’aumentato numero di sempre più sofisticati attacchi web”. Molto probabilmente i fanatici Mac non l’hanno presa molto bene … tant’è che la stessa AVG si è sentita in dovere di rilasciare le seguenti dichiarazioni :
“E’ noto che la maggior parte degli utenti Mac credono di essere in qualche modo immuni da tutti i possibili rischi derivanti dal malware che si propaga tramite web. Questa convinzione è talmente forte per costoro da portarli a non installare qualsiasi software antivirus sui loro computer. Tuttavia i tempi stanno cambiando e il 2009 si è rilevato essere un anno piuttosto complicato per i rischi di sicurezza che coinvolgono le piattaforme Apple, compresi Mac OSX e l’iPhone. Durante l’ultimo anno i Mac sono stati oggetto dell’attacco del trojan iServices A, che ha comportato, per oltre 20.000 utenti, al download di un file infetto da un sito di software pirata.”
AVG continua dichiarando che il successivo trojan iServices B ha già colpito altre 5000 macchine ed ha sottolineato come altri virus (tra cui Tored-A e Jahlav-C) sono già causa di preoccupazione nella comunità Apple.
“Sono state scoperte delle vulnerabilità nel browser Safari, in iTunes e nel programma per la lettura dei PDF. Tra l’altro è da notare il fatto che lo scorso mese sono stati evidenziati dei report relativi a vulnerabilità non ancora corrette nel browser Safari 4.0. Sembra dunque che i Mac non siano più sicuri come un tempo.”
Ovviamente gli utenti Mac sono ancora molto lontani dall’incidenza pesantissima di malware esistente per la piattaforma Windows. Tuttavia è bene, a mio avviso, non sottovalutare troppo il problema. Sono stato sempre convinto del fatto che non esiste un sistema operativo intrinsecamente inattaccabile e che la distribuzione di virus e malware per un determinato OS è diretta conseguenza della sua popolarità. In fondo è anche logico: dal momento che scrivere codice malevolo non è (spesso) un’operazione banale ed in considerazione del fatto che il virus-writer punta a massimizzare l’effetto della propria opera, ovviamente si cercherà di colpire, preferenzialmente, la piattaforma di maggiore diffusione. E se le alternative a Windows iniziano ad aumentare le loro quote di diffusione è lecito attendersi anche una evoluzione del malware per computer.
E se qualcuno ancora vi dice che i Mac sono immuni dai virus … ecco qua un bel video istruttivo:
Alla prossima.
12 mag
Posted by: Andrea Lanfranchi in: Mondo IT
Sappiamo tutti quanto stia diventando intrusiva la pubblicità che troviamo inserita a forza nelle pagine dei siti internet durante la normale navigazione. Ma se il singolo utente la considera più una seccatura (alla stregua della pubblicità che interrompe il programma televisivo preferito), per gli amministratori di rete diventa anche un problema tecnico: le pagine richieste dagli utenti della rete, con le loro continue inclusioni di banner, script ed immagini di varia natura, succhiano banda riducendo, per tutti, le risorse disponibili. Senza contare che, in genere, gli utenti, sapendo di essere protetti da un gateway aziendale, cliccano qua e là senza curarsi troppo della sicurezza e della miriade di informazioni di profilazione che vengono raccolte. Insomma, attivare una linea di difesa contro l’intrusione della pubblicità, aumenta non solo la sicurezza ma anche la velocità complessiva di navigazione.
Intendiamoci : non mi ritengo un integralista che ha deciso di abbattere il modello di revenue più diffuso sul web e, parimenti, sono convinto del fatto che per molte iniziative sia forse l’unico modello di sostentamento possibile. Ma certamente alcuni siti esagerano davvero esprimendo contenuti originali che, in rapporto alla pubblicità, stanno a 10Kb contro 200Kb o più. Animazioni, spesso ridondanti, pop-up automatici, immagini a tutto schermo ecc.
Esistono diversi motivi per approcciare la soluzione del problema: da quelli squisitamente personali (un esempio ne è l’eccellente AdBlock Plus per Mozilla Firefox) fino a sistemi di protezione a livello di gateway aziendale.
In questo articolo vedremo come configurare SQUID in modo che possa validamente aiutarci in questo scopo. Alla data di scrittura di questo documento ci occuperemo di come configurare Squid 2.6 su una distribuzione CentOS 5.4 (ovviamente do per scontato che già tutti i client della vostra rete possano navigare solo per il tramite del proxy).
Probabilmente già molti di voi sono a conoscenza del fatto che tra le moltissime direttive offerte dal file di configurazione di Squid è possibile impostare delle ACL (Access Control List) che, con opportuni filtri basati su espressioni regolari, ci consentono di creare dei divieti (deny) allo scaricamento di contenuti provenienti da specifici indirizzi (URL). Il rovescio della medaglia di questa tecnica è che, una volta individuate le origini dei contenuti da bloccare, chi naviga può vedersi comporre delle pagine con diversi riquadri che riportano informazioni di errore. Ed ecco che entra in gioco una eccellente caratteristica di Squid: la caratteristica di redirection delle richeste.
La redirection (o rewrite se preferite) utilizza uno script che dice a Squid di tenere d’occhio degli specifici indirizzi (URL) nelle richieste che riceve (per esempio ad.doubleclick.com). Quando un browser della rete inoltra una richiesta con questo URL a Squid, lo script reindirizza la richiesta ad un file locale, come ad esempio una immagine gif che contiene solo un pixel trasparente. E siccome questa richiesta in realtà non esce mai dalla rete locale, l’intera navigazione risulterà estremamente veloce oltre all’indubbio beneficio dato dal fatto che là dove ci si aspetta di trovare un bel banner animato, non vedremo (o meglio, gli utenti non vedranno) assolutamente nulla.
Ma come fare tutto questo ? E’ molto semplice … avete bisogno di tre cose :
Ecco come procedere all’installazione :
mkdir ~/squid.redir [Enter]wget http://taz.net.au/block/squid-redir.tar.gz [Enter]
tar -xzvf squid.redir.tar.gz [Enter]
closeme.html, do_nothing.js, dot.gif, gen.squid.redir, Makefile, README, redirrm -f gen.squid.redir [Enter]
wget http://www.anlan.com/upload/gen.squid.redir [Enter]
cp Makefile /usr/lib/squid
cp gen.squid.redir /usr/lib/squid
cp redir /usr/lib/squid
In pratica funziona così: squid riceve una richiesta da un browser della rete, passa la richiesta al programma di reindirizzamento che stiamo preparando, e quest’ultimo lo confronta con le espressioni regolari inserite. Se trova una corrispondenza ritornerà a squid l’URL “corretto” in modo che non venga inviata una richiesta ad internet ma solo una richiesta al web server per recuperare il file “fantasma”.
url_rewrite_program /usr/lib/squid/squid.redirOkay … ora provate a navigare utilizzando il vostro squid come proxy. Probabilmente non vi accorgerete di nessuna variazione nelle pagine web visitate. E’ molto probabile: infatti le regular expressions fornite come standard in questo redirector sono piuttosto obsolete e riferite in massima parte a procedure di advertising di server americani. Vi servirà un po’ di analisi del file access.log di squid per capire cosa dovete reindirizzare.
Un aiuto ? Bene … supponiamo di NON voler mai far scaricare ai browser dei nostri utenti di rete dei javascript che abbiamo individuato provenire sempre da http://www.qualcuno.com/scripts/pippo.js . Come fare ? Semplice :
30 dic
Posted by: Andrea Lanfranchi in: Mondo IT, Programmazione
In questo mio precedente articolo mi sono già cimentato nell’implementazione di un sistema di backup utilizzando 7-zip come archiviatore. Purtroppo lo script batch che ne è uscito fuori, per quanto funzionante, è soggetto a molte, troppe limitazioni: una su tutte, la pratica impossibilità di maneggiare correttamente in un file batch nomi di file o cartelle che contengano caratteri speciali come “&” (ampersand).
Da non trascurare nemmeno le non eccellenti performance generali dello script che, non potendo gestire delle vere e proprie variabili, è costretto ad impostare continuamente variabili di ambiente. Insomma … la cara vecchia shell DOS è alla frusta da un bel pezzo, specialmente se paragonata alle estese e flessibilissime shell di comando Linux.
Forse proprio per quest’ultimo motivo (l’arretratezza delle shell di comando), Microsoft ha, ormai da un pezzo, la sua PowerShell. In pochissime parole : “Una eccellente implementazione del framework .Net in una console a riga di comando“. Troppo complicato ? Nahhhh.
PowerShell è forse uno dei maggiori balzi in avanti registrati nelle tecniche di scripting per Windows, nonchè la chiave di volta per la risoluzione dei problemi del mio script di backup con 7-zip.
E’ così nato il nuovo script : 7zBackup.ps1 . L’intero progetto è ospitato su Codeplex (la piattaforma Microsoft per la condivisione di progetti open) e non me ne vogliano gli amici italiani se è tutto in inglese. La soluzione offerta da questo script è, per me, molto interessante e con l’inglese è più facile trovare dei contributors o dei tester.
In un mio precedente post ho cercato di spiegare come i programmi per la cosiddetta pulizia del registro sono fondamentalmente inutili. Ciò non toglie che il registro di Windows, come del resto tutte le altre componenti di questo sistema operativo, meriti una certa cura e, soprattutto, avere a disposizione delle indispensabili copie di sicurezza può essere utile per toglierci di impaccio in situazioni critiche, come ad esempio il danneggiamento dei file in cui i valori del registro sono scritti (hive).
Esistono diversi metodi per poter salvare una copia del registro di sistema e ripristinarlo in caso di necessità : il più comune è senz’altro il Punto di Ripristino del sistema (da Windows XP in poi). Il Punto di Ripristino permette di riportare il computer ad uno stato precedente senza perdere le informazioni personali più recenti come documenti, cronologie, preferiti o cookie. Generalmente l’utilità interna che si occupa di creare delle “foto” (snapshot) dello stato del computer (Il punto di ripristino appunto) tiene costantemente sotto controllo il sistema e numerose applicazioni creando un fix in automatico prima che vengano eseguite operazioni che possano avere impatti rilevanti sulla configurazione generale (come ad esempio l’applicazione di una patch di Windows Update o l’installazione di un nuovo programma).
Questo metodo tuttavia può non sempre rivelarsi affidabile perchè, ad esempio, nel caso vogliate ripristinare lo stato di parecchio tempo addietro, questo potrebbe essere stato automaticamente “cancellato” perchè non c’era spazio su disco sufficiente, o perchè risulta danneggiato. Fare affidamento sui punti di ripristino potrebbe essere rischioso specialmente se sono stati creati molto tempo addietro.
Un secondo metodo prevede l’esportazione del registro di sistema tramite l’utilità regedit (esportando singoli rami o l’intera radice) in file di testo che poi possono essere “reinseriti” all’interno del registro. Anche questa seconda modalità può avere delle controindicazioni. L’esportazione, infatti, genera dei file che saranno solo “fusi” con il registro in sede di ripristino, non riporteranno il registro allo stato in cui è stato salvato. Per esempio se il registro, al momento dell’esportazione, disponeva (si fa per dire) di solo 10mila chiavi e dopo qualche tempo ce le troviamo tutte incasinate ed incrementate di numero (per esempio 12mila) l’unica cosa che potremo fare è quella di riportare le 10mila chiavi iniziali al valore che avevano al momento dell’esportazione ma le eccedenti 2000 restano dove sono. Solo per nota tecnica l’esportazione del registro può essere effettuata anche da riga di comando utilizzando l’utilità reg. (es. reg export). La grave lacuna di questo metodo comunque è il fatto che l’esportazione del registro NON è completa : per esempio il hive SECURITY non viene esportato affatto. Per cui il semplice export tramite regedit è sempre monco.
Vi è poi, come terzo strumento disponibile, la possibilità di salvare “Lo stato del sistema” (system state) utilizzando NTBackup. Installato per default su tutte le versioni di Windows da NT in poi, fanno eccezione Windows XP Home (per il quale gli utenti che desiderano NTBackup devono seguire queste istruzioni di Microsoft) e le recenti versioni di Windows Vista e Windows 7 per le quali è comunque possibile copiare il tool da una installazione di Windows XP. Tramite NTBackup è possibile salvare il System State che comprende il registro, il database di registrazione degli oggetti COM+ e i file di avvio (boot).
Tutti gli strumenti appena elencati sono compresi nel vostro sistema operativo oppure facilmente ottenibili tramite download Microsoft. Non c’è quindi bisogno di arrovellarsi alla ricerca di strumenti offerti da terze parti … ricerca che spesso è pericolosa dato che quando si parla di “Registro di sistema” si sta parlando dell’ossatura principale di Windows. Eppure tutti questi strumenti sono incompleti e non garantiscono un vero ripristino del registro di sistema in caso di necessità.
Viene allora da pensare : perchè semplicemente non copiarsi i file in cui è scritto il registro di sistema e buona notte. Semplice … perchè il sistema non ve lo fa fare in quanto sono in uso. (Per i curiosi i file hive del registro si trovano in %Windir%\System32\Config)
In soccorso ci viene una piccola utilità freeware (quindi gratuita) che si chiama ERUNT Emergency Recovery Utility for Windows NT. I più anziani ricorderanno senz’altro che per Windows 9x/ME esisteva un tool simile, ufficiale Microsoft, che si chiamava appunto ERU. Purtroppo dall’avvento di Windows NT in poi questa utilità non è più stata riproposta dal big di Redmond, grazie anche alle minori possibilità di danneggiamento al registro di sistema.
Ci ha pensato dunque Lars Hederer (lo sviluppatore di ERUNT) a mettere a disposizione per le nuove generazioni di Windows un tool di backup e recovery del registro di sistema oltre ad un utile strumento per l’ottimizzazione del registro (no … non l’ottimizzazione che pensate voi fatta di eliminazione di chiavi orfane … solo la vera ottimizzazione ovvero la compattazione e la deframmentazione degli hive su disco)
Con Erunt potrete tenere effettuare le copie di backup del registro e, se le ripristinate, sarete sicuri che il registro tornerà all’esatto stato in cui era al momento del salvataggio. Come opzione Erunt vi chiede di essere inserito nei programmi ad esecuzione automatica per eseguire un backup automatico all’avvio del pc: lo ritengo superfluo. State attenti però a fare le copie di backup prima di iniziare qualche attività “rischiosa”.
Purtroppo l’intero software è in inglese anche se molto intuitivo: l’unica cosa che mi sento di tradurre dagli avvisi importanti riguarda gli utenti di Windows Vista e di Windows 7
“ERUNT e NTREGOPT nella versione corrente 1.1j sono compatibili con Windows 7 e Windows Vista ma per entrambi è richiesto che sia disabilitato UAC .“
Le procedure di backup sono sempre una bella gatta da pelare. Personalmente non amo sistemi di backup “proprietari” che utilizzano codifiche esclusive perchè gli archivi generati (indipendentemente dal fatto che si tratti di copie su nastro o su disco) non sono facilmente portabili. A parte sistemi di classe enterprise che consentono procedure di disaster recovery, quello che mi aspetto da un archivio di backup è la semplice possibilità di portarlo, all’occorrenza, su un’altra macchina e di ripristinare i file senza dover installare pesanti software specifici. Insomma … che l’archivio di backup generato sia leggibile facilmente e ovunque con minime installazioni.
Il diminuito costo dello storage rende sempre più frequente l’utilizzo di backup su file (utilizzando SAN, NAS o gli stessi dischi dei server) relegando le copie su tape library ad ambiti sempre più ristretti e specializzati. In questo contesto ho sempre preferito, per il backup dei dati su server Windows, l’utilizzo dell’utilità di backup Microsoft (NTBackup) per i motivi che ho descritto sopra soprattutto la portabilità (leggo lo stesso archivio su un altro server Windows senza dover installare praticamente nulla).
L’utilizzo di NTBackup porta vantaggi ma anche svantaggi:
Ho deciso allora di “cimentarmi” nella creazione di un batch di automazione per il backup che rispondesse ai seguenti requisiti:
Il risultato è 7backup.bat : un singolo script batch (.bat) la cui esecuzione è facilmente schedulabile con minimi ed intuitivi switch da riga di comando.
Attenzione !! Questo script utilizza i junction points come caratteristica del file system NTFS. I Junction points vengono rappresentati da Windows Explorer come normali cartelle. MAI e ripeto MAI cancellare un junction point utlizzando Windows Explorer perchè questo porta alla cancellazione anche dei dati nella cartella di destinazione (ovvero quella oggetto del puntamento junction).
Disclaimer : questo script è stato testato con cura tuttavia può non essere esente da errori. Non utilizzatelo in ambienti ad alta criticità senza prima averlo testato adeguatamente su computer di prova. L’utilizzo del software è a vostra completa discrezione e rischio. Non rispondo di perdite di dati e non fornisco supporto diretto se non per il tramite, secondo tempo e disponibilità, di questo sito web.
I requisiti per il funzionamento sono :
Lo script batch è interamente documentato (in inglese) e tutte le impostazioni rilevanti possono essere codificate come costanti o passate da riga di comando. Solo due valori devono essere impostati a mano. Per fare questo potete editare il file 7backup.bat con un normale editor di testo come notepad (vi consiglio comunque di dotarvi di Notepad++). I valori rilevanti sono :
:: 7-zip executable path.
:: If you have installed 7zip using standard path, then you do not need to
:: change this
SET BK-7ZBIN=%ProgramFiles%\7-zip\7z.exe
In questa variabile dovrete inserire il percorso completo che punta all’applicazione 7-zip. Se avete installato 7-zip con le impostazioni standard non dovreste avere bisogno di modificare nulla.
L’altra variabile rilevante è la seguente:
:: Junction executable path.
:: Find where Junction.exe is and set it here. If Junction.exe is in
:: a directory within the PATH variable you can simply indicate
:: junction.exe
SET BK-JUNCTION=%ProgramFiles%\SysInternalsSuite\Junction.exe
Le applicazioni di SysInternals non prevedono una procedura di setup e quindi possono essere inserite in qualsiasi percorso. Prendetevi un momento per individuare Junction.exe all’interno del computer ed indicate quindi il percorso in cui si trova. Se il percorso prevede directory con spazi NON mettete le virgolette. Verranno aggiunte automaticamente dallo script quando serviranno.
A questo punto potete provare ad eseguire il batch senza nessun parametro. Viene emessa la schermata di aiuto come segue:
Tutti gli switch di comando sono spiegati e documentati.
Non resta altro che creare una “lista” di directory che vorrete backuppare. Con un normale editor scrivete l’elenco delle directory da backuppare, una per riga, indicandone il percorso completo inclusa la lettera di unità. Ad esempio:
C:\Dir1\Dati
C:\Dir3
D:\Archivi
Salvate il file in formato testo e annotatevi la posizione.
Attenzione. Non è ammessa l’indicazione di una Directory e di una sua Sottodirectory. Per esempio non è possibile indicare:
C:\Dir1\Dati
C:\Dir1\Dati\Commerciale
Questo perchè la procedura crea, per ogni directory elencata, un junction point nell’area di lavoro, includendo automaticamente tutte le sottodirectory. Il mancato rispetto di questa regola può portare a risultati imprevedibili e loop infiniti.
Potete ora lanciare il backup come ad esempio seguente:
7backup.bat --dirlist "C:\Mie Selezioni\Lista.txt" --type full --destdir "F:\MieiBackup" --rotation 3
Questo produrrà la generazione di un archivio di backup completo (ovvero di tutti i file contenuti nelle directory indicate nel file c:\Mie Selezioni\Lista.txt). Il file archivio verrà depositato nella directory F:\MieiBackup dove verranno mantenuti solo i 3 più recenti backup dello stesso tipo.
Alcune cose da considerare:
Ogni commento o integrazione è bene accetto.
| L | M | M | G | V | S | D |
|---|---|---|---|---|---|---|
| « lug | ||||||
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 | |||||