Blog

  • Come formattare una partizione con XFS su Ubuntu

    Recentemente ho voluto provare il file-system XFS di SGI su una macchina Linux. Perché proprio XFS?

    Un articolo che può spiegare meglio i principali punti di forza di XFS si intitola “Anatomy of Linux journaling file systems“.

    Citando una parte dell’articolo:

    XFS supports full 64-bit addressing and provides very high performance using B+
    trees both for directories and for file allocation. XFS also uses extent-based
    allocation with variable block size support (from 512 bytes to 64KB). Along with
    extents, XFS uses delayed allocation, in which allocation of disk blocks is delayed
    until the blocks are to be written to disk. This functionality improves the chances that
    sequential disk blocks are allocated, because the total number needed will be
    known.

    Quando poi si illustrano i file-system ancora in sviluppo, in particolare Reiser4 e ext4, sono evidenziate alcune funzionalità che XFS già implementa:

    Reiser4 was designed for better journaling through the use of wandering logs and
    delayed allocation of blocks until the journal is committed (as was done in XFS).

    Like XFS and Reiser4, ext4fs includes delayed
    allocation to allocate blocks on the disk only when needed (which reduces
    fragmentation).

    Bene: per avere una partizione con XFS in Ubuntu dovrete:

    • avere un kernel con il supporto a XFS (il kernel di default ha già il supporto)
    • installare i tool per gestire il filesystem mediante il comando: $ sudo apt-get install xfsprogs

    A questo punto il gioco è fatto: vi basterà partizionare usando il vostro tool preferito (fdisk, gparted, …)

  • Come convertire un’immagine disco da UIF a ISO (Windows & Mac)

    Mi è capitato di dover convertire un’immagine disco dal formato UIF (Magic ISO Universal Image Format File) al formato ISO.uif2iso

    Tipicamente si dovrebbe usare MagicISO per questo compito: non volevo scaricare e installare MagicISO per convertire un solo file per poi disinstallarlo (non avevo motivo di mantenere MagicISO sul mio PC, non ne ho bisogno).

    Quindi sono andato alla ricerca di un convertitore standalone (e possibilmente opensource) e l’ho trovato: uif2iso (ancora meglio: è stato sviluppato da un italiano!). Il software è disponibile in un’unico pacchetto per Windows (esiste il precompilato in formato eseguibile), mentre per Mac è sufficiente compilare il sorgente fornito con il pacchetto: basta entrare in src/ e dare un ‘make’.

    L’utilizzo di uif2iso è molto semplice: il programma vi chiederà di specificare qual è il file UIF che volete convertire (con una finestra in stile Windows “Apri file”) e dove posizionare il file convertito. Dopo pochi minuti avrete finalmente a disposizione il vostro file ISO e potrete dimenticarvi del file UIF.

  • Python: come mandare un e-mail con GMail TLS/SSL

    Mi è capitato di dover mandare un e-mail da uno script Python: quale provider utilizzare? Ovviamente GMail!

    Per questioni di spam, alcuni server SMTP non permettono di inviare e-mail senza essersi prima autenticati; nel caso di GMail, il protocollo per l’invio di mail non è il semplice SMTP in chiaro, bensì SMTP con autenticazione via TLS/SSL.

    Ecco lo script Python che vi permetterà di mandare un’e-mail con GMail tramite il vostro account GMail:

    #!/usr/bin/python
    
    import smtplib
    import time
    import datetime
    from email.MIMEMultipart import MIMEMultipart
    from email.MIMEBase import MIMEBase
    from email.MIMEText import MIMEText
    from email import Encoders
    import os
    
    gmail_user = "username@gmail.com"
    gmail_pwd = "password"
    
    def mail(to, subject, text):
    msg = MIMEMultipart()
    
    msg['From'] = gmail_user
    msg['To'] = to
    msg['Subject'] = subject
    
    msg.attach(MIMEText(text))
    
    mailServer = smtplib.SMTP("smtp.gmail.com", 587)
    mailServer.ehlo()
    mailServer.starttls()
    mailServer.ehlo()
    mailServer.login(gmail_user, gmail_pwd)
    mailServer.sendmail(gmail_user, to, msg.as_string())
    mailServer.close()
    
    file = open('body.txt','r')
    document = file.read()
    mail("dst_addr@gmail.com",
    "Subject",
    document,
    )
    
  • Safari e il blocco popup senza eccezioni: usabilità e flessibilità?

    Lo riconosco: grazie all’uso di WebKit per il rendering delle pagine, Safari (il browser Apple disponibile per OSX e per Windows) renderizza le pagine molto velocemente e con un’ottima aderenza agli standard.

    Peccato che manchi di una funzionalità che hanno tutti i browser (compreso il tanto criticato Internet Explorer di Microsoft): il supporto alle eccezioni per il blocco popup. Si, esistono (e io utilizzo) alcuni siti che caricano il contenuto del sito in un’altra finestra.

    Qualcuno potrebbe obiettare che i popup che bloccati sono frutto di un’errata progettazione web e/o non legittimi…

    … peccato che i popup siano legittimi, e che provengano da Google, in particolare GMail!

    Si, perché se voglio aprire una “conversation” (come le chiama GMail) in un’altra finestra del browser (io ad esempio lo faccio spesso quando riordino la casella), con Safari posso farlo solo se disabilito globalmente il blocco popup.

    Come possono risolvere gli utenti Apple? Installando PithHelmet, un plugin (shareware) che permette di gestire delle eccezioni sul browser Safari.

  • Kevin Mitnick: l’arte dell’inganno e l’arte dell’intrusione

    Sono sempre stato incuriosito da un personaggio quale Kevin Mitnick, per il movimento Free cosaleggoKevin e per le sue idee.

    Ormai due anni or sono, ho letto il primo libro di Mitnick: l’arte dell’inganno (the art of deception). Il libro tratta il tema del social engineering: il tema è interessante, e rivela quanto spesso le persone sono inclini a fornire informazioni sensibili a persone sconosciute (o che forniscono credenziali convincenti). Tuttavia in alcuni punti la lettura è noiosa (ci sono trascrizioni di dialoghi e il dettaglio tecnico è molto basso). In definitiva, leggetelo se vi interessa sapere di più sulle tecniche di social engineering che vengono usate, e come difendersi.

    006Il secondo libro, l’arte dell’intrusione (the art of intrusion): 288 pagine divorate in 6 giorni. Si parla di dettagli tecnici, tecniche di intrusione, storie “gialle”: un mix veramente interessante e che crea dipendenza. I 10 capitoli scorrono veloci, tra slot-machine modificate e intrusioni in banche dati. Alla fine di ogni capitolo, Kevin analizza le tecniche utilizzate e costruisce alcune riflessioni, e spiega come ci si può difendere da questi attacchi. L’ultimo capitolo del libro è dedicato ad un attacco di social  engineering, un caso esemplare da cui trarre insegnamento. Alcune considerazioni:

    • Il libro in alcuni punti è molto tecnico (si parla di RARP, reverse DNS, port knocking): anche se si parla di “racconti gialli”, è meglio avere un buon background tecnico per comprendere al meglio i dettagli di attacco nel corso del libro.
    • La traduzione in italiano, in alcuni punti, è forse un po’ troppo spinta (“token-gettoni”, magari colpa di un traduttore troppo zelante?)
    • Nelle ultime parti del libro si pubblicizza in modo eccessivo il primo libro di Mitnick, l’arte dell’inganno.

    La citazione nella citazione: nel suo libro, Mitnick cita “L’arte della guerra” di Sun Tzu:

    Know thy enemy and thyself, and you will be victorious.

  • SMS di TIM: dal 6 agosto il profilo Autoricarica verrà cessato

    Stamattina ho ricevuto questo SMS da TIM:

    Dal 6 agosto l’attuale meccanismo di autoricarica cesserà. Aderisci Gratis alla nuova AUTORICARICA chiama 4916. Per Info/recesso senza penali www.tim.it/negozi Tim.

    Il mittente del messaggio è autentico, è una comunicazione ufficiale da TIM, quindi dal 6 agosto tutti quelli che avevano la vecchia Autoricarica 300 dovranno convertirsi a questo nuovo profilo (a meno che non cambino profilo o passino ad un altro operatore).

    Si tratta dell’ennesima rimodulazione del profilo Autoricarica: non bastava quella subita ad aprile 2008, ora anche ad agosto 2008!

    Qui si può leggere il comunicato ufficiale di TIM. È evidente che la tariffa non è più conveniente, e quindi mi sto orientando su altro.

    TIM, che delusione: alla fine ci obbligano ad abbandonare la tanto desiderata Autoricarica…

    Consigli? Al momento la mia idea è quella di orientarmi su un altro piano tariffario di TIM, oppure di passare a Wind.

  • Come si organizza un blog contest: l’esempio di Elettroaffari

    Recentemente ho vinto un Ipod nano attraverso il contest organizzato da Elettroaffari; non c’è che dire, sono rimasto molto soddisfatto dalla loro professionalità: in primo luogo perché dopo l’estrazione del vincitore, sono bastati 4 giorni per ricevere il mio regalo. In secondo luogo, per la modalità di organizzazione, che io definisco esemplare per tutti quelli che vogliono organizzare un blog contest. Vediamo perché.

    Come tutti i blog contest, richiede un post in cui si parli dell’articolo e una segnalazione dell’avvenuto link e post (non come commento ad un post come in quasi tutti gli altri casi, ma con un post su un forum). Ho “meditato” sulla modalità di estrazione del vincitore, e l’ho trovata leggermente diversa (rispetto ad altri blog contest da altri siti); questa diversità risulta in una modalità di organizzazione che io definirei “da prendere come esempio”. Perché?

    • A differenza di molti blog contest, i tempi di chiusura delle iscrizioni e di estrazione sono stati rispettati regolarmente
    • La modalità di estrazione è stata la più convincente di tutti i blog contest: molti blog contest si affidano a fantomatiche estrazioni da una sacca contenente i numeri di tutti i partecipanti del contest o peggio ancora da un generatore di numeri pseudorandom. Ci sono molti aspetti dubbi:
      • Chi assegna il numero al partecipante? In molti contest chi organizza il contest sceglie il numero per ogni partecipante.
      • La modalità di estrazione:
        • Chi garantisce che nel tanto acclamato “video dell’estrazione” (decantato come prova televisiva) l’estrazione non sia pilotata? Insomma, come si può avere la certezza che ci siano effettivamente tutti i numeri dei partecipanti nella sacca, o che il generatore di numeri pseudorandom copra i numeri di tutti i partecipanti?
        • Chi garantisce che il vincitore non sia un amico dell’organizzatore del contest (è già successo) e quindi riceva un trattamento speciale (= vince proprio lui)?
        • Chi garantisce che l’autore del blog non impersonifichi un utente che partecipa al contest e poi, guardacaso, vince proprio quell’utente? In questo modo l’autore del blog ne guadagna in popolarità (più link, più PageRank) in modo totalmente gratuito, e imbrogliando gli utenti che hanno partecipato al contest

    003L’esempio di Elettroaffari illustra come si organizza un contest in modo che la modalità di estrazione sia assolutamente sicura e a prova di manomissioni: ogni partecipante sceglie un numero da 1-90; una volta chiuse le iscrizioni, il vincitore sarà il partecipante corrisponte al primo estratto sulla ruota del lotto.

    Perché si utilizza uno strumento come il lotto, o un evento a carattere nazionale?

    • Innanzitutto, il lotto non può essere pilotato dagli autori del contest nè da nessun altro che sia collegato al contest
    • L’evento di estrazione è inconfutabile: essendo un evento a carattere nazionale, l’estrazione è sotto gli occhi di tutti, nessuno può negare che sia stato estratto un determinato numero e l’evidenza dell’estrazione conferma la vincita di un utente

    Qualcuno potrà dire che sto facendo della pubblicità ad Elettroaffari: avendo già un post (quello di partecipazione al contest) con un link al loro sito la pubblicità l’ho già fatta; in secondo luogo, non me ne viene in tasca nulla: ho già ricevuto il mio regalo. Con questo post voglio semplicemente mostrare che esiste il modo giusto e corretto di organizzare un blog contest; se organizzati in questo modo, i blog contest non sono una “fregatura”, né per l’organizzatore, nè per i partecipanti.

    E questo post non mi serve nemmeno per avere facilitazioni sul prossimo contest eventualmente organizzato da Elettroaffari: visto che si usa il lotto, con questo post non mi guadagno la capacità di previsione dei numeri estratti.

  • iPod nano in palio da Elettroaffari

    Questo contest è organizzato da Elettroaffari. Per partecipare è necessario avere un blog.

    Cosa bisogna fare per vincere?

    • Scrivere un post in cui parli dell’iniziativa
    • Mettere un link al post del regolamento ufficiale
    • Mettere un link alla home page di Elettroaffari.
    • Lasciare un commento al post ufficiale indicando un numero da 1 a 90 fra quelli ancora disponibili e il link del vostro articolo

    Il contest scade il 16/06/2008 alle 24:00

  • Rootkit: cosa sono, perché si usano e come funzionano

    Per il corso di Sicurezza dei Sistemi Informatici, ho realizzato una presentazione che spiega cosa sono i rootkit (in ambito UNIX e GNU/Linux) e come funzionano.

    La presentazione tratta:

    • Che cos’è un rootkit
    • A cosa serve
    • Come funzionano
    • Tipi di rootkit
    • Come difendersi dai rootkit
    • Cosa fare se si è infetti

    Rootkit: cosa sono, perché si usano e come funzionano

    La presentazione si può scaricare da qui.

    Commenti benvenuti!

  • Sulla barriera che impedisce a molte persone di fare lo switch a MacOSX

    Mi trovo nella situazione di acquistare un computer nuovo e mi sono fatto la domanda la fatidica domanda: “è il caso di passare a MacOSX?

    Innanzitutto precisiamo un paio di cose:

    • Ho sempre utilizzato sistemi Windows (attualmente Vista) e Linux
    • Mi sono sempre trovato (quasi) bene con Windows (ehi Microsoft, sono qui!), poco bene invece con Linux (scomodo, macchinoso)
    • Ho chiesto a molte persone il loro parere su OSX: quasi tutti mi hanno risposto che è un sistema stabile, veloce, comodo; insomma, quasi tutti sono soddisfatti di questo sistema operativo

    Sorge però una “questione”: il sistema operativo è la base su cui faccio girare tutte le mie applicazioni; se cambio OS, tipicamente alcune applicazioni non ci saranno (un esempio? Microsoft Office 2007 [si, su Mac c’è il 2008, ma non è uguale]). Per non parlare delle altre applicazioni che mancano su Mac (macworld è un sito di utenti Mac!): a questo proposito molti giudicano alcuni programmi Mac non all’altezza del corrispettivo Windows, e dunque li emulano con VmWare – vedere per credere). Ma come posso sapere come mi troverò con OSX?

    • Un modo legale e funzionante per provare OSX su un computer non-Apple non esiste
    • Alcuni dicono: in “un centro Apple si può provare”; ok, anche a MediaWorld, ma come puoi provare/testare approfonditamente un OS in 1h con commessi/gente che ti passa vicino? Personalmente non ci riesco…
    • Apple potrebbe avere un bacino di utenti maggiore se solo aprisse OSX: basta pensare a tutti gli utenti (come me) che vogliono provare “qualcosa di nuovo”; e (questo ovviamente non posso dirlo, visto che non l’ho provato), OSX potrebbe avere anche maggior successo (o insuccesso). Ma giustamente, si dice che Apple vuol far funzionare OSX soltanto sulle proprie macchine (corretto, Apple prima di tutto è un produttore hardware).

    Ma allora come diffondere OSX? (ehi Apple, sono qui!)

    • Ad esempio, ad una versione demo di 10 giorni?
    • Una versione per computer non-Apple che sia limitata come prestazioni?
    • Altre idee?