Configurazione 

HTTPS

Principio

HTTPS (dove S sta per secured, ossia « protetto ») è la semplice combinazione di HTTP con SSL.

Permette al visitatore di verificare l'identità del sito a cui accede grazie ad un certificato di autentificazione.

Garantisce la riservatezza e l'integrità dei dati inviati dall'utente (in particolare le informazioni inserite nei formulari) e ricevute dal server.

L'autentificazione è realizzata mediante l'utilizzo di un certificato numerico X.509 consegnato da una Certification Authority.

La cifratura è realizzata mediante una cifratura asimmetrica, come ad esempio l'algoritmo RSA.

Certification Authority (CA)

In crittografia, la Certification Authority (AC o CA) ha la missione, dopo aver verificato l'identità del richiedente del certificato mediante una autorità di registrazione, di firmare, emettere e conservare i certificati.

  • Verisign
  • Thawte
  • Global Sign
  • ...
Chiave privata RSA (server.key)

Un file con chiave privata RSA è un file numerico che è possibile utilizzare per decifrare messaggi ricevuti.

Ha la sua chiave a carattere pubblico che è possibile distribuire (tramite il proprio certificato), il che permette agli utenti di cifrare i messaggi che vi inviano.

Richiesta di Firma di Certificato (CSR)

Una Richiesta di Firma di Certificato (CSR) è un file numerico che contiene la propria chiave pubblica ed il proprio nome.

La CSR deve essere inviata ad una Certification Authority (CA), che la convertirà in certificato ufficiale firmandola.

Certificato (server.crt)

Un certificato contiene la chiave pubblica RSA, il proprio nome, il nome della CA, ed è firmato numericamente da quest'ultima.

I browser che riconoscono la CA possono verificare la firma del certificato ed estrarne così la propria chiave pubblica RSA.

Ciò permette loro di inviare dei messaggi cifrati per permettere solo all'utente di decifrarli.

Ottenimento di un certificato

La Certification Authority commerciale chiede generalmente di inviare la CSR mediante un formulario web, di pagare l'importo della firma, poi viene inviato un certificato firmato in un file server.crt.

Configurazione del server Apache

Il file di configurazione del protocollo SSL del server Apache è generato durante l'installazione del server X3WEB.

  • Path: WebTools\SOFTS\HTTPD\conf\extra\httpd-ssl.conf
  • WebTools è la direcotory 'Tools' definita durante l'installazione del server X3WEB

# Server Certificate:
SSLCertificateFile "C:/SAGE/WebREFJULIET/WebTools/SOFTS/HTTPD/conf/server.crt"

# Server Private Key:
SSLCertificateKeyFile "C:/SAGE/WebREFJULIET/WebTools/SOFTS/HTTPD/conf/server.key"

Le ubicazioni dei file certificato (.crt) e chiave privata (.key) sono le seguenti:

  • WebTools\SOFTS\HTTPD\conf\server.crt
  • WebTools\SOFTS\HTTPD\conf\server.key

I file server.crt e server.key consegnati di default sono dei file di test consegnati dalla fondazione Apache.

Il file server.crt non è certificato da una Certification Authority e non è di conseguenza riconosciuto (validato) dai browser.

Per configurare correttamente il protocollo SSL bisogna generare un file chiave privata server.key ed effettuare una richiesta di certificato (server.crt) presso una autorità di certificazione e poi sostituire i file esistenti mantenendo lo stesso nome.

Quando si applica una patch su un server X3WEB, bisogna salvare i file server.crt e server.key e ricopiarli dopo l'installazione della patch.

Creazione di un certificato di test Verisign

L'autorità di certificazione Verign (http://www.verisign.it) propone un certificato SSL di prova gratuito con durata limitata.

Si indica a titolo illustrativo il metodo da seguire per:

  • creare la chiave privata e la richiesta di firma del certificato (CSR) col tool box OpenSSL
  • ottenere il certificato di test presso Verisign.

Questo documento completa le istruzioni fornite da Verisign.
http://www.verisign.fr/support/ssl-certificate-support/page_fr_fr_dev019500.html

Fase 1 - Installare OpenSSL

L’utility « openssl » (http://www.openssl.org) serve a generare la chiave e la richiesta di firma del certificato (CSR).

Effettuare il download di OpenSSL (sotto windows).
http://www.openssl.org/related/binaries.html

1. Installare 'Visual C++ 2008 Redistributables'

2. Installare 'Win32 OpenSSL v0.9.8j Light' o 'Win64 OpenSSL v0.9.8j Light'

3. Utilizzare il comando \OpenSSL\Bin\openssl.exe

Fase 2 - Generare una chiave privata

openssl genrsa -des3 1024 > verisign.key

Documentazione genrsa.
http://www.openssl.org//docs/apps/genrsa.html

Fase 3 - Generare una richiesta di firma di certificato

openssl req -new -key verisign.key verisign.csr

Documentazione richiesta
http://www.openssl.org//docs/apps/req.html

1. Inserire la password della chiave privata

2. Inserire le informazioni sul certificato

Inserire il Nome di Dominio non ambiguo ("Fully Qualified Domain Name" o FQDN) del proprio server quando OpenSSL richiede il Common Name (es, YOUR name).

Se si genera una CSR per un sito web a cui si accederà tramite l'URL https://www.mysite.com/, il FQDN sarà www.mysite.com

Normalmente si acquista un certificato per Nome di Dominio non ambiguo.

Per generare un certificato auto-firmato

Questo certificato non ha bisogno di essere firmato da una autorità di certificazione ma non è riconosciuto dal browser. Utilizzare il seguente comando:

openssl req -x509 -key verisign.key -in verisign.csr > verisign.crt

Fase 4 - Richiesta di certificato

Aprire l'URL http://www.verisign.fr/ssl/index.html e cliccare su 'Test gratuito'.

1. Compilare il formulario di richiesta

2. Compilare il formulario del contatto tecnico

3. Compilare il formulario del certificato

      • Selezionare 'Server Apache'
      • Aprire il file CRS verisign.crs con un editor di testo e copiare il contenuto
      • Incollare il contenuto testo nel campo di inserimento
      • Selezionare l'utilizzo Server WEB poi invio
      • Inserire la password del certificato poi invio

5. Il certificato è inviato via email

6. Al ricevimento del certificato

      • Copiare il certificato
        testo tra -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----
      • Aprire NotePad(++) ed incollare il certificato
      • Registrare il certificato con l'estensione .crt (verisign.crt)

Fare una copia dei file verisign.key e verisign.crt e conservare le password.

Fase 5 - Installazione del certificato

Copiare/Sostituire i file verisign.key e verisign.crt sotto server.key e server.crt nella directory WebTools\SOFTS\HTTPD\conf\

Parametri di configurazione

X3Web

Le applicazioni XTEND utilizzano la porta HTTPS.

Verificare che il parametro console ALL.Apache.APACHESSL che attiva la modalità SSL del serveur Apache abbia il valore yes

Le porte HTTP e HTTPS per accedere alle applicazioni XTEND sono fornite dai parametri xtend.server.gensetup.http.defhttpport e xtend.server.gensetup.http.defhttpsport.

Questi parametri devono essere obbligatoriamente indicati.

XTEND

Il riquadro presenta i parametri di configurazione del server XTEND accessibile tramite la console (parametri avanzati).

Parametro 

Valore di default

Descrizione

xtend.session.trace.xtend

off

Traccia sessione XTEND

xtend.session.trace.httpreq

off

Traccia delle query http

xtend.session.trace.wsvc

off

Traccia web service

xtend.session.wait.timeout

1500

Timeout di attesa in ms di una richiesta XTEND se la sessione è occupata (elaborazione di un altra richiesta)

xtend.server.data.localpath

/data/local

Http alias per accedere alle risorse locali al server X3WEB (vedere httpd.conf)

xtend.server.data.protectdir

x_protect

Identificazione dei dossier XTEND che sono protetti

xtend.server.reposit.local

off

Ubicazione del dizionario XTEND ed altri dati xml pubblicati da XTEND
On: in locale sul server X3WEB
Off: in remoto sul server X3

xtend.server.menux3.local

off

Ubicazione dei menù X3 (vedere xtend.server.reposit.local)

xtend.server.x3httpsrv.secured

off

Protocollo http/https per accesso al server Http delle soluzioni
On: necessita di attivare manualmente la modalità ssl del server Http della soluzione

xtend.server.x3httpsrv.readtimeout

30000

Timeout (ms) durante la lettura di una risorsa sul server Http della soluzione

xtend.server.x3httpsrv.cnxtimeout

30000

Timeout (ms) durante la connessione al server Http della soluzione

xtend.server.activitylog.level

1

Avanzamento dell'attività - Livello di traccia - 0: off - 1: Normal - 2: Verbose

xtend.server.activitylog.filenumber

10

Avanzamento dell'attività - Numero di file log

xtend.server.activitylog.filesize

10000000

Avanzamento dell'attività - Dimensione in byte di un file log

xtend.server.virtualpath.context

/xtend

Path della web application XTEND

xtend.cxtdtracesvc.trace.server.host

Hostname del server di traccia

xtend.cxtdtracesvc.trace.server.port

1515

Porta TCP del server di traccia

xtend.cxtdtracesvc.tracesvc.canal.level

9  

Livello del server di traccia

xtend.cxtdtracesvc.tracesvc.canal.name

SXTD  

Prompt del server di traccia

xtend.cxtdtracesvc.tracesvc.canal.on

off

Traccia attiva

xtend.cxtdtracesvc.tracesvc.on

off

Traccia attiva

xtend.server.gensetup.defsite.x3sol

 

Codice soluzione X3 di default se non specificato nell'URL

xtend.server.gensetup.defsite.x3fldr

 

Codice dossier X3 di default se non specificato nell'URL

xtend.server.gensetup.defsite.xtdsite

 

Codice sito XTEND di default se non specificato nell'URL

xtend.server.gensetup.deflang

 

Codice lingua XTEND di default se non specificato nell'URL

xtend.server.gensetup.http.defhttpport

28880   

Porta HTTP del server XTEND

xtend.server.gensetup.http.defhttpsport

28443  

Porta HTTPS del server XTEND

xtend.server.gensetup.http.cookie.sess.persist

on  

Permanenza dei cookies sulla postazione utente (on/off)

xtend.server.gensetup.http.cookie.disabled

  

off

Indica se XTEND deve funzionare senza cookies
In questo caso l'id sessione è trasmesso su tutte le URL
L'azione utente ASESSSWITCHCOOKIES permette di implementare questo parametro

xtend.server.gensetup.http.session.timeout


60


Durata massima di inattività della sessione TOMCAT in minuti
Trascorso questo tempo la sessione viene distrutta e tutti i dati vengono persi
Non confondere con il TimeOut della sessione XTEND inserito nella scheda 'sito web' che disconnette l'utente per forzare il logon alla connessione successiva.

xtend.server.gensetup.http.askreferer

on  

Richiesta dell'http referer se non presente negli headers HTTP
Permette di gestire l'accesso a XTEND tramite i 'reverse proxies'

xtend.server.gensetup.proxies.hosts

Hostnames dei reverse proxies che accedono a XTEND separati da 'spazi'

xtend.server.gensetup.proxies.portshttp

Porte http dei reverse proxies che accedono a XTEND separate da 'spazi'

xtend.server.gensetup.proxies.portshttps

Porte http dei reverse proxies che accedono a XTEND separate da 'spazi'

xtend.server.gensetup.html.req.charset



utf-8



Decodifica della risposta http (utilizzata per la codifica dei campi input)
Se !=null
-> Forza request.setCharacterEncoding("CharSet")
-> Forza attributo "Accept-Charset"="CharSet" del tag form
-> Forza presenza del tag <meta http-equiv="Content-Type" content="text/html; charset=CharSet">

xtend.server.gensetup.html.resp.charset  

utf-8

Codifica della risposta http

xtend.server.gensetup.html.chunked  

off

on: per attivare la modalità chunked
Attenzione la modalità chunk non permette sempre di visualizzare le pagine di errore

xtend.server.gensetup.html.buffersize  

 0

Dimensione del buffer per la risposta http

xtend.server.gensetup.misc.rtnstacksize  

 20

Numero massimo di elementi nella sequenza delle pagine per la gestione dell'azione di ritorno (ADLKRETURN)

xtend.server.gensetup.defcharset


CP1252


Charset di default per la lettura delle risorse testo (default Charset della piattaforma)
Spesso il progetto HTML è creato sotto Windows e caricato su X3
Se i file html non hanno il BOM(byte order mark) è possibile forzare il charset per decodificare i contenuti dei file
indipendentemente dall'OS sotto cui gira X3WEB