...

Porta di Dominio Manuale di Installazione e Configurazione

by user

on
Category: Documents
16

views

Report

Comments

Transcript

Porta di Dominio Manuale di Installazione e Configurazione
 Porta di Dominio
Manuale di Installazione e
Configurazione
Versione 1.0 del 25/08/2009 Sommario 1
Introduzione ........................................................................................................................................ 4
2
Requisiti Software ............................................................................................................................... 4
2.1
ORACLE DBMS .............................................................................................................................. 4
2.2
PostgreSQL DBMS ........................................................................................................................ 5
2.3
Gestore Eventi ............................................................................................................................. 6
2.3.1
JBOSS MQ ............................................................................................................................. 6
2.3.2
ACTIVE MQ ........................................................................................................................... 6
3
Installazione e deploy ....................................................................................................................... 10
4
Configurazione .................................................................................................................................. 11
4.1
Database di configurazione PDDEDA ......................................................................................... 11
4.2
Parametri di Configurazione ...................................................................................................... 12
4.3
HANDLER .................................................................................................................................... 24
4.4
TRATTAMENTI ............................................................................................................................ 29
4.5
Configurazione degli Handler con funzionalità di sicurezza ...................................................... 33
4.5.1
Firma Digitale ...................................................................................................................... 34
4.5.2
Token SAML non firmato .................................................................................................... 38
4.5.3
Token SAML firmato ........................................................................................................... 42
4.5.4
Cifratura .............................................................................................................................. 48
4.6
5
6
Parametri di configurazione della PDD EDA .............................................................................. 51
Monitoraggio .................................................................................................................................... 53
5.1
Transazioni attive ....................................................................................................................... 53
5.2
Storico transazioni ..................................................................................................................... 53
Configurazione certificati .................................................................................................................. 54
6.1
Creazione di KeyStore ................................................................................................................ 54
6.2
Import di un certificato nel KeyStore ........................................................................................ 54
6.3
Import di una Certification Authority nel KeyStore ................................................................... 54
6.4
Configurazione Trasporto over HTTPS ....................................................................................... 54
6.5
Configurare JBOSS in HTTPS ...................................................................................................... 55
SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 2 IL CONTENUTO DEL PRESENTE DOCUMENTO PUÒ ESSERE RIPRODOTTO, IN TOTO O IN PARTE, PER TUTTI GLI SCOPI FUNZIONALI ALL’ADESIONE AL SISTEMA SPICCA DI REGIONE CAMPANIA ED È ESCLUSO L’UTILIZZO A FINI DI LUCRO. PER L’UTILIZZO DI QUANTO DI SEGUITO RIPORTATO SI DOVRÀ, IN TUTTI I CASI, CITARE COME FONTE IL PRESENTE DOCUMENTO. SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 3 1
Introduzione Questo documento descrive le procedure di installazione e configurazione della Porta di Dominio. Il medesimo è stato realizzato in collaborazione con Vitrociset S.p.a. in quanto ditta aggiudicataria dell’appalto concorso per la realizzazione del “Sistema Regionale per la Cooperazione Applicativa in Sicurezza” della Regione Campania. 2
Requisiti Software I requisiti software necessari alla PDD sono: •
DBMS Oracle (e/o PostgreSQL) •
Application Server Jboss 4.0.x •
AXIS 1.4 •
Preparazione Base Dati 2.1
ORACLE DBMS La presente descrizione è basata sull’utilizzo del DBMS ORACLE. C’e’ da notare, però, che la PDD è stata testata anche con MySQL. Per poter essere utilizzata anche con MySQL è necessario però, effettuare alcune conversioni degli script SQL, non oggetto della presente guida 1 . I passi da seguire per la preparazione della base dati sono: Procedura Manuale 1. Creazione di un’utenza per la PDD (per es. PDD) 2. Caricare una qualunque shell per il caricamento di file di comandi SQL 3. Lanciare il file di script sql: load‐pdd‐db.sql presente nella directory %PDD_HOME%/sql/. Questo script crea il nuovo schema con tutte le tabelle, sequence, trigger... e crea l’utenza PDDUSER/PDDUSER. Qualora si decida di creare un’utenza differente, modificare i file: %PDD_SRC_DIR%/Software/sql/create_user.sql e %JBOSS_HOME%\server\default\deploy\PDD‐
ds.xml. 1 Nella stessa directory è presente un file batch che effettua la maggior parte delle conversioni tra ORACLE e MYSQL. Per poter funzionare, il file batch (build_mysql_data.bat) necessita di trovare nel path i comandi open source (stile unix) cat e sed gratuitamente scaricabili da internet all’indirizzo: http://unxutils.sourceforge.net/UnxUtils.zip SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 4 Procedura Automatica 1. Posizionarsi nella directory: %PDD_HOME%/sql e lanciare il batch: setupdb.bat. Lo script provvederà a creare l’utenza PDDUSER/PDDUSER@ORCL e a lanciare lo script load‐db.sql. 2. Qualora il SID del database non sia ORCL, modificare il file %PDD_HOME%/Software/descriptor/db/PDD‐ds.xml opportunamente. 2.2
PostgreSQL DBMS La presente descrizione è basata sull’utilizzo del DBMS PostgreSQL 8.1. I passi da seguire per la preparazione della base dati sono: Procedura Automatica 1. Posizionarsi nella directory: %PDD_HOME%/sql/postgres e lanciare il batch: setupdb.bat. Lo script provvederà a creare l’utenza PDDUSER@PDD e a lanciare lo script di creazione della base dati PDD per PostgreSQL. Nota, che la password dell’utenza PDDUSER della BaseDati PDD verrà chiesta in fase di creazione dall’apposito script (setupdb.bat). 2. Qualora il DB_NAME del database non sia PDD, modificare il file %PDD_HOME%/Software/ sql/postgresql/setupdb.bat opportunamente: -
Modificare la seguente riga createdb ‐U pdduser pdd, dove pdduser è l’utenza del DataBase e pdd è il DB_NAME della BaseDati. 3. Modificare la variabile DBHOST con il nome/indirizzo IP del db server SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 5 2.3
Gestore Eventi Qualora fosse richiesto alla PDD di effettuare cooperazione applicativa secondo il paradigma Publish&Subscribe, risulta necessario installare/configurare un gestore eventi supportato dalla PDD. I gestori eventi attualmente supportati dalla PDD sono JBOSS MQ e ACTIVE MQ. Di seguito sono descritte le fasi di configurazione ed installazione. E’ da notare come la configurazione per JBOSS MQ risulti molto più semplice in quanto già presente nella distribuzione di JBOSS utilizzata dalla PDD. 2.3.1 JBOSS MQ Settare tramite il configuratore ( le seguenti variabili: •
MQ_ENGINE = JBOSS_MQ •
PS_ADAPTER_URI = http://[host]:{port}/axis/services/PSJMSAdapter Settare nel file build.properties nella directory %INSTALL_DIR%\build le seguenti proprietà: •
mq.version.dir = jboss_mq •
mq.engine = jboss_mq 2.3.2 ACTIVE MQ Per la seguente configurazione è richiesto come requisito base ActiveMQ Version 4.0.x Copiare nella cartella di deploy della versione utilizzata di JBOSS il file activemq‐ra‐4.0.rar presente nella directory %ACTIVE_MQ_INSTALL%\lib\optional Settare tramite il configuratore le seguenti variabili: •
MQ_ENGINE = ACTIVE_MQ •
PS_ADAPTER_URI = http://[host]:{port}/axis/services/PSJMSAdapter Settare nel file build.properties nella directory %INSTALL_DIR%\build le seguenti proprietà: •
mq.version.dir = active_mq •
mq.engine = active_mq SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 6 Aggiungere al file di configurazione activemq.xml presente nella directory %ACTIVE_MQ_INSTALL%\conf la seguente riga indicata in grassetto: <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" /> <broker brokerName="receiver1" useJmx="false"> <plugins> <!‐‐ use JAAS to authenticate using the login.config file on the classpath to configure JAAS ‐‐> <jaasAuthenticationPlugin configuration="activemq‐domain" /> <authorizationPlugin> <map> <authorizationMap> <authorizationEntries> <authorizationEntry topic="topic.PDDTopic" read="users" write="users,pull" admin="users" /> <authorizationEntry topic="ActiveMQ.Advisory.>" read="users" write="users" admin="users"/> </authorizationEntries> </authorizationMap> </map> </authorizationPlugin> </plugins> •
PERSISTENZA DEI MESSAGGI IN ACTIVEMQ CON IL DMBS DERBY Per default, ActiveMQ utilizza DERBY per la persistenza dei dati. Non è quindi necessario apportare alcuna modifica. In ogni caso, editare il file activemq.xml e verificare le seguenti righe: <persistenceAdapter>
SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 7 <journaledJDBC
journalLogFiles="5"
dataDirectory="../activemq- data"/>
</persistenceAdapter>
•
PERSISTENZA DEI MESSAGGI IN ACTIVEMQ CON IL DMBS POSTGRESQL Per gestire la persistenza dei messaggi è necessario creare un utenza e un database sotto PostgreSQL. Per default l’utenza da creare è utente:activemq password:activemq ed il nome del database è activemq. Editare, in seguito, il file activemq.xml e aggiungere le seguenti righe: <persistenceAdapter>
<!-- <journaledJDBC journalLogFiles="5" dataDirectory="../activemqdata"/> -->
<!-- To use a different datasource, use th following syntax : -->
<journaledJDBC journalLogFiles="5" dataSource="#postgres-ds"/>
</persistenceAdapter>
ed i parametri di connessione al database: <!-- Postgres DataSource Sample Setup -->
<bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource">
<property name="serverName" value="{hostServer}"/>
<property name="databaseName" value="activemq"/>
<property name="portNumber" value="0"/>
<property name="user" value="activemq"/>
<property name="password" value="activemq"/>
<property name="dataSourceName" value="postgres"/>
<property name="initialConnections" value="1"/>
<property name="maxConnections" value="10"/>
</bean>
Nella directory %ACTIVE_MQ_INSTALL%\conf, se non esiste il file login.config crearlo. SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 8 Editarlo e scrivere le seguenti righe: activemq‐domain { org.apache.activemq.jaas.PropertiesLoginModule required debug=true org.apache.activemq.jaas.properties.user="users.properties" org.apache.activemq.jaas.properties.group="groups.properties"; }; Nella directory %ACTIVE_MQ_INSTALL%\conf, editare il file groups.properties e aggiungere i seguenti utenti: users=push,pull Nella directory %ACTIVE_MQ_INSTALL%\conf, editare il file users.properties e aggiungere i seguenti utenti: NB: la simbologia è da intendere USER=PASSWORD push=push pull=pull STARTUP Prima di lanciare JBOSS bisogna lanciare il Listener di ACTIVE MQ. Lanciare il seguente script: %ACTIVE_MQ_INSTALL%\bin\activemq.bat (.sh) Dopo sarà possibile lanciare lo startup di JBOSS nel modo canonico. SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 9 3
Installazione e deploy I passi da seguire per installare la PDD sono i seguenti: -
Estrarre jboss4.0.5.zip nella directory di installazione (Installazione JBoss). Viene creata la dir <directory di installazione>/jboss‐4.0.5 -
Settare la variabile di ambiente JBOSS_HOME con <directory di installazione>/jboss‐4.0.5 -
Settare la variabile di ambiente JBOSS_SERVER_NAME con il nome del server utilizzato (JBOSS_SERVER_NAME=default) -
Posizionarsi nella directory %PDD_HOME%/build -
ant 2 clean -
ant all -
ant axis_dist_install -
ant install -
Avviare JBoss ƒ
ant deploy ƒ
testare axis all'url: http://localhost:8080/axis 2 ANT è richiesto per la sola installazione e compilazione. Supportata dalla versione ant‐1.6.5 in poi. SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 10 4
Configurazione Gli elementi di configurazioni sono di seguito riportati. 4.1
Database di configurazione PDDEDA Questo documento descrive il DataBase di configurazione della Porta di Dominio EDA in fase di installazione. Gli elementi che compongono il DataBase sono i seguenti: •
PORTE •
HANDLER •
INVOKER •
LOGGER •
TRATTAMENTI •
PDD_CONFIG (Parametri di configurazione della Porta di Dominio EDA) COMPONENTI OBBLIGATORI PER IL CORRETTO START‐UP DELLA PDD‐EDA Porta Tipologia Profilo Invoker I_PS_PUBLISH APPLICATIVA SINCRONO INTEGRATION_MANAGER I _PS_SUBSCRIBE_PUSH APPLICATIVA SINCRONO INTEGRATION_MANAGER I _PS_SUBSCRIBE_PULL APPLICATIVA SINCRONO INTEGRATION_MANAGER I_PS_GETEVENT APPLICATIOVA SINCRONO INTEGRATION_MANAGER I_PORTA_DEL_GEN DELEGATA SINCRONO COOPERATION_MANAGER I _PS_CALLBACK APPLICATIVA SINCRONO INTEGRATION_MANAGER I _PORTA_DEL_ASINC_SIMM_GEN DELEGATA A‐SINCRONO_SIMM COOPERATION_MANAGER I _PORTA_APPL_ASINC_SIMM_GEN APPLICATIVA A‐SINCRONO_SIMM ASAP_INTEGRATION_MANAGER EPROXY_INIT_HANDLER EGOV_HANDLER VALIDATION_HANDLER com.enterpriseda.pdd.level1.handler.common.EProxyInitHandler com.enterpriseda.pdd.level1.handler.common.EGovHandler
com.enterpriseda.pdd.level1.handler.common.ValidationHandler PDD_LOG
SPICCA: Manuale di installazione e configurazione PDD org.apache.logger.Logger v.1.0 del 25/08/2009 Pagina 11 4.2
Parametri di Configurazione PORTE Porta Tipologia Profilo Invoker S_SINCRONO APPLICATIVA SINCRONO INTEGRATION_MANAGER S_SINCRONO_DEL DELEGATA SINCRONO COOPERATION_MANAGER APPLICATIVA SINCRONO INTEGRATION_MANAGER I _PS_SUBSCRIBE_PUSH APPLICATIVA SINCRONO INTEGRATION_MANAGER I _PS_SUBSCRIBE_PULL APPLICATIVA SINCRONO INTEGRATION_MANAGER I_PS_GETEVENT APPLICATIOVA SINCRONO INTEGRATION_MANAGER I_PORTA_DEL_GEN DELEGATA SINCRONO COOPERATION_MANAGER S _PS_GETEVENT_DEL DELEGATA SINCRONO COOPERATION_MANAGER I _PS_CALLBACK APPLICATIVA SINCRONO INTEGRATION_MANAGER S_ASINC_ASIM APPLICATIVA A‐SINCRONO ASAP_INTEGRATION_MANAGER S_ASINC_ASIM_DEL DELEGATA A‐SINCRONO COOPERATION_MANAGER S_ASINC_SIM APPLICATIVA A‐SINCRONO ASAP_INTEGRATION_MANAGER S_ASINC_SIM_DEL DELEGATA A‐SINCRONO COOPERATION_MANAGER I_PS_PUBLISH
Porta Tipologia Profilo Invoker S_PKCS7 APPLICATIVA SINCRONO INTEGRATION_MANAGER S_PKCS7_DEL DELEGATA SINCRONO COOPERATION_MANAGER SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 12 Porta Tipologia Profilo Invoker DELEGATA A‐SINCRONO_SIMM COOPERATION_MANAGER APPLICATIVA A‐SINCRONO_SIMM ASAP_INTEGRATION_MANAGER I _PORTA_DEL_ASINC_SIMM_GEN I _PORTA_APPL_ASINC_SIMM_GEN NB: In neretto sono contrassegnati gli Handler OBBLIGATORI per il funzionamento dell PDD‐EDA DETTAGLIO PORTE S_SINCRONO wsdl RFU operationNa
me echo http://localhost:8080/axis/services/SincronoSer
endPoint vice contentMode operationStyl
e descrizioneM
ode 2 RFU 0 S_SINCRONO_DEL class com.enterpriseda.pdd.level2.PDDPortaDelegataSincrona paType TIPO PA descrizioneMode 0 SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 13 paCode ALTRA PA contentMode 2 endPoint http://localhost:8080/axis/services/EProxy?SERVICE_ID=S_SINCR
ONO operationName paTelematicAddr
ess servizio.tipo echo http://192.168.1.1 TIPO_SERVIZIO I_PS_PUBLISH class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
ona operationNam
e endPoint contentMode operationStyle escrizione Mode publish http://localhost:8080/axis/services/PSJMSAdapter 2 RFU 0 false I_PS_SUBSCRIBE_PUSH SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 14 class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
ona operationNam
subscribePush e endPoint http://localhost:8080/axis/services/PSJMSAdapter contentMode 2 operationStyle RFU escrizione 0 Mode I_PS_SUBSCRIBE_PULL class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
ona operationNam
e endPoint contentMode operationStyle escrizione Mode SPICCA: Manuale di installazione e configurazione PDD subscribePull http://localhost:8080/axis/services/PSJMSAdapter 2 RFU 0 false v.1.0 del 25/08/2009 Pagina 15 I_PS_GETEVENT com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
class ona operationNam
e contentMode getEvent 2 operationStyle escrizione RFU 0 Mode false endPoint http://localhost:8080/axis/services/PSJMSAdapter S_PS_GETEVENT_DEL paType escrizione Mode paTelematicAddr
ess PA_TYPE 0 http://192.168.0.1 operationName getEvent contentMode 2 class com.enterpriseda.pdd.level2.PDDPortaDelegataSincrona SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 16 endPoint http://localhost:8080/axis/services/EProxy?SERVICE_ID=S_PS_GETE
VENT servizio.tipo TIPO_SERVIZIO I_PS_CALLBACK class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
ona contentMod
2 e operationSt
RFU yle endPoint http://localhost:8080/axis/services/SincronoService operationNa
putEvent me I_PORTA_GEN_DEL paTelematicAddress http://TO_SET contentMode 2 paType PA operationName TO_SET class com.enterpriseda.pdd.level2.PDDPortaDelegataSincrona descrizioneMode 0 endPoint http://TO_SET SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 17 paCode PA servizio.tipo TIPO_SERVIZIO S_ASINC_ASIM com.enterpriseda.pdd.level2.PDDPortaApplicativaAsincronaAsi
class mmetrica wsdl RFU operationName sum servizio.operazione.richiesta.suc
cessiva checksum endPoint http://localhost:8080/axis/services/AsincronoAsimmService contentMode 2 operationStyle RFU asap.factory.actor.uri uri:factory asap.instance.actor.uri uri:instance descrizioneMode 0 S_ASINC_ASIM_DEL class com.enterpriseda.pdd.level2.PDDPortaDelegataAsincronaAsimmetrica Pubblica Amministrazione
paType SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 18 paTelematicAddress http://192.168.1.1/ paCode PDD Regione Lazio contentMode 2 endPoint http://localhost:8080/axis/services/EProxy?SERVICE_ID=S_ASINC_ASIM operationName sum descrizioneMode 0 ResultDataType <complexType name="ResultDataType"> <sequence> <element name="Sum" type="xsd:string"/> </sequence> </complexType> <complexType name="ContextDataType"> <sequence> <element ContextDataType name="X" type="int"/> <element name="Y" type="int"/> </sequence> </complexType> servizio.tipo TIPO_SERVIZIO S_ASINC_SIM class com.enterpriseda.pdd.level2.PDDPortaApplicativaAsincronaSimmet
rica wsdl RFU operationName TO_FILL endPoint TO_FILL contentMode 2 operationStyle RFU SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 19 asap.factory.actor.
uri:factory uri asap.instance.actor
uri:instance .uri descrizioneMode 0 isPortaApplicativaCall
true back servizio.nome Nome_servizio S_ASINC_SIM_DEL endPoint TO_FILL operationName TO_FILL descrizioneMode 0 class com.enterpriseda.pdd.level2.PDDPortaDelegataAsincronaSimmetrica
paType TO_FILL paTelematicAddr
TO_FILL paCode TO_FILL contentMode 2 servizio.tipo TIPO_SERVIZIO
S_PKCS7 SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 20 com.enterpriseda.pdd.level2.PDDPortaApplicativaSincr
class ona wsdl RFU operationNa
uploadFile me endPoint http://localhost:8180/axis/services/FileServer contentMode 2 operationStyl
RFU e descrizioneM
0 ode pkcs7.apply.cr
true ypt pkcs7.apply.si
true gn x509.apply.sig
true n x509.verify.sig
false n S_PKCS7_DEL class com.enterpriseda.pdd.level2.PDDPortaDelegataSincrona SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 21 paType TIPO PA descrizioneMode 0 paTelematicAddr
192.168.1.1 ess paCode ALTRA PA contentMode 2 endPoint http://localhost:8080/axis/services/EProxy?SERVICE_ID=S_DEMO_PK
CS7 operationName pkcs7.apply.cryp
t pkcs7.apply.sign uploadFile true true x509.apply.sign true x509.verify.sign true servizio.tipo TIPO_SERVIZIO I_PORTA_DEL_ASINC_ASIMM_GEN paType Toset paCode Toset operationName toset SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 22 paTelematicAddress class http://someurl com.enterpriseda.pdd.level2.PDDPortaApplicativaSincrona I_PORTA_DEL_ASINC_ASIMM_GEN asap.factory.actor.uri uri:toActorUri asap.instance.actor.uri uri:toActorUri operationName toset endPoint http://someurl class com.enterpriseda.pdd.level2.PDDPortaApplicativaSincrona SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 23 4.3
HANDLER Handler Classe EPROXY_INIT_HANDLER com.enterpriseda.pdd.level1.handler.common.EProxyInitHandler EGOV_HANDLER com.enterpriseda.pdd.level1.handler.common.EGovHandler
VALIDATION_HANDLER com.enterpriseda.pdd.level1.handler.common.ValidationHandler11 PKCS7_HANDLER com.enterpriseda.pdd.level1.handler.security.PKCS7Handler EnvelopeLoggerHandler WSDOALLSENDER_HANDLER WSDOALLRECEIVER_HANDLER com.enterpriseda.pdd.level1.handler.common.EnvelopeLoggerHandler org.apache.ws.axis.security.WSDoAllSender org.apache.ws.axis.security.WSDoAllReceiver NB: In neretto sono contrassegnati gli Handler OBBLIGATORI per il funzionamento dell PDD‐EDA DETTAGLIO HANDLER EPROXY_INIT_HANDLER cl
com.enterpriseda.pdd.level1.handler.common.EProxyInitHan
ass dler EGOV_HANDLER SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 24 class com.enterpriseda.pdd.level1.handler.common.EGovHan
dler VALIDATION_HANDLER cl
com.enterpriseda.pdd.level1.handler.common.ValidationHandl
ass er11 ENVELOPE_LOGGER_HANDLER cl
com.enterpriseda.pdd.level1.handler.common.EnvelopeLoggerHan
ass dler PKCS7_HANDLER cl
ass com.enterpriseda.pdd.level1.handler.security.PKCS7Han
dler WS_DO_ALL_SENDER cl
org.apache.ws.axis.security.WSDoAllSe
ass nder WS_DO_ALL_RECEIVER cl
org.apache.ws.axis.security.WSDoAllRece
ass iver SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 25 SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 26 INVOKER Invoker Classe INTEGRATION_MANAGER com.enterpriseda.pdd.invoker.IntegrationInvokerImpl COOPERATION_MANAGER com.enterpriseda.pdd.invoker.CooperationInvokerImpl ASAPIntegrationManager com.enterpriseda.pdd.invoker.ASAPIntegrationInvokerImpl PDD_LOG log4j.additivity.pdd FALSE log4j.appender.pddFile.datePattern ‐yyyy‐MM‐dd log4j.appender.pddFile.layout org.apache.log4j.PatternLayout log4j.appender.pddFile.layout.Convers
ionPattern %d{dd‐MM‐yyyy HH:mm:ss} ‐ %p ‐ [%C{1} %M] %m%n log4j.appender.pddFile.File /home/pdd/pdd/logs/pdd.log log4j.appender.pddFile org.apache.log4j.DailyRollingFileAppender log4j.appender.pddJMS.datePattern ‐yyyy‐MM‐dd log4j.appender.pddJMS.layout org.apache.log4j.PatternLayout log4j.appender.pddJMS.layout.Conver
sionPattern log4j.appender.pddJMS log4j.appender.pddJMS.errorHandler SPICCA: Manuale di installazione e configurazione PDD %d{dd‐MM‐yyyy HH:mm:ss} ‐ %p ‐ [%C{1} %M] %m%n com.enterpriseda.spicca.sensoreterminale.appender.jms.JMSApp
ender com.enterpriseda.spicca.sensoreterminale.appender.handler.Fail
v.1.0 del 25/08/2009 Pagina 27 overErrorHandler log4j.appender.pddJMS.errorHandler.l
pdd ogger‐ref.ref log4j.appender.pddJMS.errorHandler.
BACKUP appender‐ref.ref log4j.appender.BACKUP.Threshold DEBUG com.enterpriseda.spicca.sensoreterminale.appender.file.LoggingE
log4j.appender.BACKUP ventFileAppender log4j.appender.pddJMS.Threshold DEBUG log4j.appender.pddJMS.QueueConnec
ConnectionFactory tionFactoryBindingName log4j.appender.pddJMS.InitialContext
org.apache.activemq.jndi.ActiveMQInitialContextFactory FactoryName log4j.appender.pddJMS.ProviderURL tcp://10.28.131.129:61616 log4j.appender.pddJMS.UserName pdd log4j.appender.pddJMS.Password pdd log4j.appender.pddJMS.QueueBinding
queue.pddQueue Name log4j.appender.pddJMS.LocationInfo true log4j.appender.BACKUP.path /tmp/ log4j.appender.BACKUP.baseNomeFile log4j.logger.pdd BackupProvaLog INFO, pddFile SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 28 4.4
TRATTAMENTI In questa sezione si affronterà la configurazione delle proprietà dei singoli trattamenti associabili ad una Porta. Di seguito un esempio di configurazione dei due Handler delegati alla Sicurezza (WsDoAllSender, WsDoAllReceiver). WsDoAllSender – Dettaglio passwordCallbackClass com.enterpriseda.pdd.level1.wsutils.PasswordCallback org.apache.ws.security.crypto.merlin.keys
tore.password security action Signature Timestamp org.apache.ws.security.crypto.provider org.apache.ws.security.components.crypto.Merlin org.apache.ws.security.crypto.merlin.keys
tore.type jks user wss4jCertDSA signatureKeyIdentifier DirectReference org.apache.ws.security.crypto.merlin.file /home/pdd/pdd/security/keystore/wss4j.keystore WsDoAllReceiver – Dettaglio passwordCallbackClass com.enterpriseda.pdd.level1.wsutils.PasswordCallback org.apache.ws.security.crypto.merlin.key
store.password action SPICCA: Manuale di installazione e configurazione PDD security Signature Timestamp v.1.0 del 25/08/2009 Pagina 29 org.apache.ws.security.crypto.provider org.apache.ws.security.crypto.merlin.key
store.type org.apache.ws.security.crypto.merlin.file org.apache.ws.security.components.crypto.Merlin jks c:/pdd/security/keystore/wss4j.keystore S_SINCRONO ( Porta Applicativa con profilo di comunicazione Sincrono ) S_SINCRO
NO S_SINCRO
NO S_SINCRO
NO S_SINCRO
NO S_SINCRO
NO WsDoAllSender Server wsDoAllReceiver Server Validation Server PKCS7Handler Server PKCS7Handler Server Respo
nse Disabilitato Reque
st Disabilitato Reque
st Abilitato Reque
st Disabilitato Respo
Disabilitato nse S_SINCRONO_DEL ( Porta Delegata con profilo di comunicazione Sincrono ) S_SINCRONO_
DEL S_SINCRONO_
DEL S_SINCRONO_
DEL SPICCA: Manuale di installazione e configurazione PDD WsDoAllSender Client wsDoAllReceiver Client Validation Client v.1.0 del 25/08/2009 Requ
Disabilitato est Resp
onse Resp
onse Disabilitato Abilitato Pagina 30 S_SINCRONO_
DEL S_SINCRONO_
DEL S_SINCRONO_
DEL EGovHandler Client PKCS7Handler Client PKCS7Handler Client Requ
est Abilitato Requ
est Disabilitato Resp
Disabilitato onse I_PS_PUBLISH S_PS_PUBL
ISH S_PS_PUBL
ISH Client Validation EGovHandler Resp
onse Client
Requ
est Abilitato Abilitato I_PS_SUBSCRIBE_PUSH S_PS_SUBSCRIBE_P
USH Validatio
n S_PS_SUBSCRIBE_P
USH C
Resp
lient onse EGovHa
ndler C
Requ
lient est Abilit
ato Abilit
ato I_PS_SUBSCRIBE_PULL S_PS_SUBSCRIBE_P
ULL S_PS_SUBSCRIBE_P
ULL SPICCA: Manuale di installazione e configurazione PDD Validatio
n C
Resp
lient onse EGovHa
ndler C
Requ
lient est v.1.0 del 25/08/2009 Abilit
ato Abilit
ato Pagina 31 I_PS_GETEVENT_DEL S_PS_GETEVENT_
DEL Validatio
n S_PS_GETEVENT_
DEL C
Resp
Abilit
lient onse EGovHa
ndler C
ato Requ
Abilit
lient est ato I_PS_GETEVENT S_PS_GETEVENT Validation
Server Req
Abilitato uest I_PORTA_DEL_GEN I_PORTA_DEL_
GEN n I_PORTA_DEL_
GEN Validatio
C
Resp
lient onse EGovHa
ndler C
Abilit
ato Requ
lient est Abilit
ato I_PORTA_DEL_ASINC_SIMM_GEN I_PORTA_DEL_ASINC_SIMM_
GEN n I_PORTA_DEL_ASINC_SIMM_
GEN SPICCA: Manuale di installazione e configurazione PDD Validatio
C
Resp
lient onse EGovHa
ndler C
Requ
lient est v.1.0 del 25/08/2009 Abilit
ato Abilit
ato Pagina 32 S_ASINC_SIMM_DEL S_ASINC_SIMM_DEL
S_ASINC_SIMM_DEL Validatio
n C
Resp
Abilit
lient onse EGovHa
ndler C
ato Requ
lient est Abilit
ato S_PS_CALLBACK S_PS_CALLABCK
S_PS_CALLBACK Validatio
n Se
rver EGovHa
ndler Se
rver Requ
est Abilit
ato Requ
est Abilit
ato 4.5
Configurazione degli Handler con funzionalità di sicurezza In questa sezione descriveremo le procedure necessarie alla configurazione delle funzionalità di sicurezza della PDD, realizzate attraverso una personalizzazione dell'implementazione open suorce WSS4j delle specifiche Web Service Security. Le diverse funzionalità di sicurezza sono implementate da due Handler, WSDoAllSender e WsDoAllReceiver, che vanno opportunamente configurati nella porta di dominio. L'handler WsDoAllSender è da utilizzare nei messaggi in uscita dalla Porta di Dominio (Contesto Client/Flusso Request e Contesto Server/Flusso Response), mentre l'handler WsDoAllReceiver è da utilizzare nei messagi in entrata nella Porta di Dominio (Contesto Client/Flusso Response e Contesto Server/Flusso Request). Relativamente al corretto posizionamento degli Handler nel chain handlers, ovvero nella catena di handler che elabora un messaggio in transito da e verso la PDD, si osservi che l'Handerl WsDoAllSender deve essere sempre l'ultimo handler che elabora un messaggio in uscita dalla PDD, mentre l'handler WsDoAllReceiver deve essere sempre il primo handler che elabora un messaggio in ingresso alla PDD. Prima di descrivere nel dettaglio le procedure per la configurazione degli handler di sicurezza, è opportuno sottolineare che WSS4j, come è naturale immaginare, è basata su un’infrastruttura di sicurezza a chiave pubblica. Per un’agevole gestione delle chiavi private/pubbliche e dei certificati digitali, WSS4j fa uso dei Keystore, che rappresentano Repository (protetti da password) per la memorizzazione ed il recupero di chiavi e certificati. A partire dalla versione 1.2, JDK fornisce un’utility, denominata keytool, per la gestione dei Keystore che consente di effettuare operazioni quali, a titolo esemplificativo, la creazione SPICCA: Manuale di installazione v.1.0 del 25/08/2009 Pagina 33 e configurazione PDD di una coppia chiave privata/pubblica, l’import ed export di chiavi, l’import di certificati rilasciati da Certification Authority e così via. Nella parte finale di questo documento è previsto un paragrafo relativo alle funzionalità offerte dal keytool. Configurazione WSDoAllSender e WsDoAllReceiver Le funzionalità di sicurezza implementate nella PDD sono le seguenti: firma digitale, token SAML. Per ogni funzionalità, mostreremo come configurare opportunamente gli handler WSDoAllSender e WsDoAllReceiver rispettivamente per una porta delegata ed una porta applicativa. Il contesto che prenderemo di riferimento è quello di una porta delegata sincrona (denominata S_SINCRONO_DEL) che invoca una porta applicativa (denominata S_SINCRONO). In questo contesto, a valle delle osservazioni riportate in precedenza in merito al corretto posizionamento degli Handler, configureremo l’handler WSDoAllSender per i messaggi in uscita dalla PDD delegata (Contesto Client / Flusso Request) e l’handler WsDoAllReceiver per i messaggi in ingresso alla PDD applicativa (Contesto Server / Flusso Request). 4.5.1 Firma Digitale Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request) SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 34 Descrizione dei parametri dell’Handler • passwordCallbackClass = com.enterpriseda.pdd.level1.wsutils.PasswordCallback: il parametro si riferisce ad una classe contenente un insieme di coppie (user, pwdUser). Nel caso della firma digitale, user è l'identificativo, nell'ambito del keystore della chiave privata con cui firmare il messaggio e pwdUser è la pwd della chiave privata identificata da user. • org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file del keystore • action = Signature Timestamp: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando “Signature Timestamp” l’handler applicherà una firma digitale ed un timestemp al messaggio in uscita • org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 35 •
user =wss4jCertDSA: è l'identificativo della chiave privata, nell'ambito del keystore, da utilizzare per la firma • signatureKeyIdentifier=DirectReference SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 36 Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request) Descrizione dei parametri dell’Handler • action = Signature Timestamp: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando “Signature Timestamp” l’handler verificherà la firma digitale ed il timestemp del messaggio ricevuto • org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file del keystore • org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 37 4.5.2 Token SAML non firmato Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request) Descrizione dei parametri dell’Handler • org.apache.ws.security.saml.issuerClass = org.apache.ws.security.saml.SAMLIssuerImpl: è la classe che genera l’asserzione SAML • org.apache.ws.security.saml.issuer = “PDDASLNA1”: è l’ ”ISSUER” dell’asserzione SAML. • org.apache.ws.security.saml.authenticationMethod = password : è il meccanismo d’autenticazione utilizzato dal Subject dell’asserzione SAML • org.apache.ws.security.saml.confirmationMethod = senderVouches : è il metodo di utilizzato per la verifica del contenuto dell’Asserzone SAML. Sender Vouches indica che l’Issuer si fa da garante per la verifica del Subject. Il ricevitore dell’asserzione SAML, che ha stabilito una relazione di fiducia con l’Issuer, si fida di quanto affermato dal’Issuer. SPICCA: Manuale di installazione v.1.0 del 25/08/2009 Pagina 38 e configurazione PDD •
•
org.apache.ws.security.saml.subjectNameId.name: è l’identificativo del Subject nell’ambito di un dominio. action = SAMLTokenUnsigned: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando SAMLTokenUnsigned genererà un Token SAML non firmato Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request) Descrizione dei parametri dell’Handler • action SAMLTokenUnsigned: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando SAMLTokenUnsigned l’Handler verificherà l’esistenza di un Token SAML non firmato nel messaggio ricevuto SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 39 Token SAML non firmato – PDD Issuer di Asserzioni relative ad utenti autenticati sul NAG Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request) Descrizione dei parametri dell’Handler • action SAMLTokenUnsignedForShib è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando SAMLTokenUnsignedForShib l’handler genererà un Token SAML non firmato relativo all’utente autenticatosi sul NAG • org.apache.ws.security.saml.issuerClass = com.enterpriseda.sa.shibintegration.ws.saml.SAMLShibIssuerImpl: è la classe che genera l’asserzione SAML. In questo caso le informazioni relative all’utente autenticatosi sono ottenute dai moduli d’integrazione con Shibboleth • org.apache.ws.security.saml.issuer = “PDDASLNA1”: è l’ ”ISSUER” dell’asserzione SAML. SPICCA: Manuale di installazione v.1.0 del 25/08/2009 Pagina 40 e configurazione PDD Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request) Descrizione dei parametri dell’Handler • action SAMLTokenUnsigned: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando SAMLTokenUnsigned l’Handler verificherà l’esistenza di un Token SAML non firmato nel messaggio ricevuto SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 41 4.5.3 Token SAML firmato Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request) Descrizione dei parametri dell’Handler • org.apache.ws.security.saml.issuerClass = org.apache.ws.security.saml.SAMLIssuerImpl: è la classe che genera l’asserzione SAML • org.apache.ws.security.saml.issuer = “PDDASLNA1”: è l’ ”ISSUER” dell’asserzione SAML. • org.apache.ws.security.saml.authenticationMethod = password : è il meccanismo d’autenticazione utilizzato dal Subject dell’asserzione SAML • org.apache.ws.security.saml.confirmationMethod = senderVouches : è il metodo di utilizzato per la verifica del contenuto dell’Asserzone SAML. Sender Vouches indica che l’Issuer si fa da garante SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 42 per la verifica del Subject. Il ricevitore dell’asserzione SAML, che ha stabilito una relazione di fiducia con l’Issuer, si fida di quanto affermato dal’Issuer. •
•
•
•
org.apache.ws.security.saml.subjectNameId.name: è l’identificativo del Subject nell’ambito di un dominio. action = SAMLTokenSigned: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando SAMLTokenUnsigned genererà un Token SAML firmato org.apache.ws.security.saml.issuer.key.name = wss4jCert: è l'identificativo della chiave privata, nell'ambito del keystore, da utilizzare per la firma org.apache.ws.security.saml.issuer.key.password = security: è la password della chiave provata da utilizzare per la firma •
•
•
•
•
org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la classe del motore di cifratura utilizzato org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file del keystore signatureKeyIdentifier=DirectReference SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 43 Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request) Descrizione dei parametri dell’Handler • org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file del keystore • org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore • action = Signature SAMLTokenUnsigned: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando “Signature SAMLTokenUnsigned” l’handler verificherà la firma digitale e l’esistenza del Token SAML nel messaggio ricevuto SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 44 Token SAML firmato – PDD Issuer di Asserzioni relative ad utenti autenticati sul NAG Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request) Descrizione dei parametri dell’Handler • org.apache.ws.security.saml.issuer = “PDDASLNA1”: è l’ ”ISSUER” dell’asserzione SAML. • org.apache.ws.security.saml.issuer.key.name = wss4jCert: è l'identificativo della chiave privata, nell'ambito del keystore, da utilizzare per la firma • org.apache.ws.security.saml.issuer.key.password = security: è la password della chiave provata da utilizzare per la firma • org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 45 •
•
•
•
•
action SAMLTokenSignedForShib è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando SAMLTokenSignedForShib l’handler genererà un Token SAML non firmato relativo all’utente autenticatosi sul NAG org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file del keystore signatureKeyIdentifier=DirectReference org.apache.ws.security.saml.issuerClass = com.enterpriseda.sa.shibintegration.ws.saml.SAMLShibIssuerImpl: è la classe che genera l’asserzione SAML. In questo caso le informazioni relative all’utente autenticatosi sono ottenute dai moduli d’integrazione con Shibboleth SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 46 Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request) Descrizione dei parametri dell’Handler • org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file del keystore • org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore • action = Signature SAMLTokenUnsigned: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando “Signature SAMLTokenUnsigned” l’handler verificherà la firma digitale e l’esistenza del Token SAML nel messaggio ricevuto SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 47 4.5.4 Cifratura Configurazione dell’Handler WSDoAllSender per la PDD delegata (Contesto Client / Flusso Request) Descrizione dei parametri dell’Handler • org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin: è la classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file del keystore • org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore • action = Encrypt: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando “Encrypt” l’handler cifrerà il body del messaggio utilizzando la chiave pubblica dell’utente specificato con il parametro SPICCA: Manuale di installazione v.1.0 del 25/08/2009 Pagina 48 e configurazione PDD •
•
encryptionUser: è l’alias nel keystore della chiave pubblica utilizzata per cifratura encryptionSymAlgorithm: specifica l’algoritmo utilizzato per la cifratura Configurazione dell’Handler WsDoAllReceiver per la PDD Applicativa (Contesto Server / Flusso Request) Descrizione dei parametri dell’Handler • org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merli: è la classe del motore di cifratura utilizzato • org.apache.ws.security.crypto.merlin.keystore.type = jks: è il tipo di keystore • org.apache.ws.security.crypto.merlin.file = c://pdd//security//keystore//wss4j.keystore: è il file del keystore SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 49 •
•
•
org.apache.ws.security.crypto.merlin.keystore.password" = "security": è la password del keystore action = Encrypt: è il parametro che determina l'azione effettuata dagli handler WSS. In particolare specificando “Encrypt” l’handler cifrerà il body del messaggio utilizzando la chiave pubblica dell’utente specificato con il parametro org.apache.ws.security.privatekey.password: nell’ambito del keystore, è la password della chiave privata che sarà utilizzata per la decifratura. SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 50 4.6
Parametri di configurazione della PDD EDA ASAP_FACTORY_URI http://localhost:8080/axis/services/FactoryProxy ASAP_INSTANCE_URI http://localhost:8080/axis/services/InstanceProxy ASAP_OBSERVER_URI http://localhost:8080/axis/services/ObserverProxy AXIS_CLIENT_CONFIG_FILE /home/pdd/pdd/config/client‐config.wsdd CODICE_PA PDDEDA CODICE_PDD PDD DMBS POSTGRES EPROXY_CALLBACK_URI http://localhost:8080/axis/services/EProxy EPROXY_URI http://localhost:8080/axis/services/EProxy INDIRIZZO_TELEMATICO http://localhost:8080/ IPROXY_CALLBACK_URI http://localhost:8080/axis/services/IProxy IPROXY_URI http://localhost:8080/axis/services/IProxy LOGGER_EPROXY pdd LOGGER_HANDLER pdd LOGGER_IPROXY pdd LOGGER_PLATFORM pdd LOGON_URI http://localhost:8080/axis/JWSServices/JWSAccessManager.jws PUBLISH_SUBSCRIBE_URI http://localhost:8080/toset TIPO_PA CODICE_ASL PORTA_DELEGATA_ASINC_ASI
M_DEFAULT SPICCA: Manuale di installazione e configurazione PDD PortaDelegataAsincronaSimmetricaDefault v.1.0 del 25/08/2009 Pagina 51 java.naming.factory.initial org.jboss.naming.HttpNamingContextFactory CODICE_PA_PASSWORD password java.naming.provider.url http://localhost:8080/invoker/JNDIFactory java.naming.factory.url.pkgs org.jboss.naming.client MBEAN_SERVICE_EDA_COM eda.com:service= PDD_Startup USER_KEY wss4jCertDSA PASSWORD_KEY security PASSWORD_PKCS7 123456 FILE_KS_PKCS7 c:/pdd/security/keystore/farsa.keystore MQ_ENGINE ACTIVE_MQ PS_ADAPTER_URI http://10.2.52.56:8080/axis/services/PSJMSAdapter egov.pre.validator.handler.class com.enterpriseda.pdd.level1.handler.common.CheckServizioAzione
Handler egov.soap.deep.check.enabled true egov.soap.fault.send.detail
false SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 52 5
Monitoraggio 5.1
Transazioni attive Nel Database sono presenti le transazioni attive nella tabella “Transazioni”. È inoltre possibile visualizzare il dettaglio di ogni transazione e visualizzare l’intera busta e‐gov transitata. 5.2
Storico transazioni Nel Database sono presenti lo storico delle transazioni nella tabella “Storico_Transazioni”. È inoltre possibile visualizzare il dettaglio di ogni transazione e visualizzare l’intera busta e‐gov transitata. SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 53 6
Configurazione certificati 6.1
Creazione di KeyStore keytool ‐genkey ‐keystore <nomeFileKeyStore> ‐alias <alias della chiave> ‐keyalg RSA ‐keysize 2048 –
keypass <passwordDellaChiave> Viene creato un keystore nella home directory dell’utente. 6.2
Import di un certificato nel KeyStore keytool ‐import ‐alias <alias del server> ‐trustcacerts ‐file certreq_signed.pem 6.3
Import di una Certification Authority nel KeyStore keytool ‐import ‐alias <alias della ca> ‐trustcacerts ‐file certreq_signed.pem 6.4
Configurazione Trasporto over HTTPS Per poter effettuare porte delegate che possano invocare end‐point in https, è necessario configurare un keystore con tutte le chiavi pubbliche del server in https. Le informazioni necessarie devono essere presenti nel componente di tipo PROPERTIES di nome: HTTPS_CLIENT_PROPS configurato tra i componenti di sistema. L’elemento PROPERTIES deve avere le seguenti proprietà configurate: SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 54 6.5
Configurare JBOSS in HTTPS Quest’ attività non è richiesta per l’installazione della PDD. Viene riportata solo come guida per l’amministratore, qualora si desiderasse configurare JBOSS in https: -
Creare il certifato SSL che sarà usato per l'autenticazione e la codifica dei dati. Per generare il crtificato è possibile utilizzare la "Keytool" utility fornita dalla j2sdh 1.4+. Il tool si trova nella directory "%JAVA_HOME%\bin". Per eseguire il tool digitare dal prompt il seguente comando: %JAVA_HOME%\bin\keytool ‐genkey ‐keyalg RSA (dove RSA è l'algoritmo di cifratura utilizzato). Il comando creerà un file ".keystore" nella home directory dell'utente. Ricordare di utilizzare come password della keystore la stessa password che si utilizzarà all'interno di jboss. -
Modificare "%Jboss‐Home%\server\default\deploy\jbossweb‐tomcat50.sar\server.xml", all'interno dell'elemento <service> decommentare la parte relativa al Connector SSL/TSL. Nell'elemento <Connector...> decommentato settare l'attributo "keystoreFile" con il file relativo alla chiave da me generata in precedenza, e settare l'attributo "keystorePass" con la password utilizzata per generare il keystore. -
Riavviare JBOSS e verificare la possibilità di accedere a all'applicazione con il supporto SSL. Per esempio, provare a connettersi al seguente url, se non sono state modificare le impostazioni di default relative alla porta, "https://localhost:8443/". SPICCA: Manuale di installazione e configurazione PDD v.1.0 del 25/08/2009 Pagina 55 
Fly UP