Monthly archives: April 2014

Informatizzare tutto.

Posted on April 28, 2014 Comments

In un tweet mi sono permesso di chiedere al presidente del consiglio Renzi quando iniziassero le vere riforme, quelle che interessano alla piccola imprenditoria, vero fulcro e vero motore trainante della nostra nazione. Abbiamo capito che le multinazionali vivono di assitenzialismo: se lo stato da, loro investono. Chi invece prova a costruirsi la sua strada viene puntualmente bastonato dal socio occulto stato.

Io, inizierei con una informatizzazione totale del sistema di apertura e chiusura delle imprese. Aprire una partita iva, aprire un’impresa, deve essere qualcosa di immediato, in poche ora bisogna essere produttivi. Si deve passare dai due mesi di ora (tempo medio di apertura di un’impresa) alle due ore.

Il secondo punto, quello più importante è la totale informatizzazione dei bilanci. Le fatture devono essere fatte direttamente su di un sito statale in cui si dichiara cosa si è ceduto/che prestazione si è fatto, a che prezzo imponibile. Il resto dev’essere automatico. Allo stesso modo, un acquisto fatto con p.iva. deve essere immediatamente inserito allo scopo di detrarre dal reddito della partita iva i costi.

Calcolo delle tasse fatto in automatico, con possibilità di scelta del piano di pagamento, offrendo sgravi a chi paga tutto e subito e NON interessi in più a chi paga dilazionato.

E che ci vuole.

Cambio batteria iPhone: non prende più il segnale!

Posted on April 25, 2014 Comments

Cambiare la batteria dell’iPhone è una delle operazioni con “l’hardware” Apple più semplici che si possa fare. Si tratta di svitare poche viti e la batteria è bella che rimossa, pronta per essere sostituita con una nuova.

Internet è pieno di tutorial che mostrano come fare e non mi sembra il caso di riproporne un altro. Tuttavia, c’è un problema interessante che potrebbe verificarsi e risolverlo vi salverà il telefonino…

Durante il cambio della batteria può accadere che alla riaccensione il telefono non prenda più anche se smontandolo e rimontandolo più volte sembra tutto in ordine, tutto com’era prima!

Calma, la risoluzione è semplice. Molto probabilmente, il telefono presenti come data 1 Gennaio 1970. Ed è questo il problema. Fixarlo è semplice ma fastidioso (Apple Apple… ma cambiare una data dev’essere così difficile??). Impostazioni->Generali->Data ed ora. Togliete “Automatiche” e provvedete ad inserire la data recente… lo so lo so, scorrere quella dannata rotella per oltre 40 anni è una cosa fastidiosa, ma pensate che avete ripristinato la linea del vostro cellulare! Power off, power on… ed il telefono torna ad avere campo!

Linux, Apache ed OpenSSL

Posted on April 20, 2014 Comments

Abbiamo in un post passato parlato in breve di OpenSSL e del grave bug conosciuto come Heartbleed.

Ora descriveremo in breve come creare un certificato SSL su Apache installato su Linux (distro Debian).

Cominciamo con installare Apache

sudo apt-get install apache2

dopodichè abilitare SSL e riavviare apache:


sudo a2ensite default-ssl

sudo a2enmod ssl

sudo service apache2 restart

Creiamo una cartella in cui conservare i certificati, (i.e. etc/apache2/ssl), ed usiamo openssl per creare key e certificato:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Saranno chieste delle informazioni come ad esempio lo stato, il nome del server (anche l’ip va bene) ecc.

Aprire con Vim il file default-ssl:


vim /etc/apache2/sites-available/default-ssl

ed all’interno della sezione che comincia con <VirtualHost default:443>,

aggiungere:


ServerName yourdomain.it:443

ed accertarsi che ci siano nel file le seguenti tre linee:


SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

Notate che per cercare in VIM basta digitare / (slash) e la parola da cercare.

attiviamo SSL per il nuovo virtual host e ricarichiamo apache:


sudo a2ensite default

sudo service apache2 reload

 

That’s all. Ovviamente se nessuna autorità vi certifica il sito (CA= certification authority), gli utenti riceveranno l’avviso di sito con certificato non autorizzato/scaduto.

Heartbleed: quando una falla fa tremare il mondo…

Posted on April 20, 2014 Comments

Negli ultimi giorni il mondo di Internet ha tremato. Una falla nel famosissimo protocollo SSL ha aperto immense vulnerabilità in gran parte dei siti web.

OpenSSL implementa SSL con codice open source e dopo i problemi già avuti in passato con questo protocollo e Debian, ora si passa a qualcosa di più serio: attacchi completamente intracciabili. Si legge in giro che oltre il 60% dei siti web sia (o sia stato) vulnerabile all’attacco. Questo vuol dire che in 60% dei siti web, un hacker che conosceva la falla poteva entrare, fare ciò che voleva ed uscirsene, il tutto senza nessuna traccia.

Ed allora… si riapre la faida: quanto il software open source è sicuro dato che è “open”. Gli equilibri non si sono mossi. I sostenitori dell’open continuano a dire che il lavoro di tante mente può solo generare prodotti migliori e che proprio il fatto che sia open renda più sicuri gli algoritmi perché:

1) Sono ipertestati.

2) E’ molto più veloce il fix di bug.

I contrari ora invece trovano terreno fertile: Snowden ha dichiarato che questo bug era noto all’NSA da almeno due anni…

La sicurezza affidata all’open source… è davvero così sicura?

Rendere più sicuro MySQL

Posted on April 17, 2014 Comments

Sicuramente vi sarà capitato di mettere su un database e trovarvi disorientati dall’incredibile mole di tentativi di attacco che si subiscono ogni giorno. Tentativi con username più disperati e password tentate con forza bruta sono all’ordine del giorno.

Per database che risiedono sullo stesso server dell’applicazione che usa il DB, il problema principale è nella configurazione. Come al solito in questi casi, prevenire i tentativi di attacco è la soluzione migliore possibile.

L’obiettivo principale è fare in modo che il DBMS accetti richieste SOLO da applicazioni presenti sul server stesso.

Vediamo brevemente come fare:


#backup del file corrente

sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.old

#modifichiamo il file di configurazione

sudo vim /etc/mysql/my.cnf

All’interno del file, aggiungiamo la seguente linea:


bind-address = 127.0.0.1

In questo modo il DBMS ignorerà tutto ciò che non proviene da quell’indirizzo.

Per le vecchie versioni di MySQL, invece che bind-address, usare:

skip-networking

Attenzione: questo non renderà il vostro DBMS inviolabile. E’ buona norma utilizzare username non comuni, database con nomi non scontati (i.e. non usare JOOMLA come nome di un database per Joomla…), aggiungere dei prefissi non di default…. eccetera… eccetera… eccetera….

.htaccess per WordPress

Posted on April 16, 2014 Comments

Per usare i permalinks su un blog WordPress, bisogna:

  • Creare un file .htaccess nella cartella in cui è presente il blog con il seguente contenuto:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
<files wp-config.php>
order allow,deny
deny from all
</files>

Poi bisogna settare i permessi e l’ownership del file creato:


chown -v www-data:www-data /var/www/yourwordpressfolder/.htaccess

chmod -v 664 /var/www/yourwordpressfolder/.htaccess

ed infine da shell:


sudo a2enmode rewrite

sudo service apache2 restart

That’all!

Configurare Virtual Hosts su Apache

Posted on April 16, 2014 Comments

Ciao a tutti,

supponiamo che abbiate la bella idea di caricare più websites su un unico server e… non sapete dove sbattere la testa.

Andiamo con ordine…

Iniziamo con il configurare il web server. Per semplicità e forse perché è il più diffuso, consideriamo che abbiate installato Apache.

Da shell lanciate il seguente comando:

sudo vim /etc/apache2/sites-available/default

vi si aprirà il file contente la vostra configurazione.

A questo punto basterà aggiungere:


<VirtualHost *:80>
DocumentRoot /var/www/vhost0
ServerName www.yourdomain0.it
ServerAlias yourdomain0.it
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /var/www/vhost1
ServerName www.yourdomain1.it
ServerAlias yourdomain1.it
</VirtualHost>

dove con vhost0 and vhost1 si intendono le cartelle del vostro virtual host e con yourdomain0 e yourdomain1 si intendono i vostri domini.

Lanciate:


sudo service apache2 restart

per riavviare apache.

Ora configuriamo i domini. Dove potete impostare i DNS, settate:

per yourdomain0 (e successivamente per yourdomain1)

  • NAME @
  • TTL 5 min.
  • Type A
  • Value ip address del vostro server

e poi

  • Name www
  • TTL 1 Day
  • Type CNAME
  • Value yourdomain0.it

Commentate per domande di approfondimento 😉

 

Nota: se non avete vim:


apt-get update

apt-get install vim