Anlan Blog

Un posto per scrivere quello che sento
Options:

Autenticazione NTLM Squid con Windows 7

Graziosamente, mamma Microsoft, di tanto in tanto si diletta a “togliere” da sotto i piedi di collaudati impianti di rete, importanti caratteristiche. Proprio recentemente alcuni client “ospiti” di una rete, il cui accesso ad Internet è gestito e protetto da Squid + DansGuardian ( installati su un server Linux con autenticazione degli utenti tramite NTLM ), dotati del nuovissimo Windows 7, fallivano sistematicamente l’autenticazione e venivano bloccati nella navigazione (che invece con le stesse credenziali era garantita ai guest XP e Vista).

La soluzione per ovviare al problema è attivare in Windows 7 il livello di compatibilità NTLM V1 e V2.

  1. Sulla macchina Windows 7 avviare Regedit (con privilegi di amministratore)
  2. Navigare alla chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  3. Controllare che esista la chiave LmCompatibilityLevel. Se non esiste create la chiave di tipo DWORD.
  4. Modificate il valore della chiave LmCompatibilityLevel al valore 1
  5. Chiudete regedit
  6. Riavviate il pc con Windows 7

Per riferimenti su cosa significhi questa chiave potete trovare informazioni sulla Technet Microsoft.

Grazie Rob per la segnalazione.

Autenticazione AD per MailArchiva con Scalix

Sono un paio d’anni che usiamo, con soddisfazione, Scalix sia per la nostra struttura, che per quella dei nostri clienti. Innumerevoli sono i vantaggi offerti da Scalix rispetto ad Exchange:

  • Lo stack di investimento: per avere un server Exchange devi comprare per forza Windows Server e relative CAL. Con Scalix invece puoi affidarti ad un robusto e spesso gratuito server Linux tra quelli compatibili. Con soddisfazione abbiamo sempre adottato CentOS (ora alla versione 5.4) spendendo solo quanto necessario per dotarsi di un buon hardware sufficientemente dimensionato. In termini di costo licenza per il mail server poi i due prodotti non sono nemmeno comparabili con un indubbio vantaggio a favore di Scalix. E’ pur vero che il costo di licenza andrebbe rinnovato di anno in anno per poter ricevere le nuove release. Ma se la vostra installazione è stabile, protetta da un buon firewall e non sono cambiate le vostre esigenze di interfacciamento con altre periferiche o software, potete rimanere allo stato dell’ultima release che avete installato.
  • Continuità : è un fatto che i continui windows update richiedono sempre più spesso riavvii della macchina.  Con Scalix, e Linux ovviamente, i tempi di down per l’applicazione delle patch di aggiornamento sono significativamente ridotti.
  • Spazio : Exchange nella versione Standard ha dei limiti di spazio, per quanto ampi, allo storage della posta e degli altri elementi. Scalix invece ha come unico limite lo spazio fisico dei dischi presso i quali è attestato il suo database.
  • Multi Client : Exchange elegge come client preferenziale Outlook. Per usarlo con altri client è necessario sfruttarne la connessione IMAP o POP3 (in questi casi molte funzionalità vengono perse, specialmente per tutti gli elementi NON POSTA come i contatti, il calendario ecc.) oppure limitarsi ad accedervi tramite l’interfaccia Web. Scalix offre tutto questo (con una WebMail decisamente più avanzata) e come plus offre anche un connettore per Evolution il che vi rende possibile l’integrazione di un PIM Linux all’interno della struttura di rete (davvero tutti gli utenti devono avere Windows per forza ? Perchè non iniziate a risparmiare su quelle postazioni che non richiedono applicazioni office ????).

Ovviamente anche Scalix, dato che il suo competitor è proprio Exchange, cerca di combattere nello stesso campo (Windows), offrendo un sistema di autenticazione integrato SSO (Single Sign On) basato su Active Directory: in pratica l’accesso a Scalix tramite Outlook avviene nell’ambito delle credenziali di accesso a Windows (esattamente come Exchange).

Anche Scalix comunque, come tutti i server di posta, soffre. E soffre si di un male che non ha nulla a che vedere con l’aspetto tecnico: la “pigrizia” degli utenti. Pigrizia che porta a mantenere nelle caselle postali migliaia di messaggi, risalenti alla notte dei tempi, nell’eterna convinzione che prima o poi mi serviranno anche queste mail vecchie. Tutto questo trasforma il server di posta in un archiviatore mostruoso sul quale gli utenti avranno sempre modo di lamentarsi perchè diventa lento nelle ricerche.

Ovviamente il lavoro dell’archiviatore NON lo deve fare il server di posta. Piuttosto dei servizi specifici che tengano traccia di tutte le email che passano dal server e le organizzino in archivi debitamente indicizzati che poi andranno interrogati successivamente. Tenendo la posta “archiviata” a parte è poi possibile tenere il mail server “snello” con dei clean-up periodici (magari settimanali) che eliminino dalle mailbox tutto quello che non è lavoro quotidiano.

La nostra scelta è caduta su MailArchiva, un software open, disponibile sia in versione “community” (gratuita) sia in versione “enterprise” (a pagamento). Abbiamo adottato la versione community per l’archiviazione della posta.

Sia Scalix che MailArchiva permettono l’integrazione con Active Directory per l’autenticazione degli utenti e la loro configurazione è decisamente alla portata. Tuttavia MailArchiva, se attivata l’autenticazione con Active Directory, non trova nessuna mail per gli utenti. Perchè ? Il motivo è molto semplice. MailArchiva “legge” gli indirizzi email associati all’utente nell’attributo proxyAddresses dello schema di Active Directory (l’impostazione predefinita per chi ha installato Exchange) mentre Scalix scrive gli indirizzi email in un suo attributo nominato scalixEmailAddress. Ne consegue che MailArchiva non sa quali siano le email di pertinenza dell’utente che ha effettuato l’accesso e, a meno che non sia un admin, non ne mostra nessuna.  La soluzione proposta dal team di MailArchiva è quella di passare ad un sistema di autenticazione LDAP e di specificare quale sia l’attributo dello schema che specifica l’indirizzo email : a meno che non abbiate la versione Enterprise (a pagamento) è una spina nel sedere.

La vera soluzione è molto più semplice e di facile implementazione. Basta copiare gli indirizzi email presenti nell’attributo scalixEmailAddress e metterli anche nell’attributo proxyAddresses (che è un attributo standard di Active Directory e quindi presente anche se non avete Exchange montato). I due attributi hanno forme sintattiche leggermente diverse ma con un piccolo script (facilmente schedulabile) potete mantenere allineate le informazioni.

Siete pigri ? … vabbè … ecco lo script per farlo.

Download ScxPAUtil.zip

Scarica lo zip ed estrai il contenuto (incluse sottodirectory) in una cartella di tua scelta. Per lanciare l’allineamento tra i due attributi basta eseguire, da una macchina membro del dominio e nelle credenziali di un utente che ha diritti di scrittura su AD:

cscript ScxPAUtil.wsf

Verrano eseguite le seguenti operazioni :

  1. Estrazione di tutti gli oggetti “user” dallo schema Active Directory
  2. Se l’oggetto user non è associato ad email Scalix, l’attributo proxyAddress viene svuotato
  3. Se l’oggetto è associato ad email Scalix, l’attributo proxyAddress viene popoplato (o aggiornato) con i valori presenti in scalixEmailAddress.

Semplice e lineare. Ora MailArchiva “vede” le email corrette.

PowerShell ti fa il Backup dei file con 7-zip

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.

>> Backup dei file con 7-zip e PowerShell <<

Blackberry e Thunderbird possono parlarsi

Ho già detto di come sia possibile sfruttare le possibilità di sincronizzazione del vostro BlackBerry senza dover installare il, per me, fastidioso BlackBerry Desktop Manager ed utilizzando il software open-source Funambol. Nel test che avevo fatto mi ero limitato a provare il client Funambol per Outlook rimandando ad altro momento la prova del client Funambol per Thunderbird.

“L’altra data” è arrivata e, dismesso definitivamente Outlook dal mio desktop dopo che ho imparato ad apprezzare tutte le eccezionali caratteristiche di Thunderbird, mi sono cimentato con la sincronizzazione del BlackBerry: un successo, nonostante venga indicato essere un componente ancora sperimentale.

Il componente aggiuntivo di Thunderbird per la sincronizzazione del BlackBerry (alla data del presente articolo è disponibile la versione 0.9.1) si installa come tutti i componenti extra di Mozilla tramite un semplice file .xpi. Dopo l’installazione troverete nel menu Strumenti la nuova voce che vi permette di accedere al “classico” pannello di controllo di Funambol già noto nella versione per Outlook.

tb-funambol-001

tb-funambol-002

Noterete subito che rispetto alla versione per Outlook non è disponibile la sincronizzazione degli elementi di tipo Note che non sono comunque gestibili da Thunderbird. Per gli elementi di tipo Contatti i dati vengono sincronizzati con gli elementi della Rubrica (eventualmente potete creare una Rubrica dedicata) mentre per quanto riguarda Calendario e Attività i dati vengono sincronizzati con le informazioni di Lightning.

Nella mia configurazione i dati salienti sono : Mozilla Thunderbird 2.0.0.23 e Lightning 0.9. quest’ultimo connesso al mio backend Scalix tramite iCal.

Nel menu Strumenti -> Opzioni di Mozilla troviamo il facile ed intuitivo pannello di Configurazione del componente nel quale potremo indicare le credenziali di connessione al server Funambol e quali siano i parametri per la sincronizzazione con Contatti e Calendari, lo schedulatore delle sincronizzazioni e l’utile visualizzatore dei log delle attività svolte.

tb-funambol-003 tb-funambol-004 tb-funambol-005

La sincronizzazione è tanto semplice quanto rapida: rispetto all’omologo per Outlook gode dell’indubbio vantaggio di non dover accedere ad elementi MAPI il che rende l’attività di sincronizzazione uno sparo. Unico neo, non comunque imputabile a questo fantastico componente, è il fatto che nella mia configurazione con iCal verso Scalix non sono supportati gli elementi di tipo Attività. Poco male comunque dato che in genere mi servono solo i Contatti ed il Calendario.

Ovviamente sul vostro BlackBerry non dovrete fare nulla di più di quanto ho già descritto nel precedente articolo.

E’ bene notare che Thunderbird dispone di una funzione che inserisce automaticamente in Rubrica tutti gli indirizzi email utilizzati almeno una volta: a questo proposito è bene configurare Thunderbird in modo che questi Indirizzi Collezionati vengano raccolti in una apposita rubrica separata per evitare di trovarvi la rubrica del BlackBerry riempita con decine e decine di indirizzi che non sono di uso frequente.

In conclusione la solita raccomandazione: assicuratevi che il vostro BlackBerry sia abbinato ad un piano tariffario dati altrimenti per ogni connessione pagherete un sacco di soldi.

Un’altro punto a favore del software open.

Voglio un computer nuovo senza sistema operativo

Mettere in atto un proposito del genere, specialmente in italia, è cosa piuttosto ardua.

Ci tengo subito a sottolineare che questo mio post non vuole essere in nessun modo un tentativo di denigrazione di questo o di quel sistema operativo: è mia intenzione invece tentare di ragionare sulle numerose implicazioni che hanno portato ad una situazione di mercato “bloccato” sia a causa di politiche di lock-in messe in pratica dal più grande vendor di sistemi operativi al mondo, sia a causa della scarsa propensione dell’utenza in genere ad entrare nel merito di questioni “tecniche” apparentemente improduttive.

Ma partiamo da principio … cosa è un computer ? Il computer è una macchina, fatta di pezzi ferro (o altri metalli nobili), plastica, fili ecc la cui struttura, di per se, è assolutamente inerte o per meglio dire è in grado solo di eseguire elementari operazioni rappresentate da flussi logici di impulsi elettrici. Punto.
Ma allora com’è che con il computer si fanno mille cose come ad esempio, navigare in internet, ascoltare musica, memorizzare e stampare foto ecc. ? Semplicemente perchè al “ferro” è stato aggiunto uno strato “impalpabile e immateriale” detto software che contiene tutta una serie di istruzioni che lo rendono “vivo” ed in grado di intergire con l’utente. Lo stesso software va diviso poi in due sotto categorie: il sistema operativo e gli applicativi. Il sistema operativo è quella parte dello strato software che permette il “caricamento” e l’esecuzione delle istruzioni base affinchè gli applicativi possano interagire (tramite interfacce) con l’utente.

Diffusa invece è la convinzione che la definizione di “computer” sia da intendersi nell’accezione “collettiva” di hardware + software. E’ vero infatti che un computer funzionante è una delicata alchimia di hardware + software ma è anche vero che questa alchimia non definisce un computer. Definisce, al contrario, una macchina che sia già in grado di interagire con il proprio utente. Così come un tornio è assolutamente inutile (per l’utilizzatore) senza un programma di modellazione del pezzo di acciaio, anche il computer è, per l’utente finale, inutile senza lo strato software che lo rende utilizzabile. Ma il tornio, come il computer, può esistere indipendentemente dal programma che lo fa funzionare.

Su questa base e su questo misunderstanding comune, un’azienda in particolare ha costruito la sua fortuna: Microsoft. Ed è tanto forte la leva che agisce su questa percezione da rendere praticamente impossibile la ricerca di un computer nuovo che non abbia un sistema operativo basato su Windows preinstallato.

Ovviamente tutto ciò ha un impatto su quella che, in numerose battaglie sia ideologiche sia economiche, viene definita essere la “libertà di scelta del consumatore”. Anche se sembra superfluo riportarlo all’attenzione è però bene sottolineare che Windows non è l’unico sistema operativo disponibile per far funzionare un computer. Esistono numerose altre possibilità: Linux (nelle sue varie e variegate distribuzioni), Unix, Apple Mac … solo per citare alcune tra quelle che trovano il maggior numero di riferimenti.

Ma se da un lato è arcinota l’aggressività di Microsoft nel perseguire i propri scopi commerciali spingendo per Windows su ogni desktop, non altrettanto facile ed immediatamente attuabile sarebbe l’individuazione di una soluzione alternativa che impedisse a Microsoft di preinstallare, in accordo con i produttori di hardware, il proprio sistema operativo sulla quasi totalità dei computer.

Perchè ? Provate ad immaginare di recarvi in un centro commerciale tra quelli che ospitano i più famosi marchi di catene specializzate nella vendita di prodotti per l’informatica di tipo consumer e di trovare solo computer spenti perchè non dotati di un qualsiasi sistema operativo. Sarebbe un disastro per il mercato in quanto gli utenti non sarebbero in grado, per esempio, di “percepire” le prestazioni di una macchina rispetto a quelle di un’altra, non capacitandosi delle differenze di prezzo tra questo o quel modello e nella impossibilità di leggere complicate tabelle comparative fitte di dati tecnici con mille acronimi come Ghz, RPM, RAM ecc. Gli addetti alle vendite verrebbero subissati di richieste di chiarimenti, di istruzioni su cosa fare una volta che si torna a casa con “lo scatolo” e su cosa sia meglio installare o meno … paralizzando di fatto le vendite.

A questo punto, molti sostenitori del software Open-Source, potrebbero avere la tentazione di suggerire come possibile alternativa l’adozione sui computer di sistemi operativi open e gratuiti basati su Linux … ma anche questo sarebbe causa di non pochi problemi. Innanzitutto : quale distribuzione Linux ? E’ verosimile correggere un errore di monopolio suggerendone un altro che, seppur libero e di nessun costo per l’utente finale, danneggerebbe irrimediabilmente gli altri produttori di distribuzioni Linux e, per di più, danneggerebbe un’azienda commerciale ? E poi : come rispondere ad una esigenza di “compatibilità” universale in modo che il “pezzo di ferro” venduto possa validamente e senza problemi ospitare sistemi operativi di diversa natura e che richiedono, giusto a titolo di esempio, driver diversi ?

E come risolvere poi i problemi di help-desk nel servizio di post vendita in presenza di un pubblico dotato di un parco software disomogeneo ? Sarebbe il panico: quasi tutti i maggiori vendor di harware guidano l’utente in fasi di test e disagnostica dei possibili problemi attraverso l’uso di strumenti progettati per uno specifico sistema operativo e se ne lavano allegramente le mani nel momento in cui l’utente non dispone di quella configurazione hardware/software considerata standard. Come individuare un problema hardware e distinguerlo nettamente da un bug software ?

Le soluzioni possibili si sprecano ma tutte avrebbero dei costi mostruosi e comporterebbero complicazioni tecniche inimmaginabili. Sarebbe facile infatti proporre, ad esempio, l’adozione di Windows preinstallato solo in modalità “trial” (versione di prova a scadenza dopo x giorni) e, per il supporto, la fornitura insieme al pc di un cd avviabile (o di una partizione disco) che esegua automaticamente le procedure di diagnostica secondo le specifiche del produttore del computer. Ma che succederebbe alla scadenza del periodo di prova ? Siamo sicuri che nel momento in cui l’utente si accorge che la sua versione di Windows sta per scadere abbia le conoscenze tecniche per : valutare e scegliere una distribuzione linux confacente alle proprie esigenze, salvarsi i dati già creati magari con altre applicazioni trial, installarsi da zero un sistema operativo (magari facendo casino con le partizioni disco che contengono anche l’area di recovery del pc), e ritrovare i necessari applicativi che assolvono ai compiti che l’utente si aspetta di eseguire.

Forse è più forte lo standard de-facto che si è creato (o che è stato abilmente creato) delle contingenti politiche commerciali messe in campo da Microsoft: la limitazione delle scelte del consumatore è primariamente dovuta al fatto che nella stragrande maggioranza dei casi l’utente NON ha gli strumenti e le conoscenze tecniche per scegliere nè li vuole avere. L’approccio medio è : compro il pc, vado a casa, lo accendo, confermo tutto, mi collego ad internet e sono su Facebook.

Un computer senza sistema operativo questo non lo può offrire: anzi … aggraverebbe la situazione data l’impossibilità (a meno di un passamano fisico di un cd o un dvd) di potersi approvvigionare, attraverso il web, di una soluzione alternativa a Windows dato che, per lo più, Linux nelle sue varie distribuzioni non lo trovate sugli scaffali dei centri commerciali. Il paradosso è … se non hai Windows e non conosci nessuno non riesci nemmeno a scaricarti una distribuzione Linux, sempre ammesso poi che tu sappia masterizzarla, avviarla ed installarla “sopra” il tuo Windows.

Diventa quindi talmente stringente il rapporto tra pc e Windows che perfino a livello normativo diventa una battaglia titanica la richiesta della doverosa applicazione del diritto di rimborso ad una licenza Windows che non vogliamo: Paolo Attivissimo nel suo blog lo spiega dettagliatamente.

Fin qui abbiamo discusso di uno scenario che si applica all’utenza domestica. Ma cosa succede nelle aziende ? Perchè, in un momento di crisi come questo, non si cerca un modo per tagliare i costi rivolgendo la propria attenzione a soluzioni operative open-source ? Una piccola/media impresa dotata di un centinaio di pc riceverebbe un beneficio di oltre 20mila euro in sede di rinnovo parco macchine scegliendo di comprarle senza sistema operativo. Anche qui però entra in gioco la generale cultura informatica del personale addetto: in azienda i computer non lavorano da soli, ci sono delle persone davanti che devono interagire con essi. E tanto più utilizzano strumenti “noti” tanto più alto è il risparmio in formazione interna e nell’erogazione di servizi di help-desk. Certamente un approccio del genere porterebbe dei vantaggi, come ad esempio la maggiore difficoltà da parte di utenti “smanettoni” di sminchiamento delle configurazioni dei loro computer : difficoltà però controbilanciata da un vezzo fin troppo diffuso di “inerzia” da parte del dipendente che di fronte alla minima difficoltà accampa scuse le più fantasiose per non arrangiarsi un po’.

Chi vuole dunque un computer senza sistema operativo deve prendere coscienza di appartenere ad una nicchia di “alto” livello tecnologico, dispone di conoscenze che lo rendono in grado di avviare una macchina “inerte” senza ausili, e che, all’occorrenza, sa come sfruttare le risorse offerte dal web per cercare di risolvere i problemi. Ed in quanto “nicchia” non può lamentarsi delle difficoltà che si incontrano nel cercare un hardware nuovo di zecca, magari di marca, che sia pronto ad accogliere ciò che l’acquirente decide, non ciò che ha già deciso il produttore o il venditore: le aziende commerciali lavorano sulle masse, non per le nicchie.

Valga allora l’assunto : stai cercando un computer senza sistema operativo ? Congratulazioni : sai usare un computer.