2.2 Sicurezza

Il passaggio dalla pre-produzione alla produzione implica generalmente un rafforzamento degli aspetti di sicurezza del sistema. In un ambiente di prova sandbox è possibile che venga utilizzato l'HTTP normale per connettere il driver dell'applicazione utente a JBoss o un certificato firmato da se stessi (come misura temporanea) per la comunicazione driver/server per applicazioni. In un ambiente di produzione è invece probabile che vengano utilizzate connessioni sicure, con autenticazione del server basata sul certificato Verisign (o di altro provider di fiducia) della società.

I certificati X.509 vengono in genere utilizzati in varie ubicazioni dell'ambiente dell'applicazione utente di Identity Manager, come illustrato nel diagramma seguente.

Descrizione: Descrizione: illustrazione

Tutte le comunicazioni tra l'applicazione utente e l'Identity Vault sono sicure in quanto viene utilizzato per default il protocollo Transport Layer Security. In fase di installazione, il certificato per l'Identity Vault (eDirectory) viene installato automaticamente nell'archivio chiavi di JBoss. Se non specificato diversamente, il programma di installazione inserisce una copia del certificato eDirectory nell'archivio cacerts di default di JRE.

Per garantire la sicurezza delle comunicazioni, il certificato del server deve trovarsi in varie ubicazioni, come illustrato nel diagramma. Potrebbero essere necessari passaggi di configurazione differenti a seconda che si desideri utilizzare un certificato firmato da se stessi nelle varie ubicazioni del diagramma indicate con il riquadro JBoss cert oppure un certificato rilasciato da un'autorità di certificazione di fiducia (CA), ad esempio Verisign.

Certificati firmati da se stessi

Se si utilizza un certificato rilasciato da un emittente di fiducia noto (ad esempio Verisign), non sono necessari particolari passaggi di configurazione; ma se si desidera creare e utilizzare un certificato firmato da se stessi, sarà necessario eseguire i passaggi seguenti:

  1. Creare un archivio chiavi con un certificato firmato da se stessi, utilizzando una sintassi di riga di comando simile alla seguente:

    keytool -genkey -alias tomcat -keyalg RSA -storepass changeit -keystore jboss.jks -dname "cn=JBoss,ou=exteNd,o=Novell,l=Waltham,s=MA,c=US" -keypass changeit
    

    Si noti che verrà creato il file “jboss.jks” oltre al certificato.

  2. Copiare il file dell'archivio chiavi (jboss.jks) nella directory dell'applicazione utente di JBoss, ad esempio:

    cp jboss.jks ~/jboss-4.0.2/server/spitfire/conf
    

Attivazione di SSL in JBoss

Per abilitare SSL in JBoss, individuare il file jbossweb-tomcat55.sar in [IDM]/jboss/server/IDM/deploy/.. Al suo interno, aprire il file server.xml mediante un editor di testo. Abilitare SSL rimuovendo i contrassegni di commento o aggiungendo una sezione simile alla seguente:

<Connector port="8443" address="${jboss.bind.address}" maxThreads="100" strategy="ms" maxHttpHeaderSize="8192" emptySessionPath="true" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/spitfire/conf/jboss.jks" keystorePass="changeit" sslProtocol = "TLS" />

Attivazione della sicurezza SOAP

In IDM.war, individuare il file web.xml e aprirlo mediante un editor di testo. Nella parte inferiore del file, rimuovere i contrassegni di commento dalla sezione seguente:

<security-constraint> <web-resource-collection> <web-resource-name>IDMProv</web-resource-name> <url-pattern>/*</url-pattern> <http-method>POST</http-method> <http-method>GET</http-method> <description>IDM Provisioning Edition</description> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport guarantee> </user-data-constraint> </security-constraint>

Salvare il file e l'archivio. Riavviare JBoss.

2.2.1 Autenticazione reciproca

Nell'applicazione utente di Identity Manager sono supportati i tradizionali scenari di autenticazione del server (comunemente utilizzati nelle sessioni https con pagine Web sicure sul Web); ma non è supportata l'autenticazione bidirezionale basata su certificati, una funzionalità che tuttavia può essere ottenuta utilizzando Novell iChain. Ad esempio, se in un'organizzazione è necessario consentire il login degli utenti tramite un certificato utente anziché tramite una parola d'ordine, sarà possibile farlo aggiungendo iChain all'ambiente.

Per ulteriori informazioni, contattare il rappresentante Novell.