Come si genera un CSR (Certificate Signing Request)

Ottobre 28, 2008 di alessice
Certificati SSL e generazione del CSR con openssl

Certificati SSL e generazione del CSR con openssl

Per lavoro mi trovo spesso ad acquistare Certificati SSL per i miei server o per conto dei miei clienti. L’acquisto di un certificato SSL è diventato ormai molto economico (a patto di acquistarne uno che prevede la sola validazione on-line come quelli di RapidSSL) ma la procedura on-line che spesso i siti di vendita richiedono può essere un po complessa nel momento in cui ci è richiesto di fornire un CSR ovvero un Certificate Signing Request.

Cosa è esattamente un CSR?

Da Wikipedia: http://en.wikipedia.org/wiki/Certificate_signing_request , si tratta in sostanza di un file di testo generato da openssl, almeno in ambito Linux/Unix, contenente le informazioni che la CA (Certification Authority, ovvero colei che ci rilascerà il nostro certificato) necessità di sapere per associare l’identità del certificato digitale al suo richiedente.

La generazione di un CSR comprende anche la generazione di una chiave privata che non sarà inclusa nel CSR stesso ma servirà solo a “firmare” la nostra richiesta di certificato. Questa chiave andrà poi conservata con molta cura e segretezza e sarà necessaria in fase di configurazione del nostro server (sia esso Apache, IIS, qmail, postfix o altro).

Ma vediamo adesso come generare un CSR con Linux/Unix.

E’ richiesto di avere installato il software openssl sul nostro PC/Server quindi:

per sistemi Debian/Ubuntu: # aptitute install openssl

per sistemi RedHat/CentOS/Fedora: # yum install openssl

una volta installato openssl procediamo alla vera e propria generazione del CSR, anzitutto creiamoci una directory di lavoro nella nostra home (non è necessario ed anzi è sconsigliato lavorare come utente root per svolgere queste operazioni):

$ mkdir ~/test-csr

$ cd test-csr/

Vediamo adesso quali saranno i dati che openssl ci chiederà per generare il nostro CSR:

Common Name: l’hostname a cui dovrà appoggiarsi il certificato (esempio
www.cecchi.biz o *.cecchi.biz nel caso di certificato wildcard)
Organization: Il nome dell’organizzazione o dell’azienda (Cecchi Business
Solutions
)
Organization Unit: L’unità organizzativa dell’azienda (Area CED cecchi.biz)
City or Locality: La città dove l’organizzazione ha sede (esempio Prato)
State or Province: Lo stato o la provincia dove ha sede l’organizzazione
(esempio Prato)
Country: Il paese dove ha sede l’organizzazione (esempio IT)

impostiamo, ma solo per comodità, una variabile che contiene il Common Name del nostro certificato, supponiamo di generarne uno per www.cecchi.biz

$ export CommonName=www.cecchi.biz

$ echo $CommonName
www.cecchi.biz

Ok, la variabile è impostata correttamente se dopo echo esce il nome che del nostro CN, procediamo con la generazione della nostra chiave pubblica:

$ openssl genrsa -out $CommonName.key 1024
Generating RSA private key, 1024 bit long modulus
…..++++++
………………….++++++
e is 65537 (0×10001)

$ ls
www.cecchi.biz.key

la nostra chiave privata apparirà piò o meno così:

$ cat www.cecchi.biz.key
—–BEGIN RSA PRIVATE KEY—–
MIICXgIBAAKBgQC6nquvjBCGYqu9nHybtryar4334vqvVvZYiB74qGWOuQZBr
yR81hOvkKgjnUOQ99DO+dBgLc02I5zcHjtttfZKd06jAI8DzK0DiFxA36Jdn294C
f4sy9FmhdE54D0uEJwUqSnFiFQNeI16A7itzknuim7i8i7unr6nbuydrydruS1wIDAQAB
AoGAAsDqmZmAeOsly5NuWxeaIjyTDKRR5VZ/+JRmjbP9i1N6lAylm+GI01pVvLUe
EoOwCnX6+XlvDWQzJaz7s+HYvPtjgX6ZnKnxKZqZzOeblykDogVYb8msK7oqZWQ9
+91FOothHv+Jw7oSVsFSW7W4T7z/8VY+N5mZkEoPM2tTFgECQQDkXBFB/6tpcoqT
J01VdfJ4ajKyBhKLWiK4SDBp9eZ2k5Ty9HIUE7hF2yRL4WF9wOMcmNwSG3tjTkZq
6RsuLMHXAkEA0TVBnt584×8kFxD5xwfu+V1hYVEmubImHmKRbxxyBo82yTNM0dQx
vtrbtrynryntunntuytuyfguhtyu56yu6u8n7moit8urtttrsrydX2Vwr7RGFfQ8gHPPYYDB74
4gZPvAyrQM4iEm1aNhjTIcdej7ueFbKv6nJxkQflp2Mf+rbQd842chQcjy8CQQCu
rytFvjzFYEFASVpmiAdQjFo9agdN0vt4twtb5ne5fvtDgWlHnD0SsjWgzXKtJX
Hdt6pBTczaf464jSEm4BAkEAq3n3oAaOIcWuHn8EqmlVt4koO9uxYGCadMmuDZJP
u2nznBOIlSBJAb4/IpcNUMB5rbPP4FXkNVdgWS6FctFoGg==
—–END RSA PRIVATE KEY—–
Passiamo ora alla vera e propria generazione del CSR:

$ openssl req -new -key $CommonName.key -out $CommonName.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:IT
State or Province Name (full name) [Some-State]:Prato
Locality Name (eg, city) []:Prato
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Cecchi Business Solutions
Organizational Unit Name (eg, section) []:Area CED cecchi.biz
Common Name (eg, YOUR name) []:www.cecchi.biz
Email Address []:sslcert@cecchi.biz INUTILE CHE MI MANDATE SPAM, NON ESISTE QUESTA CASELLA

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: LASCIARE VUOTO
An optional company name []: LASCIARE VUOTO

$ ls
www.cecchi.biz.csr www.cecchi.biz.key

Perfetto, il nostro CSR è generato ed è pronto per essere inviato alla nostra CA o meglio al nostro rivenditore di certificati SSL!

Se avete ancora difficoltà nella generazione di un CSR oppure volete maggiore supporto tecnico e consulenza per l’acquisto di un certificato SSL il mio consiglio è quello di rivolgersi a dei professionisti del mestiere per l’acquisto di un Certificato SSL con generazione CSR ed installazione compresa.

La scelta della Server Farm dove ospitare i propri Server

Settembre 25, 2008 di alessice

In questo articolo, ed in altri che seguiranno, parleremo dei fattori da valutare in fase di scelta della Server Farm, ovvero la struttura che dovrà ospitare i nostri Server. Inizieremmo con le caratteristiche tecniche di base da tenere in considerazione per un attenta valutazione della struttura, fino alle caratteristiche commerciali e di garanzia di servizio (SLA) da discutere.

Cos’è una Server Farm

Chi riconosce l'immagine e mi sadire di cosa si tratta? Attendo la vostra rispota nei commenti.

(Chi riconosce l’immagine e mi sa dire di cosa si tratta e dove si trova? Attendo la vostra risposta nei commenti :-) )

La Server Farm, anche chiamata Web Farm, è una struttura dedicata ad ospitare dei sistemi Server che per la maggior parte forniranno servizi accessibili agli utenti via Web. La differenza rispetto ad un tradizionale CED aziendale sta proprio nella vocazione al Web per i servizi erogati dai Server presenti nella prima rispetto ai servizi erogati da un CED interno ad un’azienda, generalmente proprietaria dello stesso.
Una Server Farm moderna, per essere considerata tale, deve disporre di determinate caratteristiche che la rendono idonea allo scopo precedentemente esposto.

Caratteristiche Tecniche

  • Connettività (nazionale – internazionale – ridondata – etc)
  • Continuità di servizio (principalmente elettrico e di condizionamento dell’aria)
  • Sicurezza e presidio (sia fisico che di controllo accessi che di monitoraggio della rete, antincendio)
  • Espandibilità
  • Servizi accessori

Sono inoltre da valutare una serie di caratteristiche commerciali più che tecniche quali

  • Tariffazione a traffico o banda flat
  • Disponibilità di accesso alla struttura
  • Manutenzione hardware
  • Firewall condiviso o dedicato
  • Armadio o porzione di esso, spazio singolo
  • Managed o unmanaged

Ma di questo parleremo più avanti.
Analizzeremo adesso uno ad uno questi ed altri punti fondamentali nella scelta della struttura in cui andremo ad ospitare i nostri Server.

Connettività

Il primo fattore per cui si sceglie di posizionare un Server in Server Farm è per disporre di connettività, virtualmente illimitata, e cmq abbondante rispetto alle previsioni di incremento di traffico che il nostro Server dovrà gestire, di cui altrimenti nella nostra sede aziendale non potremmo dsporre, se non con investimenti non giustificabili rispetto al nostro Core Business, e cmq sempre con una affidabilità minore rispetto a quella garantita da una struttura dedicata. Sebbene, ad oggi, la connettività disponibile presso le Server Farm sia in costante crescita, complice anche un costante calo dei prezzi della banda “all’ingrosso”, è opportuno valutare la bontà di questa banda (velocità) disponibile. A seconda dei Carrier con cui la struttura è collegata potremmo ottenere buone prestazioni nel nostro paese ma scarse in altri continenti, viceversa se il nostro Server fosse ospitato in una struttura estera potremmo avere dei problemi di latenza e di velocità da parte degli utenti nel fruire dei servizi da noi erogati. A questo proposito è bene verificare fin da subito la presenza di peering diretti (collegamenti) con eventuali nodi di interscambio neutrali, quali il nostro MIX-IT di Milano o il Namex di Roma, presenti in ogni paese che consentono un accesso diretto a tutti gli altri principali provider presenti sul territorio. A tal proposito se anche il nostro Server dovesse essere collocato all’estero, se la struttura in cui andremo a posizionarsi avesse un peering diretto con il nostro MIX-IT sicuramente avremmo dei bassi tempi di latenza. Non è invece fondamentale valutare la banda totale disponibile presso una Server Farm, quanto la sua saturazione e le politiche di Upgrade della struttura. Per esempio una struttura dotata di 1Gbit totali di connettività ma saturi al 90% di fatto ci offrirà minori prestazioni di una dotata di 155Mbit totali ma saturi solo al 20%. Certo, se prevediamo che il nostro Business richiederà più di 100Mbit di banda a noi dedicati nessuna delle due strutture farà al nostro caso. A seconda dei servizi che andremo ad offrire la latenza (ritardo nel transito dei pacchetti sulla rete) potrebbe essere un fattore decisivo. Un servizio di download di soli contenuti non risentirà in particolare del fattore latenza, un Game Server o ancor di più il servizio DNS risentiranno molto di una latenza elevata. In particolare per il DNS, l’attesa della risoluzione del nome in IP prima ancora del caricamento della pagina Web può generare una sensazione di lentezza nell’utente rispetto al sito Web che sta navigando o tentando di aprire. Rispetto a quanto detto è giusto far presente che a meno di non collocare il server in un continente diverso da quello di fruizione dei servizi da esso erogati, la latenza sarà sempre accettabile all’interno di uno stesso continente. Ad oggi la totalità delle Server Farm, degne di questo nome, sono collegate esclusivamente in fibra ottica a più carrier, le cui fibre seguono strade differenti sul territorio per evitare guasti o interruzioni derivanti da tranciature delle stesse. Alcuni anni fa per un motivo di questo genere rimase off-line per una mezza giornata uno dei più famosi e visitati portali italiani. Il problema fu causato da uno scavo stradale di fronte alla Server Farm stessa che andò a tranciare un cavo in fibra ottica. La città teatro dell’episodio fu Milano.

Continuità di servizio

Altro fondamentale motivo per cui decideremmo di posizionare il nostro server in una server farm sarà l’esigenza di garantirne la continuità di servizio anche in caso di mancanze di energia elettrica per un tempo prolungato, oltre al costo di dotarsi di un impianto di condizionamento dell’aria e refrigerazione tale da mantenere umidità e temperatura sotto controllo per 365/7/254. Anche qui ogni server farm che si rispetti è dotata di apparecchiature e strumentazioni in grado di garantire adeguati livelli di servizio. Generalmente la continuità elettrica è garantita da una prima serie di batterie e gruppi di continuità (UPS) che oltre a filtrare eventuali sbalzi di tensione garantiscono energia elettrica per brevi periodi. Subito dopo l’entrata in funzione degli UPS per una prolungata (in realtà pochi minuti) mancanza di energia elettrica da parte della rete entrano in funzione i gruppi elettrogeni, generalmente motori Diesel in grado di garantire energia a tutta la struttura anche per giorni, a patto che nei serbatoi ci sia abbastanza carburante! La refrigerazione deve essere garantita fino all’interno dell’armadio rack che ospiterà i server e deve entrare nell’armadio in maniera forzata a partire dal basso verso l’alto. E’ importante fare attenzione che anche i server ospitate nelle file più alte siano ben refrigerati da un flusso di aria fresca. Generalmente in server farm si deve patire il freddo. Purtroppo su questi ultimi due punti è difficile fare una valutazione sulla reale efficacia degli strumenti a disposizione della server farm, in particolare per la continuità elettrica. Di fatto l’eventualità che manchi l’energia elettrica, soprattutto per un tempo prolungato, è remota e verificare la reale capacità ed operatività degli UPS e dei gruppi elettrogeni non è possibile a meno di non voler tirare giù l’interruttore generale. In varie occasioni sono stato personalmente coinvolto in casi in cui i motori elettrogeni non sono partiti, o sono partiti tardi (quando gli UPS avevano esaurito la loro carica ed i server si erano ormai spenti). In certe occasioni ci si accorge che i serbatoi del Diesel sono vuoti o che la batteria che dovrebbe mettere in moto i motori è scarica solo nel momento in cui c’è reale necessità di questo strumento, cioè troppo tardi. Questo è da imputare al fatto che poca manutenzione viene fatta su questi apparati, nella speranza che l’evento remota di rimanere a lungo senza energia elettrica non avvenga. Stessa questione per gli impianti di refrigerazione che dovendo girare continuamente tutto l’anno sono sottoposti a guasti e non possono essere fermati per regolare manutenzione facilmente. Anche qui è capitato di vedere impianti di condizionamento fermarsi per delle mezze giornate e l’unico rimedio è stato quello di aprire le finestre della struttura in cui erano ospitati i server. Forse non potete immaginarlo ma una sala dati senza adeguato raffreddamento, anche per pochissimo tempo può raggiungere temperature insopportabili sia per un essere umano sia per un Hard-Disk. Sono stato chiamato una volta a recuperare dei dati da un Hard-Disk di un server ospitato in una server farm in cui l’impianto di refrigerazione era rimasto fermo per una notte (o forse più, non fu possibile mai saperlo). Il risultato fu drammatico, l’hard-disk era letteralmente cotto e con esso i dati ed i backup che conteneva. Attenzione, non pensate che questi inconvenienti possano capitare solo a strutture/aziende di piccole dimensioni. In entrambi i casi (gruppi elettrogeni partiti in ritardo e condizionatori guasti) si trattava di primarie Spa del panorama delle telecomunicazioni Italiano.

Sicurezza e Presidio

Purtroppo sempre più spesso sento parlare di furto di PC e Server all’interno delle aziende.
Chi esegue questo tipo di furti quasi sempre è interessato al valore dell’Hardware, mentre per noi sono vitali i dati in essi contenuti. Per questo motivo può essere opportuno pensare di spostare fisicamente in una struttura sorvegliata costantemente da personale addetto parte dei nostri server. Altrettanto importante è che la server farm che andremo a scegliere sia dotata di queste misure di sicurezza fisica, di apposite protezioni ed allarmi agli infissi, meglio se la vera e propria sezione dell’edificio che ospita i server non è esposta direttamente all’estero attraverso finestre o porte, ma protetta da un “guscio” che le gira attorno. Sebbene possa sembrare improbabile un lancio di sassi o altri materiali diretto verso le finestre dietro le quali sono ospitati i nostri server, oppure una carica di folla inferocita per chissà quale motivo è bene sapere che una cosa del genere è capitata, in Italia a Genova durante il G8 del 2001. Infatti nelle zone adiacenti agli scontri causati dai cosiddetti “black-block” era, ed è tuttora, presente un importante Server Farm, che fu messa in serio pericolo da questi scontri. Fortunatamente la struttura non era direttamente affacciata sulla strada ma all’interno di un cortile privato presidiato per l’occasione da guardie armate. La struttura in questione fu messa a disposizione anche dei numerosi giornalisti, Italiano ed esteri, come “postazione internet” per l’invio della corrispondenza alle rispettive testate, mantenendo al sicuro tutti i suoi occupanti. Mi vengono in mente alcune strutture che in una simile situazione sarebbero state letteralmente assediate o facilmente “espugnate” ma non vi posso dire quali e dove sono ;-) . Anche il sistema antincendio deve essere presente, adeguatamente mantenuto ed il personale della struttura ben istruito sul suo funzionamento (innesco/disinnesco manuale ed altro). Fortunatamente non ho mai assistito ad un incendio in una Server Farm, anche se in alcuni casi, presso piccole strutture, ci siamo andati vicino! A mio avviso una struttura non dotata dell’impianto antincendio non è da ritenersi adeguata ad ospitare numerosi server, non tanto perché ci sia il reale e concreto rischio di incendio, ma si badi bene che se pur remoto questo rischio è presente, ma perché sta a testimoniare la mancanza di volontà di investire sull’affidabilità della struttura stessa da parte della sua proprietà.

Espandibilità

A seconda di quanto prevediamo che il nostro business legato al Web si espanda è bene informarsi sulla possibilità della struttura che ci ospita di sopportare ed accompagnare una nostra eventuale crescita. Sebbene in molti casi la crescita si fermerà a qualche decina di server da posizionare potremmo avere la necessità di andare oltre, ed una volta impiantata ed avviata un attività effettuare un trasloco dei nostri server altrove è un operazione che volentieri ci risparmieremmo. Espandibilità non vuol dire solo valutare se la struttura può fisicamente contenere i nostri server ma ponderare anche l’aspetto economico e l’intenzione della struttura stessa di avere un cliente “ingombrante”. Sebbene non mi sia mai capitato di sentirmi dire “lei non è più gradito perché si espande troppo” potrebbe essere legittimo per la struttura voler riservare spazio anche ad altri clienti e tentare quindi di contenere la nostra crescita. Avere un unico cliente molto grande da vantaggi nella gestione amministrativa, contabile, operativa e così via ma vuol dire anche esporsi a dei rischi nel momento in cui questo cliente decida di trasferirsi ed una azienda ha tutto il diritto a non voler accettare contratti troppo vincolanti con un cliente.

Servizi Accessori

Oltre alle caratteristiche tecniche che ci può offrire una server farm rispetto ad un’altra rimangono da valutare molti altri servizi. La locazione fisica rispetto alla nostra sede, in caso di emergenza potremmo doverci recare fisicamente di fronte al nostro server. La possibilità di accesso alla struttura, con che orari e quali eventuali costi. La possibilità di avere assistenza tecnica sia sistemistica che hardware direttamente dai tecnici del presidio. Possibilità di parlare direttamente con qualcuno presente in struttura 365/7/24. Altri accessori come KVM o reboot via IP. Ma di tutto questo parleremo prossimamente.

Ciao :-)

Blog in fase di lavorazione

Settembre 15, 2008 di alessice

Finalmente mi sono deciso pure io a mettere on-line il mio Blog personale. Era un passo dovuto, ormai siamo in piena era Web 2.0 (che poi non si capisce ancora cosa vuole dire questa frase) e se non hai una presenza in rete dove ti racconti sei OUT.

Qui parlerò di me e delle attività legate al mio lavoro, sono in preparazioni degli articoli molto interessanti relativi al mondo dei Sistemi Server, degli ISP e dei Datacenter, argomenti che volente o nolente mi trovo a dover afrontare quotidianamente con il mio lavoro.

In realtà io la mia presenza sul web l’ho già dal lontano 2001 (whois di cecchi.biz conferma: Domain Registration Date: Fri Dec 07 10:13:19 GMT 2001) e per un altro progetto, poi però mai avviato, dal 2000, quindi facciamo contare quella del 2001.

Mancava però un mio spazio personale dove raccontarmi ed eccolo quà!

Ci vediamo a breve ;-)