Categorie
Esperienze Guide

Finte email Aruba con Cryptolocker

Questa mattina ho ricevuto un cryptolocker veramente ben fatto. Per chi ancora non li conoscesse, si tratta di quei tipi di attacchi che rendono inutilizzabile qualsiasi file del proprio computer, a meno di non pagare un riscatto. Chiaramente pagare il riscatto non dà alcuna garanzia di riottenere i propri dati, anzi, incentiva l’attività criminale.

Ad ogni modo, la minaccia si è presentata ai miei occhi come email di rinnovo PEC Aruba inoltratami da una casella info di una certa azienda. Il testo aggiunto era semplicemente questo:

?????

Inviato da iPhone

Insomma, sembrava la tipica mail di richiesta di supporto da parte di un cliente spaesato (e pure un po’ maleducato, diciamolo). Ma dato che non conoscevo affatto l’indirizzo di provenienza, ho subito capito che nell’allegato zip c’era il classico file con doppia estensione pdf.js

Cosa sarebbe successo però se l’email di provenienza fosse stata quella di un mio cliente? A me personalmente nulla, perché sul mio sistema Fedora apro i file JS con editor di testo, un’impostazione che se avessi Windows farei subito.

 

Categorie
Risorse

Gestione di server LEMP con VestaCP

Da più di due anni ho un valido alleato nel mio lavoro quotidiano, e non lo dico a caso perché proprio in questi ultimi due anni ho tratto le maggiori soddisfazioni dalla mia carriera. Per introdurre questo mio alleato, devo prima di tutto spiegare in cosa consiste il mio lavoro, e lo spiegherò come lo spiego ai non addetti ai lavori. Forse questo blog non è letto dai non addetti ai lavori, ma questi ultimi saranno comunque curiosi di sapere come descrivo la mia attività 🙂

Allora, i siti Internet “vivono” in dei computer accesi giorno e notte, chiamati “server web”. Quando noi visitiamo un sito non facciamo altro che richiedere informazioni a questi server. Questi server vanno prima di tutto allestiti, e poi comunque manutenuti, perché io devo fare in modo che questi siti si carichino sempre in maniera veloce e che non subiscano attacchi, tenendo presente che un sito con un CMS come WordPress o Joomla viene sempre e comunque attaccato. Nel 99% dei casi infatti l’aggressione non è dettata da motivi personali, ma dall’esigenza di un abusare di un server per inviare spam o per creare una botnet che a sua volta viene scagliata contro grandi realtà.

Ma cosa significa “allestire un server web”? La prima cosa che viene in mente è quella di scaricare i pacchetti di installazione che la propria distibuzione Linux prepara per i vari componenti dello stack: Apache, MySQL e PHP. Fino a qui, nulla di trascendentale. Il bello poi viene dopo con la configurazione, e allora sì che capita di tutto: upload di file che non funzionano per via dei permessi, risorse che vengono immediatamente saturate, moduli mancanti… E’ incredibile quanti aspiranti “sistemisti di sè stessi” abbiano perso ore cercando di reinventare la ruota. Addirittura ho visto gli stessi sistemisti riconfigurare da zero ogni singolo server, senza beneficiare del lavoro già svolto.

Tutto quello che ho scritto finora riguarda solo la parte web. Ma la posta elettronica fatta per bene (cioè con antivirus, antispam e DKIM) richiede uno sforzo analogo! Per non parlare del caso in cui qualcuno volesse mettere in piedi due nameserver con sincronizzazione delle zone… Ma esiste un modo per evitare questo strazio: installare un pannello di controllo dell’hosting che riduce la creazione di host, database e caselle di posta al punta e clicca.

I pannelli di controllo per l’hosting più famosi sono Plesk e cPanel. Si tratta di ottimi prodotti… fino a quando qualcuno non ha bisogno di eseguire fine tuning della configurazione del server. Già, perché questi software “sequestrano” la configurazione del server, e qualsiasi modifica che non viene eseguita nei punti giusti è destinata ad essere sovrascritta. Io ho usato per anni il pannello Kloxo, ma poi sulla scena è comparso il mio alleato di ogni giorno: VestaCP. I suoi punti di forza? Ve li elenco subito:

  • Semplicità. VestaCP permette solo di aggiungere host, database e caselle di posta. Può essere dato in mano a un cliente senza problemi.
  • Velocità. Davanti ad Apache viene posto nginx, con il risultato che i file statici di un sito vengono caricati istantaneamente, con la possibilità di cachare le pagine dinamiche. Un VPS da 512MB di RAM regge così 10mila visite al giorno.
  • Sicurezza. Il pannello si aggiorna da solo. Gli attacchi di forza bruta sono mitigati da Fail2ban. Certificati SSL installabili rapidamente, e nell’ultima versione generabili da GUI tramite Letsencrypt.
  • Automatizzazione. VestaCP ha un CLI potentissima, per controllare ogni aspetto dell’hosting
  • Compatibilità. Tutti i pacchetti dello stack vengono installati tramite il gestore pacchetti della propria distribuzione

Tutto questo costa € 0. Free as in beer. Lo sviluppo è sostenuto tramite sponsor e due plugin a pagamento, quello per la gestione dei file e quello per il chroot. Il difetto che ho trovato finora è una certa lentezza a risolvere certi bug apparentemente stupidi. Per il resto, non mi resta che invitarlo a provarlo voi stessi.

Categorie
Esperienze

Mi sono sbagliato: i siti servono ancora

Ormai il mio business principale è il supporto sistemistico per hosting LAMP di alto livello, ottimizzato per WordPress e Magento. Non ho più la possibilità di portare avanti progetti di siti Internet, e lo faccio ormai solo per passione e per mantenere quel minimo di pratica. Alle conoscenze dirette che mi chiedono un sito quindi spiego con franchezza la mia evoluzione professionale, aggiungendo in più il fatto che per le PMI potrebbe bastare la pagina Facebook, con il rischio che il sito in questo caso possa addirittura danneggiare l’immagine aziendale, se obsoleto o non aggiornato.

Invece per caso mi sono reso conto che i siti sono più che mai fondamentali, e ho dei dati precisi in materia. Preambolo: da un anno ormai mi sono aggregato alla locale squadra di calcio amatoriale. Io avrei preferito praticare il rubgy, ma Urbino mi rimaneva troppo distante. Dato che ho più talento nelle relazioni che nel rettangolo di gioco, la dirigenza mi ha chiesto quasi subito di collaborare. Così, approfittando di un periodo di relativa calma lavorativa ho deciso di pubblicare un sito informativo della squadra, con un paio di articoli per iniziare. Chiaramente ho pubblicato uno dei due articoli sulla pagina Facebook, e il post su Facebook ha raggiunto 1059 persone, con 37 reazioni. Questo a fronte di una media di 42 persone raggiunte e di 4 reazioni per i 5 post precedenti, che erano tutti senza link fra l’altro.

Voi non fate lo stesso mio errore e non sottovalutate i siti. Soprattutto se avete una pagina Facebook…

Image credits

 

Categorie
Portfolio

Agenzia immobiliare Roya: da un sito statico a WordPress

Con la collaborazione del SEO di Aziende al Top ho portato a termine il rifacimento in WordPress del sito dell’Agenzia Immobiliare Roya, un cliente che dall’estremo nord-ovest dell’Italia ha scelto di affidarmi alla mia consulenza web.

Dato il mercato, la lingua principale del sito è l’inglese. La gestione delle lingue avviene tramite WPML.

Il tema utilizzato è stato personalizzato adottando la mappa del motore di ricerca come template di base per tutti gli archivi.

Particolare attenzione è stata prestata:

  • ai redirect per fare in modo che i vecchi URL del sito statico portassero comunque a destinazione.
  • ai titoli e alle descrizioni SEO, per un discorso simile.

L’agenzia è gestita da Sandra van Bienen, figlia del fondatore del brand, che ha partecipato attivamente al processo di sviluppo del sito soprattutto in termini di data entry: spero di passare presto dalle parti di Airole per conoscerla!

Categorie
Guide

Sostituire in massa gli “short tags” di PHP

Trasferendo un sito in PHP da un server all’altro potrebbe capitarvi una problematica che oggi non ho saputo individuare all’istante.  L’errore che avevo sul nuovo server infatti era il generico:

Parse error: syntax error, unexpected end of file in the line...

Dato che dal giorno del trasferimento a quello della segnalazione era già passata una settimana, ho pensato ad una modifica maldestra dei file. Invece googlando l’errore già citato assieme al nome del plugin WordPress coinvolto ho trovato un commento illuminante che mi ha portato alla soluzione: la direttiva short_open_tag di PHP disabilitata. Un bel giorno infatti qualcuno decise che a scrivere


si perdeva troppo tempo, e che


era sufficiente. Tuttavia questa forma "breve" poteva creare confusione con i documenti XML, che iniziano in questo modo:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

Ecco perché tutte le versioni più recenti di PHP hanno questa famigerata direttiva disabilitata. Ed ecco perché io ho resistito dalla facile tentazione di abilitarla optando invece per una sostituzione multipla che risolve il problema una volta per sempre. Posizionandomi sulla root del sito ho dato questi comandi in successione (sicuramente ottimizzabili)

find . -type f -name "*.php" -print0 | xargs -0 perl -pi.bak -e 's/<\? /<?php /g'
find . -type f -name "*.php" -print0 | xargs -0 perl -pi.bak -e 's/<\?= /<?php echo /g'
find . -type f -name "*.php" -print0 | xargs -0 perl -pi.bak -e 's/<\?\n/<?php\n/g'
find . -type f -name "*.php" -print0 | xargs -0 perl -pi.bak -e 's/<\?\r\n/<?php\r\n/g'

Questi comandi creano anche dei file di backup, che al termine delle operazioni possono essere eliminati così:

find -name "*.php.bak" -delete